[AssetHandler]: Added commands with flag 'debug'
This commit is contained in:
parent
4c77a7996d
commit
b7668a6d85
@ -193,35 +193,13 @@ namespace Components
|
|||||||
Utils::Hook::Set<Game::XAssetEntry*>(0x45A6E2, entryPool + 1);
|
Utils::Hook::Set<Game::XAssetEntry*>(0x45A6E2, entryPool + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AssetHandler::AddDebugAssetCommands()
|
||||||
AssetHandler::AssetHandler()
|
|
||||||
{
|
{
|
||||||
this->reallocateEntryPool();
|
Command::Add("listAssetPool", [](Command::Params* params)
|
||||||
|
|
||||||
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_IMAGE, 7168);
|
|
||||||
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_SOUND, 24000);
|
|
||||||
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_LOADED_SOUND, 2700);
|
|
||||||
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_FX, 1200);
|
|
||||||
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_LOCALIZE_ENTRY, 14000);
|
|
||||||
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_XANIMPARTS, 8192);
|
|
||||||
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_XMODEL, 5125);
|
|
||||||
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_PHYSPRESET, 128);
|
|
||||||
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_MENU, 1280);
|
|
||||||
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_MENULIST, 256);
|
|
||||||
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_MATERIAL, 8192);
|
|
||||||
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_WEAPON, ASSET_TYPE_WEAPON_LIMIT);
|
|
||||||
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_STRINGTABLE, 800);
|
|
||||||
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_GAMEWORLD_MP, 1);
|
|
||||||
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_FONT, 32);
|
|
||||||
|
|
||||||
//AssetHandler::ClearTemporaryAssets();
|
|
||||||
//Utils::Hook(Game::DB_FindXAssetHeader, AssetHandler::FindAssetStub).install()->quick();
|
|
||||||
|
|
||||||
Command::Add("listassetpool", [](Command::Params* params)
|
|
||||||
{
|
{
|
||||||
if (params->size() < 2)
|
if (params->size() < 2)
|
||||||
{
|
{
|
||||||
Game::Com_Printf(0, "listassetpool <poolnumber> [filter]: list all the assets in the specified pool\n");
|
Game::Com_Printf(0, "listAssetPool <poolnumber> [filter]: list all the assets in the specified pool\n");
|
||||||
|
|
||||||
for (auto i = 0; i < Game::XAssetType::ASSET_TYPE_COUNT; i++)
|
for (auto i = 0; i < Game::XAssetType::ASSET_TYPE_COUNT; i++)
|
||||||
{
|
{
|
||||||
@ -254,6 +232,91 @@ namespace Components
|
|||||||
}, true);
|
}, true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Command::Add("poolUsages", []()
|
||||||
|
{
|
||||||
|
for (auto i = 0; i < Game::ASSET_TYPE_COUNT; i++)
|
||||||
|
{
|
||||||
|
auto count = 0;
|
||||||
|
FastFiles::EnumAssets(static_cast<Game::XAssetType>(i), [&](Game::XAssetHeader header)
|
||||||
|
{
|
||||||
|
count++;
|
||||||
|
}, true);
|
||||||
|
|
||||||
|
Game::Com_Printf(0, Utils::String::VA("%i %s: %i / %i\n", i, Game::g_assetNames[i], count, Game::g_poolSize[i]));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
Command::Add("poolUsage", [](Command::Params* params)
|
||||||
|
{
|
||||||
|
if (params->size() < 2)
|
||||||
|
{
|
||||||
|
Game::Com_Printf(0, "poolUsage <poolnumber>: list all the assets in the specified pool\n");
|
||||||
|
|
||||||
|
for (auto i = 0; i < Game::XAssetType::ASSET_TYPE_COUNT; i++)
|
||||||
|
{
|
||||||
|
Game::Com_Printf(0, "%d %s\n", i, Game::g_assetNames[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
const auto type = static_cast<Game::XAssetType>(std::atoi(params->get(1)));
|
||||||
|
|
||||||
|
auto count = 0;
|
||||||
|
FastFiles::EnumAssets(type, [&](Game::XAssetHeader header)
|
||||||
|
{
|
||||||
|
count++;
|
||||||
|
}, true);
|
||||||
|
|
||||||
|
Game::Com_Printf(0, Utils::String::VA("%i %s: %i / %i\n", type, Game::g_assetNames[type], count, Game::g_poolSize[type]));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
Command::Add("assetCount", [](const Command::Params* params)
|
||||||
|
{
|
||||||
|
auto count = 0;
|
||||||
|
auto totalCount = 0;
|
||||||
|
for (auto i = 0; i < Game::ASSET_TYPE_COUNT; i++)
|
||||||
|
{
|
||||||
|
FastFiles::EnumAssets(static_cast<Game::XAssetType>(i), [&](Game::XAssetHeader header)
|
||||||
|
{
|
||||||
|
count++;
|
||||||
|
}, true);
|
||||||
|
|
||||||
|
totalCount += Game::g_poolSize[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
Game::Com_Printf(0, Utils::String::VA("total assets: %i / %i\n", count, totalCount));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
AssetHandler::AssetHandler()
|
||||||
|
{
|
||||||
|
this->reallocateEntryPool();
|
||||||
|
|
||||||
|
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_IMAGE, 7168);
|
||||||
|
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_SOUND, 24000);
|
||||||
|
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_LOADED_SOUND, 2700);
|
||||||
|
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_FX, 1200);
|
||||||
|
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_LOCALIZE_ENTRY, 14000);
|
||||||
|
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_XANIMPARTS, 8192);
|
||||||
|
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_XMODEL, 5125);
|
||||||
|
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_PHYSPRESET, 128);
|
||||||
|
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_MENU, 1280);
|
||||||
|
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_MENULIST, 256);
|
||||||
|
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_MATERIAL, 8192);
|
||||||
|
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_WEAPON, ASSET_TYPE_WEAPON_LIMIT);
|
||||||
|
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_STRINGTABLE, 800);
|
||||||
|
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_GAMEWORLD_MP, 1);
|
||||||
|
Game::DB_ReallocXAssetPool(Game::ASSET_TYPE_FONT, 32);
|
||||||
|
|
||||||
|
//AssetHandler::ClearTemporaryAssets();
|
||||||
|
//Utils::Hook(Game::DB_FindXAssetHeader, AssetHandler::FindAssetStub).install()->quick();
|
||||||
|
|
||||||
|
if (Game::DebugModeEnabled())
|
||||||
|
{
|
||||||
|
AddDebugAssetCommands();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AssetHandler::~AssetHandler()
|
AssetHandler::~AssetHandler()
|
||||||
|
@ -50,5 +50,7 @@ namespace Components
|
|||||||
static void SetBypassState(bool value);
|
static void SetBypassState(bool value);
|
||||||
|
|
||||||
void reallocateEntryPool();
|
void reallocateEntryPool();
|
||||||
|
|
||||||
|
static void AddDebugAssetCommands();
|
||||||
};
|
};
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user