Use fixed-width skin IDs in DLC files

This commit is contained in:
notmatthewbeshay 2026-03-11 03:04:59 +11:00
parent a798d0f174
commit 491783c301
3 changed files with 4 additions and 4 deletions

View file

@ -23,4 +23,4 @@ DLCFile::DLCFile(DLCManager::EDLCType type, const std::wstring &path)
{
m_dwSkinId=0;
}
}
}

View file

@ -7,7 +7,7 @@ class DLCFile
protected:
DLCManager::EDLCType m_type;
std::wstring m_path;
DWORD m_dwSkinId;
std::uint32_t m_dwSkinId;
public:
DLCFile(DLCManager::EDLCType type, const std::wstring &path);
@ -15,7 +15,7 @@ public:
DLCManager::EDLCType getType() { return m_type; }
std::wstring getPath() { return m_path; }
DWORD getSkinID() { return m_dwSkinId; }
std::uint32_t getSkinID() { return m_dwSkinId; }
virtual void addData(std::uint8_t *pbData, std::uint32_t dataBytes) {}
virtual std::uint8_t *getData(std::uint32_t &dataBytes) { dataBytes = 0; return NULL; }

View file

@ -157,7 +157,7 @@ void DLCSkinFile::addParameter(DLCManager::EDLCParameterType type, const std::ws
case DLCManager::e_DLCParamType_Anim:
// 4J Stu - The Xbox version used swscanf_s which isn't available in GCC.
swscanf(value.c_str(), L"%X", &m_uiAnimOverrideBitmask);
DWORD skinId = app.getSkinIdFromPath(m_path);
std::uint32_t skinId = app.getSkinIdFromPath(m_path);
app.SetAnimOverrideBitmask(skinId, m_uiAnimOverrideBitmask);
break;
}