Fix Classic field extraction, Warden PE patches, and auth/opcode corrections

Update field extraction in both CREATE_OBJECT and VALUES handlers to check
specific fields (maxHealth, level, faction, etc.) before power/maxpower range
checks. In Classic 1.12.1, power indices 23-27 are adjacent to maxHealth (28),
and maxPower indices 29-33 are adjacent to level (34) and faction (35), so
range checks like "key >= powerBase && key < powerBase+7" were incorrectly
capturing those fields.

Add build-aware WoW.exe selection and runtime global patching for Warden
SYSTEM_INFO, EndScene, WorldEnables, and LastHardwareAction chains. Fix
Classic opcodes and auth session addon data format for CMaNGOS compatibility.
This commit is contained in:
Kelsi 2026-02-20 00:18:03 -08:00
parent 38ad368c82
commit e8864941dc
5 changed files with 279 additions and 49 deletions

View file

@ -70,14 +70,14 @@
"CMSG_GUILD_MOTD": "0x091",
"SMSG_GUILD_INFO": "0x088",
"SMSG_GUILD_ROSTER": "0x08A",
"CMSG_GUILD_QUERY": "0x051",
"SMSG_GUILD_QUERY_RESPONSE": "0x052",
"CMSG_GUILD_QUERY": "0x054",
"SMSG_GUILD_QUERY_RESPONSE": "0x055",
"SMSG_GUILD_INVITE": "0x083",
"CMSG_GUILD_REMOVE": "0x08E",
"SMSG_GUILD_EVENT": "0x092",
"SMSG_GUILD_COMMAND_RESULT": "0x093",
"MSG_RAID_READY_CHECK": "0x322",
"CMSG_DUEL_PROPOSED": "0x166",
"SMSG_ITEM_PUSH_RESULT": "0x166",
"CMSG_DUEL_ACCEPTED": "0x16C",
"CMSG_DUEL_CANCELLED": "0x16D",
"SMSG_DUEL_REQUESTED": "0x167",
@ -94,7 +94,7 @@
"CMSG_BINDER_ACTIVATE": "0x1B5",
"SMSG_LOG_XPGAIN": "0x1D0",
"SMSG_MONSTER_MOVE": "0x0DD",
"SMSG_COMPRESSED_MOVES": "0x06B",
"SMSG_COMPRESSED_MOVES": "0x2FB",
"CMSG_ATTACKSWING": "0x141",
"CMSG_ATTACKSTOP": "0x142",
"SMSG_ATTACKSTART": "0x143",
@ -179,7 +179,7 @@
"CMSG_SELL_ITEM": "0x1A0",
"SMSG_SELL_ITEM": "0x1A1",
"CMSG_BUY_ITEM": "0x1A2",
"CMSG_BUYBACK_ITEM": "0x1A6",
"CMSG_BUYBACK_ITEM": "0x290",
"SMSG_BUY_FAILED": "0x1A5",
"CMSG_TRAINER_LIST": "0x1B0",
"SMSG_TRAINER_LIST": "0x1B1",
@ -241,5 +241,5 @@
"SMSG_CHANNEL_NOTIFY": "0x099",
"CMSG_CHANNEL_LIST": "0x09A",
"SMSG_CHANNEL_LIST": "0x09B",
"SMSG_INSPECT_TALENT": "0x3F4"
"SMSG_DUEL_REQUESTED": "0x167"
}