fix(v2): full v1-style radar canvas + inventory icon composites
Radar — now pixel-accurate reproduction of v1: - 300×300 canvas with dark circular background - Semi-transparent dereth.png map overlay (heading-rotated) - 4 range rings + crosshair lines - Compass labels (N=red, E/S/W=gray) rotating with heading - Facing direction indicator line - Entity dots color-coded by type (Monster=red, Player=blue, NPC=green, Portal=purple, Corpse=orange, Container=yellow) - Player dot: gold center with white border - Heading-up rotation for all entity positions - Click to select entity (white selection ring) - Scroll to zoom (0.02-5.0 AC units range) - Entity list with color dot, name, type, distance, compass direction - Selected entity highlighted with blue left border Inventory — v1-style icon composites + slot styling: - 3-layer icon composite: underlay → base → overlay images using portal.dat offset formula + icon_overlay_id/IntValues - Equipment slots: 3D beveled border + cyan glow when equipped (matching v1's outset border + #00ffff shadow) - Pack item cells: purple gradient background (v1's #3d007a) - Proper 36×36px icon rendering with pixelated scaling Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
e5c982d6f5
commit
cf078b7765
6 changed files with 437 additions and 183 deletions
|
|
@ -36,11 +36,9 @@ export const WindowRenderer: React.FC<Props> = ({ characters, chatMessages, near
|
|||
return <CharacterWindow key={w.id} id={w.id} charName={charName} zIndex={w.zIndex} />;
|
||||
case 'inv':
|
||||
return <InventoryWindow key={w.id} id={w.id} charName={charName} zIndex={w.zIndex} />;
|
||||
case 'radar': {
|
||||
const radarData = nearbyObjects.get(charName);
|
||||
case 'radar':
|
||||
return <RadarWindow key={w.id} id={w.id} charName={charName} zIndex={w.zIndex}
|
||||
socket={socket} nearbyObjects={radarData?.objects ?? []} />;
|
||||
}
|
||||
socket={socket} radarData={nearbyObjects.get(charName) ?? null} />;
|
||||
case 'combat':
|
||||
return <CombatStatsWindow key={w.id} id={w.id} charName={charName} zIndex={w.zIndex} />;
|
||||
case 'issues':
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue