#pragma once #include "Pool/ZoneAssetPools.h" #include "Pool/AssetPool.h" #include "T6.h" class GameAssetPoolT6 final : public ZoneAssetPools { int m_priority; static const std::string ASSET_TYPE_INVALID; static const std::string ASSET_TYPE_NAMES[]; protected: XAssetInfoGeneric* AddAssetToPool(asset_type_t type, std::string name, void* asset, std::vector& dependencies) override; public: AssetPool* m_phys_preset; AssetPool* m_phys_constraints; AssetPool* m_destructible_def; AssetPool* m_xanim_parts; AssetPool* m_xmodel; AssetPool* m_material; AssetPool* m_technique_set; AssetPool* m_image; AssetPool* m_sound_bank; AssetPool* m_sound_patch; AssetPool* m_clip_map; AssetPool* m_com_world; AssetPool* m_game_world_sp; AssetPool* m_game_world_mp; AssetPool* m_map_ents; AssetPool* m_gfx_world; AssetPool* m_gfx_light_def; AssetPool* m_font; AssetPool* m_font_icon; AssetPool* m_menu_list; AssetPool* m_menu_def; AssetPool* m_localize; AssetPool* m_weapon; AssetPool* m_attachment; AssetPool* m_attachment_unique; AssetPool* m_camo; AssetPool* m_snd_driver_globals; AssetPool* m_fx; AssetPool* m_fx_impact_table; AssetPool* m_raw_file; AssetPool* m_string_table; AssetPool* m_leaderboard; AssetPool* m_xglobals; AssetPool* m_ddl; AssetPool* m_glasses; AssetPool* m_emblem_set; AssetPool* m_script; AssetPool* m_key_value_pairs; AssetPool* m_vehicle; AssetPool* m_memory_block; AssetPool* m_addon_map_ents; AssetPool* m_tracer; AssetPool* m_skinned_verts; AssetPool* m_qdb; AssetPool* m_slug; AssetPool* m_footstep_table; AssetPool* m_footstep_fx_table; AssetPool* m_zbarrier; GameAssetPoolT6(Zone* zone, int priority); ~GameAssetPoolT6() override; 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; const std::string& GetAssetTypeName(asset_type_t assetType) const override; };