mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
Previously initializeModule() read the 4 WardenFuncList function addresses from emulated memory, logged them, then discarded them — funcList_ was never populated, so tick(), generateRC4Keys(), and processCheckRequest() were permanently no-ops even when the Unicorn emulator successfully ran the module. Changes: - initializeModule() now wraps each non-null emulated function address in a std::function lambda that marshals args to/from emulated memory via emulator_->writeData/callFunction/freeMemory - generateRC4Keys: copies 4-byte seed to emulated space, calls function - unload: calls function with NULL (module saves own RC4 state) - tick: direct uint32_t(deltaMs) dispatch, returns emulated EAX - packetHandler: 2-arg variant for generic callers - Stores emulatedPacketHandlerAddr_ for full 4-arg call in processCheckRequest - processCheckRequest() now calls the emulated PacketHandler with the proper 4-argument stdcall convention: (data, size, responseOut, responseSizeOut), reads back the response size and bytes, returns them in responseOut - unload() resets emulatedPacketHandlerAddr_ to 0 for clean re-initialization - Remove dead no-op renderObjectiveTracker() (no call sites, superseded) |
||
|---|---|---|
| .. | ||
| 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 | ||