mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
Use type alias for all pak handle variables
* Use type alias 'RPakHandle_t'. * Improved debug/exception messages.
This commit is contained in:
parent
afad5b92ec
commit
23e85cae37
@ -664,7 +664,7 @@ int32_t RTech::OpenFile(const CHAR* szFilePath, void* unused, LONGLONG* fileSize
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: gets information about loaded pak file via pak ID
|
||||
//-----------------------------------------------------------------------------
|
||||
RPakLoadedInfo_t* RTech::GetPakLoadedInfo(int nPakId)
|
||||
RPakLoadedInfo_t* RTech::GetPakLoadedInfo(RPakHandle_t nHandle)
|
||||
{
|
||||
for (int16_t i = 0; i < *s_pLoadedPakCount; ++i)
|
||||
{
|
||||
@ -672,13 +672,13 @@ RPakLoadedInfo_t* RTech::GetPakLoadedInfo(int nPakId)
|
||||
if (!info)
|
||||
continue;
|
||||
|
||||
if (info->m_nPakId != nPakId)
|
||||
if (info->m_nHandle != nHandle)
|
||||
continue;
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
Warning(eDLL_T::RTECH, "%s - Failed getting RPakLoadInfo_t for PakId '%d'\n", __FUNCTION__, nPakId);
|
||||
Warning(eDLL_T::RTECH, "%s - Failed to retrieve pak info for handle '%d'\n", __FUNCTION__, nHandle);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@ -702,7 +702,7 @@ RPakLoadedInfo_t* RTech::GetPakLoadedInfo(const char* szPakName)
|
||||
return info;
|
||||
}
|
||||
|
||||
Warning(eDLL_T::RTECH, "%s - Failed getting RPakLoadInfo_t for Pak '%s'\n", __FUNCTION__, szPakName);
|
||||
Warning(eDLL_T::RTECH, "%s - Failed to retrieve pak info for name '%s'\n", __FUNCTION__, szPakName);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
@ -416,7 +416,7 @@ static std::map<uint16_t, DXGI_FORMAT> rpakToDxgiFormat {
|
||||
class RPakLoadedInfo_t
|
||||
{
|
||||
public:
|
||||
int32_t m_nPakId; //0x0000
|
||||
RPakHandle_t m_nHandle; //0x0000
|
||||
RPakStatus_t m_nStatus; //0x0004
|
||||
uint64_t m_nUnk1; //0x0008
|
||||
uint32_t m_nUnk2; //0x0010
|
||||
@ -469,7 +469,7 @@ public:
|
||||
uint64_t __fastcall StringToGuid(const char* pData);
|
||||
uint8_t __fastcall DecompressPakFile(RPakDecompState_t* state, uint64_t inLen, uint64_t outLen);
|
||||
uint64_t __fastcall DecompressPakFileInit(RPakDecompState_t* state, uint8_t* fileBuffer, uint64_t fileSize, uint64_t offNoHeader, uint64_t headerSize);
|
||||
RPakLoadedInfo_t* GetPakLoadedInfo(int nPakId);
|
||||
RPakLoadedInfo_t* GetPakLoadedInfo(RPakHandle_t nPakId);
|
||||
RPakLoadedInfo_t* GetPakLoadedInfo(const char* szPakName);
|
||||
|
||||
static int32_t OpenFile(const CHAR* szFilePath, void* unused, LONGLONG* fileSizeOut);
|
||||
|
@ -185,7 +185,7 @@ void Host_KickID_f(const CCommand& args)
|
||||
}
|
||||
catch (std::exception& e)
|
||||
{
|
||||
Error(eDLL_T::SERVER, false, "%s - sv_kickid requires a handle or platform id. You can get the handle with the 'status' command.\n Error: %s", __FUNCTION__, e.what());
|
||||
Error(eDLL_T::SERVER, false, "%s - %s", __FUNCTION__, e.what());
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -296,7 +296,7 @@ void Host_BanID_f(const CCommand& args)
|
||||
}
|
||||
catch (std::exception& e)
|
||||
{
|
||||
Error(eDLL_T::SERVER, false, "%s - Ban error:\n%s\n", __FUNCTION__, e.what());
|
||||
Error(eDLL_T::SERVER, false, "%s - %s", __FUNCTION__, e.what());
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -332,7 +332,7 @@ void Host_Unban_f(const CCommand& args)
|
||||
}
|
||||
catch (std::exception& e)
|
||||
{
|
||||
Error(eDLL_T::SERVER, false, "%s - Unban error:\n%s\n", __FUNCTION__, e.what());
|
||||
Error(eDLL_T::SERVER, false, "%s - %s", __FUNCTION__, e.what());
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -393,7 +393,7 @@ void Pak_ListPaks_f(const CCommand& args)
|
||||
rpakStatus = it->second;
|
||||
|
||||
// todo: make status into a string from an array/vector
|
||||
DevMsg(eDLL_T::RTECH, "| %02i | %-50s | %-36s | %11i |\n", info.m_nPakId, info.m_pszFileName, rpakStatus.c_str(), info.m_nAssetCount);
|
||||
DevMsg(eDLL_T::RTECH, "| %02i | %-50s | %-36s | %11i |\n", info.m_nHandle, info.m_pszFileName, rpakStatus.c_str(), info.m_nAssetCount);
|
||||
nActuallyLoaded++;
|
||||
}
|
||||
DevMsg(eDLL_T::RTECH, "|----|----------------------------------------------------|--------------------------------------|-------------|\n");
|
||||
@ -417,16 +417,16 @@ void Pak_RequestUnload_f(const CCommand& args)
|
||||
{
|
||||
if (args.HasOnlyDigits(1))
|
||||
{
|
||||
RPakHandle_t nPakId = std::stoi(args.Arg(1));
|
||||
RPakLoadedInfo_t* pakInfo = g_pRTech->GetPakLoadedInfo(nPakId);
|
||||
RPakHandle_t pakHandle = std::stoi(args.Arg(1));
|
||||
RPakLoadedInfo_t* pakInfo = g_pRTech->GetPakLoadedInfo(pakHandle);
|
||||
if (!pakInfo)
|
||||
{
|
||||
throw std::exception("Found no pak entry for specified ID.");
|
||||
throw std::exception("Found no pak entry for specified handle.");
|
||||
}
|
||||
|
||||
string pakName = pakInfo->m_pszFileName;
|
||||
!pakName.empty() ? DevMsg(eDLL_T::RTECH, "Requested pak unload for '%s'\n", pakName.c_str()) : DevMsg(eDLL_T::RTECH, "Requested Pak Unload for '%d'\n", nPakId);
|
||||
g_pakLoadApi->UnloadPak(nPakId);
|
||||
!pakName.empty() ? DevMsg(eDLL_T::RTECH, "Requested pak unload for file '%s'\n", pakName.c_str()) : DevMsg(eDLL_T::RTECH, "Requested pak unload for handle '%d'\n", pakHandle);
|
||||
g_pakLoadApi->UnloadPak(pakHandle);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -436,8 +436,8 @@ void Pak_RequestUnload_f(const CCommand& args)
|
||||
throw std::exception("Found no pak entry for specified name.");
|
||||
}
|
||||
|
||||
DevMsg(eDLL_T::RTECH, "Requested pak unload for '%s'\n", args.Arg(1));
|
||||
g_pakLoadApi->UnloadPak(pakInfo->m_nPakId);
|
||||
DevMsg(eDLL_T::RTECH, "Requested pak unload for file '%s'\n", args.Arg(1));
|
||||
g_pakLoadApi->UnloadPak(pakInfo->m_nHandle);
|
||||
}
|
||||
}
|
||||
catch (std::exception& e)
|
||||
@ -468,16 +468,16 @@ void Pak_Swap_f(const CCommand& args)
|
||||
try
|
||||
{
|
||||
string pakName;
|
||||
RPakHandle_t nPakId = 0;
|
||||
RPakHandle_t pakHandle = 0;
|
||||
RPakLoadedInfo_t* pakInfo = nullptr;
|
||||
|
||||
if (args.HasOnlyDigits(1))
|
||||
{
|
||||
nPakId = std::stoi(args.Arg(1));
|
||||
pakInfo = g_pRTech->GetPakLoadedInfo(nPakId);
|
||||
pakHandle = std::stoi(args.Arg(1));
|
||||
pakInfo = g_pRTech->GetPakLoadedInfo(pakHandle);
|
||||
if (!pakInfo)
|
||||
{
|
||||
throw std::exception("Found no pak entry for specified ID.");
|
||||
throw std::exception("Found no pak entry for specified handle.");
|
||||
}
|
||||
|
||||
pakName = pakInfo->m_pszFileName;
|
||||
@ -491,12 +491,12 @@ void Pak_Swap_f(const CCommand& args)
|
||||
throw std::exception("Found no pak entry for specified name.");
|
||||
}
|
||||
|
||||
nPakId = pakInfo->m_nPakId;
|
||||
pakHandle = pakInfo->m_nHandle;
|
||||
}
|
||||
|
||||
!pakName.empty() ? DevMsg(eDLL_T::RTECH, "Requested pak swap for '%s'\n", pakName.c_str()) : DevMsg(eDLL_T::RTECH, "Requested pak swap for '%d'\n", nPakId);
|
||||
!pakName.empty() ? DevMsg(eDLL_T::RTECH, "Requested pak swap for file '%s'\n", pakName.c_str()) : DevMsg(eDLL_T::RTECH, "Requested pak swap for handle '%d'\n", pakHandle);
|
||||
|
||||
g_pakLoadApi->UnloadPak(nPakId);
|
||||
g_pakLoadApi->UnloadPak(pakHandle);
|
||||
|
||||
while (pakInfo->m_nStatus != RPakStatus_t::PAK_STATUS_FREED) // Wait till this slot gets free'd.
|
||||
std::this_thread::sleep_for(std::chrono::seconds(1));
|
||||
|
Loading…
x
Reference in New Issue
Block a user