feat: dump leaderboard definitions on IW4/IW5

This commit is contained in:
Future
2024-05-19 08:55:06 +02:00
parent 4139253aac
commit 7ba5a616cd
14 changed files with 423 additions and 4 deletions

View File

@ -0,0 +1,29 @@
#include "AssetDumperLeaderboardDef.h"
#include "Game/IW4/LeaderboardDef/JsonLeaderboardDefWriter.h"
#include <format>
#include <ranges>
using namespace IW4;
std::string AssetDumperLeaderboardDef::GetFileNameForAsset(const std::string& assetName)
{
return std::format("leaderboards/{}.json", assetName);
}
bool AssetDumperLeaderboardDef::ShouldDump(XAssetInfo<LeaderboardDef>* asset)
{
return true;
}
void AssetDumperLeaderboardDef::DumpAsset(AssetDumpingContext& context, XAssetInfo<LeaderboardDef>* asset)
{
const auto assetFile = context.OpenAssetFile(GetFileNameForAsset(asset->m_name));
if (!assetFile)
return;
DumpLeaderboardDefAsJson(*assetFile, asset->Asset());
}