2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2025-07-06 19:21:52 +00:00

chore: consider specified obj containers when post processing

This commit is contained in:
Jan
2025-01-02 16:26:42 +01:00
parent a7254aa11c
commit fe5d0f79ff
21 changed files with 296 additions and 53 deletions

View File

@ -17,21 +17,23 @@ namespace
// No compilers yet
}
void ConfigurePostProcessors(AssetCreatorCollection& collection, Zone& zone, ISearchPath& searchPath, const fs::path& outDir)
void ConfigurePostProcessors(
AssetCreatorCollection& collection, Zone& zone, const ZoneDefinitionContext& zoneDefinition, ISearchPath& searchPath, const fs::path& outDir)
{
auto& memory = *zone.GetMemory();
collection.AddAssetPostProcessor(std::make_unique<ImageIwdPostProcessor<AssetImage>>(searchPath, outDir));
if (ImageIwdPostProcessor<AssetImage>::AppliesToZoneDefinition(zoneDefinition))
collection.AddAssetPostProcessor(std::make_unique<ImageIwdPostProcessor<AssetImage>>(zoneDefinition, searchPath, outDir));
}
} // namespace
void ObjCompiler::ConfigureCreatorCollection(AssetCreatorCollection& collection,
Zone& zone,
const ZoneDefinition& zoneDefinition,
const ZoneDefinitionContext& zoneDefinition,
ISearchPath& searchPath,
IGdtQueryable& gdt,
const fs::path& outDir,
const fs::path& cacheDir) const
{
ConfigurePostProcessors(collection, zone, searchPath, outDir);
ConfigurePostProcessors(collection, zone, zoneDefinition, searchPath, outDir);
}

View File

@ -9,7 +9,7 @@ namespace IW3
public:
void ConfigureCreatorCollection(AssetCreatorCollection& collection,
Zone& zone,
const ZoneDefinition& zoneDefinition,
const ZoneDefinitionContext& zoneDefinition,
ISearchPath& searchPath,
IGdtQueryable& gdt,
const std::filesystem::path& outDir,

View File

@ -17,21 +17,23 @@ namespace
// No compilers yet
}
void ConfigurePostProcessors(AssetCreatorCollection& collection, Zone& zone, ISearchPath& searchPath, const fs::path& outDir)
void ConfigurePostProcessors(
AssetCreatorCollection& collection, Zone& zone, const ZoneDefinitionContext& zoneDefinition, ISearchPath& searchPath, const fs::path& outDir)
{
auto& memory = *zone.GetMemory();
collection.AddAssetPostProcessor(std::make_unique<ImageIwdPostProcessor<AssetImage>>(searchPath, outDir));
if (ImageIwdPostProcessor<AssetImage>::AppliesToZoneDefinition(zoneDefinition))
collection.AddAssetPostProcessor(std::make_unique<ImageIwdPostProcessor<AssetImage>>(zoneDefinition, searchPath, outDir));
}
} // namespace
void ObjCompiler::ConfigureCreatorCollection(AssetCreatorCollection& collection,
Zone& zone,
const ZoneDefinition& zoneDefinition,
const ZoneDefinitionContext& zoneDefinition,
ISearchPath& searchPath,
IGdtQueryable& gdt,
const fs::path& outDir,
const fs::path& cacheDir) const
{
ConfigurePostProcessors(collection, zone, searchPath, outDir);
ConfigurePostProcessors(collection, zone, zoneDefinition, searchPath, outDir);
}

View File

@ -9,7 +9,7 @@ namespace IW4
public:
void ConfigureCreatorCollection(AssetCreatorCollection& collection,
Zone& zone,
const ZoneDefinition& zoneDefinition,
const ZoneDefinitionContext& zoneDefinition,
ISearchPath& searchPath,
IGdtQueryable& gdt,
const std::filesystem::path& outDir,

View File

@ -17,21 +17,23 @@ namespace
// No compilers yet
}
void ConfigurePostProcessors(AssetCreatorCollection& collection, Zone& zone, ISearchPath& searchPath, const fs::path& outDir)
void ConfigurePostProcessors(
AssetCreatorCollection& collection, Zone& zone, const ZoneDefinitionContext& zoneDefinition, ISearchPath& searchPath, const fs::path& outDir)
{
auto& memory = *zone.GetMemory();
collection.AddAssetPostProcessor(std::make_unique<ImageIwdPostProcessor<AssetImage>>(searchPath, outDir));
if (ImageIwdPostProcessor<AssetImage>::AppliesToZoneDefinition(zoneDefinition))
collection.AddAssetPostProcessor(std::make_unique<ImageIwdPostProcessor<AssetImage>>(zoneDefinition, searchPath, outDir));
}
} // namespace
void ObjCompiler::ConfigureCreatorCollection(AssetCreatorCollection& collection,
Zone& zone,
const ZoneDefinition& zoneDefinition,
const ZoneDefinitionContext& zoneDefinition,
ISearchPath& searchPath,
IGdtQueryable& gdt,
const fs::path& outDir,
const fs::path& cacheDir) const
{
ConfigurePostProcessors(collection, zone, searchPath, outDir);
ConfigurePostProcessors(collection, zone, zoneDefinition, searchPath, outDir);
}

View File

@ -9,7 +9,7 @@ namespace IW5
public:
void ConfigureCreatorCollection(AssetCreatorCollection& collection,
Zone& zone,
const ZoneDefinition& zoneDefinition,
const ZoneDefinitionContext& zoneDefinition,
ISearchPath& searchPath,
IGdtQueryable& gdt,
const std::filesystem::path& outDir,

View File

@ -17,21 +17,23 @@ namespace
// No compilers yet
}
void ConfigurePostProcessors(AssetCreatorCollection& collection, Zone& zone, ISearchPath& searchPath, const fs::path& outDir)
void ConfigurePostProcessors(
AssetCreatorCollection& collection, Zone& zone, const ZoneDefinitionContext& zoneDefinition, ISearchPath& searchPath, const fs::path& outDir)
{
auto& memory = *zone.GetMemory();
collection.AddAssetPostProcessor(std::make_unique<ImageIwdPostProcessor<AssetImage>>(searchPath, outDir));
if (ImageIwdPostProcessor<AssetImage>::AppliesToZoneDefinition(zoneDefinition))
collection.AddAssetPostProcessor(std::make_unique<ImageIwdPostProcessor<AssetImage>>(zoneDefinition, searchPath, outDir));
}
} // namespace
void ObjCompiler::ConfigureCreatorCollection(AssetCreatorCollection& collection,
Zone& zone,
const ZoneDefinition& zoneDefinition,
const ZoneDefinitionContext& zoneDefinition,
ISearchPath& searchPath,
IGdtQueryable& gdt,
const fs::path& outDir,
const fs::path& cacheDir) const
{
ConfigurePostProcessors(collection, zone, searchPath, outDir);
ConfigurePostProcessors(collection, zone, zoneDefinition, searchPath, outDir);
}

View File

@ -9,7 +9,7 @@ namespace T5
public:
void ConfigureCreatorCollection(AssetCreatorCollection& collection,
Zone& zone,
const ZoneDefinition& zoneDefinition,
const ZoneDefinitionContext& zoneDefinition,
ISearchPath& searchPath,
IGdtQueryable& gdt,
const std::filesystem::path& outDir,

View File

@ -1,6 +1,7 @@
#include "ObjCompilerT6.h"
#include "Game/T6/T6.h"
#include "Image/ImageIPakPostProcessor.h"
#include "Image/ImageIwdPostProcessor.h"
#include <memory>
@ -17,21 +18,26 @@ namespace
// No compilers yet
}
void ConfigurePostProcessors(AssetCreatorCollection& collection, Zone& zone, ISearchPath& searchPath, const fs::path& outDir)
void ConfigurePostProcessors(
AssetCreatorCollection& collection, Zone& zone, const ZoneDefinitionContext& zoneDefinition, ISearchPath& searchPath, const fs::path& outDir)
{
auto& memory = *zone.GetMemory();
collection.AddAssetPostProcessor(std::make_unique<ImageIwdPostProcessor<AssetImage>>(searchPath, outDir));
if (ImageIPakPostProcessor<AssetImage>::AppliesToZoneDefinition(zoneDefinition))
collection.AddAssetPostProcessor(std::make_unique<ImageIPakPostProcessor<AssetImage>>(zoneDefinition, searchPath, outDir));
if (ImageIwdPostProcessor<AssetImage>::AppliesToZoneDefinition(zoneDefinition))
collection.AddAssetPostProcessor(std::make_unique<ImageIwdPostProcessor<AssetImage>>(zoneDefinition, searchPath, outDir));
}
} // namespace
void ObjCompiler::ConfigureCreatorCollection(AssetCreatorCollection& collection,
Zone& zone,
const ZoneDefinition& zoneDefinition,
const ZoneDefinitionContext& zoneDefinition,
ISearchPath& searchPath,
IGdtQueryable& gdt,
const fs::path& outDir,
const fs::path& cacheDir) const
{
ConfigurePostProcessors(collection, zone, searchPath, outDir);
ConfigurePostProcessors(collection, zone, zoneDefinition, searchPath, outDir);
}

View File

@ -9,7 +9,7 @@ namespace T6
public:
void ConfigureCreatorCollection(AssetCreatorCollection& collection,
Zone& zone,
const ZoneDefinition& zoneDefinition,
const ZoneDefinitionContext& zoneDefinition,
ISearchPath& searchPath,
IGdtQueryable& gdt,
const std::filesystem::path& outDir,