Kelsidavis-WoWee/src/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.cpp Add body type selection for nonbinary characters and reduce preview rotation sensitivity 2026-02-09 17:56:04 -08:00
chat_handler.cpp chore(refactor): god-object decomposition and mega-file splits 2026-04-05 19:30:44 +03:00
combat_handler.cpp feat(game): introduce GameHandler domain interfaces and eliminate friend declarations 2026-04-05 20:25:02 +03:00
entity.cpp Fix transport/WMO diagnostics and terrain WMO dedup lifecycle 2026-02-18 22:36:34 -08:00
entity_controller.cpp feat(game): introduce GameHandler domain interfaces and eliminate friend declarations 2026-04-05 20:25:02 +03:00
expansion_profile.cpp refactor: name auth security flags, log JSON parse failures 2026-03-30 14:43:50 -07:00
game_handler.cpp feat(game): introduce GameHandler domain interfaces and eliminate friend declarations 2026-04-05 20:25:02 +03:00
game_handler_callbacks.cpp feat(game): introduce GameHandler domain interfaces and eliminate friend declarations 2026-04-05 20:25:02 +03:00
game_handler_packets.cpp feat(game): introduce GameHandler domain interfaces and eliminate friend declarations 2026-04-05 20:25:02 +03:00
inventory.cpp refactor: replace magic bag slot offset 19 with FIRST_BAG_EQUIP_SLOT 2026-03-30 14:20:39 -07:00
inventory_handler.cpp feat(game): introduce GameHandler domain interfaces and eliminate friend declarations 2026-04-05 20:25:02 +03:00
movement_handler.cpp chore(refactor): god-object decomposition and mega-file splits 2026-04-05 19:30:44 +03:00
opcode_table.cpp refactor: derive turtle opcodes from classic 2026-03-15 02:55:05 -07:00
opcodes.cpp Initial commit: wowee native WoW 3.3.5a client 2026-02-02 13:03:22 -08:00
packet_parsers_classic.cpp fix(parsing): validate spline endPoint coords to reject false-positive format matches 2026-04-03 19:36:34 -07:00
packet_parsers_tbc.cpp docs: add why-comments to TBC parsers, bell audio, portrait preview 2026-03-30 17:26:13 -07:00
player.cpp Initial commit: wowee native WoW 3.3.5a client 2026-02-02 13:03:22 -08:00
quest_handler.cpp chore(refactor): god-object decomposition and mega-file splits 2026-04-05 19:30:44 +03:00
social_handler.cpp chore(refactor): god-object decomposition and mega-file splits 2026-04-05 19:30:44 +03:00
spell_handler.cpp chore(refactor): god-object decomposition and mega-file splits 2026-04-05 19:30:44 +03:00
transport_manager.cpp refactor: name FNV-1a/transport constants, fix dead code, add comments 2026-03-30 14:48:06 -07:00
update_field_table.cpp feat(animation): 452 named constants, 30-phase character animation state machine 2026-04-04 23:02:53 +03:00
warden_crypto.cpp Fix CodeQL weak-crypto suppressions: switch lgtm to codeql inline format 2026-02-19 17:06:49 -08:00
warden_emulator.cpp feat: implement Warden API binding / IAT patching for module imports 2026-03-30 22:38:05 -07:00
warden_handler.cpp chore(refactor): god-object decomposition and mega-file splits 2026-04-05 19:30:44 +03:00
warden_memory.cpp fix: prevent buffer overflows in Warden PE parsing 2026-03-30 15:33:03 -07:00
warden_module.cpp fix: warden mmap on macOS, add external listfile support to asset extractor 2026-04-04 00:22:07 -07:00
world.cpp Clarify World stub methods: terrain/entity state lives in subsystems 2026-03-09 15:54:43 -07:00
world_packets.cpp chore(refactor): god-object decomposition and mega-file splits 2026-04-05 19:30:44 +03:00
world_packets_economy.cpp chore(refactor): god-object decomposition and mega-file splits 2026-04-05 19:30:44 +03:00
world_packets_entity.cpp chore(refactor): god-object decomposition and mega-file splits 2026-04-05 19:30:44 +03:00
world_packets_social.cpp chore(refactor): god-object decomposition and mega-file splits 2026-04-05 19:30:44 +03:00
world_packets_world.cpp chore(refactor): god-object decomposition and mega-file splits 2026-04-05 19:30:44 +03:00
zone_manager.cpp refactor: add why-comments to zone tiles, audio cache, socket buffer 2026-03-30 14:52:51 -07:00