Kelsidavis-WoWee/include/game
Paul 5af9f7aa4b chore(renderer): extract AnimationController and remove audio pass-throughs
Extract ~1,500 lines of character animation state from Renderer into a dedicated
AnimationController class, and complete the AudioCoordinator migration by removing
all 10 audio pass-through getters from Renderer.

AnimationController:
- New: include/rendering/animation_controller.hpp (182 lines)
- New: src/rendering/animation_controller.cpp (1,703 lines)
- Moves: locomotion state machine (50+ members), mount animation (40+ members),
  emote system, footstep triggering, surface detection, melee combat animations
- Renderer holds std::unique_ptr<AnimationController> and delegates completely
- AnimationController accesses audio via renderer_->getAudioCoordinator()

Audio caller migration:
- Migrate ~60 external callers from renderer->getXManager() to AudioCoordinator
  directly, grouped by access pattern:
  - UIServices: settings_panel, game_screen, toast_manager, chat_panel,
    combat_ui, window_manager
  - GameServices: game_handler, spell_handler, inventory_handler, quest_handler,
    social_handler, combat_handler
  - Application singleton: application.cpp, auth_screen.cpp, lua_engine.cpp
- Remove 10 pass-through getter definitions from renderer.cpp
- Remove 10 pass-through getter declarations from renderer.hpp
- Remove individual audio manager forward declarations from renderer.hpp
- Redirect 69 internal renderer.cpp audio calls to audioCoordinator_ directly
- game_handler.cpp: withSoundManager template uses services_.audioCoordinator;
  MFP changed from &Renderer::getUiSoundManager to &AudioCoordinator::getUiSoundManager
- GameServices struct: add AudioCoordinator* audioCoordinator member
- settings_panel: applyAudioVolumes(Renderer*) -> applyAudioVolumes(AudioCoordinator*)
2026-04-02 13:06:31 +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 refactor: name FNV-1a/transport constants, fix dead code, add comments 2026-03-30 14:48:06 -07:00
entity_controller.hpp fix warnings, remove phases from commentaries 2026-03-31 20:11:28 +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 fix warnings, remove phases from commentaries 2026-03-31 20:11:28 +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 refactor: replace magic bag slot offset 19 with FIRST_BAG_EQUIP_SLOT 2026-03-30 14:20:39 -07:00
inventory_handler.hpp refactor: extract buildItemDef from 4 copy-pasted blocks in rebuildOnlineInventory 2026-03-29 19:16:36 -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: world-space floating combat text above entities 2026-03-18 09:54:52 -07: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: track shapeshift form and fire UPDATE_SHAPESHIFT_FORM events 2026-03-22 22:12:17 -07: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 warnings, remove phases from commentaries 2026-03-31 20:11:28 +03:00
zone_manager.hpp Enrich zone music from AreaTable/ZoneMusic/SoundEntries DBC chain 2026-03-09 16:04:52 -07:00