mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-26 21:13:51 +00:00
fix(parsing): correct UPDATE_OBJECT PackedGuid, cape textures, and missing asset guards
Some checks failed
Build / Build (arm64) (push) Has been cancelled
Build / Build (x86-64) (push) Has been cancelled
Build / Build (macOS arm64) (push) Has been cancelled
Build / Build (windows-arm64) (push) Has been cancelled
Build / Build (windows-x86-64) (push) Has been cancelled
Security / CodeQL (C/C++) (push) Has been cancelled
Security / Semgrep (push) Has been cancelled
Security / Sanitizer Build (ASan/UBSan) (push) Has been cancelled
Some checks failed
Build / Build (arm64) (push) Has been cancelled
Build / Build (x86-64) (push) Has been cancelled
Build / Build (macOS arm64) (push) Has been cancelled
Build / Build (windows-arm64) (push) Has been cancelled
Build / Build (windows-x86-64) (push) Has been cancelled
Security / CodeQL (C/C++) (push) Has been cancelled
Security / Semgrep (push) Has been cancelled
Security / Sanitizer Build (ASan/UBSan) (push) Has been cancelled
- Fix MOVEMENT update type to use readPackedGuid() instead of readUInt64() (WotLK 3.3.5a) - Add desync diagnostic logging to UPDATE_OBJECT parser for future debugging - Register MSG_MOVE_SET_COLLISION_HGT (0x518) as skip handler - Fix cape texture lookup to only try .blp extension variants (4 files) - Add fileExists() guards for underwear textures referencing missing BLP files (4 files) - Add spell visual impact→cast M2 path fallback - Skip WMO doodad instance creation when model load fails - Demote spell caster position warning to debug level
This commit is contained in:
parent
83eef878fb
commit
01fecbf3e0
9 changed files with 105 additions and 38 deletions
|
|
@ -1069,7 +1069,8 @@ void EntitySpawner::spawnOnlineCreature(uint64_t guid, uint32_t displayId, float
|
|||
} else if (section == 4 && npcUnderwear.empty() && color == npcSkin) {
|
||||
for (uint32_t f = csF.texture1; f <= csF.texture1 + 2; f++) {
|
||||
std::string tex = csDbc->getString(r, f);
|
||||
if (!tex.empty()) npcUnderwear.push_back(tex);
|
||||
if (!tex.empty() && am->fileExists(tex))
|
||||
npcUnderwear.push_back(tex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1659,14 +1660,15 @@ void EntitySpawner::spawnOnlineCreature(uint64_t guid, uint32_t displayId, float
|
|||
const bool hasDir = (name.find('\\') != std::string::npos);
|
||||
const bool hasExt = hasBlpExt(name);
|
||||
if (hasDir) {
|
||||
addCapeCandidate(name);
|
||||
if (!hasExt) addCapeCandidate(name + ".blp");
|
||||
if (hasExt) addCapeCandidate(name);
|
||||
else addCapeCandidate(name + ".blp");
|
||||
} else {
|
||||
std::string baseObj = "Item\\ObjectComponents\\Cape\\" + name;
|
||||
std::string baseTex = "Item\\TextureComponents\\Cape\\" + name;
|
||||
addCapeCandidate(baseObj);
|
||||
addCapeCandidate(baseTex);
|
||||
if (!hasExt) {
|
||||
if (hasExt) {
|
||||
addCapeCandidate(baseObj);
|
||||
addCapeCandidate(baseTex);
|
||||
} else {
|
||||
addCapeCandidate(baseObj + ".blp");
|
||||
addCapeCandidate(baseTex + ".blp");
|
||||
}
|
||||
|
|
@ -2055,14 +2057,15 @@ void EntitySpawner::spawnOnlineCreature(uint64_t guid, uint32_t displayId, float
|
|||
const bool hasDir = (name.find('\\') != std::string::npos);
|
||||
const bool hasExt = hasBlpExt(name);
|
||||
if (hasDir) {
|
||||
addCandidate(name);
|
||||
if (!hasExt) addCandidate(name + ".blp");
|
||||
if (hasExt) addCandidate(name);
|
||||
else addCandidate(name + ".blp");
|
||||
} else {
|
||||
std::string baseObj = "Item\\ObjectComponents\\Cape\\" + name;
|
||||
std::string baseTex = "Item\\TextureComponents\\Cape\\" + name;
|
||||
addCandidate(baseObj);
|
||||
addCandidate(baseTex);
|
||||
if (!hasExt) {
|
||||
if (hasExt) {
|
||||
addCandidate(baseObj);
|
||||
addCandidate(baseTex);
|
||||
} else {
|
||||
addCandidate(baseObj + ".blp");
|
||||
addCandidate(baseTex + ".blp");
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue