mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 15:50:20 +00:00
On disconnect/reconnect to the same map, entityManager was not cleared and creatureInstances_ still held old entries from the previous session. When the server re-sent CREATE_OBJECT for the same GUIDs, the spawn callback's early-return guard (creatureInstances_.count(guid)) silently dropped every NPC re-spawn, leaving the world empty. Fixes: - disconnect() now calls entityManager.clear() to purge stale entities - WorldEntryCallback gains a bool isInitialEntry parameter (true on first login or reconnect, false on in-world teleport/flight landing) - Same-map optimization path skipped when isInitialEntry=true, so loadOnlineWorldTerrain runs its full cleanup and properly despawns old creature/player instances before the server refreshes them |
||
|---|---|---|
| .. | ||
| character.hpp | ||
| entity.hpp | ||
| expansion_profile.hpp | ||
| game_handler.hpp | ||
| group_defines.hpp | ||
| inventory.hpp | ||
| opcode_aliases_generated.inc | ||
| opcode_enum_generated.inc | ||
| opcode_names_generated.inc | ||
| opcode_table.hpp | ||
| opcodes.hpp | ||
| packet_parsers.hpp | ||
| player.hpp | ||
| spell_defines.hpp | ||
| transport_manager.hpp | ||
| update_field_table.hpp | ||
| warden_crypto.hpp | ||
| warden_emulator.hpp | ||
| warden_memory.hpp | ||
| warden_module.hpp | ||
| world.hpp | ||
| world_packets.hpp | ||
| zone_manager.hpp | ||