mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
Classic 1.12 and Turtle WoW have only 64 PLAYER_EXPLORED_ZONES uint32 fields (zone IDs pack into 2048 bits). TBC and WotLK use 128 (needed for Outland/Northrend zone IDs up to bit 4095). The hardcoded PLAYER_EXPLORED_ZONES_COUNT=128 caused extractExploredZoneFields to read 64 extra fields beyond the actual zone block in Classic/Turtle — consuming PLAYER_REST_STATE_EXPERIENCE, PLAYER_FIELD_COINAGE, and character- points fields as zone flags. On the world map, this could mark zones as explored based on random bit patterns in those unrelated fields. Add `exploredZonesCount()` virtual method to PacketParsers (default=128, Classic/Turtle override=64) and use it in extractExploredZoneFields to limit reads to the correct block and zero-fill remaining slots. |
||
|---|---|---|
| .. | ||
| 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 | ||