diff --git a/r5dev/common/callback.cpp b/r5dev/common/callback.cpp index 4e6b6c8e..fc9c920e 100644 --- a/r5dev/common/callback.cpp +++ b/r5dev/common/callback.cpp @@ -340,7 +340,10 @@ void Pak_ListTypes_f(const CCommand& args) if (!type->description) continue; - Msg(eDLL_T::RTECH, "| %-4s | %-25s | %7i | %11i | %11i |\n", FourCCToString(type->extension).c_str(), type->description, type->version, type->headerSize, type->nativeClassSize); + FourCCString_t assetExtension; + FourCCToString(assetExtension, type->extension); + + Msg(eDLL_T::RTECH, "| %-4s | %-25s | %7i | %11i | %11i |\n", assetExtension, type->description, type->version, type->headerSize, type->nativeClassSize); nRegistered++; } Msg(eDLL_T::RTECH, "|------|---------------------------|---------|-------------|-------------|\n"); diff --git a/r5dev/public/tier0/utility.h b/r5dev/public/tier0/utility.h index 44a2f2c1..cf8e2e1a 100644 --- a/r5dev/public/tier0/utility.h +++ b/r5dev/public/tier0/utility.h @@ -64,7 +64,8 @@ string& StringLTrim(string& svInput, const char* pszToTrim, bool bTrimBefore = f string& StringRTrim(string& svInput, const char* pszToTrim, bool bTrimAfter = false); string& StringTrim(string& svInput, const char* pszToTrim, bool bTrimAll = false); -string FourCCToString(int n); +typedef char FourCCString_t[5]; +void FourCCToString(FourCCString_t& buf, const int n); ///////////////////////////////////////////////////////////////////////////// // Bytes diff --git a/r5dev/rtech/pak/pakparse.cpp b/r5dev/rtech/pak/pakparse.cpp index 67c72e69..9a8c4920 100644 --- a/r5dev/rtech/pak/pakparse.cpp +++ b/r5dev/rtech/pak/pakparse.cpp @@ -848,10 +848,13 @@ void Pak_StubInvalidAssetBinds(PakFile_t* const pak, PakSegmentDescriptor_t* con // which isn't much help to the average user that can't rebuild other people's paks if (asset->version != assetBinding->version) { + FourCCString_t assetMagic; + FourCCToString(assetMagic, asset->magic); + DevWarning(eDLL_T::RTECH, - "Unexpected asset version for \"%s\" (%.4s) asset with guid 0x%llX (asset %i in pakfile '%s'). Expected %i, found %i.\n", + "Unexpected asset version for \"%s\" (%.4s) asset with guid 0x%llX (asset %u in pakfile '%s'). Expected %u, found %u.\n", assetBinding->description, - reinterpret_cast(&asset->magic), + assetMagic, asset->guid, i, pak->GetName(), assetBinding->version, asset->version diff --git a/r5dev/tier0/utility.cpp b/r5dev/tier0/utility.cpp index 4e1745ea..dab4e454 100644 --- a/r5dev/tier0/utility.cpp +++ b/r5dev/tier0/utility.cpp @@ -918,14 +918,13 @@ pair, string> StringToMaskedBytes(const char* szInput, bool bNul /////////////////////////////////////////////////////////////////////////////// // For converting a 32-bit integer into a 4-char ascii string -string FourCCToString(int n) +void FourCCToString(FourCCString_t& buf, const int n) { - stringstream ss; - ss << (char)((n & 0x000000ff) >> 0); - ss << (char)((n & 0x0000ff00) >> 8); - ss << (char)((n & 0x00ff0000) >> 16); - ss << (char)((n & 0xff000000) >> 24); - return ss.str(); + buf[0] = (char)((n & 0x000000ff) >> 0); + buf[1] = (char)((n & 0x0000ff00) >> 8); + buf[2] = (char)((n & 0x00ff0000) >> 16); + buf[3] = (char)((n & 0xff000000) >> 24); + buf[4] = '\0'; }; ///////////////////////////////////////////////////////////////////////////////