mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-09-01 14:37:25 +00:00
refactor: use IAssetDumper interface on implementations directly
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#include "Game/T6/FontIcon/DumperFontIconJsonT6.h"
|
||||
#include "Game/T6/FontIcon/FontIconJsonDumperT6.h"
|
||||
|
||||
#include "Asset/AssetRegistration.h"
|
||||
#include "Game/T6/CommonT6.h"
|
||||
@@ -27,14 +27,15 @@ namespace
|
||||
return material;
|
||||
}
|
||||
|
||||
void GivenFontIcon(const std::string& name, FontIcon& fontIcon, MemoryManager& memory)
|
||||
void GivenFontIcon(const std::string& name, AssetPool<FontIcon>& pool, MemoryManager& memory)
|
||||
{
|
||||
fontIcon.name = memory.Dup(name.c_str());
|
||||
auto* fontIcon = memory.Alloc<FontIcon>();
|
||||
fontIcon->name = memory.Dup(name.c_str());
|
||||
|
||||
fontIcon.numEntries = 3;
|
||||
fontIcon.fontIconEntry = memory.Alloc<FontIconEntry>(fontIcon.numEntries);
|
||||
fontIcon->numEntries = 3;
|
||||
fontIcon->fontIconEntry = memory.Alloc<FontIconEntry>(fontIcon->numEntries);
|
||||
|
||||
auto& entry0 = fontIcon.fontIconEntry[0];
|
||||
auto& entry0 = fontIcon->fontIconEntry[0];
|
||||
entry0.fontIconName.string = "XenonButtondpadAll";
|
||||
entry0.fontIconName.hash = Common::Com_HashString(entry0.fontIconName.string);
|
||||
entry0.fontIconMaterialHandle = GivenMaterial("xenonbutton_dpad_all", memory);
|
||||
@@ -42,7 +43,7 @@ namespace
|
||||
entry0.xScale = 1.0f;
|
||||
entry0.yScale = 1.0f;
|
||||
|
||||
auto& entry1 = fontIcon.fontIconEntry[1];
|
||||
auto& entry1 = fontIcon->fontIconEntry[1];
|
||||
entry1.fontIconName.string = "XenonButtonLStickAnimatedD";
|
||||
entry1.fontIconName.hash = Common::Com_HashString(entry1.fontIconName.string);
|
||||
entry1.fontIconMaterialHandle = GivenMaterial("ui_button_xenon_lstick_anim_d", memory);
|
||||
@@ -50,7 +51,7 @@ namespace
|
||||
entry1.xScale = 1.5f;
|
||||
entry1.yScale = 1.5f;
|
||||
|
||||
auto& entry2 = fontIcon.fontIconEntry[2];
|
||||
auto& entry2 = fontIcon->fontIconEntry[2];
|
||||
entry2.fontIconName.string = "XenonButtonStickAnimatedL";
|
||||
entry2.fontIconName.hash = Common::Com_HashString(entry2.fontIconName.string);
|
||||
entry2.fontIconMaterialHandle = GivenMaterial("xenonbutton_ls", memory);
|
||||
@@ -58,32 +59,34 @@ namespace
|
||||
entry2.xScale = 1.0f;
|
||||
entry2.yScale = 1.0f;
|
||||
|
||||
fontIcon.numAliasEntries = 6;
|
||||
fontIcon.fontIconAlias = memory.Alloc<FontIconAlias>(fontIcon.numAliasEntries);
|
||||
fontIcon->numAliasEntries = 6;
|
||||
fontIcon->fontIconAlias = memory.Alloc<FontIconAlias>(fontIcon->numAliasEntries);
|
||||
|
||||
auto& alias0 = fontIcon.fontIconAlias[0];
|
||||
auto& alias0 = fontIcon->fontIconAlias[0];
|
||||
alias0.aliasHash = Common::Com_HashString("BUTTON_LUI_DPAD_ALL");
|
||||
alias0.buttonHash = entry0.fontIconName.hash;
|
||||
|
||||
auto& alias1 = fontIcon.fontIconAlias[1];
|
||||
auto& alias1 = fontIcon->fontIconAlias[1];
|
||||
alias1.aliasHash = static_cast<int>(0xCE7211DA);
|
||||
alias1.buttonHash = entry1.fontIconName.hash;
|
||||
|
||||
auto& alias2 = fontIcon.fontIconAlias[2];
|
||||
auto& alias2 = fontIcon->fontIconAlias[2];
|
||||
alias2.aliasHash = Common::Com_HashString("BUTTON_MOVE");
|
||||
alias2.buttonHash = entry2.fontIconName.hash;
|
||||
|
||||
auto& alias3 = fontIcon.fontIconAlias[3];
|
||||
auto& alias3 = fontIcon->fontIconAlias[3];
|
||||
alias3.aliasHash = Common::Com_HashString("BUTTON_EMBLEM_MOVE");
|
||||
alias3.buttonHash = entry2.fontIconName.hash;
|
||||
|
||||
auto& alias4 = fontIcon.fontIconAlias[4];
|
||||
auto& alias4 = fontIcon->fontIconAlias[4];
|
||||
alias4.aliasHash = Common::Com_HashString("BUTTON_LUI_LEFT_STICK_UP");
|
||||
alias4.buttonHash = entry2.fontIconName.hash;
|
||||
|
||||
auto& alias5 = fontIcon.fontIconAlias[5];
|
||||
auto& alias5 = fontIcon->fontIconAlias[5];
|
||||
alias5.aliasHash = Common::Com_HashString("BUTTON_MOVESTICK");
|
||||
alias5.buttonHash = entry2.fontIconName.hash;
|
||||
|
||||
pool.AddAsset(std::make_unique<XAssetInfo<FontIcon>>(ASSET_TYPE_FONTICON, name, fontIcon));
|
||||
}
|
||||
|
||||
TEST_CASE("DumperFontIconJson(T6): Can dump font icon", "[t6][font-icon][assetdumper]")
|
||||
@@ -145,12 +148,11 @@ namespace
|
||||
MockOutputPath mockOutput;
|
||||
AssetDumpingContext context(zone, "", mockOutput, mockObjPath);
|
||||
|
||||
AssetPoolDynamic<Material> materialPool(0);
|
||||
AssetPoolDynamic<FontIcon> fontIconPool(0);
|
||||
GivenFontIcon("fonticon/test.csv", fontIconPool, memory);
|
||||
|
||||
FontIcon asset;
|
||||
GivenFontIcon("fonticon/test.csv", asset, memory);
|
||||
|
||||
DumpFontIconAsJson(context, asset);
|
||||
font_icon::JsonDumper dumper;
|
||||
dumper.DumpPool(context, &fontIconPool);
|
||||
|
||||
const auto* file = mockOutput.GetMockedFile("fonticon/test.json");
|
||||
REQUIRE(file);
|
@@ -470,7 +470,6 @@ namespace
|
||||
AssetDumpingContext context(zone, "", mockOutput, mockObjPath);
|
||||
|
||||
AssetPoolDynamic<Material> materialPool(0);
|
||||
|
||||
GivenMaterial("wpc/metal_ac_duct", materialPool, memory);
|
||||
|
||||
AssetDumperMaterial dumper;
|
||||
|
Reference in New Issue
Block a user