#include "ObjLoaderT4.h" #include "Asset/GlobalAssetPoolsLoader.h" #include "Game/T4/AssetMarkerT4.h" #include "Game/T4/Font/FontLoaderT4.h" #include "Game/T4/Image/ImageLoaderEmbeddedT4.h" #include "Game/T4/Image/ImageLoaderExternalT4.h" #include "Game/T4/T4.h" #include "Game/T4/Weapon/AccuracyGraphLoaderT4.h" #include "Game/T4/XAnim/XAnimLoaderT4.h" #include "Localize/AssetLoaderLocalizeT4.h" #include "Maps/MapEntsLoaderT4.h" #include "Material/LoaderMaterialT4.h" #include "PhysPreset/GdtLoaderPhysPresetT4.h" #include "PhysPreset/RawLoaderPhysPresetT4.h" #include "RawFile/AssetLoaderRawFileT4.h" #include "Weapon/FlameTableLoaderT4.h" #include "Weapon/WeaponGdtLoaderT4.h" #include "Weapon/WeaponRawLoaderT4.h" using namespace T4; void ObjLoader::LoadReferencedContainersForZone(ISearchPath& searchPath, Zone& zone) const {} void ObjLoader::UnloadContainersOfZone(Zone& zone) const {} namespace { void ConfigureDefaultCreators(AssetCreatorCollection& collection, const Zone& zone) { auto& memory = zone.Memory(); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); collection.AddDefaultAssetCreator(std::make_unique>(memory)); } void ConfigureGlobalAssetPoolsLoaders(AssetCreatorCollection& collection, Zone& zone) { collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); // collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); collection.AddAssetCreator(std::make_unique>(zone)); } void ConfigureLoaders(AssetCreatorCollection& collection, Zone& zone, ISearchPath& searchPath, IGdtQueryable& gdt) { auto& memory = zone.Memory(); collection.AddAssetCreator(xanim::CreateLoaderT4(memory, searchPath, zone)); collection.AddAssetCreator(image::CreateLoaderEmbeddedT4(memory, searchPath)); collection.AddAssetCreator(image::CreateLoaderExternalT4(memory, searchPath)); collection.AddAssetCreator(material::CreateLoaderT4(memory, searchPath)); collection.AddAssetCreator(font::CreateLoaderT4(memory, searchPath)); collection.AddAssetCreator(localize::CreateLoaderT4(memory, searchPath, zone)); collection.AddAssetCreator(map_ents::CreateLoaderT4(memory, searchPath)); collection.AddAssetCreator(phys_preset::CreateRawLoaderT4(memory, searchPath, zone)); collection.AddAssetCreator(phys_preset::CreateGdtLoaderT4(memory, gdt, zone)); collection.AddAssetCreator(raw_file::CreateLoaderT4(memory, searchPath)); collection.AddAssetCreator(weapon::CreateRawLoaderT4(memory, searchPath, zone)); collection.AddAssetCreator(weapon::CreateGdtLoaderT4(memory, searchPath, gdt, zone)); collection.AddSubAssetCreator(weapon::CreateAccuracyGraphLoaderT4(memory, searchPath)); collection.AddSubAssetCreator(weapon::CreateFlameTableLoaderT4(memory, searchPath, zone)); } } // namespace void ObjLoader::ConfigureCreatorCollection(AssetCreatorCollection& collection, Zone& zone, ISearchPath& searchPath, IGdtQueryable& gdt) const { ConfigureDefaultCreators(collection, zone); ConfigureLoaders(collection, zone, searchPath, gdt); ConfigureGlobalAssetPoolsLoaders(collection, zone); }