Generate zone code for IW4 for the first 3 assets

This commit is contained in:
Jan 2020-09-07 14:14:07 +02:00
parent 413034f7b2
commit 5e8173539b
8 changed files with 826 additions and 448 deletions

View File

@ -1,6 +1,46 @@
ZoneCode = {}
ZoneCode.Assets = {
IW4 = {
"PhysPreset",
"PhysCollmap",
"XAnimParts",
-- "XModelSurfs",
-- "XModel",
-- "Material",
-- "MaterialPixelShader",
-- "MaterialVertexShader",
-- "MaterialVertexDeclaration",
-- "MaterialTechniqueSet",
-- "GfxImage",
-- "snd_alias_list_t",
-- "SndCurve",
-- "LoadedSound",
-- "clipMap_t",
-- "ComWorld",
-- "GameWorldSp",
-- "GameWorldMp",
-- "MapEnts",
-- "FxWorld",
-- "GfxWorld",
-- "GfxLightDef",
-- "Font_s",
-- "MenuList",
-- "menuDef_t",
-- "LocalizeEntry",
-- "WeaponCompleteDef",
-- "SndDriverGlobals",
-- "FxEffectDef",
-- "FxImpactTable",
-- "RawFile",
-- "StringTable",
-- "LeaderboardDef",
-- "StructuredDataDefSet",
-- "TracerDef",
-- "VehicleDef",
-- "AddonMapEnts"
},
T6 = {
"PhysPreset",
"PhysConstraints",
@ -165,6 +205,10 @@ function ZoneCode:project()
}
filter {}
filter "files:**/IW4.gen"
self:outputForAssets(self.Assets.IW4)
filter {}
filter "files:**/T6.gen"
self:outputForAssets(self.Assets.T6)
filter {}

View File

@ -0,0 +1 @@
# This file exists for automatically generating zone loading code.

View File

@ -0,0 +1,8 @@
#pragma once
// Entry point for IW4 code generation
#include "../Common.h"
#include "../../../ZoneCommon/Game/IW4/IW4_Assets.h"
// EOF

View File

@ -0,0 +1,170 @@
// Game: Modern Warfare 2 (IW4)
game IW4;
// Game Assets
asset PhysPreset ASSET_TYPE_PHYSPRESET;
asset PhysCollmap ASSET_TYPE_PHYSCOLLMAP;
asset XAnimParts ASSET_TYPE_XANIMPARTS;
// asset XModelSurfs ASSET_TYPE_XMODEL_SURFS;
// asset XModel ASSET_TYPE_XMODEL;
// asset Material ASSET_TYPE_MATERIAL;
// asset MaterialPixelShader ASSET_TYPE_PIXELSHADER;
// asset MaterialVertexShader ASSET_TYPE_VERTEXSHADER;
// asset MaterialVertexDeclaration ASSET_TYPE_VERTEXDECL;
// asset MaterialTechniqueSet ASSET_TYPE_TECHNIQUE_SET;
// asset GfxImage ASSET_TYPE_IMAGE;
// asset snd_alias_list_t ASSET_TYPE_SOUND;
// asset SndCurve ASSET_TYPE_SOUND_CURVE;
// asset LoadedSound ASSET_TYPE_LOADED_SOUND;
// asset clipMap_t ASSET_TYPE_CLIPMAP_MP;
// asset ComWorld ASSET_TYPE_COMWORLD;
// asset GameWorldSp ASSET_TYPE_GAMEWORLD_SP;
// asset GameWorldMp ASSET_TYPE_GAMEWORLD_MP;
// asset MapEnts ASSET_TYPE_MAP_ENTS;
// asset FxWorld ASSET_TYPE_FXWORLD;
// asset GfxWorld ASSET_TYPE_GFXWORLD;
// asset GfxLightDef ASSET_TYPE_LIGHT_DEF;
// asset Font_s ASSET_TYPE_FONT;
// asset MenuList ASSET_TYPE_MENULIST;
// asset menuDef_t ASSET_TYPE_MENU;
// asset LocalizeEntry ASSET_TYPE_LOCALIZE_ENTRY;
// asset WeaponCompleteDef ASSET_TYPE_WEAPON;
// asset SndDriverGlobals ASSET_TYPE_SNDDRIVER_GLOBALS;
// asset FxEffectDef ASSET_TYPE_FX;
// asset FxImpactTable ASSET_TYPE_IMPACT_FX;
// asset RawFile ASSET_TYPE_RAWFILE;
// asset StringTable ASSET_TYPE_STRINGTABLE;
// asset LeaderboardDef ASSET_TYPE_LEADERBOARD;
// asset StructuredDataDefSet ASSET_TYPE_STRUCTURED_DATA_DEF;
// asset TracerDef ASSET_TYPE_TRACER;
// asset VehicleDef ASSET_TYPE_VEHICLE;
// asset AddonMapEnts ASSET_TYPE_ADDON_MAP_ENTS;
// Setup blocks
block temp XFILE_BLOCK_TEMP default;
block normal XFILE_BLOCK_PHYSICAL;
block runtime XFILE_BLOCK_RUNTIME default;
block normal XFILE_BLOCK_VIRTUAL default;
block normal XFILE_BLOCK_LARGE;
block normal XFILE_BLOCK_CALLBACK;
block normal XFILE_BLOCK_VERTEX;
block normal XFILE_BLOCK_INDEX;
// =========================================
// PhysPreset
// =========================================
use PhysPreset;
set string name;
set name name;
set string sndAliasPrefix;
block normal XFILE_BLOCK_INDEX;
// =========================================
// PhysCollmap
// =========================================
use PhysCollmap;
set string name;
set name name;
set count geoms count;
// PhysGeomInfo
use PhysGeomInfo;
set count brushWrapper 1;
// BrushWrapper
use BrushWrapper;
set reusable planes;
set count planes brush::numsides;
// cbrushWrapper_t
use cbrushWrapper_t;
set count sides numsides;
set count baseAdjacentSide BrushWrapper::totalEdgeCount;
// cbrushside_t
use cbrushside_t;
set reusable plane;
set count plane 1;
// =========================================
// XAnimParts
// =========================================
use XAnimParts;
set string name;
set name name;
set scriptstring names;
set count names boneCount[9];
set count notify notifyCount;
set count deltaPart 1;
set count dataByte dataByteCount;
set count dataShort dataShortCount;
set count dataInt dataIntCount;
set count randomDataShort randomDataShortCount;
set count randomDataByte randomDataByteCount;
set count randomDataInt randomDataIntCount;
set count indices::_1 indexCount;
set count indices::_2 indexCount;
set condition indices::_1 numframes < 256;
set condition indices::data never;
reorder:
name
names
notify
deltaPart
dataByte
dataShort
dataInt
randomDataShort
randomDataByte
randomDataInt
indices;
// XAnimNotifyInfo
set scriptstring XAnimNotifyInfo::name;
// XAnimDeltaPart
use XAnimDeltaPart;
set count trans 1;
set count quat2 1;
set count quat 1;
// XAnimPartTrans
use XAnimPartTrans;
set condition u::frames size > 0;
set condition u::frames::indices::_1 XAnimParts::numframes < 256;
set arraysize u::frames::indices::_1 size + 1;
set arraysize u::frames::indices::_2 size + 1;
set condition u::frames::frames::_1 smallTrans;
set count u::frames::frames::_1 size + 1;
set count u::frames::frames::_2 size + 1;
// XAnimPartTransFrames
reorder XAnimPartTransFrames:
indices
frames;
// XAnimDeltaPartQuat2
use XAnimDeltaPartQuat2;
set condition u::frames size > 0;
set condition u::frames::indices::_1 XAnimParts::numframes < 256;
set arraysize u::frames::indices::_1 size + 1;
set arraysize u::frames::indices::_2 size + 1;
set count u::frames::frames size + 1;
// XAnimDeltaPartQuatDataFrames2
reorder XAnimDeltaPartQuatDataFrames2:
indices
frames;
// XAnimDeltaPartQuat
use XAnimDeltaPartQuat;
set condition u::frames size > 0;
set condition u::frames::indices::_1 XAnimParts::numframes < 256;
set arraysize u::frames::indices::_1 size + 1;
set arraysize u::frames::indices::_2 size + 1;
set count u::frames::frames size + 1;
// XAnimDeltaPartQuatDataFrames
reorder XAnimDeltaPartQuatDataFrames:
indices
frames;

View File

@ -53,117 +53,94 @@ const std::string GameAssetPoolIW4::ASSET_TYPE_NAMES[]
"addonmapents"
};
/*
Asset Pool Table
Useful for macro generation via regex-replace for example
#assetType, #typeName, #unionEntry, #poolName
ASSET_TYPE_PHYSPRESET, PhysPreset, physPreset, m_phys_preset
ASSET_TYPE_PHYSCOLLMAP, PhysCollmap, physCollmap, m_phys_collmap
ASSET_TYPE_XANIMPARTS, XAnimParts, parts, m_xanim_parts
ASSET_TYPE_XMODEL_SURFS, XModelSurfs, modelSurfs, m_xmodel_surfs
ASSET_TYPE_XMODEL, XModel, model, m_xmodel
ASSET_TYPE_MATERIAL, Material, material, m_material
ASSET_TYPE_PIXELSHADER, MaterialPixelShader, pixelShader, m_material_pixel_shader
ASSET_TYPE_VERTEXSHADER, MaterialVertexShader, vertexShader, m_material_vertex_shader
ASSET_TYPE_VERTEXDECL, MaterialVertexDeclaration, vertexDecl, m_material_vertex_decl
ASSET_TYPE_TECHNIQUE_SET, MaterialTechniqueSet, techniqueSet, m_technique_set
ASSET_TYPE_IMAGE, GfxImage, image, m_image
ASSET_TYPE_SOUND, snd_alias_list_t, sound, m_sound
ASSET_TYPE_SOUND_CURVE, SndCurve, sndCurve, m_sound_curve
ASSET_TYPE_LOADED_SOUND, LoadedSound, loadSnd, m_loaded_sound
ASSET_TYPE_CLIPMAP_SP, clipMap_t, clipMap, m_clip_map
ASSET_TYPE_CLIPMAP_MP, clipMap_t, clipMap, m_clip_map
ASSET_TYPE_COMWORLD, ComWorld, comWorld, m_com_world
ASSET_TYPE_GAMEWORLD_SP, GameWorldSp, gameWorldSp, m_game_world_sp
ASSET_TYPE_GAMEWORLD_MP, GameWorldMp, gameWorldMp, m_game_world_mp
ASSET_TYPE_MAP_ENTS, MapEnts, mapEnts, m_map_ents
ASSET_TYPE_FXWORLD, FxWorld, fxWorld, m_fx_world
ASSET_TYPE_GFXWORLD, GfxWorld, gfxWorld, m_gfx_world
ASSET_TYPE_LIGHT_DEF, GfxLightDef, lightDef, m_gfx_light_def
ASSET_TYPE_FONT, Font_s, font, m_font
ASSET_TYPE_MENULIST, MenuList, menuList, m_menu_list
ASSET_TYPE_MENU, menuDef_t, menu, m_menu_def
ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry, localize, m_localize
ASSET_TYPE_WEAPON, WeaponCompleteDef, weapon, m_weapon
ASSET_TYPE_SNDDRIVER_GLOBALS, SndDriverGlobals, sndDriverGlobals, m_snd_driver_globals
ASSET_TYPE_FX, FxEffectDef, fx, m_fx
ASSET_TYPE_IMPACT_FX, FxImpactTable, impactFx, m_fx_impact_table
ASSET_TYPE_RAWFILE, RawFile, rawfile, m_raw_file
ASSET_TYPE_STRINGTABLE, StringTable, stringTable, m_string_table
ASSET_TYPE_LEADERBOARD, LeaderboardDef, leaderboardDef, m_leaderboard
ASSET_TYPE_STRUCTURED_DATA_DEF, StructuredDataDefSet, structuredDataDefSet, m_structed_data_def_set
ASSET_TYPE_TRACER, TracerDef, tracerDef, m_tracer
ASSET_TYPE_VEHICLE, VehicleDef, vehDef, m_vehicle
ASSET_TYPE_ADDON_MAP_ENTS, AddonMapEnts, addonMapEnts, m_addon_map_ents
*/
GameAssetPoolIW4::GameAssetPoolIW4(const int priority)
{
assert(_countof(ASSET_TYPE_NAMES) == ASSET_TYPE_COUNT);
m_priority = priority;
/*m_phys_preset = nullptr;
m_phys_constraints = nullptr;
m_destructible_def = nullptr;
m_phys_preset = nullptr;
m_phys_collmap = 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;*/
}
GameAssetPoolIW4::~GameAssetPoolIW4()
{
#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
// 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_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_snd_driver_globals = 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)
@ -173,62 +150,51 @@ void GameAssetPoolIW4::InitPoolStatic(const asset_type_t type, const size_t capa
{ \
if((poolName) == nullptr && capacity > 0) \
{ \
(poolName) = new AssetPoolStatic<poolType>(capacity, m_priority, (assetType)); \
(poolName) = std::make_unique<AssetPoolStatic<poolType>>(capacity, m_priority, (assetType)); \
} \
break; \
}
switch (type)
{
/*CASE_INIT_POOL_STATIC(ASSET_TYPE_PHYSPRESET, m_phys_preset, PhysPreset);
CASE_INIT_POOL_STATIC(ASSET_TYPE_PHYSCONSTRAINTS, m_phys_constraints, PhysConstraints);
CASE_INIT_POOL_STATIC(ASSET_TYPE_DESTRUCTIBLEDEF, m_destructible_def, DestructibleDef);
CASE_INIT_POOL_STATIC(ASSET_TYPE_PHYSPRESET, m_phys_preset, PhysPreset);
CASE_INIT_POOL_STATIC(ASSET_TYPE_PHYSCOLLMAP, m_phys_collmap, PhysCollmap);
CASE_INIT_POOL_STATIC(ASSET_TYPE_XANIMPARTS, m_xanim_parts, XAnimParts);
CASE_INIT_POOL_STATIC(ASSET_TYPE_XMODEL, m_xmodel, XModel);
CASE_INIT_POOL_STATIC(ASSET_TYPE_MATERIAL, m_material, Material);
CASE_INIT_POOL_STATIC(ASSET_TYPE_TECHNIQUE_SET, m_technique_set, MaterialTechniqueSet);
CASE_INIT_POOL_STATIC(ASSET_TYPE_IMAGE, m_image, GfxImage);
CASE_INIT_POOL_STATIC(ASSET_TYPE_SOUND, m_sound_bank, SndBank);
CASE_INIT_POOL_STATIC(ASSET_TYPE_SOUND_PATCH, m_sound_patch, SndPatch);
CASE_INIT_POOL_STATIC(ASSET_TYPE_CLIPMAP, m_clip_map, clipMap_t);
CASE_INIT_POOL_STATIC(ASSET_TYPE_CLIPMAP_PVS, m_clip_map, clipMap_t);
CASE_INIT_POOL_STATIC(ASSET_TYPE_COMWORLD, m_com_world, ComWorld);
CASE_INIT_POOL_STATIC(ASSET_TYPE_GAMEWORLD_SP, m_game_world_sp, GameWorldSp);
CASE_INIT_POOL_STATIC(ASSET_TYPE_GAMEWORLD_MP, m_game_world_mp, GameWorldMp);
CASE_INIT_POOL_STATIC(ASSET_TYPE_MAP_ENTS, m_map_ents, MapEnts);
CASE_INIT_POOL_STATIC(ASSET_TYPE_GFXWORLD, m_gfx_world, GfxWorld);
CASE_INIT_POOL_STATIC(ASSET_TYPE_LIGHT_DEF, m_gfx_light_def, GfxLightDef);
CASE_INIT_POOL_STATIC(ASSET_TYPE_FONT, m_font, Font_s);
CASE_INIT_POOL_STATIC(ASSET_TYPE_FONTICON, m_font_icon, FontIcon);
CASE_INIT_POOL_STATIC(ASSET_TYPE_MENULIST, m_menu_list, MenuList);
CASE_INIT_POOL_STATIC(ASSET_TYPE_MENU, m_menu_def, menuDef_t);
CASE_INIT_POOL_STATIC(ASSET_TYPE_LOCALIZE_ENTRY, m_localize, LocalizeEntry);
CASE_INIT_POOL_STATIC(ASSET_TYPE_WEAPON, m_weapon, WeaponVariantDef);
CASE_INIT_POOL_STATIC(ASSET_TYPE_ATTACHMENT, m_attachment, WeaponAttachment);
CASE_INIT_POOL_STATIC(ASSET_TYPE_ATTACHMENT_UNIQUE, m_attachment_unique, WeaponAttachmentUnique);
CASE_INIT_POOL_STATIC(ASSET_TYPE_WEAPON_CAMO, m_camo, WeaponCamo);
CASE_INIT_POOL_STATIC(ASSET_TYPE_SNDDRIVER_GLOBALS, m_snd_driver_globals, SndDriverGlobals);
CASE_INIT_POOL_STATIC(ASSET_TYPE_FX, m_fx, FxEffectDef);
CASE_INIT_POOL_STATIC(ASSET_TYPE_IMPACT_FX, m_fx_impact_table, FxImpactTable);
CASE_INIT_POOL_STATIC(ASSET_TYPE_RAWFILE, m_raw_file, RawFile);
CASE_INIT_POOL_STATIC(ASSET_TYPE_STRINGTABLE, m_string_table, StringTable);
CASE_INIT_POOL_STATIC(ASSET_TYPE_LEADERBOARD, m_leaderboard, LeaderboardDef);
CASE_INIT_POOL_STATIC(ASSET_TYPE_XGLOBALS, m_xglobals, XGlobals);
CASE_INIT_POOL_STATIC(ASSET_TYPE_DDL, m_ddl, ddlRoot_t);
CASE_INIT_POOL_STATIC(ASSET_TYPE_GLASSES, m_glasses, Glasses);
CASE_INIT_POOL_STATIC(ASSET_TYPE_EMBLEMSET, m_emblem_set, EmblemSet);
CASE_INIT_POOL_STATIC(ASSET_TYPE_SCRIPTPARSETREE, m_script, ScriptParseTree);
CASE_INIT_POOL_STATIC(ASSET_TYPE_KEYVALUEPAIRS, m_key_value_pairs, KeyValuePairs);
CASE_INIT_POOL_STATIC(ASSET_TYPE_VEHICLEDEF, m_vehicle, VehicleDef);
CASE_INIT_POOL_STATIC(ASSET_TYPE_MEMORYBLOCK, m_memory_block, MemoryBlock);
CASE_INIT_POOL_STATIC(ASSET_TYPE_ADDON_MAP_ENTS, m_addon_map_ents, AddonMapEnts);
CASE_INIT_POOL_STATIC(ASSET_TYPE_TRACER, m_tracer, TracerDef);
CASE_INIT_POOL_STATIC(ASSET_TYPE_SKINNEDVERTS, m_skinned_verts, SkinnedVertsDef);
CASE_INIT_POOL_STATIC(ASSET_TYPE_QDB, m_qdb, Qdb);
CASE_INIT_POOL_STATIC(ASSET_TYPE_SLUG, m_slug, Slug);
CASE_INIT_POOL_STATIC(ASSET_TYPE_FOOTSTEP_TABLE, m_footstep_table, FootstepTableDef);
CASE_INIT_POOL_STATIC(ASSET_TYPE_FOOTSTEPFX_TABLE, m_footstep_fx_table, FootstepFXTableDef);
CASE_INIT_POOL_STATIC(ASSET_TYPE_ZBARRIER, m_zbarrier, ZBarrierDef);*/
// CASE_INIT_POOL_STATIC(ASSET_TYPE_XMODEL_SURFS, m_xmodel_surfs, XModelSurfs);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_XMODEL, m_xmodel, XModel);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_MATERIAL, m_material, Material);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_PIXELSHADER, m_material_pixel_shader, MaterialPixelShader);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_VERTEXSHADER, m_material_vertex_shader, MaterialVertexShader);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_VERTEXDECL, m_material_vertex_decl, MaterialVertexDeclaration);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_TECHNIQUE_SET, m_technique_set, MaterialTechniqueSet);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_IMAGE, m_image, GfxImage);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_SOUND, m_sound, snd_alias_list_t);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_SOUND_CURVE, m_sound_curve, SndCurve);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_LOADED_SOUND, m_loaded_sound, LoadedSound);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_CLIPMAP_SP, m_clip_map, clipMap_t);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_CLIPMAP_MP, m_clip_map, clipMap_t);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_COMWORLD, m_com_world, ComWorld);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_GAMEWORLD_SP, m_game_world_sp, GameWorldSp);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_GAMEWORLD_MP, m_game_world_mp, GameWorldMp);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_MAP_ENTS, m_map_ents, MapEnts);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_FXWORLD, m_fx_world, FxWorld);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_GFXWORLD, m_gfx_world, GfxWorld);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_LIGHT_DEF, m_gfx_light_def, GfxLightDef);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_FONT, m_font, Font_s);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_MENULIST, m_menu_list, MenuList);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_MENU, m_menu_def, menuDef_t);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_LOCALIZE_ENTRY, m_localize, LocalizeEntry);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_WEAPON, m_weapon, WeaponCompleteDef);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_SNDDRIVER_GLOBALS, m_snd_driver_globals, SndDriverGlobals);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_FX, m_fx, FxEffectDef);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_IMPACT_FX, m_fx_impact_table, FxImpactTable);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_RAWFILE, m_raw_file, RawFile);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_STRINGTABLE, m_string_table, StringTable);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_LEADERBOARD, m_leaderboard, LeaderboardDef);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_STRUCTURED_DATA_DEF, m_structed_data_def_set, StructuredDataDefSet);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_TRACER, m_tracer, TracerDef);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_VEHICLE, m_vehicle, VehicleDef);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_ADDON_MAP_ENTS, m_addon_map_ents, AddonMapEnts);
default:
assert(type >= 0 && type < ASSET_TYPE_COUNT);
@ -245,62 +211,51 @@ void GameAssetPoolIW4::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; \
}
switch (type)
{
/*CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_PHYSPRESET, m_phys_preset, PhysPreset);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_PHYSCONSTRAINTS, m_phys_constraints, PhysConstraints);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_DESTRUCTIBLEDEF, m_destructible_def, DestructibleDef);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_PHYSPRESET, m_phys_preset, PhysPreset);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_PHYSCOLLMAP, m_phys_collmap, PhysCollmap);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_XANIMPARTS, m_xanim_parts, XAnimParts);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_XMODEL, m_xmodel, XModel);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_MATERIAL, m_material, Material);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_TECHNIQUE_SET, m_technique_set, MaterialTechniqueSet);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_IMAGE, m_image, GfxImage);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_SOUND, m_sound_bank, SndBank);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_SOUND_PATCH, m_sound_patch, SndPatch);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_CLIPMAP, m_clip_map, clipMap_t);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_CLIPMAP_PVS, m_clip_map, clipMap_t);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_COMWORLD, m_com_world, ComWorld);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_GAMEWORLD_SP, m_game_world_sp, GameWorldSp);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_GAMEWORLD_MP, m_game_world_mp, GameWorldMp);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_MAP_ENTS, m_map_ents, MapEnts);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_GFXWORLD, m_gfx_world, GfxWorld);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_LIGHT_DEF, m_gfx_light_def, GfxLightDef);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_FONT, m_font, Font_s);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_FONTICON, m_font_icon, FontIcon);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_MENULIST, m_menu_list, MenuList);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_MENU, m_menu_def, menuDef_t);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_LOCALIZE_ENTRY, m_localize, LocalizeEntry);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_WEAPON, m_weapon, WeaponVariantDef);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_ATTACHMENT, m_attachment, WeaponAttachment);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_ATTACHMENT_UNIQUE, m_attachment_unique, WeaponAttachmentUnique);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_WEAPON_CAMO, m_camo, WeaponCamo);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_SNDDRIVER_GLOBALS, m_snd_driver_globals, SndDriverGlobals);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_FX, m_fx, FxEffectDef);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_IMPACT_FX, m_fx_impact_table, FxImpactTable);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_RAWFILE, m_raw_file, RawFile);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_STRINGTABLE, m_string_table, StringTable);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_LEADERBOARD, m_leaderboard, LeaderboardDef);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_XGLOBALS, m_xglobals, XGlobals);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_DDL, m_ddl, ddlRoot_t);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_GLASSES, m_glasses, Glasses);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_EMBLEMSET, m_emblem_set, EmblemSet);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_SCRIPTPARSETREE, m_script, ScriptParseTree);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_KEYVALUEPAIRS, m_key_value_pairs, KeyValuePairs);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_VEHICLEDEF, m_vehicle, VehicleDef);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_MEMORYBLOCK, m_memory_block, MemoryBlock);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_ADDON_MAP_ENTS, m_addon_map_ents, AddonMapEnts);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_TRACER, m_tracer, TracerDef);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_SKINNEDVERTS, m_skinned_verts, SkinnedVertsDef);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_QDB, m_qdb, Qdb);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_SLUG, m_slug, Slug);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_FOOTSTEP_TABLE, m_footstep_table, FootstepTableDef);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_FOOTSTEPFX_TABLE, m_footstep_fx_table, FootstepFXTableDef);
CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_ZBARRIER, m_zbarrier, ZBarrierDef);*/
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_XMODEL_SURFS, m_xmodel_surfs, XModelSurfs);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_XMODEL, m_xmodel, XModel);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_MATERIAL, m_material, Material);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_PIXELSHADER, m_material_pixel_shader, MaterialPixelShader);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_VERTEXSHADER, m_material_vertex_shader, MaterialVertexShader);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_VERTEXDECL, m_material_vertex_decl, MaterialVertexDeclaration);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_TECHNIQUE_SET, m_technique_set, MaterialTechniqueSet);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_IMAGE, m_image, GfxImage);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_SOUND, m_sound, snd_alias_list_t);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_SOUND_CURVE, m_sound_curve, SndCurve);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_LOADED_SOUND, m_loaded_sound, LoadedSound);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_CLIPMAP_SP, m_clip_map, clipMap_t);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_CLIPMAP_MP, m_clip_map, clipMap_t);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_COMWORLD, m_com_world, ComWorld);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_GAMEWORLD_SP, m_game_world_sp, GameWorldSp);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_GAMEWORLD_MP, m_game_world_mp, GameWorldMp);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_MAP_ENTS, m_map_ents, MapEnts);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_FXWORLD, m_fx_world, FxWorld);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_GFXWORLD, m_gfx_world, GfxWorld);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_LIGHT_DEF, m_gfx_light_def, GfxLightDef);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_FONT, m_font, Font_s);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_MENULIST, m_menu_list, MenuList);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_MENU, m_menu_def, menuDef_t);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_LOCALIZE_ENTRY, m_localize, LocalizeEntry);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_WEAPON, m_weapon, WeaponCompleteDef);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_SNDDRIVER_GLOBALS, m_snd_driver_globals, SndDriverGlobals);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_FX, m_fx, FxEffectDef);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_IMPACT_FX, m_fx_impact_table, FxImpactTable);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_RAWFILE, m_raw_file, RawFile);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_STRINGTABLE, m_string_table, StringTable);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_LEADERBOARD, m_leaderboard, LeaderboardDef);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_STRUCTURED_DATA_DEF, m_structed_data_def_set, StructuredDataDefSet);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_TRACER, m_tracer, TracerDef);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_VEHICLE, m_vehicle, VehicleDef);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_ADDON_MAP_ENTS, m_addon_map_ents, AddonMapEnts);
default:
assert(type >= 0 && type < ASSET_TYPE_COUNT);
@ -333,55 +288,44 @@ XAssetInfoGeneric* GameAssetPoolIW4::AddAsset(asset_type_t type, std::string nam
switch (xAsset.type)
{
/*CASE_ADD_TO_POOL(ASSET_TYPE_PHYSPRESET, m_phys_preset, physPreset);
CASE_ADD_TO_POOL(ASSET_TYPE_PHYSCONSTRAINTS, m_phys_constraints, physConstraints);
CASE_ADD_TO_POOL(ASSET_TYPE_DESTRUCTIBLEDEF, m_destructible_def, destructibleDef);
CASE_ADD_TO_POOL(ASSET_TYPE_PHYSPRESET, m_phys_preset, physPreset);
CASE_ADD_TO_POOL(ASSET_TYPE_PHYSCOLLMAP, m_phys_collmap, physCollmap);
CASE_ADD_TO_POOL(ASSET_TYPE_XANIMPARTS, m_xanim_parts, parts);
CASE_ADD_TO_POOL(ASSET_TYPE_XMODEL, m_xmodel, model);
CASE_ADD_TO_POOL(ASSET_TYPE_MATERIAL, m_material, material);
CASE_ADD_TO_POOL(ASSET_TYPE_TECHNIQUE_SET, m_technique_set, techniqueSet);
CASE_ADD_TO_POOL(ASSET_TYPE_IMAGE, m_image, image);
CASE_ADD_TO_POOL(ASSET_TYPE_SOUND, m_sound_bank, sound);
CASE_ADD_TO_POOL(ASSET_TYPE_SOUND_PATCH, m_sound_patch, soundPatch);
CASE_ADD_TO_POOL(ASSET_TYPE_CLIPMAP, m_clip_map, clipMap);
CASE_ADD_TO_POOL(ASSET_TYPE_CLIPMAP_PVS, m_clip_map, clipMap);
CASE_ADD_TO_POOL(ASSET_TYPE_COMWORLD, m_com_world, comWorld);
CASE_ADD_TO_POOL(ASSET_TYPE_GAMEWORLD_SP, m_game_world_sp, gameWorldSp);
CASE_ADD_TO_POOL(ASSET_TYPE_GAMEWORLD_MP, m_game_world_mp, gameWorldMp);
CASE_ADD_TO_POOL(ASSET_TYPE_MAP_ENTS, m_map_ents, mapEnts);
CASE_ADD_TO_POOL(ASSET_TYPE_GFXWORLD, m_gfx_world, gfxWorld);
CASE_ADD_TO_POOL(ASSET_TYPE_LIGHT_DEF, m_gfx_light_def, lightDef);
CASE_ADD_TO_POOL(ASSET_TYPE_FONT, m_font, font);
CASE_ADD_TO_POOL(ASSET_TYPE_FONTICON, m_font_icon, fontIcon);
CASE_ADD_TO_POOL(ASSET_TYPE_MENULIST, m_menu_list, menuList);
CASE_ADD_TO_POOL(ASSET_TYPE_MENU, m_menu_def, menu);
CASE_ADD_TO_POOL(ASSET_TYPE_LOCALIZE_ENTRY, m_localize, localize);
CASE_ADD_TO_POOL(ASSET_TYPE_WEAPON, m_weapon, weapon);
CASE_ADD_TO_POOL(ASSET_TYPE_ATTACHMENT, m_attachment, attachment);
CASE_ADD_TO_POOL(ASSET_TYPE_ATTACHMENT_UNIQUE, m_attachment_unique, attachmentUnique);
CASE_ADD_TO_POOL(ASSET_TYPE_WEAPON_CAMO, m_camo, weaponCamo);
CASE_ADD_TO_POOL(ASSET_TYPE_SNDDRIVER_GLOBALS, m_snd_driver_globals, sndDriverGlobals);
CASE_ADD_TO_POOL(ASSET_TYPE_FX, m_fx, fx);
CASE_ADD_TO_POOL(ASSET_TYPE_IMPACT_FX, m_fx_impact_table, impactFx);
CASE_ADD_TO_POOL(ASSET_TYPE_RAWFILE, m_raw_file, rawfile);
CASE_ADD_TO_POOL(ASSET_TYPE_STRINGTABLE, m_string_table, stringTable);
CASE_ADD_TO_POOL(ASSET_TYPE_LEADERBOARD, m_leaderboard, leaderboardDef);
CASE_ADD_TO_POOL(ASSET_TYPE_XGLOBALS, m_xglobals, xGlobals);
CASE_ADD_TO_POOL(ASSET_TYPE_DDL, m_ddl, ddlRoot);
CASE_ADD_TO_POOL(ASSET_TYPE_GLASSES, m_glasses, glasses);
CASE_ADD_TO_POOL(ASSET_TYPE_EMBLEMSET, m_emblem_set, emblemSet);
CASE_ADD_TO_POOL(ASSET_TYPE_SCRIPTPARSETREE, m_script, scriptParseTree);
CASE_ADD_TO_POOL(ASSET_TYPE_KEYVALUEPAIRS, m_key_value_pairs, keyValuePairs);
CASE_ADD_TO_POOL(ASSET_TYPE_VEHICLEDEF, m_vehicle, vehicleDef);
CASE_ADD_TO_POOL(ASSET_TYPE_MEMORYBLOCK, m_memory_block, memoryBlock);
CASE_ADD_TO_POOL(ASSET_TYPE_ADDON_MAP_ENTS, m_addon_map_ents, addonMapEnts);
CASE_ADD_TO_POOL(ASSET_TYPE_TRACER, m_tracer, tracerDef);
CASE_ADD_TO_POOL(ASSET_TYPE_SKINNEDVERTS, m_skinned_verts, skinnedVertsDef);
CASE_ADD_TO_POOL(ASSET_TYPE_QDB, m_qdb, qdb);
CASE_ADD_TO_POOL(ASSET_TYPE_SLUG, m_slug, slug);
CASE_ADD_TO_POOL(ASSET_TYPE_FOOTSTEP_TABLE, m_footstep_table, footstepTableDef);
CASE_ADD_TO_POOL(ASSET_TYPE_FOOTSTEPFX_TABLE, m_footstep_fx_table, footstepFXTableDef);
CASE_ADD_TO_POOL(ASSET_TYPE_ZBARRIER, m_zbarrier, zbarrierDef);*/
// CASE_ADD_TO_POOL(ASSET_TYPE_XMODEL_SURFS, m_xmodel_surfs, modelSurfs);
// CASE_ADD_TO_POOL(ASSET_TYPE_XMODEL, m_xmodel, model);
// CASE_ADD_TO_POOL(ASSET_TYPE_MATERIAL, m_material, material);
// CASE_ADD_TO_POOL(ASSET_TYPE_PIXELSHADER, m_material_pixel_shader, pixelShader);
// CASE_ADD_TO_POOL(ASSET_TYPE_VERTEXSHADER, m_material_vertex_shader, vertexShader);
// CASE_ADD_TO_POOL(ASSET_TYPE_VERTEXDECL, m_material_vertex_decl, vertexDecl);
// CASE_ADD_TO_POOL(ASSET_TYPE_TECHNIQUE_SET, m_technique_set, techniqueSet);
// CASE_ADD_TO_POOL(ASSET_TYPE_IMAGE, m_image, image);
// CASE_ADD_TO_POOL(ASSET_TYPE_SOUND, m_sound, sound);
// CASE_ADD_TO_POOL(ASSET_TYPE_SOUND_CURVE, m_sound_curve, sndCurve);
// CASE_ADD_TO_POOL(ASSET_TYPE_LOADED_SOUND, m_loaded_sound, loadSnd);
// CASE_ADD_TO_POOL(ASSET_TYPE_CLIPMAP_SP, m_clip_map, clipMap);
// CASE_ADD_TO_POOL(ASSET_TYPE_CLIPMAP_MP, m_clip_map, clipMap);
// CASE_ADD_TO_POOL(ASSET_TYPE_COMWORLD, m_com_world, comWorld);
// CASE_ADD_TO_POOL(ASSET_TYPE_GAMEWORLD_SP, m_game_world_sp, gameWorldSp);
// CASE_ADD_TO_POOL(ASSET_TYPE_GAMEWORLD_MP, m_game_world_mp, gameWorldMp);
// CASE_ADD_TO_POOL(ASSET_TYPE_MAP_ENTS, m_map_ents, mapEnts);
// CASE_ADD_TO_POOL(ASSET_TYPE_FXWORLD, m_fx_world, fxWorld);
// CASE_ADD_TO_POOL(ASSET_TYPE_GFXWORLD, m_gfx_world, gfxWorld);
// CASE_ADD_TO_POOL(ASSET_TYPE_LIGHT_DEF, m_gfx_light_def, lightDef);
// CASE_ADD_TO_POOL(ASSET_TYPE_FONT, m_font, font);
// CASE_ADD_TO_POOL(ASSET_TYPE_MENULIST, m_menu_list, menuList);
// CASE_ADD_TO_POOL(ASSET_TYPE_MENU, m_menu_def, menu);
// CASE_ADD_TO_POOL(ASSET_TYPE_LOCALIZE_ENTRY, m_localize, localize);
// CASE_ADD_TO_POOL(ASSET_TYPE_WEAPON, m_weapon, weapon);
// CASE_ADD_TO_POOL(ASSET_TYPE_SNDDRIVER_GLOBALS, m_snd_driver_globals, sndDriverGlobals);
// CASE_ADD_TO_POOL(ASSET_TYPE_FX, m_fx, fx);
// CASE_ADD_TO_POOL(ASSET_TYPE_IMPACT_FX, m_fx_impact_table, impactFx);
// CASE_ADD_TO_POOL(ASSET_TYPE_RAWFILE, m_raw_file, rawfile);
// CASE_ADD_TO_POOL(ASSET_TYPE_STRINGTABLE, m_string_table, stringTable);
// CASE_ADD_TO_POOL(ASSET_TYPE_LEADERBOARD, m_leaderboard, leaderboardDef);
// CASE_ADD_TO_POOL(ASSET_TYPE_STRUCTURED_DATA_DEF, m_structed_data_def_set, structuredDataDefSet);
// CASE_ADD_TO_POOL(ASSET_TYPE_TRACER, m_tracer, tracerDef);
// CASE_ADD_TO_POOL(ASSET_TYPE_VEHICLE, m_vehicle, vehDef);
// CASE_ADD_TO_POOL(ASSET_TYPE_ADDON_MAP_ENTS, m_addon_map_ents, addonMapEnts);
default:
assert(false);
@ -405,55 +349,44 @@ XAssetInfoGeneric* GameAssetPoolIW4::GetAsset(const asset_type_t type, std::stri
switch (type)
{
/*CASE_GET_ASSET(ASSET_TYPE_PHYSPRESET, m_phys_preset);
CASE_GET_ASSET(ASSET_TYPE_PHYSCONSTRAINTS, m_phys_constraints);
CASE_GET_ASSET(ASSET_TYPE_DESTRUCTIBLEDEF, m_destructible_def);
CASE_GET_ASSET(ASSET_TYPE_PHYSPRESET, m_phys_preset);
CASE_GET_ASSET(ASSET_TYPE_PHYSCOLLMAP, m_phys_collmap);
CASE_GET_ASSET(ASSET_TYPE_XANIMPARTS, m_xanim_parts);
CASE_GET_ASSET(ASSET_TYPE_XMODEL, m_xmodel);
CASE_GET_ASSET(ASSET_TYPE_MATERIAL, m_material);
CASE_GET_ASSET(ASSET_TYPE_TECHNIQUE_SET, m_technique_set);
CASE_GET_ASSET(ASSET_TYPE_IMAGE, m_image);
CASE_GET_ASSET(ASSET_TYPE_SOUND, m_sound_bank);
CASE_GET_ASSET(ASSET_TYPE_SOUND_PATCH, m_sound_patch);
CASE_GET_ASSET(ASSET_TYPE_CLIPMAP, m_clip_map);
CASE_GET_ASSET(ASSET_TYPE_CLIPMAP_PVS, m_clip_map);
CASE_GET_ASSET(ASSET_TYPE_COMWORLD, m_com_world);
CASE_GET_ASSET(ASSET_TYPE_GAMEWORLD_SP, m_game_world_sp);
CASE_GET_ASSET(ASSET_TYPE_GAMEWORLD_MP, m_game_world_mp);
CASE_GET_ASSET(ASSET_TYPE_MAP_ENTS, m_map_ents);
CASE_GET_ASSET(ASSET_TYPE_GFXWORLD, m_gfx_world);
CASE_GET_ASSET(ASSET_TYPE_LIGHT_DEF, m_gfx_light_def);
CASE_GET_ASSET(ASSET_TYPE_FONT, m_font);
CASE_GET_ASSET(ASSET_TYPE_FONTICON, m_font_icon);
CASE_GET_ASSET(ASSET_TYPE_MENULIST, m_menu_list);
CASE_GET_ASSET(ASSET_TYPE_MENU, m_menu_def);
CASE_GET_ASSET(ASSET_TYPE_LOCALIZE_ENTRY, m_localize);
CASE_GET_ASSET(ASSET_TYPE_WEAPON, m_weapon);
CASE_GET_ASSET(ASSET_TYPE_ATTACHMENT, m_attachment);
CASE_GET_ASSET(ASSET_TYPE_ATTACHMENT_UNIQUE, m_attachment_unique);
CASE_GET_ASSET(ASSET_TYPE_WEAPON_CAMO, m_camo);
CASE_GET_ASSET(ASSET_TYPE_SNDDRIVER_GLOBALS, m_snd_driver_globals);
CASE_GET_ASSET(ASSET_TYPE_FX, m_fx);
CASE_GET_ASSET(ASSET_TYPE_IMPACT_FX, m_fx_impact_table);
CASE_GET_ASSET(ASSET_TYPE_RAWFILE, m_raw_file);
CASE_GET_ASSET(ASSET_TYPE_STRINGTABLE, m_string_table);
CASE_GET_ASSET(ASSET_TYPE_LEADERBOARD, m_leaderboard);
CASE_GET_ASSET(ASSET_TYPE_XGLOBALS, m_xglobals);
CASE_GET_ASSET(ASSET_TYPE_DDL, m_ddl);
CASE_GET_ASSET(ASSET_TYPE_GLASSES, m_glasses);
CASE_GET_ASSET(ASSET_TYPE_EMBLEMSET, m_emblem_set);
CASE_GET_ASSET(ASSET_TYPE_SCRIPTPARSETREE, m_script);
CASE_GET_ASSET(ASSET_TYPE_KEYVALUEPAIRS, m_key_value_pairs);
CASE_GET_ASSET(ASSET_TYPE_VEHICLEDEF, m_vehicle);
CASE_GET_ASSET(ASSET_TYPE_MEMORYBLOCK, m_memory_block);
CASE_GET_ASSET(ASSET_TYPE_ADDON_MAP_ENTS, m_addon_map_ents);
CASE_GET_ASSET(ASSET_TYPE_TRACER, m_tracer);
CASE_GET_ASSET(ASSET_TYPE_SKINNEDVERTS, m_skinned_verts);
CASE_GET_ASSET(ASSET_TYPE_QDB, m_qdb);
CASE_GET_ASSET(ASSET_TYPE_SLUG, m_slug);
CASE_GET_ASSET(ASSET_TYPE_FOOTSTEP_TABLE, m_footstep_table);
CASE_GET_ASSET(ASSET_TYPE_FOOTSTEPFX_TABLE, m_footstep_fx_table);
CASE_GET_ASSET(ASSET_TYPE_ZBARRIER, m_zbarrier);*/
// CASE_GET_ASSET(ASSET_TYPE_XMODEL_SURFS, m_xmodel_surfs);
// CASE_GET_ASSET(ASSET_TYPE_XMODEL, m_xmodel);
// CASE_GET_ASSET(ASSET_TYPE_MATERIAL, m_material);
// CASE_GET_ASSET(ASSET_TYPE_PIXELSHADER, m_material_pixel_shader);
// CASE_GET_ASSET(ASSET_TYPE_VERTEXSHADER, m_material_vertex_shader);
// CASE_GET_ASSET(ASSET_TYPE_VERTEXDECL, m_material_vertex_decl);
// CASE_GET_ASSET(ASSET_TYPE_TECHNIQUE_SET, m_technique_set);
// CASE_GET_ASSET(ASSET_TYPE_IMAGE, m_image);
// CASE_GET_ASSET(ASSET_TYPE_SOUND, m_sound);
// CASE_GET_ASSET(ASSET_TYPE_SOUND_CURVE, m_sound_curve);
// CASE_GET_ASSET(ASSET_TYPE_LOADED_SOUND, m_loaded_sound);
// CASE_GET_ASSET(ASSET_TYPE_CLIPMAP_SP, m_clip_map);
// CASE_GET_ASSET(ASSET_TYPE_CLIPMAP_MP, m_clip_map);
// CASE_GET_ASSET(ASSET_TYPE_COMWORLD, m_com_world);
// CASE_GET_ASSET(ASSET_TYPE_GAMEWORLD_SP, m_game_world_sp);
// CASE_GET_ASSET(ASSET_TYPE_GAMEWORLD_MP, m_game_world_mp);
// CASE_GET_ASSET(ASSET_TYPE_MAP_ENTS, m_map_ents);
// CASE_GET_ASSET(ASSET_TYPE_FXWORLD, m_fx_world);
// CASE_GET_ASSET(ASSET_TYPE_GFXWORLD, m_gfx_world);
// CASE_GET_ASSET(ASSET_TYPE_LIGHT_DEF, m_gfx_light_def);
// CASE_GET_ASSET(ASSET_TYPE_FONT, m_font);
// CASE_GET_ASSET(ASSET_TYPE_MENULIST, m_menu_list);
// CASE_GET_ASSET(ASSET_TYPE_MENU, m_menu_def);
// CASE_GET_ASSET(ASSET_TYPE_LOCALIZE_ENTRY, m_localize);
// CASE_GET_ASSET(ASSET_TYPE_WEAPON, m_weapon);
// CASE_GET_ASSET(ASSET_TYPE_SNDDRIVER_GLOBALS, m_snd_driver_globals);
// CASE_GET_ASSET(ASSET_TYPE_FX, m_fx);
// CASE_GET_ASSET(ASSET_TYPE_IMPACT_FX, m_fx_impact_table);
// CASE_GET_ASSET(ASSET_TYPE_RAWFILE, m_raw_file);
// CASE_GET_ASSET(ASSET_TYPE_STRINGTABLE, m_string_table);
// CASE_GET_ASSET(ASSET_TYPE_LEADERBOARD, m_leaderboard);
// CASE_GET_ASSET(ASSET_TYPE_STRUCTURED_DATA_DEF, m_structed_data_def_set);
// CASE_GET_ASSET(ASSET_TYPE_TRACER, m_tracer);
// CASE_GET_ASSET(ASSET_TYPE_VEHICLE, m_vehicle);
// CASE_GET_ASSET(ASSET_TYPE_ADDON_MAP_ENTS, m_addon_map_ents);
default:
assert(false);

View File

@ -1,5 +1,7 @@
#pragma once
#include <memory>
#include "Pool/IZoneAssetPools.h"
#include "Pool/AssetPool.h"
#include "IW4.h"
@ -13,57 +15,46 @@ class GameAssetPoolIW4 final : public IZoneAssetPools
static const std::string ASSET_TYPE_NAMES[];
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<IW4::PhysPreset>> m_phys_preset;
std::unique_ptr<AssetPool<IW4::PhysCollmap>> m_phys_collmap;
std::unique_ptr<AssetPool<IW4::XAnimParts>> m_xanim_parts;
// std::unique_ptr<AssetPool<IW4::XModelSurfs>> m_xmodel_surfs;
// std::unique_ptr<AssetPool<IW4::XModel>> m_xmodel;
// std::unique_ptr<AssetPool<IW4::Material>> m_material;
// std::unique_ptr<AssetPool<IW4::MaterialPixelShader>> m_material_pixel_shader;
// std::unique_ptr<AssetPool<IW4::MaterialVertexShader>> m_material_vertex_shader;
// std::unique_ptr<AssetPool<IW4::MaterialVertexDeclaration>> m_material_vertex_decl;
// std::unique_ptr<AssetPool<IW4::MaterialTechniqueSet>> m_technique_set;
// std::unique_ptr<AssetPool<IW4::GfxImage>> m_image;
// std::unique_ptr<AssetPool<IW4::snd_alias_list_t>> m_sound;
// std::unique_ptr<AssetPool<IW4::SndCurve>> m_sound_curve;
// std::unique_ptr<AssetPool<IW4::LoadedSound>> m_loaded_sound;
// std::unique_ptr<AssetPool<IW4::clipMap_t>> m_clip_map;
// std::unique_ptr<AssetPool<IW4::ComWorld>> m_com_world;
// std::unique_ptr<AssetPool<IW4::GameWorldSp>> m_game_world_sp;
// std::unique_ptr<AssetPool<IW4::GameWorldMp>> m_game_world_mp;
// std::unique_ptr<AssetPool<IW4::MapEnts>> m_map_ents;
// std::unique_ptr<AssetPool<IW4::FxWorld>> m_fx_world;
// std::unique_ptr<AssetPool<IW4::GfxWorld>> m_gfx_world;
// std::unique_ptr<AssetPool<IW4::GfxLightDef>> m_gfx_light_def;
// std::unique_ptr<AssetPool<IW4::Font_s>> m_font;
// std::unique_ptr<AssetPool<IW4::MenuList>> m_menu_list;
// std::unique_ptr<AssetPool<IW4::menuDef_t>> m_menu_def;
// std::unique_ptr<AssetPool<IW4::LocalizeEntry>> m_localize;
// std::unique_ptr<AssetPool<IW4::WeaponCompleteDef>> m_weapon;
// std::unique_ptr<AssetPool<IW4::SndDriverGlobals>> m_snd_driver_globals;
// std::unique_ptr<AssetPool<IW4::FxEffectDef>> m_fx;
// std::unique_ptr<AssetPool<IW4::FxImpactTable>> m_fx_impact_table;
// std::unique_ptr<AssetPool<IW4::RawFile>> m_raw_file;
// std::unique_ptr<AssetPool<IW4::StringTable>> m_string_table;
// std::unique_ptr<AssetPool<IW4::LeaderboardDef>> m_leaderboard;
// std::unique_ptr<AssetPool<IW4::StructuredDataDefSet>> m_structed_data_def_set;
// std::unique_ptr<AssetPool<IW4::TracerDef>> m_tracer;
// std::unique_ptr<AssetPool<IW4::VehicleDef>> m_vehicle;
// std::unique_ptr<AssetPool<IW4::AddonMapEnts>> m_addon_map_ents;
explicit GameAssetPoolIW4(int priority);
~GameAssetPoolIW4() override;
~GameAssetPoolIW4() override = default;
void InitPoolStatic(asset_type_t type, size_t capacity) override;
void InitPoolDynamic(asset_type_t type) override;

View File

@ -1,8 +1,12 @@
#pragma once
#ifndef __IW4_ASSETS_H
#define __IW4_ASSETS_H
#ifndef __zonecodegenerator
namespace IW4
{
#endif
enum XAssetType
{
ASSET_TYPE_PHYSPRESET = 0x0,
@ -70,9 +74,47 @@ namespace IW4
MAX_XFILE_COUNT,
};
struct PhysPreset;
struct PhysCollmap;
struct XAnimParts;
struct XModelSurfs;
struct XModel;
struct Material;
struct MaterialPixelShader;
struct MaterialVertexShader;
struct MaterialVertexDeclaration;
struct MaterialTechniqueSet;
struct GfxImage;
struct snd_alias_list_t;
struct SndCurve;
struct LoadedSound;
struct clipMap_t;
struct ComWorld;
struct GameWorldSp;
struct GameWorldMp;
struct MapEnts;
struct FxWorld;
struct GfxWorld;
struct GfxLightDef;
struct Font_s;
struct MenuList;
struct menuDef_t;
struct LocalizeEntry;
struct WeaponCompleteDef;
struct SndDriverGlobals;
struct FxEffectDef;
struct FxImpactTable;
struct RawFile;
struct StringTable;
struct LeaderboardDef;
struct StructuredDataDefSet;
struct TracerDef;
struct VehicleDef;
struct AddonMapEnts;
union XAssetHeader
{
/*PhysPreset* physPreset;
PhysPreset* physPreset;
PhysCollmap* physCollmap;
XAnimParts* parts;
XModelSurfs* modelSurfs;
@ -108,7 +150,218 @@ namespace IW4
StructuredDataDefSet* structuredDataDefSet;
TracerDef* tracerDef;
VehicleDef* vehDef;
AddonMapEnts* addonMapEnts;*/
AddonMapEnts* addonMapEnts;
void* data;
};
}
typedef char cbrushedge_t;
typedef float vec3_t[3];
struct PhysPreset
{
const char* name;
int type;
float mass;
float bounce;
float friction;
float bulletForceScale;
float explosiveForceScale;
const char* sndAliasPrefix;
float piecesSpreadFraction;
float piecesUpwardVelocity;
bool tempDefaultToCylinder;
bool perSurfaceSndAlias;
};
struct Bounds
{
float midPoint[3];
float halfSize[3];
};
struct cplane_s
{
float normal[3];
float dist;
char type;
char pad[3];
};
struct cbrushside_t
{
cplane_s* plane;
unsigned __int16 materialNum;
char firstAdjacentSideOffset;
char edgeCount;
};
struct cbrushWrapper_t
{
unsigned __int16 numsides;
unsigned __int16 glassPieceIndex;
cbrushside_t* sides;
cbrushedge_t* baseAdjacentSide;
__int16 axialMaterialNum[2][3];
char firstAdjacentSideOffsets[2][3];
char edgeCount[2][3];
};
struct BrushWrapper
{
Bounds bounds;
cbrushWrapper_t brush;
int totalEdgeCount;
cplane_s* planes;
};
struct PhysGeomInfo
{
BrushWrapper* brushWrapper;
int type;
float orientation[3][3];
Bounds bounds;
};
struct PhysMass
{
float centerOfMass[3];
float momentsOfInertia[3];
float productsOfInertia[3];
};
struct PhysCollmap
{
const char* name;
unsigned int count;
PhysGeomInfo* geoms;
PhysMass mass;
Bounds bounds;
};
union XAnimIndices
{
char* _1;
unsigned __int16* _2;
void* data;
};
struct XAnimNotifyInfo
{
unsigned __int16 name;
float time;
};
union XAnimDynamicFrames
{
char(*_1)[3];
unsigned __int16(*_2)[3];
};
union XAnimDynamicIndices
{
char _1[1];
unsigned __int16 _2[1];
};
struct __declspec(align(4)) XAnimPartTransFrames
{
float mins[3];
float size[3];
XAnimDynamicFrames frames;
XAnimDynamicIndices indices;
};
union XAnimPartTransData
{
XAnimPartTransFrames frames;
//float frame0[3];
vec3_t frame0;
};
struct XAnimPartTrans
{
unsigned __int16 size;
char smallTrans;
XAnimPartTransData u;
};
struct __declspec(align(4)) XAnimDeltaPartQuatDataFrames2
{
__int16(*frames)[2];
XAnimDynamicIndices indices;
};
union XAnimDeltaPartQuatData2
{
XAnimDeltaPartQuatDataFrames2 frames;
__int16 frame0[2];
};
struct XAnimDeltaPartQuat2
{
unsigned __int16 size;
XAnimDeltaPartQuatData2 u;
};
struct XAnimDeltaPartQuatDataFrames
{
__int16(*frames)[4];
XAnimDynamicIndices indices;
};
union XAnimDeltaPartQuatData
{
XAnimDeltaPartQuatDataFrames frames;
__int16 frame0[4];
};
struct XAnimDeltaPartQuat
{
unsigned __int16 size;
XAnimDeltaPartQuatData u;
};
struct XAnimDeltaPart
{
XAnimPartTrans* trans;
XAnimDeltaPartQuat2* quat2;
XAnimDeltaPartQuat* quat;
};
struct XAnimParts
{
const char* name;
unsigned __int16 dataByteCount;
unsigned __int16 dataShortCount;
unsigned __int16 dataIntCount;
unsigned __int16 randomDataByteCount;
unsigned __int16 randomDataIntCount;
unsigned __int16 numframes;
char flags;
char boneCount[10];
char notifyCount;
char assetType;
bool isDefault;
unsigned int randomDataShortCount;
unsigned int indexCount;
float framerate;
float frequency;
unsigned __int16* names;
char* dataByte;
__int16* dataShort;
int* dataInt;
__int16* randomDataShort;
char* randomDataByte;
int* randomDataInt;
XAnimIndices indices;
XAnimNotifyInfo* notify;
XAnimDeltaPart* deltaPart;
};
#ifndef __zonecodegenerator
}
#endif
#endif
// EOF

View File

@ -4,54 +4,43 @@
#include <cassert>
//#include "Game/T6/XAssets/addonmapents/addonmapents_load_db.h"
//#include "Game/T6/XAssets/clipmap_t/clipmap_t_load_db.h"
//#include "Game/T6/XAssets/comworld/comworld_load_db.h"
//#include "Game/T6/XAssets/ddlroot_t/ddlroot_t_load_db.h"
//#include "Game/T6/XAssets/destructibledef/destructibledef_load_db.h"
//#include "Game/T6/XAssets/emblemset/emblemset_load_db.h"
//#include "Game/T6/XAssets/font_s/font_s_load_db.h"
//#include "Game/T6/XAssets/fonticon/fonticon_load_db.h"
//#include "Game/T6/XAssets/footstepfxtabledef/footstepfxtabledef_load_db.h"
//#include "Game/T6/XAssets/footsteptabledef/footsteptabledef_load_db.h"
//#include "Game/T6/XAssets/fxeffectdef/fxeffectdef_load_db.h"
//#include "Game/T6/XAssets/fximpacttable/fximpacttable_load_db.h"
//#include "Game/T6/XAssets/gameworldmp/gameworldmp_load_db.h"
//#include "Game/T6/XAssets/gameworldsp/gameworldsp_load_db.h"
//#include "Game/T6/XAssets/gfximage/gfximage_load_db.h"
//#include "Game/T6/XAssets/gfxlightdef/gfxlightdef_load_db.h"
//#include "Game/T6/XAssets/gfxworld/gfxworld_load_db.h"
//#include "Game/T6/XAssets/glasses/glasses_load_db.h"
//#include "Game/T6/XAssets/keyvaluepairs/keyvaluepairs_load_db.h"
//#include "Game/T6/XAssets/leaderboarddef/leaderboarddef_load_db.h"
//#include "Game/T6/XAssets/localizeentry/localizeentry_load_db.h"
//#include "Game/T6/XAssets/mapents/mapents_load_db.h"
//#include "Game/T6/XAssets/material/material_load_db.h"
//#include "Game/T6/XAssets/materialtechniqueset/materialtechniqueset_load_db.h"
//#include "Game/T6/XAssets/memoryblock/memoryblock_load_db.h"
//#include "Game/T6/XAssets/menudef_t/menudef_t_load_db.h"
//#include "Game/T6/XAssets/menulist/menulist_load_db.h"
//#include "Game/T6/XAssets/physconstraints/physconstraints_load_db.h"
//#include "Game/T6/XAssets/physpreset/physpreset_load_db.h"
//#include "Game/T6/XAssets/qdb/qdb_load_db.h"
//#include "Game/T6/XAssets/rawfile/rawfile_load_db.h"
//#include "Game/T6/XAssets/scriptparsetree/scriptparsetree_load_db.h"
//#include "Game/T6/XAssets/skinnedvertsdef/skinnedvertsdef_load_db.h"
//#include "Game/T6/XAssets/slug/slug_load_db.h"
//#include "Game/T6/XAssets/sndbank/sndbank_load_db.h"
//#include "Game/T6/XAssets/snddriverglobals/snddriverglobals_load_db.h"
//#include "Game/T6/XAssets/sndpatch/sndpatch_load_db.h"
//#include "Game/T6/XAssets/stringtable/stringtable_load_db.h"
//#include "Game/T6/XAssets/tracerdef/tracerdef_load_db.h"
//#include "Game/T6/XAssets/vehicledef/vehicledef_load_db.h"
//#include "Game/T6/XAssets/weaponattachment/weaponattachment_load_db.h"
//#include "Game/T6/XAssets/weaponattachmentunique/weaponattachmentunique_load_db.h"
//#include "Game/T6/XAssets/weaponcamo/weaponcamo_load_db.h"
//#include "Game/T6/XAssets/weaponvariantdef/weaponvariantdef_load_db.h"
//#include "Game/T6/XAssets/xanimparts/xanimparts_load_db.h"
//#include "Game/T6/XAssets/xglobals/xglobals_load_db.h"
//#include "Game/T6/XAssets/xmodel/xmodel_load_db.h"
//#include "Game/T6/XAssets/zbarrierdef/zbarrierdef_load_db.h"
//#include "Game/IW4/XAssets/addonmapents/addonmapents_load_db.h"
//#include "Game/IW4/XAssets/clipmap_t/clipmap_t_load_db.h"
//#include "Game/IW4/XAssets/comworld/comworld_load_db.h"
//#include "Game/IW4/XAssets/font_s/font_s_load_db.h"
//#include "Game/IW4/XAssets/fxeffectdef/fxeffectdef_load_db.h"
//#include "Game/IW4/XAssets/fximpacttable/fximpacttable_load_db.h"
//#include "Game/IW4/XAssets/fxworld/fxworld_load_db.h"
//#include "Game/IW4/XAssets/gameworldmp/gameworldmp_load_db.h"
//#include "Game/IW4/XAssets/gameworldsp/gameworldsp_load_db.h"
//#include "Game/IW4/XAssets/gfximage/gfximage_load_db.h"
//#include "Game/IW4/XAssets/gfxlightdef/gfxlightdef_load_db.h"
//#include "Game/IW4/XAssets/gfxworld/gfxworld_load_db.h"
//#include "Game/IW4/XAssets/leaderboarddef/leaderboarddef_load_db.h"
//#include "Game/IW4/XAssets/loadedsound/loadedsound_load_db.h"
//#include "Game/IW4/XAssets/localizeentry/localizeentry_load_db.h"
//#include "Game/IW4/XAssets/mapents/mapents_load_db.h"
//#include "Game/IW4/XAssets/material/material_load_db.h"
//#include "Game/IW4/XAssets/materialpixelshader/materialpixelshader_load_db.h"
//#include "Game/IW4/XAssets/materialtechniqueset/materialtechniqueset_load_db.h"
//#include "Game/IW4/XAssets/materialvertexdeclaration/materialvertexdeclaration_load_db.h"
//#include "Game/IW4/XAssets/materialvertexshader/materialvertexshader_load_db.h"
//#include "Game/IW4/XAssets/menudef_t/menudef_t_load_db.h"
//#include "Game/IW4/XAssets/menulist/menulist_load_db.h"
#include "Game/IW4/XAssets/physcollmap/physcollmap_load_db.h"
#include "Game/IW4/XAssets/physpreset/physpreset_load_db.h"
//#include "Game/IW4/XAssets/rawfile/rawfile_load_db.h"
//#include "Game/IW4/XAssets/snd_alias_list_t/snd_alias_list_t_load_db.h"
//#include "Game/IW4/XAssets/sndcurve/sndcurve_load_db.h"
//#include "Game/IW4/XAssets/snddriverglobals/snddriverglobals_load_db.h"
//#include "Game/IW4/XAssets/stringtable/stringtable_load_db.h"
//#include "Game/IW4/XAssets/structureddatadefset/structureddatadefset_load_db.h"
//#include "Game/IW4/XAssets/tracerdef/tracerdef_load_db.h"
//#include "Game/IW4/XAssets/vehicledef/vehicledef_load_db.h"
//#include "Game/IW4/XAssets/weaponcompletedef/weaponcompletedef_load_db.h"
#include "Game/IW4/XAssets/xanimparts/xanimparts_load_db.h"
//#include "Game/IW4/XAssets/xmodel/xmodel_load_db.h"
//#include "Game/IW4/XAssets/xmodelsurfs/xmodelsurfs_load_db.h"
using namespace IW4;
@ -112,55 +101,44 @@ void ContentLoaderIW4::LoadXAsset(const bool atStreamStart)
switch (varXAsset->type)
{
//LOAD_ASSET(ASSET_TYPE_PHYSPRESET, PhysPreset, physPreset);
//LOAD_ASSET(ASSET_TYPE_PHYSCONSTRAINTS, PhysConstraints, physConstraints);
//LOAD_ASSET(ASSET_TYPE_DESTRUCTIBLEDEF, DestructibleDef, destructibleDef);
//LOAD_ASSET(ASSET_TYPE_XANIMPARTS, XAnimParts, parts);
//LOAD_ASSET(ASSET_TYPE_XMODEL, XModel, model);
//LOAD_ASSET(ASSET_TYPE_MATERIAL, Material, material);
//LOAD_ASSET(ASSET_TYPE_TECHNIQUE_SET, MaterialTechniqueSet, techniqueSet);
//LOAD_ASSET(ASSET_TYPE_IMAGE, GfxImage, image);
//LOAD_ASSET(ASSET_TYPE_SOUND, SndBank, sound);
//LOAD_ASSET(ASSET_TYPE_SOUND_PATCH, SndPatch, soundPatch);
//LOAD_ASSET(ASSET_TYPE_CLIPMAP, clipMap_t, clipMap);
//LOAD_ASSET(ASSET_TYPE_CLIPMAP_PVS, clipMap_t, clipMap);
//LOAD_ASSET(ASSET_TYPE_COMWORLD, ComWorld, comWorld);
//LOAD_ASSET(ASSET_TYPE_GAMEWORLD_SP, GameWorldSp, gameWorldSp);
//LOAD_ASSET(ASSET_TYPE_GAMEWORLD_MP, GameWorldMp, gameWorldMp);
//LOAD_ASSET(ASSET_TYPE_MAP_ENTS, MapEnts, mapEnts);
//LOAD_ASSET(ASSET_TYPE_GFXWORLD, GfxWorld, gfxWorld);
//LOAD_ASSET(ASSET_TYPE_LIGHT_DEF, GfxLightDef, lightDef);
//LOAD_ASSET(ASSET_TYPE_FONT, Font_s, font);
//LOAD_ASSET(ASSET_TYPE_FONTICON, FontIcon, fontIcon);
//LOAD_ASSET(ASSET_TYPE_MENULIST, MenuList, menuList);
//LOAD_ASSET(ASSET_TYPE_MENU, menuDef_t, menu);
//LOAD_ASSET(ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry, localize);
//LOAD_ASSET(ASSET_TYPE_WEAPON, WeaponVariantDef, weapon);
//LOAD_ASSET(ASSET_TYPE_ATTACHMENT, WeaponAttachment, attachment);
//LOAD_ASSET(ASSET_TYPE_ATTACHMENT_UNIQUE, WeaponAttachmentUnique, attachmentUnique);
//LOAD_ASSET(ASSET_TYPE_WEAPON_CAMO, WeaponCamo, weaponCamo);
//LOAD_ASSET(ASSET_TYPE_SNDDRIVER_GLOBALS, SndDriverGlobals, sndDriverGlobals);
//LOAD_ASSET(ASSET_TYPE_FX, FxEffectDef, fx);
//LOAD_ASSET(ASSET_TYPE_IMPACT_FX, FxImpactTable, impactFx);
//LOAD_ASSET(ASSET_TYPE_RAWFILE, RawFile, rawfile);
//LOAD_ASSET(ASSET_TYPE_STRINGTABLE, StringTable, stringTable);
//LOAD_ASSET(ASSET_TYPE_LEADERBOARD, LeaderboardDef, leaderboardDef);
//LOAD_ASSET(ASSET_TYPE_XGLOBALS, XGlobals, xGlobals);
//LOAD_ASSET(ASSET_TYPE_DDL, ddlRoot_t, ddlRoot);
//LOAD_ASSET(ASSET_TYPE_GLASSES, Glasses, glasses);
//LOAD_ASSET(ASSET_TYPE_EMBLEMSET, EmblemSet, emblemSet);
//LOAD_ASSET(ASSET_TYPE_SCRIPTPARSETREE, ScriptParseTree, scriptParseTree);
//LOAD_ASSET(ASSET_TYPE_KEYVALUEPAIRS, KeyValuePairs, keyValuePairs);
//LOAD_ASSET(ASSET_TYPE_VEHICLEDEF, VehicleDef, vehicleDef);
//// LOAD_ASSET(ASSET_TYPE_MEMORYBLOCK, MemoryBlock, memoryBlock);
//LOAD_ASSET(ASSET_TYPE_ADDON_MAP_ENTS, AddonMapEnts, addonMapEnts);
//LOAD_ASSET(ASSET_TYPE_TRACER, TracerDef, tracerDef);
//LOAD_ASSET(ASSET_TYPE_SKINNEDVERTS, SkinnedVertsDef, skinnedVertsDef);
//LOAD_ASSET(ASSET_TYPE_QDB, Qdb, qdb);
//LOAD_ASSET(ASSET_TYPE_SLUG, Slug, slug);
//LOAD_ASSET(ASSET_TYPE_FOOTSTEP_TABLE, FootstepTableDef, footstepTableDef);
//LOAD_ASSET(ASSET_TYPE_FOOTSTEPFX_TABLE, FootstepFXTableDef, footstepFXTableDef);
//LOAD_ASSET(ASSET_TYPE_ZBARRIER, ZBarrierDef, zbarrierDef);
LOAD_ASSET(ASSET_TYPE_PHYSPRESET, PhysPreset, physPreset);
LOAD_ASSET(ASSET_TYPE_PHYSCOLLMAP, PhysCollmap, physCollmap);
LOAD_ASSET(ASSET_TYPE_XANIMPARTS, XAnimParts, parts);
// LOAD_ASSET(ASSET_TYPE_XMODEL_SURFS, XModelSurfs, modelSurfs);
// LOAD_ASSET(ASSET_TYPE_XMODEL, XModel, model);
// LOAD_ASSET(ASSET_TYPE_MATERIAL, Material, material);
// LOAD_ASSET(ASSET_TYPE_PIXELSHADER, MaterialPixelShader, pixelShader);
// LOAD_ASSET(ASSET_TYPE_VERTEXSHADER, MaterialVertexShader, vertexShader);
// LOAD_ASSET(ASSET_TYPE_VERTEXDECL, MaterialVertexDeclaration, vertexDecl);
// LOAD_ASSET(ASSET_TYPE_TECHNIQUE_SET, MaterialTechniqueSet, techniqueSet);
// LOAD_ASSET(ASSET_TYPE_IMAGE, GfxImage, image);
// LOAD_ASSET(ASSET_TYPE_SOUND, snd_alias_list_t, sound);
// LOAD_ASSET(ASSET_TYPE_SOUND_CURVE, SndCurve, sndCurve);
// LOAD_ASSET(ASSET_TYPE_LOADED_SOUND, LoadedSound, loadSnd);
// LOAD_ASSET(ASSET_TYPE_CLIPMAP_SP, clipMap_t, clipMap);
// LOAD_ASSET(ASSET_TYPE_CLIPMAP_MP, clipMap_t, clipMap);
// LOAD_ASSET(ASSET_TYPE_COMWORLD, ComWorld, comWorld);
// LOAD_ASSET(ASSET_TYPE_GAMEWORLD_SP, GameWorldSp, gameWorldSp);
// LOAD_ASSET(ASSET_TYPE_GAMEWORLD_MP, GameWorldMp, gameWorldMp);
// LOAD_ASSET(ASSET_TYPE_MAP_ENTS, MapEnts, mapEnts);
// LOAD_ASSET(ASSET_TYPE_FXWORLD, FxWorld, fxWorld);
// LOAD_ASSET(ASSET_TYPE_GFXWORLD, GfxWorld, gfxWorld);
// LOAD_ASSET(ASSET_TYPE_LIGHT_DEF, GfxLightDef, lightDef);
// LOAD_ASSET(ASSET_TYPE_FONT, Font_s, font);
// LOAD_ASSET(ASSET_TYPE_MENULIST, MenuList, menuList);
// LOAD_ASSET(ASSET_TYPE_MENU, menuDef_t, menu);
// LOAD_ASSET(ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry, localize);
// LOAD_ASSET(ASSET_TYPE_WEAPON, WeaponCompleteDef, weapon);
// LOAD_ASSET(ASSET_TYPE_SNDDRIVER_GLOBALS, SndDriverGlobals, sndDriverGlobals);
// LOAD_ASSET(ASSET_TYPE_FX, FxEffectDef, fx);
// LOAD_ASSET(ASSET_TYPE_IMPACT_FX, FxImpactTable, impactFx);
// LOAD_ASSET(ASSET_TYPE_RAWFILE, RawFile, rawfile);
// LOAD_ASSET(ASSET_TYPE_STRINGTABLE, StringTable, stringTable);
// LOAD_ASSET(ASSET_TYPE_LEADERBOARD, LeaderboardDef, leaderboardDef);
// LOAD_ASSET(ASSET_TYPE_STRUCTURED_DATA_DEF, StructuredDataDefSet, structuredDataDefSet);
// LOAD_ASSET(ASSET_TYPE_TRACER, TracerDef, tracerDef);
// LOAD_ASSET(ASSET_TYPE_VEHICLE, VehicleDef, vehDef);
// LOAD_ASSET(ASSET_TYPE_ADDON_MAP_ENTS, AddonMapEnts, addonMapEnts);
default:
{