troytt
807585a615
Merge branch 'issue-393' into main: fix waypoint menu icons parity ( #393 )
2026-09-23 06:43:24 +00:00
troytt
6cba99f017
fix(ui): waypoint menu icons and click logic 1.13c parity ( #393 )
...
- Ground Truth Invariant (D2Client.dll 1.13c at 0x6fb5b2f4-0x6fb5b355 & 0x6fb5a53d):
- In waygateicons.dc6 (5 frames):
- Frame 0 (sx=0): Current waypoint unhovered state (blue portal).
- Frame 1 (sx=30): Current waypoint hovered state (blue portal lit).
- Frame 3 (sx=90): Activated destination waypoint unhovered state (stone icon).
- Frame 4 (sx=120): Activated destination waypoint hovered state (stone icon lit).
- Locked waypoint: Skips sprite draw call completely (je 0x6fb5b355), text drawn in gray.
- Waypoint click handling:
- Current waypoint click is a no-op (player already present at location).
- Locked waypoint click is a no-op.
- Activated destination waypoint click initiates teleport and closes panel.
- Track current waypoint, current level, and act tab across act-scene and world-panels.
- Update tests in tests/world-panels.test.ts to verify authentic 1.13c behavior.
2026-09-23 06:43:05 +00:00
troytt
263286c0c2
fix(render): isometric grid drop dispersal and authentic ground slanted sprite perspective
2026-09-23 06:23:21 +00:00
troytt
15948eb896
fix(skills): remove translucent solid light boxes during cast overlay animation ( #386 , #395 )
2026-09-23 06:14:11 +00:00
troytt
88bb16238d
fix(render): remove duplicate blendMode declaration and add mock activeTexture
2026-09-23 05:56:33 +00:00
troytt
da24f9944f
Merge branch 'issue-386' into main ( Fixes #386 )
2026-09-23 05:54:15 +00:00
troytt
c814376e8a
fix(ground-items): authentic ground item icon sprites and eliminate residual white dot
2026-09-23 05:48:03 +00:00
troytt
ff347bb946
Merge branch 'issue-387' into main ( Fixes #387 )
2026-09-23 05:37:19 +00:00
troytt
6eaeab4619
feat(skills): authentic 1.13c Cast Overlay system and elemental spell animations ( Fixes #386 )
2026-09-23 03:53:57 +00:00
troytt
ea8644c2ea
feat(feedback): authentic inventory full flippy bounce animation & audio-visual refusal ( Fixes #392 )
2026-09-23 03:22:28 +00:00
troytt
3704e7d088
feat(scene): authentic 1.13c animated map objects and phase staggering ( Fixes #387 )
...
- Decode and extract all frames for map objects (DCC/DC6) in scripts/pack-act-assets.ts
- Deduplicate unique member art across object placements and pack into objectPages atlas
- Serialize animatedFrames, frameDelta, frameDurationMs, cycleAnim, and sync from Objects.txt into scene.json
- Support multi-frame MapRuntime ObjectDrawable ticking and rendering in src/scene/act-scene.ts
- Introduce SplitMix64 spatial phase hash (computeObjectPhaseOffsetMs) for non-synced objects to eliminate unnatural mechanical synchronization across scene torches and campfires
- Preserve backward-compatibility for single-frame static objects (Stash B6)
- Add 100% passing test suite in tests/object-animation-113c.test.ts
2026-09-23 03:14:14 +00:00
troytt
53a9ef3f9b
feat(interaction): implement authentic ground item & gold pickup with pathfinding ( Fixes #391 )
2026-09-23 03:12:06 +00:00
troytt
7d7925ab2b
Merge branch 'issue-390' into main ( Fixes #390 )
2026-09-23 02:36:16 +00:00
troytt
ff867a13e3
feat(skills): authentic baked missile DCC atlas and explosion rendering
2026-09-23 02:35:55 +00:00
troytt
30e8ecee5f
feat(ui): authentic Alt key ground item floating labels and ladder collision avoidance ( Fixes #390 )
2026-09-23 02:35:05 +00:00
troytt
2733ba625b
feat(render): authentic ground item rendering and glint sparkles ( Fixes #389 )
2026-09-23 02:27:31 +00:00
troytt
3f78ad782e
feat(items): authentic 1.13c ground items entity, safe drop radial search and item/gold dropping ( Fixes #388 )
2026-09-23 02:19:12 +00:00
troytt
627af83e97
feat(skills): authentic 1.13c Fire Bolt projectile physics from Missiles.txt ( Fixes #385 )
2026-09-23 02:09:50 +00:00
troytt
e033ae53e6
fix(ui): authentic tab indexing for skill tree and waypoint panels
2026-09-23 01:22:51 +00:00
troytt
752d7e8066
feat(map): authentic Diablo II 1.13c shadow layer (type 13) rendering and pack verification
2026-09-23 01:22:51 +00:00
troytt
8f8ee010ca
docs: update README with art assets, JSON data specifications, and UI parity
2026-09-22 13:12:25 +00:00
troytt
4f6eadea6c
feat(ui): authentic Diablo II 1.13c quickbar cd mask, aura styling, charges and passive filtering ( Fixes #382 )
2026-09-22 11:35:47 +00:00
troytt
775f4113c9
feat(quest): authentic Diablo II 1.13c quest log tbl strings ( Fixes #381 )
2026-09-22 11:24:02 +00:00
troytt
090de33935
feat(ui): authentic Diablo II 1.13c skill quickbar & speedbar tooltips ( Fixes #380 )
2026-09-22 10:57:58 +00:00
troytt
7f810e40e3
feat(class): complete 7-class switching with signature sets and stash treasures ( Fixes #379 )
2026-09-22 10:45:48 +00:00
troytt
67cf0e576b
feat(ui): dynamic attack icon (fist/sword) and add throw & unsummon default skills ( Fixes #376 )
2026-09-22 10:14:11 +00:00
troytt
6f3cf6b8bb
feat(ui): authentic D2 1.13c waypoint tabs and icons ( Fixes #378 )
2026-09-22 09:59:54 +00:00
troytt
0c4af3770d
feat(ui): replicate authentic D2 1.13c skill tree tabs and skill points banner ( Fixes #377 )
2026-09-22 09:50:40 +00:00
troytt
43748eac53
feat(inventory): support ring, amulet, jewel, and charm VarInvGfx graphic variants ( Fixes #375 )
2026-09-22 09:36:29 +00:00
troytt
82e32a813e
feat(ui): implement widescreen left/right panel docking and central vision corridor ( Fixes #153 )
2026-09-22 07:56:21 +00:00
troytt
9fac33a1e2
fix(skills): reconstruct skill tooltips to 1.13c formula and next level preview ( Fixes #152 )
2026-09-22 07:13:00 +00:00
troytt
bc6b5cd331
feat(skills): add normal attack icon and enable dual left/right slot binding ( Fixes #151 )
2026-09-22 06:19:19 +00:00
troytt
db82a5da32
feat(stash): implement camp town stash entities across 5 acts and 6x8 storage panel ( Fixes #150 )
2026-09-22 05:33:57 +00:00
troytt
317b170a22
fix(inventory): align authentic 1.13c charm dimensions and graphic variants ( Fixes #149 )
2026-09-22 04:48:23 +00:00
troytt
e96c3a42ce
fix(inventory): audit base item invfiles and pack authentic charm icons ( Fixes #149 )
2026-09-22 04:26:18 +00:00
troytt
56619c83f3
feat(ui): implement authentic D2 dynamic cursor and idle state machine ( Fixes #148 )
2026-09-22 04:02:49 +00:00
troytt
05f1ae0d18
feat(ui): implement authentic D2 dynamic cursor and idle state machine ( Fixes #148 )
2026-09-22 04:01:53 +00:00
troytt
19e612241c
feat(stat-list): add addStat helper method to UnitStatList
2026-09-22 03:52:05 +00:00
troytt
c5242c93b7
feat(skill-350): implement 1.13c Delerium Change module and Vitest suite ( #374 )
2026-09-22 03:48:40 +00:00
troytt
468cf5d05e
feat(skill-280): implement 1.13c Royal Strike module and Vitest suite ( #373 )
2026-09-22 03:48:38 +00:00
troytt
2f2116f9fd
feat(skill-279): implement 1.13c Shadow Master module and Vitest suite ( #372 )
2026-09-22 03:48:36 +00:00
troytt
2d558698dc
feat(skill-278): implement 1.13c Venom module and Vitest suite ( #371 )
2026-09-22 03:48:34 +00:00
troytt
7b8f954d32
feat(skill-277): implement 1.13c Blade Shield module and Vitest suite ( #370 )
2026-09-22 03:48:32 +00:00
troytt
dee07295b2
feat(skill-276): implement 1.13c Death Sentry module and Vitest suite ( #369 )
2026-09-22 03:48:30 +00:00
troytt
80e1af9cf4
feat(skill-275): implement 1.13c Dragon Flight module and Vitest suite ( #368 )
2026-09-22 03:48:29 +00:00
troytt
8d30d0b6ed
feat(skill-274): implement 1.13c Blades of Ice module and Vitest suite ( #367 )
2026-09-22 03:48:27 +00:00
troytt
3170f0aa68
feat(skill-273): implement 1.13c Mind Blast module and Vitest suite ( #366 )
2026-09-22 03:48:25 +00:00
troytt
a0e46c9046
feat(skill-272): implement 1.13c Inferno Sentry module and Vitest suite ( #365 )
2026-09-22 03:48:23 +00:00
troytt
fed2fc6688
feat(skill-271): implement 1.13c Lightning Sentry module and Vitest suite ( #364 )
2026-09-22 03:48:21 +00:00
troytt
e91554764f
feat(skill-270): implement 1.13c Dragon Tail module and Vitest suite ( #363 )
2026-09-22 03:48:18 +00:00
troytt
5d33bf09ae
feat(skill-269): implement 1.13c Claws of Thunder module and Vitest suite ( #362 )
2026-09-22 03:48:16 +00:00
troytt
8829f881c8
feat(skill-268): implement 1.13c Shadow Warrior module and Vitest suite ( #361 )
2026-09-22 03:48:14 +00:00
troytt
9bc13289d4
feat(skill-267): implement 1.13c Fade module and Vitest suite ( #360 )
2026-09-22 03:48:12 +00:00
troytt
50725f335b
feat(skill-266): implement 1.13c Blade Fury module and Vitest suite ( #359 )
2026-09-22 03:48:11 +00:00
troytt
bdcb2af7d1
feat(skill-265): implement 1.13c Cobra Strike module and Vitest suite ( #358 )
2026-09-22 03:48:09 +00:00
troytt
9fe4c77754
feat(skill-264): implement 1.13c Cloak of Shadows module and Vitest suite ( #357 )
2026-09-22 03:48:07 +00:00
troytt
53b2f6c9c8
feat(skill-263): implement 1.13c Weapon Block module and Vitest suite ( #356 )
2026-09-22 03:48:05 +00:00
troytt
76a3cf17f9
feat(skill-262): implement 1.13c Wake of Fire Sentry module and Vitest suite ( #355 )
2026-09-22 03:48:03 +00:00
troytt
cf444ded20
feat(skill-261): implement 1.13c Charged Bolt Sentry module and Vitest suite ( #354 )
2026-09-22 03:48:02 +00:00
troytt
4c20bf9fb9
feat(skill-260): implement 1.13c Dragon Claw module and Vitest suite ( #353 )
2026-09-22 03:48:00 +00:00
troytt
3b23f61791
feat(skill-259): implement 1.13c Fists of Fire module and Vitest suite ( #352 )
2026-09-22 03:47:58 +00:00
troytt
190a0c5537
feat(skill-258): implement 1.13c Quickness module and Vitest suite ( #351 )
2026-09-22 03:47:56 +00:00
troytt
039ca21ba5
feat(skill-257): implement 1.13c Blade Sentinel module and Vitest suite ( #350 )
2026-09-22 03:47:54 +00:00
troytt
72570aa522
feat(skill-256): implement 1.13c Shock Field module and Vitest suite ( #349 )
2026-09-22 03:47:52 +00:00
troytt
8dcd62df87
feat(skill-255): implement 1.13c Dragon Talon module and Vitest suite ( #348 )
2026-09-22 03:47:50 +00:00
troytt
e7c09b2e62
feat(skill-254): implement 1.13c Tiger Strike module and Vitest suite ( #347 )
2026-09-22 03:47:48 +00:00
troytt
5b2189a72e
feat(skill-253): implement 1.13c Psychic Hammer module and Vitest suite ( #346 )
2026-09-22 03:47:47 +00:00
troytt
ac9984dcc0
feat(skill-252): implement 1.13c Claw Mastery module and Vitest suite ( #345 )
2026-09-22 03:47:45 +00:00
troytt
0e30660401
feat(skill-251): implement 1.13c Fire Trauma module and Vitest suite ( #344 )
2026-09-22 03:47:43 +00:00
troytt
67d92834ca
feat(skill-250): implement 1.13c Hurricane module and Vitest suite ( #343 )
2026-09-22 03:47:42 +00:00
troytt
a32a8b21c4
feat(skill-249): implement 1.13c Armageddon module and Vitest suite ( #342 )
2026-09-22 03:47:40 +00:00
troytt
ddc040cc90
feat(skill-248): implement 1.13c Fury module and Vitest suite ( #341 )
2026-09-22 03:47:38 +00:00
troytt
996f8edff9
feat(skill-247): implement 1.13c Summon Grizzly module and Vitest suite ( #340 )
2026-09-22 03:47:36 +00:00
troytt
022375e1a3
feat(skill-246): implement 1.13c Spirit of Barbs module and Vitest suite ( #339 )
2026-09-22 03:47:35 +00:00
troytt
25b8330b06
feat(skill-245): implement 1.13c Tornado module and Vitest suite ( #338 )
2026-09-22 03:47:31 +00:00
troytt
493fe0646f
feat(skill-244): implement 1.13c Volcano module and Vitest suite ( #337 )
2026-09-22 03:47:30 +00:00
troytt
3adf8224d6
feat(skill-243): implement 1.13c Shock Wave module and Vitest suite ( #336 )
2026-09-22 03:47:28 +00:00
troytt
75c9aee478
feat(skill-242): implement 1.13c Hunger module and Vitest suite ( #335 )
2026-09-22 03:47:26 +00:00
troytt
7e06e2e64d
feat(skill-241): implement 1.13c Vines module and Vitest suite ( #334 )
2026-09-22 03:47:24 +00:00
troytt
603b8ebb7f
feat(skill-240): implement 1.13c Twister module and Vitest suite ( #333 )
2026-09-22 03:47:23 +00:00
troytt
c393c5e5b3
feat(skill-239): implement 1.13c Fire Claws module and Vitest suite ( #332 )
2026-09-22 03:47:21 +00:00
troytt
8554d4553d
feat(skill-238): implement 1.13c Rabies module and Vitest suite ( #331 )
2026-09-22 03:47:19 +00:00
troytt
06855b2c36
feat(skill-237): implement 1.13c Summon Fenris module and Vitest suite ( #330 )
2026-09-22 03:47:17 +00:00
troytt
6ff004a7df
feat(skill-236): implement 1.13c Heart of Wolverine module and Vitest suite ( #329 )
2026-09-22 03:47:16 +00:00
troytt
6eae018c19
feat(skill-235): implement 1.13c Cyclone Armor module and Vitest suite ( #328 )
2026-09-22 03:47:14 +00:00
troytt
a36d70fb02
feat(skill-234): implement 1.13c Eruption module and Vitest suite ( #327 )
2026-09-22 03:47:12 +00:00
troytt
6a770767a1
feat(skill-233): implement 1.13c Maul module and Vitest suite ( #326 )
2026-09-22 03:47:10 +00:00
troytt
eabb962e0c
feat(skill-232): implement 1.13c Feral Rage module and Vitest suite ( #325 )
2026-09-22 03:47:08 +00:00
troytt
3c41b87a3e
feat(skill-231): implement 1.13c Cycle of Life module and Vitest suite ( #324 )
2026-09-22 03:47:07 +00:00
troytt
aa5a6b8b4c
feat(skill-230): implement 1.13c Arctic Blast module and Vitest suite ( #323 )
2026-09-22 03:47:05 +00:00
troytt
335cd166fe
feat(skill-229): implement 1.13c Molten Boulder module and Vitest suite ( #322 )
2026-09-22 03:47:03 +00:00
troytt
bf9cbdfd68
feat(skill-228): implement 1.13c Wearbear module and Vitest suite ( #321 )
2026-09-22 03:47:01 +00:00
troytt
548ff7f350
feat(skill-227): implement 1.13c Summon Spirit Wolf module and Vitest suite ( #320 )
2026-09-22 03:46:59 +00:00
troytt
835cac2952
feat(skill-226): implement 1.13c Oak Sage module and Vitest suite ( #319 )
2026-09-22 03:46:57 +00:00
troytt
274a30ada0
feat(skill-225): implement 1.13c Firestorm module and Vitest suite ( #318 )
2026-09-22 03:46:56 +00:00
troytt
5a5c780478
feat(skill-224): implement 1.13c Shape Shifting module and Vitest suite ( #317 )
2026-09-22 03:46:54 +00:00
troytt
72f5560971
feat(skill-223): implement 1.13c Wearwolf module and Vitest suite ( #316 )
2026-09-22 03:46:52 +00:00
troytt
26aafef83c
feat(skill-222): implement 1.13c Plague Poppy module and Vitest suite ( #315 )
2026-09-22 03:46:50 +00:00
troytt
3ecf293db7
feat(skill-221): implement 1.13c Raven module and Vitest suite ( #314 )
2026-09-22 03:46:48 +00:00
troytt
91bf4f5c39
feat(skill-220): implement 1.13c Book of Townportal module and Vitest suite ( #313 )
2026-09-22 03:46:45 +00:00