2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-03-15 17:33:03 +00:00

feat: dump iw3 technique sets

This commit is contained in:
Jan Laupetin
2026-03-14 20:25:41 +01:00
parent a613cb0f8b
commit 5993c88897
9 changed files with 1072 additions and 371 deletions

View File

@@ -1,6 +1,7 @@
#include "ObjWriterIW3.h"
#include "Game/IW3/Material/MaterialJsonDumperIW3.h"
#include "Game/IW3/Techset/TechsetDumperIW3.h"
#include "Game/IW3/XModel/XModelDumperIW3.h"
#include "Image/ImageDumperIW3.h"
#include "Localize/LocalizeDumperIW3.h"
@@ -17,7 +18,13 @@ void ObjWriter::RegisterAssetDumpers(AssetDumpingContext& context)
// REGISTER_DUMPER(AssetDumperXAnimParts)
RegisterAssetDumper(std::make_unique<xmodel::DumperIW3>());
RegisterAssetDumper(std::make_unique<material::JsonDumperIW3>());
// REGISTER_DUMPER(AssetDumperMaterialTechniqueSet)
RegisterAssetDumper(std::make_unique<techset::DumperIW3>(
#ifdef TECHSET_DEBUG
true
#else
false
#endif
));
RegisterAssetDumper(std::make_unique<image::DumperIW3>());
// REGISTER_DUMPER(AssetDumpersnd_alias_list_t)
// REGISTER_DUMPER(AssetDumperSndCurve)

View File

@@ -4,10 +4,7 @@
#set DUMPER_HEADER "\"PixelShaderDumper" + GAME + ".h\""
#if GAME == "IW3"
#define FEATURE_IW3
#define IS_DX9
#elif GAME == "IW4"
#if GAME == "IW4"
#define FEATURE_IW4
#define IS_DX9
#elif GAME == "IW5"

View File

@@ -1,4 +1,4 @@
#options GAME(IW4, T6)
#options GAME(IW3, IW4, T6)
#filename "Game/" + GAME + "/Techset/TechsetDumper" + GAME + ".cpp"
@@ -9,6 +9,7 @@
#if GAME == "IW3"
#define FEATURE_IW3
#define IS_DX9
#define DUMP_SHADERS "1"
#elif GAME == "IW4"
#define FEATURE_IW4
#define IS_DX9
@@ -58,7 +59,7 @@ namespace
if (!shaderFile)
return;
#if defined(FEATURE_T6)
#if defined(IS_DX11)
shaderFile->write(pixelShader.prog.loadDef.program, pixelShader.prog.loadDef.programSize);
#else
shaderFile->write(reinterpret_cast<const char*>(pixelShader.prog.loadDef.program),
@@ -73,7 +74,7 @@ namespace
if (!shaderFile)
return;
#if defined(FEATURE_T6)
#if defined(IS_DX11)
shaderFile->write(vertexShader.prog.loadDef.program, vertexShader.prog.loadDef.programSize);
#else
shaderFile->write(reinterpret_cast<const char*>(vertexShader.prog.loadDef.program),

View File

@@ -1,4 +1,4 @@
#options GAME(IW4, T6)
#options GAME(IW3, IW4, T6)
#filename "Game/" + GAME + "/Techset/TechsetDumper" + GAME + ".h"

View File

@@ -4,10 +4,7 @@
#set DUMPER_HEADER "\"VertexShaderDumper" + GAME + ".h\""
#if GAME == "IW3"
#define FEATURE_IW3
#define IS_DX9
#elif GAME == "IW4"
#if GAME == "IW4"
#define FEATURE_IW4
#define IS_DX9
#elif GAME == "IW5"