Kelsidavis-WoWee/include/game
Paul e58f9b4b40 feat(animation): 452 named constants, 30-phase character animation state machine
Add animation_ids.hpp/cpp with all 452 WoW animation ID constants (anim::STAND,
anim::RUN, anim::FIRE_BOW, ... anim::FLY_BACKWARDS, etc.), nameFromId() O(1)
lookup, and flyVariant() compact 218-element ground→FLY_* resolver.

Expand AnimationController into a full state machine with 20+ named states:
spell cast (directed→omni→cast fallback chain, instant one-shot release),
hit reactions (WOUND/CRIT/DODGE/BLOCK/SHIELD_BLOCK), stun, wounded idle,
stealth animation substitution, loot, fishing channel, sit/sleep/kneel
down→loop→up transitions, sheathe/unsheathe combat enter/exit, ranged weapons
(BOW/GUN/CROSSBOW/THROWN with reload states), game object OPEN/CLOSE/DESTROY,
vehicle enter/exit, mount flight directionals (FLY_LEFT/RIGHT/UP/DOWN/BACKWARDS),
emote state variants, off-hand/pierce/dual-wield alternation, NPC
birth/spawn/drown/rise, sprint aura override, totem idle, NPC greeting/farewell.

Add spell_defines.hpp with SpellEffect (~45 constants) and SpellMissInfo
(12 constants) namespaces; replace all magic numbers in spell_handler.cpp.

Add GAMEOBJECT_BYTES_1 to update field table (all 4 expansion JSONs) and wire
GameObjectStateCallback. Add DBC cross-validation on world entry.

Expand tools/_ANIM_NAMES from ~35 to 452 entries in m2_viewer.py and
asset_pipeline_gui.py. Add tests/test_animation_ids.cpp.

Bug fixes included:
- Stand state 1 was animating READY_2H(27) — fixed to SITTING(97)
- Spell casts ended freeze-frame — add one-shot release animation
- NPC 2H swing probe chain missing ATTACK_2H_LOOSE (polearm/staff)
- Chair sits (states 2/4/5/6) incorrectly played floor-sit transition
- STOP(3) used for all spell casts — replaced with model-aware chain
2026-04-04 23:02:53 +03:00
..
character.hpp Add body type selection for nonbinary characters and reduce preview rotation sensitivity 2026-02-09 17:56:04 -08:00
chat_handler.hpp refactor(game): split GameHandler into domain handlers 2026-03-28 09:42:37 +03:00
combat_handler.hpp fix: env damage alias overwrote handler that preserved damage type 2026-03-29 18:20:51 -07:00
entity.hpp feat(animation): 452 named constants, 30-phase character animation state machine 2026-04-04 23:02:53 +03:00
entity_controller.hpp feat(animation): 452 named constants, 30-phase character animation state machine 2026-04-04 23:02:53 +03:00
expansion_profile.hpp Unify asset system: one asset set, always high-res 2026-02-15 04:18:34 -08:00
game_handler.hpp feat(animation): 452 named constants, 30-phase character animation state machine 2026-04-04 23:02:53 +03:00
game_services.hpp chore(renderer): extract AnimationController and remove audio pass-throughs 2026-04-02 13:06:31 +03:00
game_utils.hpp refactor: consolidate buildItemLink into game_utils.hpp 2026-03-29 17:57:05 -07:00
group_defines.hpp Handle SMSG_PARTY_MEMBER_STATS to show group health out of visual range 2026-02-26 10:25:55 -08:00
handler_types.hpp refactor(game): split GameHandler into domain handlers 2026-03-28 09:42:37 +03:00
inventory.hpp feat(animation): 452 named constants, 30-phase character animation state machine 2026-04-04 23:02:53 +03:00
inventory_handler.hpp fix(auction): resolve item GUID with fallback and gate packet format 2026-04-03 18:46:49 -07:00
movement_handler.hpp refactor: name memory/taxi constants, add camera jitter why-comment 2026-03-30 15:07:55 -07:00
opcode_aliases_generated.inc refactor: derive turtle opcodes from classic 2026-03-15 02:55:05 -07:00
opcode_enum_generated.inc Opcode registry: move to generated canonical+alias pipeline 2026-02-20 03:02:31 -08:00
opcode_names_generated.inc Opcode registry: move to generated canonical+alias pipeline 2026-02-20 03:02:31 -08:00
opcode_table.hpp refactor: derive turtle opcodes from classic 2026-03-15 02:55:05 -07:00
opcodes.hpp Add multi-expansion support with data-driven protocol layer 2026-02-12 22:56:36 -08:00
packet_parsers.hpp fix: mail money uint64, other-player cape textures, zone toast dedup, TCP_NODELAY 2026-03-27 17:20:31 -07:00
player.hpp Initial commit: wowee native WoW 3.3.5a client 2026-02-02 13:03:22 -08:00
quest_handler.hpp fix: gossip banker sent CMSG_BANKER_ACTIVATE twice; deduplicate quest icons 2026-03-29 18:53:30 -07:00
social_handler.hpp fix: delegate all 113 stale GameHandler getters to domain handlers 2026-03-28 12:18:14 -07:00
spell_defines.hpp feat(animation): 452 named constants, 30-phase character animation state machine 2026-04-04 23:02:53 +03:00
spell_handler.hpp refactor: extract findOnUseSpellId helper, add warden hash comment 2026-03-30 13:56:45 -07:00
transport_manager.hpp fix: transport elapsed time lost millisecond precision after ~4.5 hours 2026-03-29 20:14:45 -07:00
update_field_table.hpp feat(animation): 452 named constants, 30-phase character animation state machine 2026-04-04 23:02:53 +03:00
warden_crypto.hpp Fix Warden module loading pipeline and HASH_REQUEST response 2026-02-14 19:20:32 -08:00
warden_emulator.hpp feat: implement Warden API binding / IAT patching for module imports 2026-03-30 22:38:05 -07:00
warden_handler.hpp refactor(game): split GameHandler into domain handlers 2026-03-28 09:42:37 +03:00
warden_memory.hpp fix: correct sync Warden MODULE check returning 0x01 instead of 0x00 2026-03-17 07:19:37 -07:00
warden_module.hpp fix: replace placeholder Warden RSA modulus with real Blizzard key 2026-03-30 22:50:47 -07:00
world.hpp Initial commit: wowee native WoW 3.3.5a client 2026-02-02 13:03:22 -08:00
world_packets.hpp fix(auction): resolve item GUID with fallback and gate packet format 2026-04-03 18:46:49 -07:00
zone_manager.hpp Enrich zone music from AreaTable/ZoneMusic/SoundEntries DBC chain 2026-03-09 16:04:52 -07:00