mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-11 07:18:11 -05:00
Include and exclude asset type dumping configured by command line args
This commit is contained in:
@ -84,35 +84,6 @@ GameAssetPoolIW3::GameAssetPoolIW3(Zone* zone, const int priority)
|
||||
m_priority(priority)
|
||||
{
|
||||
static_assert(std::extent<decltype(ASSET_TYPE_NAMES)>::value == ASSET_TYPE_COUNT);
|
||||
|
||||
m_phys_preset = nullptr;
|
||||
m_xanim_parts = nullptr;
|
||||
m_xmodel = nullptr;
|
||||
m_material = nullptr;
|
||||
m_material_pixel_shader = nullptr;
|
||||
m_material_vertex_shader = nullptr;
|
||||
m_material_vertex_decl = nullptr;
|
||||
m_technique_set = nullptr;
|
||||
m_image = nullptr;
|
||||
m_sound = nullptr;
|
||||
m_sound_curve = nullptr;
|
||||
m_loaded_sound = nullptr;
|
||||
m_clip_map = nullptr;
|
||||
m_com_world = nullptr;
|
||||
m_game_world_sp = nullptr;
|
||||
m_game_world_mp = nullptr;
|
||||
m_map_ents = nullptr;
|
||||
m_gfx_world = nullptr;
|
||||
m_gfx_light_def = nullptr;
|
||||
m_font = nullptr;
|
||||
m_menu_list = nullptr;
|
||||
m_menu_def = nullptr;
|
||||
m_localize = nullptr;
|
||||
m_weapon = nullptr;
|
||||
m_fx = nullptr;
|
||||
m_fx_impact_table = nullptr;
|
||||
m_raw_file = nullptr;
|
||||
m_string_table = nullptr;
|
||||
}
|
||||
|
||||
void GameAssetPoolIW3::InitPoolStatic(const asset_type_t type, const size_t capacity)
|
||||
@ -327,3 +298,13 @@ const char* GameAssetPoolIW3::GetAssetTypeName(const asset_type_t assetType) con
|
||||
{
|
||||
return AssetTypeNameByType(assetType);
|
||||
}
|
||||
|
||||
asset_type_t GameAssetPoolIW3::AssetTypeCount()
|
||||
{
|
||||
return ASSET_TYPE_COUNT;
|
||||
}
|
||||
|
||||
asset_type_t GameAssetPoolIW3::GetAssetTypeCount() const
|
||||
{
|
||||
return AssetTypeCount();
|
||||
}
|
||||
|
@ -53,6 +53,10 @@ public:
|
||||
void InitPoolDynamic(asset_type_t type) override;
|
||||
|
||||
_NODISCARD XAssetInfoGeneric* GetAsset(asset_type_t type, std::string name) const override;
|
||||
|
||||
static const char* AssetTypeNameByType(asset_type_t assetType);
|
||||
_NODISCARD const char* GetAssetTypeName(asset_type_t assetType) const override;
|
||||
|
||||
static asset_type_t AssetTypeCount();
|
||||
_NODISCARD asset_type_t GetAssetTypeCount() const override;
|
||||
};
|
||||
|
@ -104,42 +104,6 @@ GameAssetPoolIW4::GameAssetPoolIW4(Zone* zone, const int priority)
|
||||
m_priority(priority)
|
||||
{
|
||||
assert(std::extent<decltype(ASSET_TYPE_NAMES)>::value == ASSET_TYPE_COUNT);
|
||||
|
||||
m_phys_preset = nullptr;
|
||||
m_phys_collmap = nullptr;
|
||||
m_xanim_parts = nullptr;
|
||||
m_xmodel = nullptr;
|
||||
m_material = nullptr;
|
||||
m_material_pixel_shader = nullptr;
|
||||
m_material_vertex_shader = nullptr;
|
||||
m_material_vertex_decl = nullptr;
|
||||
m_technique_set = nullptr;
|
||||
m_image = nullptr;
|
||||
m_sound = nullptr;
|
||||
m_sound_curve = nullptr;
|
||||
m_loaded_sound = nullptr;
|
||||
m_clip_map = nullptr;
|
||||
m_com_world = nullptr;
|
||||
m_game_world_sp = nullptr;
|
||||
m_game_world_mp = nullptr;
|
||||
m_map_ents = nullptr;
|
||||
m_fx_world = nullptr;
|
||||
m_gfx_world = nullptr;
|
||||
m_gfx_light_def = nullptr;
|
||||
m_font = nullptr;
|
||||
m_menu_list = nullptr;
|
||||
m_menu_def = nullptr;
|
||||
m_localize = nullptr;
|
||||
m_weapon = nullptr;
|
||||
m_fx = nullptr;
|
||||
m_fx_impact_table = nullptr;
|
||||
m_raw_file = nullptr;
|
||||
m_string_table = nullptr;
|
||||
m_leaderboard = nullptr;
|
||||
m_structed_data_def_set = nullptr;
|
||||
m_tracer = nullptr;
|
||||
m_vehicle = nullptr;
|
||||
m_addon_map_ents = nullptr;
|
||||
}
|
||||
|
||||
void GameAssetPoolIW4::InitPoolStatic(const asset_type_t type, const size_t capacity)
|
||||
@ -394,3 +358,13 @@ const char* GameAssetPoolIW4::GetAssetTypeName(const asset_type_t assetType) con
|
||||
{
|
||||
return AssetTypeNameByType(assetType);
|
||||
}
|
||||
|
||||
asset_type_t GameAssetPoolIW4::AssetTypeCount()
|
||||
{
|
||||
return ASSET_TYPE_COUNT;
|
||||
}
|
||||
|
||||
asset_type_t GameAssetPoolIW4::GetAssetTypeCount() const
|
||||
{
|
||||
return AssetTypeCount();
|
||||
}
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "Utils/ClassUtils.h"
|
||||
#include "Pool/ZoneAssetPools.h"
|
||||
#include "Pool/AssetPool.h"
|
||||
#include "Game/IW4/IW4.h"
|
||||
@ -59,7 +60,11 @@ public:
|
||||
void InitPoolStatic(asset_type_t type, size_t capacity) override;
|
||||
void InitPoolDynamic(asset_type_t type) override;
|
||||
|
||||
XAssetInfoGeneric* GetAsset(asset_type_t type, std::string name) const override;
|
||||
_NODISCARD XAssetInfoGeneric* GetAsset(asset_type_t type, std::string name) const override;
|
||||
|
||||
static const char* AssetTypeNameByType(asset_type_t assetType);
|
||||
const char* GetAssetTypeName(asset_type_t assetType) const override;
|
||||
_NODISCARD const char* GetAssetTypeName(asset_type_t assetType) const override;
|
||||
|
||||
static asset_type_t AssetTypeCount();
|
||||
_NODISCARD asset_type_t GetAssetTypeCount() const override;
|
||||
};
|
||||
|
@ -110,47 +110,6 @@ GameAssetPoolIW5::GameAssetPoolIW5(Zone* zone, const int priority)
|
||||
m_priority(priority)
|
||||
{
|
||||
assert(std::extent<decltype(ASSET_TYPE_NAMES)>::value == ASSET_TYPE_COUNT);
|
||||
|
||||
m_phys_preset = nullptr;
|
||||
m_phys_collmap = nullptr;
|
||||
m_xanim_parts = nullptr;
|
||||
m_xmodel_surfs = nullptr;
|
||||
m_xmodel = nullptr;
|
||||
m_material = nullptr;
|
||||
m_material_pixel_shader = nullptr;
|
||||
m_material_vertex_shader = nullptr;
|
||||
m_material_vertex_decl = nullptr;
|
||||
m_technique_set = nullptr;
|
||||
m_image = nullptr;
|
||||
m_sound = nullptr;
|
||||
m_sound_curve = nullptr;
|
||||
m_loaded_sound = nullptr;
|
||||
m_clip_map = nullptr;
|
||||
m_com_world = nullptr;
|
||||
m_glass_world = nullptr;
|
||||
m_path_data = nullptr;
|
||||
m_vehicle_track = nullptr;
|
||||
m_map_ents = nullptr;
|
||||
m_fx_world = nullptr;
|
||||
m_gfx_world = nullptr;
|
||||
m_gfx_light_def = nullptr;
|
||||
m_font = nullptr;
|
||||
m_menu_list = nullptr;
|
||||
m_menu_def = nullptr;
|
||||
m_localize = nullptr;
|
||||
m_attachment = nullptr;
|
||||
m_weapon = nullptr;
|
||||
m_fx = nullptr;
|
||||
m_fx_impact_table = nullptr;
|
||||
m_surface_fx_table = nullptr;
|
||||
m_raw_file = nullptr;
|
||||
m_script_file = nullptr;
|
||||
m_string_table = nullptr;
|
||||
m_leaderboard = nullptr;
|
||||
m_structed_data_def_set = nullptr;
|
||||
m_tracer = nullptr;
|
||||
m_vehicle = nullptr;
|
||||
m_addon_map_ents = nullptr;
|
||||
}
|
||||
|
||||
void GameAssetPoolIW5::InitPoolStatic(const asset_type_t type, const size_t capacity)
|
||||
@ -421,3 +380,13 @@ const char* GameAssetPoolIW5::GetAssetTypeName(const asset_type_t assetType) con
|
||||
{
|
||||
return AssetTypeNameByType(assetType);
|
||||
}
|
||||
|
||||
asset_type_t GameAssetPoolIW5::AssetTypeCount()
|
||||
{
|
||||
return ASSET_TYPE_COUNT;
|
||||
}
|
||||
|
||||
asset_type_t GameAssetPoolIW5::GetAssetTypeCount() const
|
||||
{
|
||||
return AssetTypeCount();
|
||||
}
|
||||
|
@ -64,7 +64,11 @@ public:
|
||||
void InitPoolStatic(asset_type_t type, size_t capacity) override;
|
||||
void InitPoolDynamic(asset_type_t type) override;
|
||||
|
||||
XAssetInfoGeneric* GetAsset(asset_type_t type, std::string name) const override;
|
||||
_NODISCARD XAssetInfoGeneric* GetAsset(asset_type_t type, std::string name) const override;
|
||||
|
||||
static const char* AssetTypeNameByType(asset_type_t assetType);
|
||||
const char* GetAssetTypeName(asset_type_t assetType) const override;
|
||||
_NODISCARD const char* GetAssetTypeName(asset_type_t assetType) const override;
|
||||
|
||||
static asset_type_t AssetTypeCount();
|
||||
_NODISCARD asset_type_t GetAssetTypeCount() const override;
|
||||
};
|
||||
|
@ -60,80 +60,6 @@ GameAssetPoolT5::GameAssetPoolT5(Zone* zone, const int priority)
|
||||
m_priority(priority)
|
||||
{
|
||||
assert(std::extent<decltype(ASSET_TYPE_NAMES)>::value == ASSET_TYPE_COUNT);
|
||||
|
||||
m_phys_preset = nullptr;
|
||||
m_phys_constraints = nullptr;
|
||||
m_destructible_def = nullptr;
|
||||
m_xanim_parts = nullptr;
|
||||
m_xmodel = nullptr;
|
||||
m_material = nullptr;
|
||||
m_technique_set = nullptr;
|
||||
m_image = nullptr;
|
||||
m_sound_bank = nullptr;
|
||||
m_sound_patch = nullptr;
|
||||
m_clip_map = nullptr;
|
||||
m_com_world = nullptr;
|
||||
m_game_world_sp = nullptr;
|
||||
m_game_world_mp = nullptr;
|
||||
m_map_ents = nullptr;
|
||||
m_gfx_world = nullptr;
|
||||
m_gfx_light_def = nullptr;
|
||||
m_font = nullptr;
|
||||
m_menu_list = nullptr;
|
||||
m_menu_def = nullptr;
|
||||
m_localize = nullptr;
|
||||
m_weapon = nullptr;
|
||||
m_snd_driver_globals = nullptr;
|
||||
m_fx = nullptr;
|
||||
m_fx_impact_table = nullptr;
|
||||
m_raw_file = nullptr;
|
||||
m_string_table = nullptr;
|
||||
m_pack_index = nullptr;
|
||||
m_xglobals = nullptr;
|
||||
m_ddl = nullptr;
|
||||
m_glasses = nullptr;
|
||||
m_emblem_set = nullptr;
|
||||
}
|
||||
|
||||
GameAssetPoolT5::~GameAssetPoolT5()
|
||||
{
|
||||
#define DELETE_POOL(poolName) \
|
||||
delete (poolName); (poolName) = nullptr;
|
||||
|
||||
DELETE_POOL(m_phys_preset);
|
||||
DELETE_POOL(m_phys_constraints);
|
||||
DELETE_POOL(m_destructible_def);
|
||||
DELETE_POOL(m_xanim_parts);
|
||||
DELETE_POOL(m_xmodel);
|
||||
DELETE_POOL(m_material);
|
||||
DELETE_POOL(m_technique_set);
|
||||
DELETE_POOL(m_image);
|
||||
DELETE_POOL(m_sound_bank);
|
||||
DELETE_POOL(m_sound_patch);
|
||||
DELETE_POOL(m_clip_map);
|
||||
DELETE_POOL(m_com_world);
|
||||
DELETE_POOL(m_game_world_sp);
|
||||
DELETE_POOL(m_game_world_mp);
|
||||
DELETE_POOL(m_map_ents);
|
||||
DELETE_POOL(m_gfx_world);
|
||||
DELETE_POOL(m_gfx_light_def);
|
||||
DELETE_POOL(m_font);
|
||||
DELETE_POOL(m_menu_list);
|
||||
DELETE_POOL(m_menu_def);
|
||||
DELETE_POOL(m_localize);
|
||||
DELETE_POOL(m_weapon);
|
||||
DELETE_POOL(m_snd_driver_globals);
|
||||
DELETE_POOL(m_fx);
|
||||
DELETE_POOL(m_fx_impact_table);
|
||||
DELETE_POOL(m_raw_file);
|
||||
DELETE_POOL(m_string_table);
|
||||
DELETE_POOL(m_pack_index);
|
||||
DELETE_POOL(m_xglobals);
|
||||
DELETE_POOL(m_ddl);
|
||||
DELETE_POOL(m_glasses);
|
||||
DELETE_POOL(m_emblem_set);
|
||||
|
||||
#undef DELETE_POOL
|
||||
}
|
||||
|
||||
void GameAssetPoolT5::InitPoolStatic(const asset_type_t type, const size_t capacity)
|
||||
@ -143,7 +69,7 @@ void GameAssetPoolT5::InitPoolStatic(const asset_type_t type, const size_t capac
|
||||
{ \
|
||||
if((poolName) == nullptr && capacity > 0) \
|
||||
{ \
|
||||
(poolName) = new AssetPoolStatic<poolType>(capacity, m_priority, (assetType)); \
|
||||
(poolName) = std::make_unique<AssetPoolStatic<poolType>>(capacity, m_priority, (assetType)); \
|
||||
} \
|
||||
break; \
|
||||
}
|
||||
@ -199,7 +125,7 @@ void GameAssetPoolT5::InitPoolDynamic(const asset_type_t type)
|
||||
{ \
|
||||
if((poolName) == nullptr) \
|
||||
{ \
|
||||
(poolName) = new AssetPoolDynamic<poolType>(m_priority, (assetType)); \
|
||||
(poolName) = std::make_unique<AssetPoolDynamic<poolType>>(m_priority, (assetType)); \
|
||||
} \
|
||||
break; \
|
||||
}
|
||||
@ -377,3 +303,13 @@ const char* GameAssetPoolT5::GetAssetTypeName(const asset_type_t assetType) cons
|
||||
{
|
||||
return AssetTypeNameByType(assetType);
|
||||
}
|
||||
|
||||
asset_type_t GameAssetPoolT5::AssetTypeCount()
|
||||
{
|
||||
return ASSET_TYPE_COUNT;
|
||||
}
|
||||
|
||||
asset_type_t GameAssetPoolT5::GetAssetTypeCount() const
|
||||
{
|
||||
return AssetTypeCount();
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "Pool/ZoneAssetPools.h"
|
||||
#include "Pool/AssetPool.h"
|
||||
#include "Game/T5/T5.h"
|
||||
@ -15,46 +17,50 @@ protected:
|
||||
XAssetInfoGeneric* AddAssetToPool(asset_type_t type, std::string name, void* asset, std::vector<XAssetInfoGeneric*> dependencies, std::vector<scr_string_t> usedScriptStrings, Zone* zone) override;
|
||||
|
||||
public:
|
||||
AssetPool<T5::PhysPreset>* m_phys_preset;
|
||||
AssetPool<T5::PhysConstraints>* m_phys_constraints;
|
||||
AssetPool<T5::DestructibleDef>* m_destructible_def;
|
||||
AssetPool<T5::XAnimParts>* m_xanim_parts;
|
||||
AssetPool<T5::XModel>* m_xmodel;
|
||||
AssetPool<T5::Material>* m_material;
|
||||
AssetPool<T5::MaterialTechniqueSet>* m_technique_set;
|
||||
AssetPool<T5::GfxImage>* m_image;
|
||||
AssetPool<T5::SndBank>* m_sound_bank;
|
||||
AssetPool<T5::SndPatch>* m_sound_patch;
|
||||
AssetPool<T5::clipMap_t>* m_clip_map;
|
||||
AssetPool<T5::ComWorld>* m_com_world;
|
||||
AssetPool<T5::GameWorldSp>* m_game_world_sp;
|
||||
AssetPool<T5::GameWorldMp>* m_game_world_mp;
|
||||
AssetPool<T5::MapEnts>* m_map_ents;
|
||||
AssetPool<T5::GfxWorld>* m_gfx_world;
|
||||
AssetPool<T5::GfxLightDef>* m_gfx_light_def;
|
||||
AssetPool<T5::Font_s>* m_font;
|
||||
AssetPool<T5::MenuList>* m_menu_list;
|
||||
AssetPool<T5::menuDef_t>* m_menu_def;
|
||||
AssetPool<T5::LocalizeEntry>* m_localize;
|
||||
AssetPool<T5::WeaponVariantDef>* m_weapon;
|
||||
AssetPool<T5::SndDriverGlobals>* m_snd_driver_globals;
|
||||
AssetPool<T5::FxEffectDef>* m_fx;
|
||||
AssetPool<T5::FxImpactTable>* m_fx_impact_table;
|
||||
AssetPool<T5::RawFile>* m_raw_file;
|
||||
AssetPool<T5::StringTable>* m_string_table;
|
||||
AssetPool<T5::PackIndex>* m_pack_index;
|
||||
AssetPool<T5::XGlobals>* m_xglobals;
|
||||
AssetPool<T5::ddlRoot_t>* m_ddl;
|
||||
AssetPool<T5::Glasses>* m_glasses;
|
||||
AssetPool<T5::EmblemSet>* m_emblem_set;
|
||||
std::unique_ptr<AssetPool<T5::PhysPreset>> m_phys_preset;
|
||||
std::unique_ptr<AssetPool<T5::PhysConstraints>> m_phys_constraints;
|
||||
std::unique_ptr<AssetPool<T5::DestructibleDef>> m_destructible_def;
|
||||
std::unique_ptr<AssetPool<T5::XAnimParts>> m_xanim_parts;
|
||||
std::unique_ptr<AssetPool<T5::XModel>> m_xmodel;
|
||||
std::unique_ptr<AssetPool<T5::Material>> m_material;
|
||||
std::unique_ptr<AssetPool<T5::MaterialTechniqueSet>> m_technique_set;
|
||||
std::unique_ptr<AssetPool<T5::GfxImage>> m_image;
|
||||
std::unique_ptr<AssetPool<T5::SndBank>> m_sound_bank;
|
||||
std::unique_ptr<AssetPool<T5::SndPatch>> m_sound_patch;
|
||||
std::unique_ptr<AssetPool<T5::clipMap_t>> m_clip_map;
|
||||
std::unique_ptr<AssetPool<T5::ComWorld>> m_com_world;
|
||||
std::unique_ptr<AssetPool<T5::GameWorldSp>> m_game_world_sp;
|
||||
std::unique_ptr<AssetPool<T5::GameWorldMp>> m_game_world_mp;
|
||||
std::unique_ptr<AssetPool<T5::MapEnts>> m_map_ents;
|
||||
std::unique_ptr<AssetPool<T5::GfxWorld>> m_gfx_world;
|
||||
std::unique_ptr<AssetPool<T5::GfxLightDef>> m_gfx_light_def;
|
||||
std::unique_ptr<AssetPool<T5::Font_s>> m_font;
|
||||
std::unique_ptr<AssetPool<T5::MenuList>> m_menu_list;
|
||||
std::unique_ptr<AssetPool<T5::menuDef_t>> m_menu_def;
|
||||
std::unique_ptr<AssetPool<T5::LocalizeEntry>> m_localize;
|
||||
std::unique_ptr<AssetPool<T5::WeaponVariantDef>> m_weapon;
|
||||
std::unique_ptr<AssetPool<T5::SndDriverGlobals>> m_snd_driver_globals;
|
||||
std::unique_ptr<AssetPool<T5::FxEffectDef>> m_fx;
|
||||
std::unique_ptr<AssetPool<T5::FxImpactTable>> m_fx_impact_table;
|
||||
std::unique_ptr<AssetPool<T5::RawFile>> m_raw_file;
|
||||
std::unique_ptr<AssetPool<T5::StringTable>> m_string_table;
|
||||
std::unique_ptr<AssetPool<T5::PackIndex>> m_pack_index;
|
||||
std::unique_ptr<AssetPool<T5::XGlobals>> m_xglobals;
|
||||
std::unique_ptr<AssetPool<T5::ddlRoot_t>> m_ddl;
|
||||
std::unique_ptr<AssetPool<T5::Glasses>> m_glasses;
|
||||
std::unique_ptr<AssetPool<T5::EmblemSet>> m_emblem_set;
|
||||
|
||||
GameAssetPoolT5(Zone* zone, int priority);
|
||||
~GameAssetPoolT5() override;
|
||||
~GameAssetPoolT5() override = default;
|
||||
|
||||
void InitPoolStatic(asset_type_t type, size_t capacity) override;
|
||||
void InitPoolDynamic(asset_type_t type) override;
|
||||
|
||||
XAssetInfoGeneric* GetAsset(asset_type_t type, std::string name) const override;
|
||||
_NODISCARD XAssetInfoGeneric* GetAsset(asset_type_t type, std::string name) const override;
|
||||
|
||||
static const char* AssetTypeNameByType(asset_type_t assetType);
|
||||
const char* GetAssetTypeName(asset_type_t assetType) const override;
|
||||
_NODISCARD const char* GetAssetTypeName(asset_type_t assetType) const override;
|
||||
|
||||
static asset_type_t AssetTypeCount();
|
||||
_NODISCARD asset_type_t GetAssetTypeCount() const override;
|
||||
};
|
||||
|
@ -77,112 +77,6 @@ GameAssetPoolT6::GameAssetPoolT6(Zone* zone, const int priority)
|
||||
m_priority(priority)
|
||||
{
|
||||
assert(std::extent<decltype(ASSET_TYPE_NAMES)>::value == ASSET_TYPE_COUNT);
|
||||
|
||||
m_phys_preset = nullptr;
|
||||
m_phys_constraints = nullptr;
|
||||
m_destructible_def = nullptr;
|
||||
m_xanim_parts = nullptr;
|
||||
m_xmodel = nullptr;
|
||||
m_material = nullptr;
|
||||
m_technique_set = nullptr;
|
||||
m_image = nullptr;
|
||||
m_sound_bank = nullptr;
|
||||
m_sound_patch = nullptr;
|
||||
m_clip_map = nullptr;
|
||||
m_com_world = nullptr;
|
||||
m_game_world_sp = nullptr;
|
||||
m_game_world_mp = nullptr;
|
||||
m_map_ents = nullptr;
|
||||
m_gfx_world = nullptr;
|
||||
m_gfx_light_def = nullptr;
|
||||
m_font = nullptr;
|
||||
m_font_icon = nullptr;
|
||||
m_menu_list = nullptr;
|
||||
m_menu_def = nullptr;
|
||||
m_localize = nullptr;
|
||||
m_weapon = nullptr;
|
||||
m_attachment = nullptr;
|
||||
m_attachment_unique = nullptr;
|
||||
m_camo = nullptr;
|
||||
m_snd_driver_globals = nullptr;
|
||||
m_fx = nullptr;
|
||||
m_fx_impact_table = nullptr;
|
||||
m_raw_file = nullptr;
|
||||
m_string_table = nullptr;
|
||||
m_leaderboard = nullptr;
|
||||
m_xglobals = nullptr;
|
||||
m_ddl = nullptr;
|
||||
m_glasses = nullptr;
|
||||
m_emblem_set = nullptr;
|
||||
m_script = nullptr;
|
||||
m_key_value_pairs = nullptr;
|
||||
m_vehicle = nullptr;
|
||||
m_memory_block = nullptr;
|
||||
m_addon_map_ents = nullptr;
|
||||
m_tracer = nullptr;
|
||||
m_skinned_verts = nullptr;
|
||||
m_qdb = nullptr;
|
||||
m_slug = nullptr;
|
||||
m_footstep_table = nullptr;
|
||||
m_footstep_fx_table = nullptr;
|
||||
m_zbarrier = nullptr;
|
||||
}
|
||||
|
||||
GameAssetPoolT6::~GameAssetPoolT6()
|
||||
{
|
||||
#define DELETE_POOL(poolName) \
|
||||
delete (poolName); (poolName) = nullptr;
|
||||
|
||||
DELETE_POOL(m_phys_preset);
|
||||
DELETE_POOL(m_phys_constraints);
|
||||
DELETE_POOL(m_destructible_def);
|
||||
DELETE_POOL(m_xanim_parts);
|
||||
DELETE_POOL(m_xmodel);
|
||||
DELETE_POOL(m_material);
|
||||
DELETE_POOL(m_technique_set);
|
||||
DELETE_POOL(m_image);
|
||||
DELETE_POOL(m_sound_bank);
|
||||
DELETE_POOL(m_sound_patch);
|
||||
DELETE_POOL(m_clip_map);
|
||||
DELETE_POOL(m_com_world);
|
||||
DELETE_POOL(m_game_world_sp);
|
||||
DELETE_POOL(m_game_world_mp);
|
||||
DELETE_POOL(m_map_ents);
|
||||
DELETE_POOL(m_gfx_world);
|
||||
DELETE_POOL(m_gfx_light_def);
|
||||
DELETE_POOL(m_font);
|
||||
DELETE_POOL(m_font_icon);
|
||||
DELETE_POOL(m_menu_list);
|
||||
DELETE_POOL(m_menu_def);
|
||||
DELETE_POOL(m_localize);
|
||||
DELETE_POOL(m_weapon);
|
||||
DELETE_POOL(m_attachment);
|
||||
DELETE_POOL(m_attachment_unique);
|
||||
DELETE_POOL(m_camo);
|
||||
DELETE_POOL(m_snd_driver_globals);
|
||||
DELETE_POOL(m_fx);
|
||||
DELETE_POOL(m_fx_impact_table);
|
||||
DELETE_POOL(m_raw_file);
|
||||
DELETE_POOL(m_string_table);
|
||||
DELETE_POOL(m_leaderboard);
|
||||
DELETE_POOL(m_xglobals);
|
||||
DELETE_POOL(m_ddl);
|
||||
DELETE_POOL(m_glasses);
|
||||
DELETE_POOL(m_emblem_set);
|
||||
DELETE_POOL(m_script);
|
||||
DELETE_POOL(m_key_value_pairs);
|
||||
DELETE_POOL(m_vehicle);
|
||||
DELETE_POOL(m_memory_block);
|
||||
DELETE_POOL(m_addon_map_ents);
|
||||
DELETE_POOL(m_tracer);
|
||||
DELETE_POOL(m_skinned_verts);
|
||||
DELETE_POOL(m_qdb);
|
||||
DELETE_POOL(m_slug);
|
||||
DELETE_POOL(m_footstep_table);
|
||||
DELETE_POOL(m_footstep_fx_table);
|
||||
DELETE_POOL(m_zbarrier);
|
||||
|
||||
#undef DELETE_POOL
|
||||
}
|
||||
|
||||
void GameAssetPoolT6::InitPoolStatic(const asset_type_t type, const size_t capacity)
|
||||
@ -192,7 +86,7 @@ void GameAssetPoolT6::InitPoolStatic(const asset_type_t type, const size_t capac
|
||||
{ \
|
||||
if((poolName) == nullptr && capacity > 0) \
|
||||
{ \
|
||||
(poolName) = new AssetPoolStatic<poolType>(capacity, m_priority, (assetType)); \
|
||||
(poolName) = std::make_unique<AssetPoolStatic<poolType>>(capacity, m_priority, (assetType)); \
|
||||
} \
|
||||
break; \
|
||||
}
|
||||
@ -264,7 +158,7 @@ void GameAssetPoolT6::InitPoolDynamic(const asset_type_t type)
|
||||
{ \
|
||||
if((poolName) == nullptr) \
|
||||
{ \
|
||||
(poolName) = new AssetPoolDynamic<poolType>(m_priority, (assetType)); \
|
||||
(poolName) = std::make_unique<AssetPoolDynamic<poolType>>(m_priority, (assetType)); \
|
||||
} \
|
||||
break; \
|
||||
}
|
||||
@ -490,3 +384,13 @@ const char* GameAssetPoolT6::GetAssetTypeName(const asset_type_t assetType) cons
|
||||
{
|
||||
return AssetTypeNameByType(assetType);
|
||||
}
|
||||
|
||||
asset_type_t GameAssetPoolT6::AssetTypeCount()
|
||||
{
|
||||
return ASSET_TYPE_COUNT;
|
||||
}
|
||||
|
||||
asset_type_t GameAssetPoolT6::GetAssetTypeCount() const
|
||||
{
|
||||
return AssetTypeCount();
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "Pool/ZoneAssetPools.h"
|
||||
#include "Pool/AssetPool.h"
|
||||
#include "Game/T6/T6.h"
|
||||
@ -15,62 +17,66 @@ protected:
|
||||
XAssetInfoGeneric* AddAssetToPool(asset_type_t type, std::string name, void* asset, std::vector<XAssetInfoGeneric*> dependencies, std::vector<scr_string_t> usedScriptStrings, Zone* zone) override;
|
||||
|
||||
public:
|
||||
AssetPool<T6::PhysPreset>* m_phys_preset;
|
||||
AssetPool<T6::PhysConstraints>* m_phys_constraints;
|
||||
AssetPool<T6::DestructibleDef>* m_destructible_def;
|
||||
AssetPool<T6::XAnimParts>* m_xanim_parts;
|
||||
AssetPool<T6::XModel>* m_xmodel;
|
||||
AssetPool<T6::Material>* m_material;
|
||||
AssetPool<T6::MaterialTechniqueSet>* m_technique_set;
|
||||
AssetPool<T6::GfxImage>* m_image;
|
||||
AssetPool<T6::SndBank>* m_sound_bank;
|
||||
AssetPool<T6::SndPatch>* m_sound_patch;
|
||||
AssetPool<T6::clipMap_t>* m_clip_map;
|
||||
AssetPool<T6::ComWorld>* m_com_world;
|
||||
AssetPool<T6::GameWorldSp>* m_game_world_sp;
|
||||
AssetPool<T6::GameWorldMp>* m_game_world_mp;
|
||||
AssetPool<T6::MapEnts>* m_map_ents;
|
||||
AssetPool<T6::GfxWorld>* m_gfx_world;
|
||||
AssetPool<T6::GfxLightDef>* m_gfx_light_def;
|
||||
AssetPool<T6::Font_s>* m_font;
|
||||
AssetPool<T6::FontIcon>* m_font_icon;
|
||||
AssetPool<T6::MenuList>* m_menu_list;
|
||||
AssetPool<T6::menuDef_t>* m_menu_def;
|
||||
AssetPool<T6::LocalizeEntry>* m_localize;
|
||||
AssetPool<T6::WeaponVariantDef>* m_weapon;
|
||||
AssetPool<T6::WeaponAttachment>* m_attachment;
|
||||
AssetPool<T6::WeaponAttachmentUnique>* m_attachment_unique;
|
||||
AssetPool<T6::WeaponCamo>* m_camo;
|
||||
AssetPool<T6::SndDriverGlobals>* m_snd_driver_globals;
|
||||
AssetPool<T6::FxEffectDef>* m_fx;
|
||||
AssetPool<T6::FxImpactTable>* m_fx_impact_table;
|
||||
AssetPool<T6::RawFile>* m_raw_file;
|
||||
AssetPool<T6::StringTable>* m_string_table;
|
||||
AssetPool<T6::LeaderboardDef>* m_leaderboard;
|
||||
AssetPool<T6::XGlobals>* m_xglobals;
|
||||
AssetPool<T6::ddlRoot_t>* m_ddl;
|
||||
AssetPool<T6::Glasses>* m_glasses;
|
||||
AssetPool<T6::EmblemSet>* m_emblem_set;
|
||||
AssetPool<T6::ScriptParseTree>* m_script;
|
||||
AssetPool<T6::KeyValuePairs>* m_key_value_pairs;
|
||||
AssetPool<T6::VehicleDef>* m_vehicle;
|
||||
AssetPool<T6::MemoryBlock>* m_memory_block;
|
||||
AssetPool<T6::AddonMapEnts>* m_addon_map_ents;
|
||||
AssetPool<T6::TracerDef>* m_tracer;
|
||||
AssetPool<T6::SkinnedVertsDef>* m_skinned_verts;
|
||||
AssetPool<T6::Qdb>* m_qdb;
|
||||
AssetPool<T6::Slug>* m_slug;
|
||||
AssetPool<T6::FootstepTableDef>* m_footstep_table;
|
||||
AssetPool<T6::FootstepFXTableDef>* m_footstep_fx_table;
|
||||
AssetPool<T6::ZBarrierDef>* m_zbarrier;
|
||||
std::unique_ptr<AssetPool<T6::PhysPreset>> m_phys_preset;
|
||||
std::unique_ptr<AssetPool<T6::PhysConstraints>> m_phys_constraints;
|
||||
std::unique_ptr<AssetPool<T6::DestructibleDef>> m_destructible_def;
|
||||
std::unique_ptr<AssetPool<T6::XAnimParts>> m_xanim_parts;
|
||||
std::unique_ptr<AssetPool<T6::XModel>> m_xmodel;
|
||||
std::unique_ptr<AssetPool<T6::Material>> m_material;
|
||||
std::unique_ptr<AssetPool<T6::MaterialTechniqueSet>> m_technique_set;
|
||||
std::unique_ptr<AssetPool<T6::GfxImage>> m_image;
|
||||
std::unique_ptr<AssetPool<T6::SndBank>> m_sound_bank;
|
||||
std::unique_ptr<AssetPool<T6::SndPatch>> m_sound_patch;
|
||||
std::unique_ptr<AssetPool<T6::clipMap_t>> m_clip_map;
|
||||
std::unique_ptr<AssetPool<T6::ComWorld>> m_com_world;
|
||||
std::unique_ptr<AssetPool<T6::GameWorldSp>> m_game_world_sp;
|
||||
std::unique_ptr<AssetPool<T6::GameWorldMp>> m_game_world_mp;
|
||||
std::unique_ptr<AssetPool<T6::MapEnts>> m_map_ents;
|
||||
std::unique_ptr<AssetPool<T6::GfxWorld>> m_gfx_world;
|
||||
std::unique_ptr<AssetPool<T6::GfxLightDef>> m_gfx_light_def;
|
||||
std::unique_ptr<AssetPool<T6::Font_s>> m_font;
|
||||
std::unique_ptr<AssetPool<T6::FontIcon>> m_font_icon;
|
||||
std::unique_ptr<AssetPool<T6::MenuList>> m_menu_list;
|
||||
std::unique_ptr<AssetPool<T6::menuDef_t>> m_menu_def;
|
||||
std::unique_ptr<AssetPool<T6::LocalizeEntry>> m_localize;
|
||||
std::unique_ptr<AssetPool<T6::WeaponVariantDef>> m_weapon;
|
||||
std::unique_ptr<AssetPool<T6::WeaponAttachment>> m_attachment;
|
||||
std::unique_ptr<AssetPool<T6::WeaponAttachmentUnique>> m_attachment_unique;
|
||||
std::unique_ptr<AssetPool<T6::WeaponCamo>> m_camo;
|
||||
std::unique_ptr<AssetPool<T6::SndDriverGlobals>> m_snd_driver_globals;
|
||||
std::unique_ptr<AssetPool<T6::FxEffectDef>> m_fx;
|
||||
std::unique_ptr<AssetPool<T6::FxImpactTable>> m_fx_impact_table;
|
||||
std::unique_ptr<AssetPool<T6::RawFile>> m_raw_file;
|
||||
std::unique_ptr<AssetPool<T6::StringTable>> m_string_table;
|
||||
std::unique_ptr<AssetPool<T6::LeaderboardDef>> m_leaderboard;
|
||||
std::unique_ptr<AssetPool<T6::XGlobals>> m_xglobals;
|
||||
std::unique_ptr<AssetPool<T6::ddlRoot_t>> m_ddl;
|
||||
std::unique_ptr<AssetPool<T6::Glasses>> m_glasses;
|
||||
std::unique_ptr<AssetPool<T6::EmblemSet>> m_emblem_set;
|
||||
std::unique_ptr<AssetPool<T6::ScriptParseTree>> m_script;
|
||||
std::unique_ptr<AssetPool<T6::KeyValuePairs>> m_key_value_pairs;
|
||||
std::unique_ptr<AssetPool<T6::VehicleDef>> m_vehicle;
|
||||
std::unique_ptr<AssetPool<T6::MemoryBlock>> m_memory_block;
|
||||
std::unique_ptr<AssetPool<T6::AddonMapEnts>> m_addon_map_ents;
|
||||
std::unique_ptr<AssetPool<T6::TracerDef>> m_tracer;
|
||||
std::unique_ptr<AssetPool<T6::SkinnedVertsDef>> m_skinned_verts;
|
||||
std::unique_ptr<AssetPool<T6::Qdb>> m_qdb;
|
||||
std::unique_ptr<AssetPool<T6::Slug>> m_slug;
|
||||
std::unique_ptr<AssetPool<T6::FootstepTableDef>> m_footstep_table;
|
||||
std::unique_ptr<AssetPool<T6::FootstepFXTableDef>> m_footstep_fx_table;
|
||||
std::unique_ptr<AssetPool<T6::ZBarrierDef>> m_zbarrier;
|
||||
|
||||
GameAssetPoolT6(Zone* zone, int priority);
|
||||
~GameAssetPoolT6() override;
|
||||
~GameAssetPoolT6() override = default;
|
||||
|
||||
void InitPoolStatic(asset_type_t type, size_t capacity) override;
|
||||
void InitPoolDynamic(asset_type_t type) override;
|
||||
|
||||
XAssetInfoGeneric* GetAsset(asset_type_t type, std::string name) const override;
|
||||
_NODISCARD XAssetInfoGeneric* GetAsset(asset_type_t type, std::string name) const override;
|
||||
|
||||
static const char* AssetTypeNameByType(asset_type_t assetType);
|
||||
const char* GetAssetTypeName(asset_type_t assetType) const override;
|
||||
_NODISCARD const char* GetAssetTypeName(asset_type_t assetType) const override;
|
||||
|
||||
static asset_type_t AssetTypeCount();
|
||||
_NODISCARD asset_type_t GetAssetTypeCount() const override;
|
||||
};
|
||||
|
@ -33,6 +33,7 @@ public:
|
||||
XAssetInfoGeneric* AddAsset(asset_type_t type, std::string name, void* asset, std::vector<XAssetInfoGeneric*> dependencies, std::vector<scr_string_t> usedScriptStrings);
|
||||
XAssetInfoGeneric* AddAsset(asset_type_t type, std::string name, void* asset, std::vector<XAssetInfoGeneric*> dependencies, std::vector<scr_string_t> usedScriptStrings, Zone* zone);
|
||||
_NODISCARD virtual XAssetInfoGeneric* GetAsset(asset_type_t type, std::string name) const = 0;
|
||||
_NODISCARD virtual asset_type_t GetAssetTypeCount() const = 0;
|
||||
_NODISCARD virtual const char* GetAssetTypeName(asset_type_t assetType) const = 0;
|
||||
|
||||
virtual void InitPoolStatic(asset_type_t type, size_t capacity) = 0;
|
||||
|
Reference in New Issue
Block a user