Kelsidavis-WoWee/include
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
..
addons chore(lua): refactor addon Lua engine API + progress docs 2026-04-03 07:31:06 +03:00
audio chore(refactor): god-object decomposition and mega-file splits 2026-04-05 19:30:44 +03:00
auth Vanilla/Turtle WoW support: M2 loading, bone parsing, textures, auth 2026-02-13 16:53:28 -08:00
core refactor(core): decompose Application::setupUICallbacks() into 7 domain handlers 2026-04-05 16:48:17 +03:00
game feat(game): introduce GameHandler domain interfaces and eliminate friend declarations 2026-04-05 20:25:02 +03:00
network fix: getRemainingSize() underflowed when readPos exceeded data size 2026-03-29 19:36:41 -07:00
pipeline fix(dbc): runtime detection for ItemDisplayInfo texture field indices 2026-04-03 22:05:38 -07:00
platform Fix all remaining build warnings and eliminate UB in binary parsers 2026-02-23 19:58:38 -08:00
rendering chore(refactor): god-object decomposition and mega-file splits 2026-04-05 19:30:44 +03:00
third_party Fix cross-platform FSR3 compile path and Path-A runtime wiring 2026-03-09 04:24:24 -07:00
ui feat(animation): 452 named constants, 30-phase character animation state machine 2026-04-04 23:02:53 +03:00