Kelsidavis-WoWee/include/game
Paul 65839287b4 feat(game): introduce GameHandler domain interfaces and eliminate friend declarations
Add game_interfaces.hpp with five narrow domain contracts that GameHandler now
publishes to its domain handlers, replacing the previous friend-class anti-pattern.

Changes:
- include/game/game_interfaces.hpp (new): IConnectionState, ITargetingState,
  IEntityAccess, ISocialState, IPvpState — each interface exposes only the state
  its consumer legitimately needs
- include/game/game_handler.hpp: GameHandler inherits all five interfaces;
  include of game_interfaces.hpp added
- include/game/movement_handler.hpp: remove `friend class GameHandler`; add
  public named accessors for previously-private fields (monsterMovePacketsThisTickRef,
  timeSinceLastMoveHeartbeatRef, resetMovementClock, setFalling, setFallStartMs)
- include/game/spell_handler.hpp: remove `friend class GameHandler/InventoryHandler/
  CombatHandler/EntityController`; promote private packet handlers (handlePetSpells,
  handleListStabledPets, pet stable commands, DBC loaders) to public; add accessor
  methods for aura cache, known spells, and player aura slot mutation
- src/game/game_handler.cpp, game_handler_callbacks.cpp, game_handler_packets.cpp:
  replace direct private field access with the new accessor API
  (e.g. casting_ → isCasting(), monsterMovePacketsThisTick_ → ...ThisTickRef())
- src/game/inventory_handler.cpp, combat_handler.cpp, entity_controller.cpp:
  replace friend-class private access with public accessor calls

No behaviour change. All 13 test suites pass. Zero build warnings.
2026-04-05 20:25:02 +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 fix(chat): prevent AFK/DND auto-reply whisper spam loop 2026-04-05 04:50:40 -07: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(game): introduce GameHandler domain interfaces and eliminate friend declarations 2026-04-05 20:25:02 +03:00
game_interfaces.hpp feat(game): introduce GameHandler domain interfaces and eliminate friend declarations 2026-04-05 20:25:02 +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 feat(animation): decompose AnimationController into FSM-based architecture 2026-04-05 12:27:35 +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(mail): route GO mailbox open through InventoryHandler 2026-04-05 04:22:48 -07:00
movement_handler.hpp feat(game): introduce GameHandler domain interfaces and eliminate friend declarations 2026-04-05 20:25:02 +03: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 feat(game): introduce GameHandler domain interfaces and eliminate friend declarations 2026-04-05 20:25:02 +03: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