2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-02-11 01:53:02 +00:00

refactor: introduce subasset loading

This commit is contained in:
Jan Laupetin
2026-02-05 16:25:00 +00:00
parent 1be411b371
commit aa47ffa629
255 changed files with 1668 additions and 3132 deletions

View File

@@ -4,7 +4,6 @@
#include "Game/T5/CommonT5.h"
#include "Game/T5/GameT5.h"
#include "NormalizedJson.h"
#include "Pool/AssetPoolDynamic.h"
#include "SearchPath/MockOutputPath.h"
#include "SearchPath/MockSearchPath.h"
#include "Utils/MemoryManager.h"
@@ -35,7 +34,7 @@ namespace
return techset;
}
void GivenMaterial(const std::string& name, AssetPool<Material>& pool, MemoryManager& memory)
void GivenMaterial(const std::string& name, Zone& zone, MemoryManager& memory)
{
auto* material = memory.Alloc<Material>();
material->info.name = memory.Dup(name.c_str());
@@ -289,7 +288,7 @@ namespace
stateBits5.loadBits.structured.stencilBackZFail = 0;
stateBits5.loadBits.structured.stencilBackFunc = 0;
pool.AddAsset(std::make_unique<XAssetInfo<Material>>(ASSET_TYPE_MATERIAL, name, material));
zone.m_pools.AddAsset<AssetMaterial>(std::make_unique<XAssetInfo<Material>>(ASSET_TYPE_MATERIAL, name, material));
}
TEST_CASE("DumperMaterial(T5): Can dump material", "[t5][material][assetdumper]")
@@ -621,11 +620,9 @@ namespace
MockOutputPath mockOutput;
AssetDumpingContext context(zone, "", mockOutput, mockObjPath, std::nullopt);
AssetPoolDynamic<Material> materialPool(0);
GivenMaterial("mc/ch_rubble01", zone, memory);
GivenMaterial("mc/ch_rubble01", materialPool, memory);
material::JsonDumperT5 dumper(materialPool);
material::JsonDumperT5 dumper;
dumper.Dump(context);
const auto* file = mockOutput.GetMockedFile("materials/mc/ch_rubble01.json");