refactor: name asset classes and files after asset name and not struct name

This commit is contained in:
Jan Laupetin committed 2026-10-31 07:50:50 +01:00
1 parent 3145dfa874
commit c87211b808
44 files changed
+1003 -1011

No files matched your search

+1
View File
@@ -221,6 +221,7 @@ namespace IW4
using AssetMenu = Asset<ASSET_TYPE_MENU, menuDef_t>;
using AssetLocalize = Asset<ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry>;
using AssetWeapon = Asset<ASSET_TYPE_WEAPON, WeaponCompleteDef>;
using AssetSoundDriverGlobals = Asset<ASSET_TYPE_SNDDRIVER_GLOBALS, SndDriverGlobals>;
using AssetFx = Asset<ASSET_TYPE_FX, FxEffectDef>;
using AssetImpactFx = Asset<ASSET_TYPE_IMPACT_FX, FxImpactTable>;
using AssetRawFile = Asset<ASSET_TYPE_RAWFILE, RawFile>;
+8 -1
View File
@@ -36,6 +36,7 @@ namespace IW4
struct snd_alias_list_t;
struct SndCurve;
struct LoadedSound;
struct LoadedSound_64;
struct clipMap_t;
struct ComWorld;
struct GameWorldSp;
@@ -77,7 +78,8 @@ namespace IW4
GfxImage* image;
snd_alias_list_t* sound;
SndCurve* sndCurve;
LoadedSound* loadSnd;
LoadedSound* loadSnd32;
LoadedSound_64* loadSnd64;
clipMap_t* clipMap;
ComWorld* comWorld;
GameWorldSp* gameWorldSp;
@@ -4848,6 +4850,11 @@ namespace IW4
float locationDamageMultipliers[HITLOC_COUNT];
};
struct SndDriverGlobals
{
const char* name;
};
enum VehicleAxleType
{
VEH_AXLE_FRONT = 0x0,
+124 -124
View File
@@ -7,28 +7,28 @@ ZoneCode.Games = {
},
Assets = {
"PhysPreset",
"XAnimParts",
"XAnim",
"XModel",
"Material",
"MaterialTechniqueSet",
"GfxImage",
"snd_alias_list_t",
"SndCurve",
"TechniqueSet",
"Image",
"Sound",
"SoundCurve",
"LoadedSound",
"clipMap_t",
"ClipMapPvs",
"ComWorld",
"GameWorldSp",
"GameWorldMp",
"MapEnts",
"GfxWorld",
"GfxLightDef",
"Font_s",
"LightDef",
"Font",
"MenuList",
"menuDef_t",
"LocalizeEntry",
"WeaponDef",
"FxEffectDef",
"FxImpactTable",
"Menu",
"Localize",
"Weapon",
"Fx",
"ImpactFx",
"RawFile",
"StringTable"
}
@@ -41,39 +41,39 @@ ZoneCode.Games = {
},
Assets = {
"PhysPreset",
"PhysCollmap",
"XAnimParts",
"PhysCollMap",
"XAnim",
"XModel",
"Material",
"MaterialPixelShader",
"MaterialVertexShader",
"MaterialVertexDeclaration",
"MaterialTechniqueSet",
"GfxImage",
"snd_alias_list_t",
"SndCurve",
"PixelShader",
"VertexShader",
"VertexDecl",
"TechniqueSet",
"Image",
"Sound",
"SoundCurve",
"LoadedSound",
"clipMap_t",
"ClipMapMp",
"ComWorld",
"GameWorldSp",
"GameWorldMp",
"MapEnts",
"FxWorld",
"GfxWorld",
"GfxLightDef",
"Font_s",
"LightDef",
"Font",
"MenuList",
"menuDef_t",
"LocalizeEntry",
"WeaponCompleteDef",
"FxEffectDef",
"FxImpactTable",
"Menu",
"Localize",
"Weapon",
"Fx",
"ImpactFx",
"RawFile",
"StringTable",
"LeaderboardDef",
"StructuredDataDefSet",
"TracerDef",
"VehicleDef",
"Leaderboard",
"StructuredDataDef",
"Tracer",
"Vehicle",
"AddonMapEnts"
}
},
@@ -85,20 +85,20 @@ ZoneCode.Games = {
},
Assets = {
"PhysPreset",
"PhysCollmap",
"XAnimParts",
"PhysCollMap",
"XAnim",
"XModelSurfs",
"XModel",
"Material",
"MaterialPixelShader",
"MaterialVertexShader",
"MaterialVertexDeclaration",
"MaterialTechniqueSet",
"GfxImage",
"snd_alias_list_t",
"SndCurve",
"PixelShader",
"VertexShader",
"VertexDecl",
"TechniqueSet",
"Image",
"Sound",
"SoundCurve",
"LoadedSound",
"clipMap_t",
"ClipMap",
"ComWorld",
"GlassWorld",
"PathData",
@@ -106,23 +106,23 @@ ZoneCode.Games = {
"MapEnts",
"FxWorld",
"GfxWorld",
"GfxLightDef",
"Font_s",
"LightDef",
"Font",
"MenuList",
"menuDef_t",
"LocalizeEntry",
"WeaponAttachment",
"WeaponCompleteDef",
"FxEffectDef",
"FxImpactTable",
"SurfaceFxTable",
"Menu",
"Localize",
"Attachment",
"Weapon",
"Fx",
"ImpactFx",
"SurfaceFx",
"RawFile",
"ScriptFile",
"Script",
"StringTable",
"LeaderboardDef",
"StructuredDataDefSet",
"TracerDef",
"VehicleDef",
"Leaderboard",
"StructuredDataDef",
"Tracer",
"Vehicle",
"AddonMapEnts",
}
},
@@ -135,27 +135,27 @@ ZoneCode.Games = {
"PhysPreset",
"PhysConstraints",
"DestructibleDef",
"XAnimParts",
"XAnim",
"XModel",
"Material",
"MaterialTechniqueSet",
"GfxImage",
"snd_alias_list_t",
"SndCurve",
"clipMap_t",
"TechniqueSet",
"Image",
"Sound",
"SoundCurve",
"ClipMapMp",
"ComWorld",
"GameWorldSp",
"GameWorldMp",
"MapEnts",
"GfxWorld",
"GfxLightDef",
"Font_s",
"LightDef",
"Font",
"MenuList",
"menuDef_t",
"LocalizeEntry",
"WeaponDef",
"FxEffectDef",
"FxImpactTable",
"Menu",
"Localize",
"Weapon",
"Fx",
"ImpactFx",
"RawFile",
"StringTable",
"XmlTree",
@@ -173,28 +173,28 @@ ZoneCode.Games = {
"PhysPreset",
"PhysConstraints",
"DestructibleDef",
"XAnimParts",
"XAnim",
"XModel",
"Material",
"MaterialTechniqueSet",
"GfxImage",
"snd_alias_list_t",
"SndDriverGlobals",
"TechniqueSet",
"Image",
"Sound",
"SoundDriverGlobals",
"LoadedSound",
"clipMap_t",
"ClipMapPvs",
"ComWorld",
"GameWorldSp",
"GameWorldMp",
"MapEnts",
"GfxWorld",
"GfxLightDef",
"Font_s",
"LightDef",
"Font",
"MenuList",
"menuDef_t",
"LocalizeEntry",
"WeaponDef",
"FxEffectDef",
"FxImpactTable",
"Menu",
"Localize",
"Weapon",
"Fx",
"ImpactFx",
"RawFile",
"StringTable",
"PackIndex",
@@ -209,33 +209,33 @@ ZoneCode.Games = {
"PhysPreset",
"PhysConstraints",
"DestructibleDef",
"XAnimParts",
"XAnim",
"XModel",
"Material",
"MaterialTechniqueSet",
"GfxImage",
"SndBank",
"SndPatch",
"clipMap_t",
"TechniqueSet",
"Image",
"SoundBank",
"SoundPatch",
"ClipMapPvs",
"ComWorld",
"GameWorldSp",
"GameWorldMp",
"MapEnts",
"GfxWorld",
"GfxLightDef",
"Font_s",
"LightDef",
"Font",
"MenuList",
"menuDef_t",
"LocalizeEntry",
"WeaponVariantDef",
"SndDriverGlobals",
"FxEffectDef",
"FxImpactTable",
"Menu",
"Localize",
"Weapon",
"SoundDriverGlobals",
"Fx",
"ImpactFx",
"RawFile",
"StringTable",
"PackIndex",
"XGlobals",
"ddlRoot_t",
"DDL",
"Glasses",
"EmblemSet"
}
@@ -249,51 +249,51 @@ ZoneCode.Games = {
"PhysPreset",
"PhysConstraints",
"DestructibleDef",
"XAnimParts",
"XAnim",
"XModel",
"Material",
"MaterialTechniqueSet",
"GfxImage",
"SndBank",
"SndPatch",
"clipMap_t",
"TechniqueSet",
"Image",
"SoundBank",
"SoundPatch",
"ClipMapPvs",
"ComWorld",
"GameWorldSp",
"GameWorldMp",
"MapEnts",
"GfxWorld",
"GfxLightDef",
"Font_s",
"LightDef",
"Font",
"FontIcon",
"MenuList",
"menuDef_t",
"LocalizeEntry",
"WeaponVariantDef",
"WeaponAttachment",
"WeaponAttachmentUnique",
"Menu",
"Localize",
"Weapon",
"Attachment",
"AttachmentUnique",
"WeaponCamo",
"SndDriverGlobals",
"FxEffectDef",
"FxImpactTable",
"SoundDriverGlobals",
"Fx",
"ImpactFx",
"RawFile",
"StringTable",
"LeaderboardDef",
"Leaderboard",
"XGlobals",
"ddlRoot_t",
"DDL",
"Glasses",
"EmblemSet",
"ScriptParseTree",
"Script",
"KeyValuePairs",
"VehicleDef",
"Vehicle",
"MemoryBlock",
"AddonMapEnts",
"TracerDef",
"SkinnedVertsDef",
"Tracer",
"SkinnedVerts",
"Qdb",
"Slug",
"FootstepTableDef",
"FootstepFXTableDef",
"ZBarrierDef"
"FootstepTable",
"FootstepFxTable",
"ZBarrier"
}
}
}
+25 -25
View File
@@ -4,31 +4,31 @@ game IW3;
variant pc 32 le;
// Game Assets
asset PhysPreset AssetPhysPreset;
asset XAnimParts AssetXAnim;
asset XModel AssetXModel;
asset Material AssetMaterial;
asset MaterialTechniqueSet AssetTechniqueSet;
asset GfxImage AssetImage;
asset snd_alias_list_t AssetSound;
asset SndCurve AssetSoundCurve;
asset LoadedSound AssetLoadedSound;
asset clipMap_t AssetClipMapPvs;
asset ComWorld AssetComWorld;
asset GameWorldSp AssetGameWorldSp;
asset GameWorldMp AssetGameWorldMp;
asset MapEnts AssetMapEnts;
asset GfxWorld AssetGfxWorld;
asset GfxLightDef AssetLightDef;
asset Font_s AssetFont;
asset MenuList AssetMenuList;
asset menuDef_t AssetMenu;
asset LocalizeEntry AssetLocalize;
asset WeaponDef AssetWeapon;
asset FxEffectDef AssetFx;
asset FxImpactTable AssetImpactFx;
asset RawFile AssetRawFile;
asset StringTable AssetStringTable;
asset PhysPreset;
asset XAnimParts XAnim;
asset XModel;
asset Material;
asset MaterialTechniqueSet TechniqueSet;
asset GfxImage Image;
asset snd_alias_list_t Sound;
asset SndCurve SoundCurve;
asset LoadedSound;
asset clipMap_t ClipMapPvs;
asset ComWorld;
asset GameWorldSp;
asset GameWorldMp;
asset MapEnts;
asset GfxWorld;
asset GfxLightDef LightDef;
asset Font_s Font;
asset MenuList;
asset menuDef_t Menu;
asset LocalizeEntry Localize;
asset WeaponDef Weapon;
asset FxEffectDef Fx;
asset FxImpactTable ImpactFx;
asset RawFile;
asset StringTable;
// Setup blocks
block temp XFILE_BLOCK_TEMP default;
@@ -35,7 +35,7 @@ set condition material FxElemDef::elemType == FX_ELEM_TYPE_SPRITE_BILLBOARD
use FxEffectDefRef;
set condition handle never;
set string name;
set assetref name AssetFx;
set assetref name Fx;
// FxTrailDef
use FxTrailDef;
+1 -1
View File
@@ -7,7 +7,7 @@ set string szInternalName;
set string szDisplayName;
set string szOverlayName;
set string szXAnims;
set assetref szXAnims AssetXAnim;
set assetref szXAnims XAnim;
set string szModeName;
set scriptstring hideTags;
set scriptstring notetrackSoundMapKeys;
+36 -36
View File
@@ -5,42 +5,42 @@ variant pc32 32 le;
variant pc64 64 le;
// Game Assets
asset PhysPreset AssetPhysPreset;
asset PhysCollmap AssetPhysCollMap;
asset XAnimParts AssetXAnim;
asset XModel AssetXModel;
asset Material AssetMaterial;
asset MaterialPixelShader AssetPixelShader;
asset MaterialVertexShader AssetVertexShader;
asset MaterialVertexDeclaration AssetVertexDecl;
asset MaterialTechniqueSet AssetTechniqueSet;
asset GfxImage AssetImage;
asset snd_alias_list_t AssetSound;
asset SndCurve AssetSoundCurve;
asset LoadedSound AssetLoadedSound;
asset LoadedSound_64 AssetLoadedSound;
asset clipMap_t AssetClipMapMp;
asset ComWorld AssetComWorld;
asset GameWorldSp AssetGameWorldSp;
asset GameWorldMp AssetGameWorldMp;
asset MapEnts AssetMapEnts;
asset FxWorld AssetFxWorld;
asset GfxWorld AssetGfxWorld;
asset GfxLightDef AssetLightDef;
asset Font_s AssetFont;
asset MenuList AssetMenuList;
asset menuDef_t AssetMenu;
asset LocalizeEntry AssetLocalize;
asset WeaponCompleteDef AssetWeapon;
asset FxEffectDef AssetFx;
asset FxImpactTable AssetImpactFx;
asset RawFile AssetRawFile;
asset StringTable AssetStringTable;
asset LeaderboardDef AssetLeaderboard;
asset StructuredDataDefSet AssetStructuredDataDef;
asset TracerDef AssetTracer;
asset VehicleDef AssetVehicle;
asset AddonMapEnts AssetAddonMapEnts;
asset PhysPreset;
asset PhysCollmap PhysCollMap;
asset XAnimParts XAnim;
asset XModel;
asset Material;
asset MaterialPixelShader PixelShader;
asset MaterialVertexShader VertexShader;
asset MaterialVertexDeclaration VertexDecl;
asset MaterialTechniqueSet TechniqueSet;
asset GfxImage Image;
asset snd_alias_list_t Sound;
asset SndCurve SoundCurve;
asset LoadedSound;
asset LoadedSound_64 LoadedSound;
asset clipMap_t ClipMapMp;
asset ComWorld;
asset GameWorldSp;
asset GameWorldMp;
asset MapEnts;
asset FxWorld;
asset GfxWorld;
asset GfxLightDef LightDef;
asset Font_s Font;
asset MenuList;
asset menuDef_t Menu;
asset LocalizeEntry Localize;
asset WeaponCompleteDef Weapon;
asset FxEffectDef Fx;
asset FxImpactTable ImpactFx;
asset RawFile;
asset StringTable;
asset LeaderboardDef Leaderboard;
asset StructuredDataDefSet StructuredDataDef;
asset TracerDef Tracer;
asset VehicleDef Vehicle;
asset AddonMapEnts;
// Setup blocks
block temp XFILE_BLOCK_TEMP default;
@@ -37,7 +37,7 @@ set condition material FxElemDef::elemType == FX_ELEM_TYPE_SPRITE_BILLBOARD
use FxEffectDefRef;
set condition handle never;
set string name;
set assetref name AssetFx;
set assetref name Fx;
// FxElemExtendedDefPtr
use FxElemExtendedDefPtr;
@@ -10,7 +10,7 @@ set reusable hideTags;
set scriptstring hideTags;
set count hideTags 32;
set string szXAnims;
set assetref szXAnims AssetXAnim;
set assetref szXAnims XAnim;
set reusable szXAnims;
set count szXAnims 37;
set string szAltWeaponName;
@@ -26,11 +26,11 @@ set reusable gunXModel;
set count gunXModel 16;
set reusable szXAnimsRightHanded;
set string szXAnimsRightHanded;
set assetref szXAnimsRightHanded AssetXAnim;
set assetref szXAnimsRightHanded XAnim;
set count szXAnimsRightHanded 37;
set reusable szXAnimsLeftHanded;
set string szXAnimsLeftHanded;
set assetref szXAnimsLeftHanded AssetXAnim;
set assetref szXAnimsLeftHanded XAnim;
set count szXAnimsLeftHanded 37;
set string szModeName;
set reusable notetrackSoundMapKeys;
+40 -40
View File
@@ -5,46 +5,46 @@ variant pc32 32 le;
variant pc64 64 le;
// Game Assets
asset PhysPreset AssetPhysPreset;
asset PhysCollmap AssetPhysCollMap;
asset XAnimParts AssetXAnim;
asset XModelSurfs AssetXModelSurfs;
asset XModel AssetXModel;
asset Material AssetMaterial;
asset MaterialPixelShader AssetPixelShader;
asset MaterialVertexShader AssetVertexShader;
asset MaterialVertexDeclaration AssetVertexDecl;
asset MaterialTechniqueSet AssetTechniqueSet;
asset GfxImage AssetImage;
asset snd_alias_list_t AssetSound;
asset SndCurve AssetSoundCurve;
asset LoadedSound AssetLoadedSound;
asset clipMap_t AssetClipMap;
asset ComWorld AssetComWorld;
asset GlassWorld AssetGlassWorld;
asset PathData AssetPathData;
asset VehicleTrack AssetVehicleTrack;
asset MapEnts AssetMapEnts;
asset FxWorld AssetFxWorld;
asset GfxWorld AssetGfxWorld;
asset GfxLightDef AssetLightDef;
asset Font_s AssetFont;
asset MenuList AssetMenuList;
asset menuDef_t AssetMenu;
asset LocalizeEntry AssetLocalize;
asset WeaponAttachment AssetAttachment;
asset WeaponCompleteDef AssetWeapon;
asset FxEffectDef AssetFx;
asset FxImpactTable AssetImpactFx;
asset SurfaceFxTable AssetSurfaceFx;
asset RawFile AssetRawFile;
asset ScriptFile AssetScript;
asset StringTable AssetStringTable;
asset LeaderboardDef AssetLeaderboard;
asset StructuredDataDefSet AssetStructuredDataDef;
asset TracerDef AssetTracer;
asset VehicleDef AssetVehicle;
asset AddonMapEnts AssetAddonMapEnts;
asset PhysPreset;
asset PhysCollmap PhysCollMap;
asset XAnimParts XAnim;
asset XModelSurfs;
asset XModel;
asset Material;
asset MaterialPixelShader PixelShader;
asset MaterialVertexShader VertexShader;
asset MaterialVertexDeclaration VertexDecl;
asset MaterialTechniqueSet TechniqueSet;
asset GfxImage Image;
asset snd_alias_list_t Sound;
asset SndCurve SoundCurve;
asset LoadedSound;
asset clipMap_t ClipMap;
asset ComWorld;
asset GlassWorld;
asset PathData;
asset VehicleTrack;
asset MapEnts;
asset FxWorld;
asset GfxWorld;
asset GfxLightDef LightDef;
asset Font_s Font;
asset MenuList;
asset menuDef_t Menu;
asset LocalizeEntry Localize;
asset WeaponAttachment Attachment;
asset WeaponCompleteDef Weapon;
asset FxEffectDef Fx;
asset FxImpactTable ImpactFx;
asset SurfaceFxTable SurfaceFx;
asset RawFile;
asset ScriptFile Script;
asset StringTable;
asset LeaderboardDef Leaderboard;
asset StructuredDataDefSet StructuredDataDef;
asset TracerDef Tracer;
asset VehicleDef Vehicle;
asset AddonMapEnts;
// Setup blocks
block temp XFILE_BLOCK_TEMP default;
@@ -38,7 +38,7 @@ set condition material FxElemDef::elemType == FX_ELEM_TYPE_SPRITE_BILLBOARD
use FxEffectDefRef;
set condition handle never;
set string name;
set assetref name AssetFx;
set assetref name Fx;
// FxElemExtendedDefPtr
use FxElemExtendedDefPtr;
@@ -16,7 +16,7 @@ set count underBarrels 3;
set reusable others;
set count others 4;
set string szXAnims;
set assetref szXAnims AssetXAnim;
set assetref szXAnims XAnim;
set reusable szXAnims;
set count szXAnims WEAP_ANIM_COUNT;
set reusable animOverrides;
@@ -39,8 +39,8 @@ set count aiVsPlayerAccuracyGraphKnots aiVsPlayerAccuracyGraphKnotCount;
use AnimOverrideEntry;
set string overrideAnim;
set string altmodeAnim;
set assetref overrideAnim AssetXAnim;
set assetref altmodeAnim AssetXAnim;
set assetref overrideAnim XAnim;
set assetref altmodeAnim XAnim;
// NoteTrackToSoundEntry
use NoteTrackToSoundEntry;
@@ -58,11 +58,11 @@ set reusable gunXModel;
set count gunXModel 16;
set reusable szXAnimsRightHanded;
set string szXAnimsRightHanded;
set assetref szXAnimsRightHanded AssetXAnim;
set assetref szXAnimsRightHanded XAnim;
set count szXAnimsRightHanded WEAP_ANIM_COUNT;
set reusable szXAnimsLeftHanded;
set string szXAnimsLeftHanded;
set assetref szXAnimsLeftHanded AssetXAnim;
set assetref szXAnimsLeftHanded XAnim;
set count szXAnimsLeftHanded WEAP_ANIM_COUNT;
set string szModeName;
set reusable notetrackSoundMapKeys;
@@ -121,4 +121,4 @@ set condition sound never;
// snd_alias_list_name
use snd_alias_list_name;
set string soundName;
set assetref soundName AssetSound;
set assetref soundName Sound;
+30 -30
View File
@@ -4,36 +4,36 @@ game QOS;
variant pc 32 le;
// Game Assets
asset PhysPreset AssetPhysPreset;
asset PhysConstraints AssetPhysConstraints;
asset DestructibleDef AssetDestructibleDef;
asset XAnimParts AssetXAnim;
asset XModel AssetXModel;
asset Material AssetMaterial;
asset MaterialTechniqueSet AssetTechniqueSet;
asset GfxImage AssetImage;
asset snd_alias_list_t AssetSound;
asset SndCurve AssetSoundCurve;
asset clipMap_t AssetClipMapMp;
asset ComWorld AssetComWorld;
asset GameWorldSp AssetGameWorldSp;
asset GameWorldMp AssetGameWorldMp;
asset MapEnts AssetMapEnts;
asset GfxWorld AssetGfxWorld;
asset GfxLightDef AssetLightDef;
asset Font_s AssetFont;
asset MenuList AssetMenuList;
asset menuDef_t AssetMenu;
asset LocalizeEntry AssetLocalize;
asset WeaponDef AssetWeapon;
asset FxEffectDef AssetFx;
asset FxImpactTable AssetImpactFx;
asset RawFile AssetRawFile;
asset StringTable AssetStringTable;
asset XmlTree AssetXmlTree;
asset SceneAnimation AssetSceneAnimation;
asset Cutscene AssetCutscene;
asset CustomCamera AssetCustomCamera;
asset PhysPreset;
asset PhysConstraints;
asset DestructibleDef;
asset XAnimParts XAnim;
asset XModel;
asset Material;
asset MaterialTechniqueSet TechniqueSet;
asset GfxImage Image;
asset snd_alias_list_t Sound;
asset SndCurve SoundCurve;
asset clipMap_t ClipMapMp;
asset ComWorld;
asset GameWorldSp;
asset GameWorldMp;
asset MapEnts;
asset GfxWorld;
asset GfxLightDef LightDef;
asset Font_s Font;
asset MenuList;
asset menuDef_t Menu;
asset LocalizeEntry Localize;
asset WeaponDef Weapon;
asset FxEffectDef Fx;
asset FxImpactTable ImpactFx;
asset RawFile;
asset StringTable;
asset XmlTree;
asset SceneAnimation;
asset Cutscene;
asset CustomCamera;
// Setup blocks
block temp XFILE_BLOCK_TEMP default;
@@ -35,7 +35,7 @@ set condition material FxElemDef::elemType == FX_ELEM_TYPE_SPRITE_BILLBOARD
use FxEffectDefRef;
set condition handle never;
set string name;
set assetref name AssetFx;
set assetref name Fx;
// FxTrailDef
use FxTrailDef;
+1 -1
View File
@@ -7,7 +7,7 @@ set string name;
set string displayName;
set string overlayName;
set string szXAnims;
set assetref szXAnims AssetXAnim;
set assetref szXAnims XAnim;
set string modeName;
set string unknownString196;
set reusable bounceSound;
+28 -28
View File
@@ -4,34 +4,34 @@ game T4;
variant pc 32 le;
// Game Assets
asset PhysPreset AssetPhysPreset;
asset PhysConstraints AssetPhysConstraints;
asset DestructibleDef AssetDestructibleDef;
asset XAnimParts AssetXAnim;
asset XModel AssetXModel;
asset Material AssetMaterial;
asset MaterialTechniqueSet AssetTechniqueSet;
asset GfxImage AssetImage;
asset snd_alias_list_t AssetSound;
asset SndDriverGlobals AssetSoundDriverGlobals;
asset LoadedSound AssetLoadedSound;
asset clipMap_t AssetClipMapPvs;
asset ComWorld AssetComWorld;
asset GameWorldSp AssetGameWorldSp;
asset GameWorldMp AssetGameWorldMp;
asset MapEnts AssetMapEnts;
asset GfxWorld AssetGfxWorld;
asset GfxLightDef AssetLightDef;
asset Font_s AssetFont;
asset MenuList AssetMenuList;
asset menuDef_t AssetMenu;
asset LocalizeEntry AssetLocalize;
asset WeaponDef AssetWeapon;
asset FxEffectDef AssetFx;
asset FxImpactTable AssetImpactFx;
asset RawFile AssetRawFile;
asset StringTable AssetStringTable;
asset PackIndex AssetPackIndex;
asset PhysPreset;
asset PhysConstraints;
asset DestructibleDef;
asset XAnimParts XAnim;
asset XModel;
asset Material;
asset MaterialTechniqueSet TechniqueSet;
asset GfxImage Image;
asset snd_alias_list_t Sound;
asset SndDriverGlobals SoundDriverGlobals;
asset LoadedSound;
asset clipMap_t ClipMapPvs;
asset ComWorld;
asset GameWorldSp;
asset GameWorldMp;
asset MapEnts;
asset GfxWorld;
asset GfxLightDef LightDef;
asset Font_s Font;
asset MenuList;
asset menuDef_t Menu;
asset LocalizeEntry Localize;
asset WeaponDef Weapon;
asset FxEffectDef Fx;
asset FxImpactTable ImpactFx;
asset RawFile;
asset StringTable;
asset PackIndex;
// Setup blocks
block temp XFILE_BLOCK_TEMP default;
+1 -1
View File
@@ -36,7 +36,7 @@ set condition material FxElemDef::elemType == FX_ELEM_TYPE_SPRITE_BILLBOARD
use FxEffectDefRef;
set condition handle never;
set string name;
set assetref name AssetFx;
set assetref name Fx;
// FxTrailDef
use FxTrailDef;
+1 -1
View File
@@ -7,7 +7,7 @@ set string szInternalName;
set string szDisplayName;
set string szOverlayName;
set string szXAnims;
set assetref szXAnims AssetXAnim;
set assetref szXAnims XAnim;
set string szModeName;
set scriptstring hideTags;
set scriptstring notetrackSoundMapKeys;
+32 -32
View File
@@ -4,38 +4,38 @@ game T5;
variant pc 32 le;
// Game Assets
asset PhysPreset AssetPhysPreset;
asset PhysConstraints AssetPhysConstraints;
asset DestructibleDef AssetDestructibleDef;
asset XAnimParts AssetXAnim;
asset XModel AssetXModel;
asset Material AssetMaterial;
asset MaterialTechniqueSet AssetTechniqueSet;
asset GfxImage AssetImage;
asset SndBank AssetSoundBank;
asset SndPatch AssetSoundPatch;
asset clipMap_t AssetClipMapPvs;
asset ComWorld AssetComWorld;
asset GameWorldSp AssetGameWorldSp;
asset GameWorldMp AssetGameWorldMp;
asset MapEnts AssetMapEnts;
asset GfxWorld AssetGfxWorld;
asset GfxLightDef AssetLightDef;
asset Font_s AssetFont;
asset MenuList AssetMenuList;
asset menuDef_t AssetMenu;
asset LocalizeEntry AssetLocalize;
asset WeaponVariantDef AssetWeapon;
asset SndDriverGlobals AssetSoundDriverGlobals;
asset FxEffectDef AssetFx;
asset FxImpactTable AssetImpactFx;
asset RawFile AssetRawFile;
asset StringTable AssetStringTable;
asset PackIndex AssetPackIndex;
asset XGlobals AssetXGlobals;
asset ddlRoot_t AssetDDL;
asset Glasses AssetGlasses;
asset EmblemSet AssetEmblemSet;
asset PhysPreset;
asset PhysConstraints;
asset DestructibleDef;
asset XAnimParts XAnim;
asset XModel;
asset Material;
asset MaterialTechniqueSet TechniqueSet;
asset GfxImage Image;
asset SndBank SoundBank;
asset SndPatch SoundPatch;
asset clipMap_t ClipMapPvs;
asset ComWorld;
asset GameWorldSp;
asset GameWorldMp;
asset MapEnts;
asset GfxWorld;
asset GfxLightDef LightDef;
asset Font_s Font;
asset MenuList;
asset menuDef_t Menu;
asset LocalizeEntry Localize;
asset WeaponVariantDef Weapon;
asset SndDriverGlobals SoundDriverGlobals;
asset FxEffectDef Fx;
asset FxImpactTable ImpactFx;
asset RawFile;
asset StringTable;
asset PackIndex;
asset XGlobals;
asset ddlRoot_t DDL;
asset Glasses;
asset EmblemSet;
// Setup blocks
block temp XFILE_BLOCK_TEMP default;
+1 -1
View File
@@ -37,7 +37,7 @@ set condition material FxElemDef::elemType == FX_ELEM_TYPE_SPRITE_BILLBOARD
use FxEffectDefRef;
set condition handle never;
set string name;
set assetref name AssetFx;
set assetref name Fx;
// FxTrailDef
use FxTrailDef;
@@ -8,7 +8,7 @@ set reusable weapDef;
set string szDisplayName;
set string szAltWeaponName;
set string szXAnims;
set assetref szXAnims AssetXAnim;
set assetref szXAnims XAnim;
set count szXAnims NUM_WEAP_ANIMS;
set reusable szXAnims;
set scriptstring hideTags;
+48 -48
View File
@@ -4,54 +4,54 @@ game T6;
variant pc 32 le;
// Game Assets
asset PhysPreset AssetPhysPreset;
asset PhysConstraints AssetPhysConstraints;
asset DestructibleDef AssetDestructibleDef;
asset XAnimParts AssetXAnim;
asset XModel AssetXModel;
asset Material AssetMaterial;
asset MaterialTechniqueSet AssetTechniqueSet;
asset GfxImage AssetImage;
asset SndBank AssetSoundBank;
asset SndPatch AssetSoundPatch;
asset clipMap_t AssetClipMapPvs;
asset ComWorld AssetComWorld;
asset GameWorldSp AssetGameWorldSp;
asset GameWorldMp AssetGameWorldMp;
asset MapEnts AssetMapEnts;
asset GfxWorld AssetGfxWorld;
asset GfxLightDef AssetLightDef;
asset Font_s AssetFont;
asset FontIcon AssetFontIcon;
asset MenuList AssetMenuList;
asset menuDef_t AssetMenu;
asset LocalizeEntry AssetLocalize;
asset WeaponVariantDef AssetWeapon;
asset WeaponAttachment AssetAttachment;
asset WeaponAttachmentUnique AssetAttachmentUnique;
asset WeaponCamo AssetWeaponCamo;
asset SndDriverGlobals AssetSoundDriverGlobals;
asset FxEffectDef AssetFx;
asset FxImpactTable AssetImpactFx;
asset RawFile AssetRawFile;
asset StringTable AssetStringTable;
asset LeaderboardDef AssetLeaderboard;
asset XGlobals AssetXGlobals;
asset ddlRoot_t AssetDDL;
asset Glasses AssetGlasses;
asset EmblemSet AssetEmblemSet;
asset ScriptParseTree AssetScript;
asset KeyValuePairs AssetKeyValuePairs;
asset VehicleDef AssetVehicle;
asset MemoryBlock AssetMemoryBlock;
asset AddonMapEnts AssetAddonMapEnts;
asset TracerDef AssetTracer;
asset SkinnedVertsDef AssetSkinnedVerts;
asset Qdb AssetQdb;
asset Slug AssetSlug;
asset FootstepTableDef AssetFootstepTable;
asset FootstepFXTableDef AssetFootstepFxTable;
asset ZBarrierDef AssetZBarrier;
asset PhysPreset;
asset PhysConstraints;
asset DestructibleDef;
asset XAnimParts XAnim;
asset XModel;
asset Material;
asset MaterialTechniqueSet TechniqueSet;
asset GfxImage Image;
asset SndBank SoundBank;
asset SndPatch SoundPatch;
asset clipMap_t ClipMapPvs;
asset ComWorld;
asset GameWorldSp;
asset GameWorldMp;
asset MapEnts;
asset GfxWorld;
asset GfxLightDef LightDef;
asset Font_s Font;
asset FontIcon;
asset MenuList;
asset menuDef_t Menu;
asset LocalizeEntry Localize;
asset WeaponVariantDef Weapon;
asset WeaponAttachment Attachment;
asset WeaponAttachmentUnique AttachmentUnique;
asset WeaponCamo;
asset SndDriverGlobals SoundDriverGlobals;
asset FxEffectDef Fx;
asset FxImpactTable ImpactFx;
asset RawFile;
asset StringTable;
asset LeaderboardDef Leaderboard;
asset XGlobals;
asset ddlRoot_t DDL;
asset Glasses;
asset EmblemSet;
asset ScriptParseTree Script;
asset KeyValuePairs;
asset VehicleDef Vehicle;
asset MemoryBlock;
asset AddonMapEnts;
asset TracerDef Tracer;
asset SkinnedVertsDef SkinnedVerts;
asset Qdb;
asset Slug;
asset FootstepTableDef FootstepTable;
asset FootstepFXTableDef FootstepFxTable;
asset ZBarrierDef ZBarrier;
// Setup blocks
block temp XFILE_BLOCK_TEMP default;
+1 -1
View File
@@ -38,7 +38,7 @@ set condition material FxElemDef::elemType == FX_ELEM_TYPE_SPRITE_BILLBOARD
use FxEffectDefRef;
set condition handle never;
set string name;
set assetref name AssetFx;
set assetref name Fx;
// FxElemExtendedDefPtr
use FxElemExtendedDefPtr;
@@ -12,7 +12,7 @@ set reusable hideTags;
set string viewModelTag;
set string worldModelTag;
set string szXAnims;
set assetref szXAnims AssetXAnim;
set assetref szXAnims XAnim;
set count szXAnims 88;
set reusable szXAnims;
set count locationDamageMultipliers 21;
@@ -13,7 +13,7 @@ set reusable attachments;
set count attachmentUniques 95;
set reusable attachmentUniques;
set string szXAnims;
set assetref szXAnims AssetXAnim;
set assetref szXAnims XAnim;
set count szXAnims NUM_WEAP_ANIMS;
set reusable szXAnims;
set scriptstring hideTags;
@@ -33,7 +33,7 @@ namespace
LINE("")
LINEF("using namespace {0};", m_env.m_game)
LINE("")
LINEF("namespace game::{0}::{1}::xassets::asset_{1}", m_env.m_game, m_env.m_variant->m_name, Lower(m_env.m_asset->m_definition->m_name))
LINEF("namespace game::{0}::{1}::xassets::asset_{1}", m_env.m_game, m_env.m_variant->m_name, Lower(m_env.m_asset->m_asset_name))
LINE("{")
m_intendation++;
@@ -65,7 +65,10 @@ namespace
{
if (!member->m_member->m_name.empty() && !member->m_member->m_type_declaration->m_has_custom_bit_size)
{
LINEF("REQUIRE(offsetof({0}, {1}) == {2});", structure->m_definition->GetFullName(), member->m_member->m_name, member->m_member->GetOffset(m_env.m_word_size))
LINEF("REQUIRE(offsetof({0}, {1}) == {2});",
structure->m_definition->GetFullName(),
member->m_member->m_name,
member->m_member->GetOffset(m_env.m_word_size))
}
}
@@ -85,7 +88,7 @@ std::vector<CodeTemplateFile> AssetStructTestsTemplate::GetFilesToRenderOncePerA
{
std::vector<CodeTemplateFile> files;
auto assetName = context.m_asset->m_definition->m_name;
auto assetName = context.m_asset->m_asset_name;
utils::MakeStringLowerCase(assetName);
auto gameName = context.m_game;
@@ -38,7 +38,7 @@ namespace
LINEF("#include \"Game/{0}/XAssets/{1}/{1}_{2}_{3}_load_db.h\"",
m_env.m_game,
Lower(asset->m_definition->m_name),
Lower(asset->m_asset_name),
Lower(m_env.m_game),
Lower(m_env.m_variant->m_name))
}
@@ -170,7 +170,7 @@ namespace
{
AddGeneratedHint();
LINEF("#include \"{0}_{1}_{2}_load_db.h\"", Lower(m_env.m_asset->m_definition->m_name), Lower(m_env.m_game), Lower(m_env.m_variant->m_name))
LINEF("#include \"{0}_{1}_{2}_load_db.h\"", Lower(m_env.m_asset->m_asset_name), Lower(m_env.m_game), Lower(m_env.m_variant->m_name))
LINE("")
LINEF("#include \"Game/{0}/AssetMarker_{0}_{1}.h\"", Lower(m_env.m_game), Lower(m_env.m_variant->m_name))
LINE("")
@@ -182,7 +182,7 @@ namespace
LINE("// Referenced Assets:")
for (const auto* type : m_env.m_referenced_assets)
{
LINEF("#include \"../{0}/{0}_{1}_{2}_load_db.h\"", Lower(type->m_type->m_name), Lower(m_env.m_game), Lower(m_env.m_variant->m_name))
LINEF("#include \"../{0}/{0}_{1}_{2}_load_db.h\"", Lower(type->m_info->m_asset_name), Lower(m_env.m_game), Lower(m_env.m_variant->m_name))
}
}
@@ -262,7 +262,7 @@ namespace
std::string LoaderClassName(const StructureInformation* asset) const
{
return std::format("Loader_{0}_{1}", asset->m_definition->m_name, m_env.m_variant->m_name);
return std::format("Loader_{0}_{1}", asset->m_asset_name, m_env.m_variant->m_name);
}
static std::string VariableDecl(const DataDefinition* def)
@@ -335,7 +335,7 @@ namespace
LINEF("{0}::{0}(Zone& zone, ZoneInputStream& stream)", LoaderClassName(m_env.m_asset))
m_intendation++;
LINE_STARTF(": AssetLoader({0}::EnumEntry, zone, stream)", m_env.m_asset->m_asset_name)
LINE_STARTF(": AssetLoader(Asset{0}::EnumEntry, zone, stream)", m_env.m_asset->m_asset_name)
if (m_env.m_has_actions)
{
LINE_MIDDLE(", m_actions(zone)")
@@ -2119,13 +2119,13 @@ namespace
LINE("assert(pAsset != nullptr);")
LINE("")
LINE("AssetInfoCollector assetInfo(m_zone);")
LINEF("AssetMarker<{0}> marker(assetInfo);", m_env.m_asset->m_asset_name)
LINEF("AssetMarker<Asset{0}> marker(assetInfo);", m_env.m_asset->m_asset_name)
LINE("marker.Mark(*pAsset);")
LINE("")
LINEF("auto* reallocatedAsset = m_zone.Memory().Alloc<{0}>();", info->m_definition->GetFullName())
LINEF("std::memcpy(reallocatedAsset, *pAsset, sizeof({0}));", info->m_definition->GetFullName())
LINE("")
LINEF("m_asset_info = reinterpret_cast<XAssetInfo<{0}>*>(LinkAsset(AssetName<{1}>(**pAsset), reallocatedAsset, "
LINEF("m_asset_info = reinterpret_cast<XAssetInfo<{0}>*>(LinkAsset(AssetName<Asset{1}>(**pAsset), reallocatedAsset, "
"assetInfo.GetDependencies(), "
"assetInfo.GetUsedScriptStrings(), assetInfo.GetIndirectAssetReferences()));",
info->m_definition->GetFullName(),
@@ -2151,7 +2151,7 @@ namespace
LINE("")
LINE("if (m_asset_info == nullptr && *pAsset != nullptr)")
m_intendation++;
LINEF("m_asset_info = reinterpret_cast<XAssetInfo<{0}>*>(GetAssetInfo(AssetName<{1}>(**pAsset)));",
LINEF("m_asset_info = reinterpret_cast<XAssetInfo<{0}>*>(GetAssetInfo(AssetName<Asset{1}>(**pAsset)));",
m_env.m_asset->m_definition->GetFullName(),
m_env.m_asset->m_asset_name)
m_intendation--;
@@ -2193,7 +2193,7 @@ std::vector<CodeTemplateFile> ZoneLoadTemplate::GetFilesToRenderOncePerAsset(con
{
std::vector<CodeTemplateFile> files;
auto assetName = context.m_asset->m_definition->m_name;
auto assetName = context.m_asset->m_asset_name;
utils::MakeStringLowerCase(assetName);
auto gameName = context.m_game;
@@ -35,10 +35,10 @@ namespace
{
if (!asset->IsIncludedForVariant(m_env.m_variant->m_index))
continue;
LINEF("#include \"Game/{0}/XAssets/{1}/{1}_{2}_{3}_mark_db.h\"",
m_env.m_game,
Lower(asset->m_definition->m_name),
Lower(asset->m_asset_name),
Lower(m_env.m_game),
Lower(m_env.m_variant->m_name))
}
@@ -140,14 +140,14 @@ namespace
m_intendation--;
LINE("}")
LINE("")
LINEF("DEFINE_MARKER_CLASS_FOR_ASSET({0}::{1}, {0}::{2})", m_env.m_game, m_env.m_asset->m_asset_name, MarkerClassName(m_env.m_asset))
LINEF("DEFINE_MARKER_CLASS_FOR_ASSET({0}::Asset{1}, {0}::{2})", m_env.m_game, m_env.m_asset->m_asset_name, MarkerClassName(m_env.m_asset))
}
void Source()
{
AddGeneratedHint();
LINEF("#include \"{0}_{1}_{2}_mark_db.h\"", Lower(m_env.m_asset->m_definition->m_name), Lower(m_env.m_game), Lower(m_env.m_variant->m_name))
LINEF("#include \"{0}_{1}_{2}_mark_db.h\"", Lower(m_env.m_asset->m_asset_name), Lower(m_env.m_game), Lower(m_env.m_variant->m_name))
if (!m_env.m_referenced_assets.empty())
{
@@ -155,7 +155,7 @@ namespace
LINE("// Referenced Assets:")
for (const auto* type : m_env.m_referenced_assets)
{
LINEF("#include \"../{0}/{0}_{1}_{2}_mark_db.h\"", Lower(type->m_type->m_name), Lower(m_env.m_game), Lower(m_env.m_variant->m_name))
LINEF("#include \"../{0}/{0}_{1}_{2}_mark_db.h\"", Lower(type->m_info->m_asset_name), Lower(m_env.m_game), Lower(m_env.m_variant->m_name))
}
}
LINE("")
@@ -210,7 +210,7 @@ namespace
std::string MarkerClassName(const StructureInformation* asset) const
{
return std::format("Marker_{0}_{1}", asset->m_definition->m_name, m_env.m_variant->m_name);
return std::format("Marker_{0}_{1}", asset->m_asset_name, m_env.m_variant->m_name);
}
static std::string VariableDecl(const DataDefinition* def)
@@ -309,7 +309,7 @@ namespace
if (info && StructureComputations(info).IsAsset())
{
LINEF("Mark_Dependency<{0}>(*{1});", info->m_asset_name, MakeTypePtrVarName(def))
LINEF("Mark_Dependency<Asset{0}>(*{1});", info->m_asset_name, MakeTypePtrVarName(def))
}
else
{
@@ -405,14 +405,14 @@ namespace
{
if (modifier.IsArray())
{
LINEF("MarkArray_IndirectAssetRef({0}::EnumEntry, {1}, {2});",
LINEF("MarkArray_IndirectAssetRef(Asset{0}::EnumEntry, {1}, {2});",
member->m_asset_ref,
MakeMemberAccess(info, member, modifier),
modifier.GetArraySize())
}
else
{
LINEF("MarkArray_IndirectAssetRef({0}::EnumEntry, {1}, {2});",
LINEF("MarkArray_IndirectAssetRef(Asset{0}::EnumEntry, {1}, {2});",
member->m_asset_ref,
MakeMemberAccess(info, member, modifier),
MakeEvaluation(modifier.GetPointerArrayCountEvaluation()))
@@ -420,7 +420,7 @@ namespace
}
else if (loadType == MemberLoadType::SINGLE_POINTER)
{
LINEF("Mark_IndirectAssetRef({0}::EnumEntry, {1});", member->m_asset_ref, MakeMemberAccess(info, member, modifier))
LINEF("Mark_IndirectAssetRef(Asset{0}::EnumEntry, {1});", member->m_asset_ref, MakeMemberAccess(info, member, modifier))
}
else
{
@@ -436,7 +436,7 @@ namespace
{
if (loadType == MemberLoadType::SINGLE_POINTER)
{
LINEF("Mark_Dependency<{0}>({1});", member->m_type->m_asset_name, MakeMemberAccess(info, member, modifier))
LINEF("Mark_Dependency<Asset{0}>({1});", member->m_type->m_asset_name, MakeMemberAccess(info, member, modifier))
}
else if (loadType == MemberLoadType::POINTER_ARRAY)
{
@@ -821,7 +821,7 @@ std::vector<CodeTemplateFile> ZoneMarkTemplate::GetFilesToRenderOncePerAsset(con
{
std::vector<CodeTemplateFile> files;
auto assetName = context.m_asset->m_definition->m_name;
auto assetName = context.m_asset->m_asset_name;
utils::MakeStringLowerCase(assetName);
auto gameName = context.m_game;
@@ -35,10 +35,10 @@ namespace
{
if (!asset->IsIncludedForVariant(m_env.m_variant->m_index))
continue;
LINEF("#include \"Game/{0}/XAssets/{1}/{1}_{2}_{3}_write_db.h\"",
m_env.m_game,
Lower(asset->m_definition->m_name),
Lower(asset->m_asset_name),
Lower(m_env.m_game),
Lower(m_env.m_variant->m_name))
}
@@ -165,7 +165,7 @@ namespace
{
AddGeneratedHint();
LINEF("#include \"{0}_{1}_{2}_write_db.h\"", Lower(m_env.m_asset->m_definition->m_name), Lower(m_env.m_game), Lower(m_env.m_variant->m_name))
LINEF("#include \"{0}_{1}_{2}_write_db.h\"", Lower(m_env.m_asset->m_asset_name), Lower(m_env.m_game), Lower(m_env.m_variant->m_name))
if (!m_env.m_referenced_assets.empty())
{
@@ -173,7 +173,7 @@ namespace
LINE("// Referenced Assets:")
for (const auto* type : m_env.m_referenced_assets)
{
LINEF("#include \"../{0}/{0}_{1}_{2}_write_db.h\"", Lower(type->m_type->m_name), Lower(m_env.m_game), Lower(m_env.m_variant->m_name))
LINEF("#include \"../{0}/{0}_{1}_{2}_write_db.h\"", Lower(type->m_info->m_asset_name), Lower(m_env.m_game), Lower(m_env.m_variant->m_name))
}
}
@@ -240,7 +240,7 @@ namespace
std::string WriterClassName(const StructureInformation* asset) const
{
return std::format("Writer_{0}_{1}", asset->m_definition->m_name, m_env.m_variant->m_name);
return std::format("Writer_{0}_{1}", asset->m_asset_name, m_env.m_variant->m_name);
}
static std::string VariableDecl(const DataDefinition* def)
@@ -365,7 +365,7 @@ namespace
"{0}::{0}({1}* asset, const Zone& zone, ZoneOutputStream& stream)", WriterClassName(m_env.m_asset), m_env.m_asset->m_definition->GetFullName())
m_intendation++;
LINEF(": AssetWriter(zone.m_pools.GetAssetOrAssetReference({0}::EnumEntry, NonReferenceAssetName(AssetName<{0}>(*asset))), zone, stream)",
LINEF(": AssetWriter(zone.m_pools.GetAssetOrAssetReference(Asset{0}::EnumEntry, NonReferenceAssetName(AssetName<Asset{0}>(*asset))), zone, stream)",
m_env.m_asset->m_asset_name)
m_intendation--;
@@ -1674,7 +1674,7 @@ std::vector<CodeTemplateFile> ZoneWriteTemplate::GetFilesToRenderOncePerAsset(co
{
std::vector<CodeTemplateFile> files;
auto assetName = context.m_asset->m_definition->m_name;
auto assetName = context.m_asset->m_asset_name;
utils::MakeStringLowerCase(assetName);
auto gameName = context.m_game;
@@ -5,8 +5,9 @@
namespace
{
constexpr auto CAPTURE_TYPE = 1;
constexpr auto CAPTURE_ASSET_NAME = 2;
constexpr auto CAPTURE_START = 1;
constexpr auto CAPTURE_TYPE = 2;
constexpr auto CAPTURE_ASSET_NAME = 3;
} // namespace
SequenceAsset::SequenceAsset()
@@ -15,9 +16,9 @@ SequenceAsset::SequenceAsset()
AddLabeledMatchers(CommandsCommonMatchers::Typename(this), CommandsCommonMatchers::LABEL_TYPENAME);
AddMatchers({
create.Keyword("asset"),
create.Keyword("asset").Capture(CAPTURE_START),
create.Label(CommandsCommonMatchers::LABEL_TYPENAME).Capture(CAPTURE_TYPE),
create.Identifier().Capture(CAPTURE_ASSET_NAME),
create.Optional(create.Identifier().Capture(CAPTURE_ASSET_NAME)),
create.Char(';'),
});
}
@@ -25,7 +26,6 @@ SequenceAsset::SequenceAsset()
void SequenceAsset::ProcessMatch(CommandsParserState* state, SequenceResult<CommandsParserValue>& result) const
{
const auto& typeNameToken = result.NextCapture(CAPTURE_TYPE);
const auto& assetNameToken = result.NextCapture(CAPTURE_ASSET_NAME);
auto* definition = state->GetRepository()->GetDataDefinitionByName(typeNameToken.TypeNameValue());
if (definition == nullptr)
@@ -39,7 +39,16 @@ void SequenceAsset::ProcessMatch(CommandsParserState* state, SequenceResult<Comm
if (information == nullptr)
throw ParsingException(typeNameToken.GetPos(), "No information for definition");
information->m_asset_name = assetNameToken.IdentifierValue();
if (result.HasNextCapture(CAPTURE_ASSET_NAME))
{
const auto& assetNameToken = result.NextCapture(CAPTURE_ASSET_NAME);
information->m_asset_name = assetNameToken.IdentifierValue();
}
else
{
information->m_asset_name = definition->m_name;
}
if (information->m_asset_name.empty())
throw ParsingException(assetNameToken.GetPos(), "Asset name is empty");
throw ParsingException(result.NextCapture(CAPTURE_START).GetPos(), "Asset name is empty");
}
+30 -33
View File
@@ -41,16 +41,14 @@ void ContentLoader::LoadScriptStringList(const bool atStreamStart)
void ContentLoader::LoadXAsset(const bool atStreamStart) const
{
#define LOAD_ASSET(type_index, typeName, headerEntry) \
case type_index: \
#define FALLTHROUGH_ASSET(assetName) case Asset##assetName## ::EnumEntry:
#define LOAD_ASSET(assetName, headerEntry) \
case Asset##assetName## ::EnumEntry: \
{ \
Loader_##typeName##_pc loader(m_zone, m_stream); \
Loader_##assetName##_pc loader(m_zone, m_stream); \
loader.Load(&varXAsset->header.headerEntry); \
break; \
}
#define SKIP_ASSET(type_index, typeName, headerEntry) \
case type_index: \
break;
assert(varXAsset != nullptr);
@@ -59,33 +57,32 @@ void ContentLoader::LoadXAsset(const bool atStreamStart) const
switch (varXAsset->type)
{
LOAD_ASSET(ASSET_TYPE_PHYSPRESET, PhysPreset, physPreset)
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, 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, 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_MENULIST, MenuList, menuList)
LOAD_ASSET(ASSET_TYPE_MENU, menuDef_t, menu)
LOAD_ASSET(ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry, localize)
LOAD_ASSET(ASSET_TYPE_WEAPON, WeaponDef, weapon)
SKIP_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(PhysPreset, physPreset)
LOAD_ASSET(XAnim, parts)
LOAD_ASSET(XModel, model)
LOAD_ASSET(Material, material)
LOAD_ASSET(TechniqueSet, techniqueSet)
LOAD_ASSET(Image, image)
LOAD_ASSET(Sound, sound)
LOAD_ASSET(SoundCurve, sndCurve)
LOAD_ASSET(LoadedSound, loadSnd)
FALLTHROUGH_ASSET(ClipMap)
LOAD_ASSET(ClipMapPvs, clipMap)
LOAD_ASSET(ComWorld, comWorld)
LOAD_ASSET(GameWorldSp, gameWorldSp)
LOAD_ASSET(GameWorldMp, gameWorldMp)
LOAD_ASSET(MapEnts, mapEnts)
LOAD_ASSET(GfxWorld, gfxWorld)
LOAD_ASSET(LightDef, lightDef)
LOAD_ASSET(Font, font)
LOAD_ASSET(MenuList, menuList)
LOAD_ASSET(Menu, menu)
LOAD_ASSET(Localize, localize)
LOAD_ASSET(Weapon, weapon)
LOAD_ASSET(Fx, fx)
LOAD_ASSET(ImpactFx, impactFx)
LOAD_ASSET(RawFile, rawfile)
LOAD_ASSET(StringTable, stringTable)
default:
{
+44 -46
View File
@@ -45,24 +45,23 @@ void ContentLoader::LoadScriptStringList(const bool atStreamStart)
void ContentLoader::LoadXAsset(const bool atStreamStart) const
{
#define LOAD_ASSET(type_index, typeName, headerEntry) \
case type_index: \
#define FALLTHROUGH_ASSET(assetName) case Asset##assetName## ::EnumEntry:
#define LOAD_ASSET_PER_VARIANT(assetName, headerEntry32, headerEntry64) \
case Asset##assetName## ::EnumEntry: \
{ \
if (m_word_size == GameWordSize::ARCH_64) \
{ \
Loader_##typeName##_pc64 loader(m_zone, m_stream); \
loader.Load(&varXAsset->header.headerEntry); \
Loader_##assetName##_pc64 loader(m_zone, m_stream); \
loader.Load(&varXAsset->header.headerEntry64); \
} \
else \
{ \
Loader_##typeName##_pc32 loader(m_zone, m_stream); \
loader.Load(&varXAsset->header.headerEntry); \
Loader_##assetName##_pc32 loader(m_zone, m_stream); \
loader.Load(&varXAsset->header.headerEntry32); \
} \
break; \
}
#define SKIP_ASSET(type_index, typeName, headerEntry) \
case type_index: \
break;
#define LOAD_ASSET(assetName, headerEntry) LOAD_ASSET_PER_VARIANT(assetName, headerEntry, headerEntry)
assert(varXAsset != nullptr);
@@ -71,43 +70,42 @@ void ContentLoader::LoadXAsset(const bool atStreamStart) const
switch (varXAsset->type)
{
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, 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)
SKIP_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)
LOAD_ASSET(PhysPreset, physPreset)
LOAD_ASSET(PhysCollMap, physCollmap)
LOAD_ASSET(XAnim, parts)
LOAD_ASSET(XModel, model)
LOAD_ASSET(Material, material)
LOAD_ASSET(PixelShader, pixelShader)
LOAD_ASSET(VertexShader, vertexShader)
LOAD_ASSET(VertexDecl, vertexDecl)
LOAD_ASSET(TechniqueSet, techniqueSet)
LOAD_ASSET(Image, image)
LOAD_ASSET(Sound, sound)
LOAD_ASSET(SoundCurve, sndCurve)
LOAD_ASSET_PER_VARIANT(LoadedSound, loadSnd32, loadSnd64)
FALLTHROUGH_ASSET(ClipMapSp)
LOAD_ASSET(ClipMapMp, clipMap)
LOAD_ASSET(ComWorld, comWorld)
LOAD_ASSET(GameWorldSp, gameWorldSp)
LOAD_ASSET(GameWorldMp, gameWorldMp)
LOAD_ASSET(MapEnts, mapEnts)
LOAD_ASSET(FxWorld, fxWorld)
LOAD_ASSET(GfxWorld, gfxWorld)
LOAD_ASSET(LightDef, lightDef)
LOAD_ASSET(Font, font)
LOAD_ASSET(MenuList, menuList)
LOAD_ASSET(Menu, menu)
LOAD_ASSET(Localize, localize)
LOAD_ASSET(Weapon, weapon)
LOAD_ASSET(Fx, fx)
LOAD_ASSET(ImpactFx, impactFx)
LOAD_ASSET(RawFile, rawfile)
LOAD_ASSET(StringTable, stringTable)
LOAD_ASSET(Leaderboard, leaderboardDef)
LOAD_ASSET(StructuredDataDef, structuredDataDefSet)
LOAD_ASSET(Tracer, tracerDef)
LOAD_ASSET(Vehicle, vehDef)
LOAD_ASSET(AddonMapEnts, addonMapEnts)
default:
{
+47 -50
View File
@@ -45,24 +45,22 @@ void ContentLoader::LoadScriptStringList(const bool atStreamStart)
void ContentLoader::LoadXAsset(const bool atStreamStart) const
{
#define LOAD_ASSET(type_index, typeName, headerEntry) \
case type_index: \
#define LOAD_ASSET_PER_VARIANT(assetName, headerEntry32, headerEntry64) \
case Asset##assetName## ::EnumEntry: \
{ \
if (m_word_size == GameWordSize::ARCH_64) \
{ \
Loader_##typeName##_pc64 loader(m_zone, m_stream); \
loader.Load(&varXAsset->header.headerEntry); \
Loader_##assetName##_pc64 loader(m_zone, m_stream); \
loader.Load(&varXAsset->header.headerEntry64); \
} \
else \
{ \
Loader_##typeName##_pc32 loader(m_zone, m_stream); \
loader.Load(&varXAsset->header.headerEntry); \
Loader_##assetName##_pc32 loader(m_zone, m_stream); \
loader.Load(&varXAsset->header.headerEntry32); \
} \
break; \
}
#define SKIP_ASSET(type_index) \
case type_index: \
break;
#define LOAD_ASSET(assetName, headerEntry) LOAD_ASSET_PER_VARIANT(assetName, headerEntry, headerEntry)
assert(varXAsset != nullptr);
@@ -71,47 +69,46 @@ void ContentLoader::LoadXAsset(const bool atStreamStart) const
switch (varXAsset->type)
{
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, clipMap_t, clipMap)
LOAD_ASSET(ASSET_TYPE_COMWORLD, ComWorld, comWorld)
LOAD_ASSET(ASSET_TYPE_GLASSWORLD, GlassWorld, glassWorld)
LOAD_ASSET(ASSET_TYPE_PATHDATA, PathData, pathData)
LOAD_ASSET(ASSET_TYPE_VEHICLE_TRACK, VehicleTrack, vehicleTrack)
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_ATTACHMENT, WeaponAttachment, attachment)
LOAD_ASSET(ASSET_TYPE_WEAPON, WeaponCompleteDef, weapon)
SKIP_ASSET(ASSET_TYPE_SNDDRIVER_GLOBALS)
LOAD_ASSET(ASSET_TYPE_FX, FxEffectDef, fx)
LOAD_ASSET(ASSET_TYPE_IMPACT_FX, FxImpactTable, impactFx)
LOAD_ASSET(ASSET_TYPE_SURFACE_FX, SurfaceFxTable, surfaceFx)
LOAD_ASSET(ASSET_TYPE_RAWFILE, RawFile, rawfile)
LOAD_ASSET(ASSET_TYPE_SCRIPTFILE, ScriptFile, scriptfile)
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)
LOAD_ASSET(PhysPreset, physPreset)
LOAD_ASSET(PhysCollMap, physCollmap)
LOAD_ASSET(XAnim, parts)
LOAD_ASSET(XModelSurfs, modelSurfs)
LOAD_ASSET(XModel, model)
LOAD_ASSET(Material, material)
LOAD_ASSET(PixelShader, pixelShader)
LOAD_ASSET(VertexShader, vertexShader)
LOAD_ASSET(VertexDecl, vertexDecl)
LOAD_ASSET(TechniqueSet, techniqueSet)
LOAD_ASSET(Image, image)
LOAD_ASSET(Sound, sound)
LOAD_ASSET(SoundCurve, sndCurve)
LOAD_ASSET(LoadedSound, loadSnd)
LOAD_ASSET(ClipMap, clipMap)
LOAD_ASSET(ComWorld, comWorld)
LOAD_ASSET(GlassWorld, glassWorld)
LOAD_ASSET(PathData, pathData)
LOAD_ASSET(VehicleTrack, vehicleTrack)
LOAD_ASSET(MapEnts, mapEnts)
LOAD_ASSET(FxWorld, fxWorld)
LOAD_ASSET(GfxWorld, gfxWorld)
LOAD_ASSET(LightDef, lightDef)
LOAD_ASSET(Font, font)
LOAD_ASSET(MenuList, menuList)
LOAD_ASSET(Menu, menu)
LOAD_ASSET(Localize, localize)
LOAD_ASSET(Attachment, attachment)
LOAD_ASSET(Weapon, weapon)
LOAD_ASSET(Fx, fx)
LOAD_ASSET(ImpactFx, impactFx)
LOAD_ASSET(SurfaceFx, surfaceFx)
LOAD_ASSET(RawFile, rawfile)
LOAD_ASSET(Script, scriptfile)
LOAD_ASSET(StringTable, stringTable)
LOAD_ASSET(Leaderboard, leaderboardDef)
LOAD_ASSET(StructuredDataDef, structuredDataDefSet)
LOAD_ASSET(Tracer, tracerDef)
LOAD_ASSET(Vehicle, vehDef)
LOAD_ASSET(AddonMapEnts, addonMapEnts)
default:
{
+35 -34
View File
@@ -40,10 +40,11 @@ void ContentLoader::LoadScriptStringList(const bool atStreamStart)
void ContentLoader::LoadXAsset(const bool atStreamStart) const
{
#define LOAD_ASSET(type_index, typeName, headerEntry) \
case type_index: \
#define FALLTHROUGH_ASSET(assetName) case Asset##assetName## ::EnumEntry:
#define LOAD_ASSET(assetName, headerEntry) \
case Asset##assetName## ::EnumEntry: \
{ \
Loader_##typeName##_pc loader(m_zone, m_stream); \
Loader_##assetName##_pc loader(m_zone, m_stream); \
loader.Load(&varXAsset->header.headerEntry); \
break; \
}
@@ -55,37 +56,37 @@ void ContentLoader::LoadXAsset(const bool atStreamStart) const
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, snd_alias_list_t, sound)
LOAD_ASSET(ASSET_TYPE_SND_CURVE, SndCurve, sndCurve)
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_GFXWORLD, GfxWorld, gfxWorld)
LOAD_ASSET(ASSET_TYPE_LIGHT_DEF, GfxLightDef, lightDef)
LOAD_ASSET(ASSET_TYPE_FONT, Font_s, font)
LOAD_ASSET(ASSET_TYPE_MENUFILE, MenuList, menuList)
LOAD_ASSET(ASSET_TYPE_MENU, menuDef_t, menu)
LOAD_ASSET(ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry, localize)
LOAD_ASSET(ASSET_TYPE_WEAPON, WeaponDef, weapon)
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_XMLTREE, XmlTree, xmlTree)
LOAD_ASSET(ASSET_TYPE_SCENE_ANIMATION, SceneAnimation, sceneAnimation)
LOAD_ASSET(ASSET_TYPE_CUTSCENE, Cutscene, cutscene)
LOAD_ASSET(ASSET_TYPE_CUSTOM_CAMERA, CustomCamera, customCamera)
LOAD_ASSET(PhysPreset, physPreset)
LOAD_ASSET(PhysConstraints, physConstraints)
LOAD_ASSET(DestructibleDef, destructibleDef)
LOAD_ASSET(XAnim, parts)
LOAD_ASSET(XModel, model)
LOAD_ASSET(Material, material)
LOAD_ASSET(TechniqueSet, techniqueSet)
LOAD_ASSET(Image, image)
LOAD_ASSET(Sound, sound)
LOAD_ASSET(SoundCurve, sndCurve)
FALLTHROUGH_ASSET(ClipMapSp)
LOAD_ASSET(ClipMapMp, clipMap)
LOAD_ASSET(ComWorld, comWorld)
LOAD_ASSET(GameWorldSp, gameWorldSp)
LOAD_ASSET(GameWorldMp, gameWorldMp)
LOAD_ASSET(MapEnts, mapEnts)
LOAD_ASSET(GfxWorld, gfxWorld)
LOAD_ASSET(LightDef, lightDef)
LOAD_ASSET(Font, font)
LOAD_ASSET(MenuList, menuList)
LOAD_ASSET(Menu, menu)
LOAD_ASSET(Localize, localize)
LOAD_ASSET(Weapon, weapon)
LOAD_ASSET(Fx, fx)
LOAD_ASSET(ImpactFx, impactFx)
LOAD_ASSET(RawFile, rawfile)
LOAD_ASSET(StringTable, stringTable)
LOAD_ASSET(XmlTree, xmlTree)
LOAD_ASSET(SceneAnimation, sceneAnimation)
LOAD_ASSET(Cutscene, cutscene)
LOAD_ASSET(CustomCamera, customCamera)
default:
{
+33 -41
View File
@@ -41,16 +41,14 @@ void ContentLoader::LoadScriptStringList(const bool atStreamStart)
void ContentLoader::LoadXAsset(const bool atStreamStart) const
{
#define LOAD_ASSET(type_index, typeName, headerEntry) \
case type_index: \
#define FALLTHROUGH_ASSET(assetName) case Asset##assetName## ::EnumEntry:
#define LOAD_ASSET(assetName, headerEntry) \
case Asset##assetName## ::EnumEntry: \
{ \
Loader_##typeName##_pc loader(m_zone, m_stream); \
Loader_##assetName##_pc loader(m_zone, m_stream); \
loader.Load(&varXAsset->header.headerEntry); \
break; \
}
#define SKIP_ASSET(type_index, typeName, headerEntry) \
case type_index: \
break;
assert(varXAsset != nullptr);
@@ -59,41 +57,35 @@ void ContentLoader::LoadXAsset(const bool atStreamStart) const
switch (varXAsset->type)
{
SKIP_ASSET(ASSET_TYPE_XMODELPIECES, XModelPieces, data)
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, snd_alias_list_t, sound)
LOAD_ASSET(ASSET_TYPE_LOADED_SOUND, LoadedSound, loadSnd)
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)
SKIP_ASSET(ASSET_TYPE_UI_MAP, UiMap, data)
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, WeaponDef, weapon)
LOAD_ASSET(ASSET_TYPE_SNDDRIVER_GLOBALS, SndDriverGlobals, sndDriverGlobals)
LOAD_ASSET(ASSET_TYPE_FX, FxEffectDef, fx)
LOAD_ASSET(ASSET_TYPE_IMPACT_FX, FxImpactTable, impactFx)
SKIP_ASSET(ASSET_TYPE_AITYPE, AiType, data)
SKIP_ASSET(ASSET_TYPE_MPTYPE, MpType, data)
SKIP_ASSET(ASSET_TYPE_CHARACTER, Character, data)
SKIP_ASSET(ASSET_TYPE_XMODELALIAS, XModelAlias, data)
LOAD_ASSET(ASSET_TYPE_RAWFILE, RawFile, rawfile)
LOAD_ASSET(ASSET_TYPE_STRINGTABLE, StringTable, stringTable)
LOAD_ASSET(ASSET_TYPE_PACK_INDEX, PackIndex, packIndex)
LOAD_ASSET(PhysPreset, physPreset)
LOAD_ASSET(PhysConstraints, physConstraints)
LOAD_ASSET(DestructibleDef, destructibleDef)
LOAD_ASSET(XAnim, parts)
LOAD_ASSET(XModel, model)
LOAD_ASSET(Material, material)
LOAD_ASSET(TechniqueSet, techniqueSet)
LOAD_ASSET(Image, image)
LOAD_ASSET(Sound, sound)
LOAD_ASSET(LoadedSound, loadSnd)
FALLTHROUGH_ASSET(ClipMap)
LOAD_ASSET(ClipMapPvs, clipMap)
LOAD_ASSET(ComWorld, comWorld)
LOAD_ASSET(GameWorldSp, gameWorldSp)
LOAD_ASSET(GameWorldMp, gameWorldMp)
LOAD_ASSET(MapEnts, mapEnts)
LOAD_ASSET(GfxWorld, gfxWorld)
LOAD_ASSET(LightDef, lightDef)
LOAD_ASSET(Font, font)
LOAD_ASSET(MenuList, menuList)
LOAD_ASSET(Menu, menu)
LOAD_ASSET(Localize, localize)
LOAD_ASSET(Weapon, weapon)
LOAD_ASSET(SoundDriverGlobals, sndDriverGlobals)
LOAD_ASSET(Fx, fx)
LOAD_ASSET(ImpactFx, impactFx)
LOAD_ASSET(RawFile, rawfile)
LOAD_ASSET(StringTable, stringTable)
LOAD_ASSET(PackIndex, packIndex)
default:
{
+37 -39
View File
@@ -41,16 +41,14 @@ void ContentLoader::LoadScriptStringList(const bool atStreamStart)
void ContentLoader::LoadXAsset(const bool atStreamStart) const
{
#define LOAD_ASSET(type_index, typeName, headerEntry) \
case type_index: \
#define FALLTHROUGH_ASSET(assetName) case Asset##assetName## ::EnumEntry:
#define LOAD_ASSET(assetName, headerEntry) \
case Asset##assetName## ::EnumEntry: \
{ \
Loader_##typeName##_pc loader(m_zone, m_stream); \
Loader_##assetName##_pc loader(m_zone, m_stream); \
loader.Load(&varXAsset->header.headerEntry); \
break; \
}
#define SKIP_ASSET(type_index, typeName, headerEntry) \
case type_index: \
break;
assert(varXAsset != nullptr);
@@ -59,39 +57,39 @@ void ContentLoader::LoadXAsset(const bool atStreamStart) const
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_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_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_PACK_INDEX, PackIndex, packIndex)
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(PhysPreset, physPreset)
LOAD_ASSET(PhysConstraints, physConstraints)
LOAD_ASSET(DestructibleDef, destructibleDef)
LOAD_ASSET(XAnim, parts)
LOAD_ASSET(XModel, model)
LOAD_ASSET(Material, material)
LOAD_ASSET(TechniqueSet, techniqueSet)
LOAD_ASSET(Image, image)
LOAD_ASSET(SoundBank, sound)
LOAD_ASSET(SoundPatch, soundPatch)
FALLTHROUGH_ASSET(ClipMap)
LOAD_ASSET(ClipMapPvs, clipMap)
LOAD_ASSET(ComWorld, comWorld)
LOAD_ASSET(GameWorldSp, gameWorldSp)
LOAD_ASSET(GameWorldMp, gameWorldMp)
LOAD_ASSET(MapEnts, mapEnts)
LOAD_ASSET(GfxWorld, gfxWorld)
LOAD_ASSET(LightDef, lightDef)
LOAD_ASSET(Font, font)
LOAD_ASSET(MenuList, menuList)
LOAD_ASSET(Menu, menu)
LOAD_ASSET(Localize, localize)
LOAD_ASSET(Weapon, weapon)
LOAD_ASSET(SoundDriverGlobals, sndDriverGlobals)
LOAD_ASSET(Fx, fx)
LOAD_ASSET(ImpactFx, impactFx)
LOAD_ASSET(RawFile, rawfile)
LOAD_ASSET(StringTable, stringTable)
LOAD_ASSET(PackIndex, packIndex)
LOAD_ASSET(XGlobals, xGlobals)
LOAD_ASSET(DDL, ddlRoot)
LOAD_ASSET(Glasses, glasses)
LOAD_ASSET(EmblemSet, emblemSet)
default:
{
+53 -52
View File
@@ -41,10 +41,11 @@ void ContentLoader::LoadScriptStringList(const bool atStreamStart)
void ContentLoader::LoadXAsset(const bool atStreamStart) const
{
#define LOAD_ASSET(type_index, typeName, headerEntry) \
case type_index: \
#define FALLTHROUGH_ASSET(assetName) case Asset##assetName## ::EnumEntry:
#define LOAD_ASSET(assetName, headerEntry) \
case Asset##assetName## ::EnumEntry: \
{ \
Loader_##typeName##_pc loader(m_zone, m_stream); \
Loader_##assetName##_pc loader(m_zone, m_stream); \
loader.Load(&varXAsset->header.headerEntry); \
break; \
}
@@ -56,55 +57,55 @@ void ContentLoader::LoadXAsset(const bool atStreamStart) const
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(PhysPreset, physPreset)
LOAD_ASSET(PhysConstraints, physConstraints)
LOAD_ASSET(DestructibleDef, destructibleDef)
LOAD_ASSET(XAnim, parts)
LOAD_ASSET(XModel, model)
LOAD_ASSET(Material, material)
LOAD_ASSET(TechniqueSet, techniqueSet)
LOAD_ASSET(Image, image)
LOAD_ASSET(SoundBank, sound)
LOAD_ASSET(SoundPatch, soundPatch)
FALLTHROUGH_ASSET(ClipMap)
LOAD_ASSET(ClipMapPvs, clipMap)
LOAD_ASSET(ComWorld, comWorld)
LOAD_ASSET(GameWorldSp, gameWorldSp)
LOAD_ASSET(GameWorldMp, gameWorldMp)
LOAD_ASSET(MapEnts, mapEnts)
LOAD_ASSET(GfxWorld, gfxWorld)
LOAD_ASSET(LightDef, lightDef)
LOAD_ASSET(Font, font)
LOAD_ASSET(FontIcon, fontIcon)
LOAD_ASSET(MenuList, menuList)
LOAD_ASSET(Menu, menu)
LOAD_ASSET(Localize, localize)
LOAD_ASSET(Weapon, weapon)
LOAD_ASSET(Attachment, attachment)
LOAD_ASSET(AttachmentUnique, attachmentUnique)
LOAD_ASSET(WeaponCamo, weaponCamo)
LOAD_ASSET(SoundDriverGlobals, sndDriverGlobals)
LOAD_ASSET(Fx, fx)
LOAD_ASSET(ImpactFx, impactFx)
LOAD_ASSET(RawFile, rawfile)
LOAD_ASSET(StringTable, stringTable)
LOAD_ASSET(Leaderboard, leaderboardDef)
LOAD_ASSET(XGlobals, xGlobals)
LOAD_ASSET(DDL, ddlRoot)
LOAD_ASSET(Glasses, glasses)
LOAD_ASSET(EmblemSet, emblemSet)
LOAD_ASSET(Script, scriptParseTree)
LOAD_ASSET(KeyValuePairs, keyValuePairs)
LOAD_ASSET(Vehicle, vehicleDef)
LOAD_ASSET(MemoryBlock, memoryBlock);
LOAD_ASSET(AddonMapEnts, addonMapEnts)
LOAD_ASSET(Tracer, tracerDef)
LOAD_ASSET(SkinnedVerts, skinnedVertsDef)
LOAD_ASSET(Qdb, qdb)
LOAD_ASSET(Slug, slug)
LOAD_ASSET(FootstepTable, footstepTableDef)
LOAD_ASSET(FootstepFxTable, footstepFXTableDef)
LOAD_ASSET(ZBarrier, zbarrierDef)
default:
{
+30 -33
View File
@@ -77,16 +77,14 @@ void ContentWriter::WriteXAsset(const bool atStreamStart)
#ifdef ARCH_x86
static_assert(offsetof(XAsset, header.data) == 4u);
#endif
#define WRITE_ASSET(type_index, typeName, headerEntry) \
case type_index: \
#define FALLTHROUGH_ASSET(assetName) case Asset##assetName## ::EnumEntry:
#define WRITE_ASSET(assetName, headerEntry) \
case Asset##assetName## ::EnumEntry: \
{ \
Writer_##typeName##_pc writer(varXAsset->header.headerEntry, m_zone, *m_stream); \
Writer_##assetName##_pc writer(varXAsset->header.headerEntry, m_zone, *m_stream); \
writer.Write(varXAsset->header.headerEntry, varXAssetWritten.AtOffset(4)); \
break; \
}
#define SKIP_ASSET(type_index, typeName, headerEntry) \
case type_index: \
break;
assert(varXAsset != nullptr);
@@ -95,33 +93,32 @@ void ContentWriter::WriteXAsset(const bool atStreamStart)
switch (varXAsset->type)
{
WRITE_ASSET(ASSET_TYPE_PHYSPRESET, PhysPreset, physPreset)
WRITE_ASSET(ASSET_TYPE_XANIMPARTS, XAnimParts, parts)
WRITE_ASSET(ASSET_TYPE_XMODEL, XModel, model)
WRITE_ASSET(ASSET_TYPE_MATERIAL, Material, material)
WRITE_ASSET(ASSET_TYPE_TECHNIQUE_SET, MaterialTechniqueSet, techniqueSet)
WRITE_ASSET(ASSET_TYPE_IMAGE, GfxImage, image)
WRITE_ASSET(ASSET_TYPE_SOUND, snd_alias_list_t, sound)
WRITE_ASSET(ASSET_TYPE_SOUND_CURVE, SndCurve, sndCurve)
WRITE_ASSET(ASSET_TYPE_LOADED_SOUND, LoadedSound, loadSnd)
WRITE_ASSET(ASSET_TYPE_CLIPMAP, clipMap_t, clipMap)
WRITE_ASSET(ASSET_TYPE_CLIPMAP_PVS, clipMap_t, clipMap)
WRITE_ASSET(ASSET_TYPE_COMWORLD, ComWorld, comWorld)
WRITE_ASSET(ASSET_TYPE_GAMEWORLD_SP, GameWorldSp, gameWorldSp)
WRITE_ASSET(ASSET_TYPE_GAMEWORLD_MP, GameWorldMp, gameWorldMp)
WRITE_ASSET(ASSET_TYPE_MAP_ENTS, MapEnts, mapEnts)
WRITE_ASSET(ASSET_TYPE_GFXWORLD, GfxWorld, gfxWorld)
WRITE_ASSET(ASSET_TYPE_LIGHT_DEF, GfxLightDef, lightDef)
WRITE_ASSET(ASSET_TYPE_FONT, Font_s, font)
WRITE_ASSET(ASSET_TYPE_MENULIST, MenuList, menuList)
WRITE_ASSET(ASSET_TYPE_MENU, menuDef_t, menu)
WRITE_ASSET(ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry, localize)
WRITE_ASSET(ASSET_TYPE_WEAPON, WeaponDef, weapon)
SKIP_ASSET(ASSET_TYPE_SNDDRIVER_GLOBALS, SndDriverGlobals, sndDriverGlobals)
WRITE_ASSET(ASSET_TYPE_FX, FxEffectDef, fx)
WRITE_ASSET(ASSET_TYPE_IMPACT_FX, FxImpactTable, impactFx)
WRITE_ASSET(ASSET_TYPE_RAWFILE, RawFile, rawfile)
WRITE_ASSET(ASSET_TYPE_STRINGTABLE, StringTable, stringTable)
WRITE_ASSET(PhysPreset, physPreset)
WRITE_ASSET(XAnim, parts)
WRITE_ASSET(XModel, model)
WRITE_ASSET(Material, material)
WRITE_ASSET(TechniqueSet, techniqueSet)
WRITE_ASSET(Image, image)
WRITE_ASSET(Sound, sound)
WRITE_ASSET(SoundCurve, sndCurve)
WRITE_ASSET(LoadedSound, loadSnd)
FALLTHROUGH_ASSET(ClipMap)
WRITE_ASSET(ClipMapPvs, clipMap)
WRITE_ASSET(ComWorld, comWorld)
WRITE_ASSET(GameWorldSp, gameWorldSp)
WRITE_ASSET(GameWorldMp, gameWorldMp)
WRITE_ASSET(MapEnts, mapEnts)
WRITE_ASSET(GfxWorld, gfxWorld)
WRITE_ASSET(LightDef, lightDef)
WRITE_ASSET(Font, font)
WRITE_ASSET(MenuList, menuList)
WRITE_ASSET(Menu, menu)
WRITE_ASSET(Localize, localize)
WRITE_ASSET(Weapon, weapon)
WRITE_ASSET(Fx, fx)
WRITE_ASSET(ImpactFx, impactFx)
WRITE_ASSET(RawFile, rawfile)
WRITE_ASSET(StringTable, stringTable)
default:
{
+44 -47
View File
@@ -83,25 +83,23 @@ void ContentWriter::WriteXAsset(const bool atStreamStart)
#ifdef ARCH_x86
static_assert(offsetof(XAsset, header.data) == 4u);
#endif
#define WRITE_ASSET(type_index, typeName, headerEntry) \
case type_index: \
#define FALLTHROUGH_ASSET(assetName) case Asset##assetName## ::EnumEntry:
#define WRITE_ASSET_PER_VARIANT(assetName, headerEntry32, headerEntry64) \
case Asset##assetName## ::EnumEntry: \
{ \
if (m_word_size == GameWordSize::ARCH_64) \
{ \
Writer_##typeName##_pc64 writer(varXAsset->header.headerEntry, m_zone, *m_stream); \
writer.Write(varXAsset->header.headerEntry, varXAssetWritten.AtOffset(8)); \
Writer_##assetName##_pc64 writer(varXAsset->header.headerEntry64, m_zone, *m_stream); \
writer.Write(varXAsset->header.headerEntry64, varXAssetWritten.AtOffset(8)); \
} \
else \
{ \
Writer_##typeName##_pc32 writer(varXAsset->header.headerEntry, m_zone, *m_stream); \
writer.Write(varXAsset->header.headerEntry, varXAssetWritten.AtOffset(4)); \
Writer_##assetName##_pc32 writer(varXAsset->header.headerEntry32, m_zone, *m_stream); \
writer.Write(varXAsset->header.headerEntry32, varXAssetWritten.AtOffset(4)); \
} \
break; \
}
#define SKIP_ASSET(type_index, typeName, headerEntry) \
case type_index: \
break;
#define WRITE_ASSET(assetName, headerEntry) WRITE_ASSET_PER_VARIANT(assetName, headerEntry, headerEntry)
assert(varXAsset != nullptr);
@@ -110,43 +108,42 @@ void ContentWriter::WriteXAsset(const bool atStreamStart)
switch (varXAsset->type)
{
WRITE_ASSET(ASSET_TYPE_PHYSPRESET, PhysPreset, physPreset)
WRITE_ASSET(ASSET_TYPE_PHYSCOLLMAP, PhysCollmap, physCollmap)
WRITE_ASSET(ASSET_TYPE_XANIMPARTS, XAnimParts, parts)
WRITE_ASSET(ASSET_TYPE_XMODEL, XModel, model)
WRITE_ASSET(ASSET_TYPE_MATERIAL, Material, material)
WRITE_ASSET(ASSET_TYPE_PIXELSHADER, MaterialPixelShader, pixelShader)
WRITE_ASSET(ASSET_TYPE_VERTEXSHADER, MaterialVertexShader, vertexShader)
WRITE_ASSET(ASSET_TYPE_VERTEXDECL, MaterialVertexDeclaration, vertexDecl)
WRITE_ASSET(ASSET_TYPE_TECHNIQUE_SET, MaterialTechniqueSet, techniqueSet)
WRITE_ASSET(ASSET_TYPE_IMAGE, GfxImage, image)
WRITE_ASSET(ASSET_TYPE_SOUND, snd_alias_list_t, sound)
WRITE_ASSET(ASSET_TYPE_SOUND_CURVE, SndCurve, sndCurve)
WRITE_ASSET(ASSET_TYPE_LOADED_SOUND, LoadedSound, loadSnd)
WRITE_ASSET(ASSET_TYPE_CLIPMAP_SP, clipMap_t, clipMap)
WRITE_ASSET(ASSET_TYPE_CLIPMAP_MP, clipMap_t, clipMap)
WRITE_ASSET(ASSET_TYPE_COMWORLD, ComWorld, comWorld)
WRITE_ASSET(ASSET_TYPE_GAMEWORLD_SP, GameWorldSp, gameWorldSp)
WRITE_ASSET(ASSET_TYPE_GAMEWORLD_MP, GameWorldMp, gameWorldMp)
WRITE_ASSET(ASSET_TYPE_MAP_ENTS, MapEnts, mapEnts)
WRITE_ASSET(ASSET_TYPE_FXWORLD, FxWorld, fxWorld)
WRITE_ASSET(ASSET_TYPE_GFXWORLD, GfxWorld, gfxWorld)
WRITE_ASSET(ASSET_TYPE_LIGHT_DEF, GfxLightDef, lightDef)
WRITE_ASSET(ASSET_TYPE_FONT, Font_s, font)
WRITE_ASSET(ASSET_TYPE_MENULIST, MenuList, menuList)
WRITE_ASSET(ASSET_TYPE_MENU, menuDef_t, menu)
WRITE_ASSET(ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry, localize)
WRITE_ASSET(ASSET_TYPE_WEAPON, WeaponCompleteDef, weapon)
SKIP_ASSET(ASSET_TYPE_SNDDRIVER_GLOBALS, SndDriverGlobals, sndDriverGlobals)
WRITE_ASSET(ASSET_TYPE_FX, FxEffectDef, fx)
WRITE_ASSET(ASSET_TYPE_IMPACT_FX, FxImpactTable, impactFx)
WRITE_ASSET(ASSET_TYPE_RAWFILE, RawFile, rawfile)
WRITE_ASSET(ASSET_TYPE_STRINGTABLE, StringTable, stringTable)
WRITE_ASSET(ASSET_TYPE_LEADERBOARD, LeaderboardDef, leaderboardDef)
WRITE_ASSET(ASSET_TYPE_STRUCTURED_DATA_DEF, StructuredDataDefSet, structuredDataDefSet)
WRITE_ASSET(ASSET_TYPE_TRACER, TracerDef, tracerDef)
WRITE_ASSET(ASSET_TYPE_VEHICLE, VehicleDef, vehDef)
WRITE_ASSET(ASSET_TYPE_ADDON_MAP_ENTS, AddonMapEnts, addonMapEnts)
WRITE_ASSET(PhysPreset, physPreset)
WRITE_ASSET(PhysCollMap, physCollmap)
WRITE_ASSET(XAnim, parts)
WRITE_ASSET(XModel, model)
WRITE_ASSET(Material, material)
WRITE_ASSET(PixelShader, pixelShader)
WRITE_ASSET(VertexShader, vertexShader)
WRITE_ASSET(VertexDecl, vertexDecl)
WRITE_ASSET(TechniqueSet, techniqueSet)
WRITE_ASSET(Image, image)
WRITE_ASSET(Sound, sound)
WRITE_ASSET(SoundCurve, sndCurve)
WRITE_ASSET_PER_VARIANT(LoadedSound, loadSnd32, loadSnd64)
FALLTHROUGH_ASSET(ClipMapSp)
WRITE_ASSET(ClipMapMp, clipMap)
WRITE_ASSET(ComWorld, comWorld)
WRITE_ASSET(GameWorldSp, gameWorldSp)
WRITE_ASSET(GameWorldMp, gameWorldMp)
WRITE_ASSET(MapEnts, mapEnts)
WRITE_ASSET(FxWorld, fxWorld)
WRITE_ASSET(GfxWorld, gfxWorld)
WRITE_ASSET(LightDef, lightDef)
WRITE_ASSET(Font, font)
WRITE_ASSET(MenuList, menuList)
WRITE_ASSET(Menu, menu)
WRITE_ASSET(Localize, localize)
WRITE_ASSET(Weapon, weapon)
WRITE_ASSET(Fx, fx)
WRITE_ASSET(ImpactFx, impactFx)
WRITE_ASSET(RawFile, rawfile)
WRITE_ASSET(StringTable, stringTable)
WRITE_ASSET(Leaderboard, leaderboardDef)
WRITE_ASSET(StructuredDataDef, structuredDataDefSet)
WRITE_ASSET(Tracer, tracerDef)
WRITE_ASSET(Vehicle, vehDef)
WRITE_ASSET(AddonMapEnts, addonMapEnts)
default:
{
+48 -46
View File
@@ -83,21 +83,23 @@ void ContentWriter::WriteXAsset(const bool atStreamStart)
#ifdef ARCH_x86
static_assert(offsetof(XAsset, header.data) == 4u);
#endif
#define WRITE_ASSET(type_index, typeName, headerEntry) \
case type_index: \
#define FALLTHROUGH_ASSET(assetName) case Asset##assetName## ::EnumEntry:
#define WRITE_ASSET_PER_VARIANT(assetName, headerEntry32, headerEntry64) \
case Asset##assetName## ::EnumEntry: \
{ \
if (m_word_size == GameWordSize::ARCH_64) \
{ \
Writer_##typeName##_pc64 writer(varXAsset->header.headerEntry, m_zone, *m_stream); \
writer.Write(varXAsset->header.headerEntry, varXAssetWritten.AtOffset(8)); \
Writer_##assetName##_pc64 writer(varXAsset->header.headerEntry64, m_zone, *m_stream); \
writer.Write(varXAsset->header.headerEntry64, varXAssetWritten.AtOffset(8)); \
} \
else \
{ \
Writer_##typeName##_pc32 writer(varXAsset->header.headerEntry, m_zone, *m_stream); \
writer.Write(varXAsset->header.headerEntry, varXAssetWritten.AtOffset(4)); \
Writer_##assetName##_pc32 writer(varXAsset->header.headerEntry32, m_zone, *m_stream); \
writer.Write(varXAsset->header.headerEntry32, varXAssetWritten.AtOffset(4)); \
} \
break; \
}
#define WRITE_ASSET(assetName, headerEntry) WRITE_ASSET_PER_VARIANT(assetName, headerEntry, headerEntry)
assert(varXAsset != nullptr);
@@ -106,46 +108,46 @@ void ContentWriter::WriteXAsset(const bool atStreamStart)
switch (varXAsset->type)
{
WRITE_ASSET(ASSET_TYPE_PHYSPRESET, PhysPreset, physPreset)
WRITE_ASSET(ASSET_TYPE_PHYSCOLLMAP, PhysCollmap, physCollmap)
WRITE_ASSET(ASSET_TYPE_XANIMPARTS, XAnimParts, parts)
WRITE_ASSET(ASSET_TYPE_XMODEL_SURFS, XModelSurfs, modelSurfs)
WRITE_ASSET(ASSET_TYPE_XMODEL, XModel, model)
WRITE_ASSET(ASSET_TYPE_MATERIAL, Material, material)
WRITE_ASSET(ASSET_TYPE_PIXELSHADER, MaterialPixelShader, pixelShader)
WRITE_ASSET(ASSET_TYPE_VERTEXSHADER, MaterialVertexShader, vertexShader)
WRITE_ASSET(ASSET_TYPE_VERTEXDECL, MaterialVertexDeclaration, vertexDecl)
WRITE_ASSET(ASSET_TYPE_TECHNIQUE_SET, MaterialTechniqueSet, techniqueSet)
WRITE_ASSET(ASSET_TYPE_IMAGE, GfxImage, image)
WRITE_ASSET(ASSET_TYPE_SOUND, snd_alias_list_t, sound)
WRITE_ASSET(ASSET_TYPE_SOUND_CURVE, SndCurve, sndCurve)
WRITE_ASSET(ASSET_TYPE_LOADED_SOUND, LoadedSound, loadSnd)
WRITE_ASSET(ASSET_TYPE_CLIPMAP, clipMap_t, clipMap)
WRITE_ASSET(ASSET_TYPE_COMWORLD, ComWorld, comWorld)
WRITE_ASSET(ASSET_TYPE_GLASSWORLD, GlassWorld, glassWorld)
WRITE_ASSET(ASSET_TYPE_PATHDATA, PathData, pathData)
WRITE_ASSET(ASSET_TYPE_VEHICLE_TRACK, VehicleTrack, vehicleTrack)
WRITE_ASSET(ASSET_TYPE_MAP_ENTS, MapEnts, mapEnts)
WRITE_ASSET(ASSET_TYPE_FXWORLD, FxWorld, fxWorld)
WRITE_ASSET(ASSET_TYPE_GFXWORLD, GfxWorld, gfxWorld)
WRITE_ASSET(ASSET_TYPE_LIGHT_DEF, GfxLightDef, lightDef)
WRITE_ASSET(ASSET_TYPE_FONT, Font_s, font)
WRITE_ASSET(ASSET_TYPE_MENULIST, MenuList, menuList)
WRITE_ASSET(ASSET_TYPE_MENU, menuDef_t, menu)
WRITE_ASSET(ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry, localize)
WRITE_ASSET(ASSET_TYPE_ATTACHMENT, WeaponAttachment, attachment)
WRITE_ASSET(ASSET_TYPE_WEAPON, WeaponCompleteDef, weapon)
WRITE_ASSET(ASSET_TYPE_FX, FxEffectDef, fx)
WRITE_ASSET(ASSET_TYPE_IMPACT_FX, FxImpactTable, impactFx)
WRITE_ASSET(ASSET_TYPE_SURFACE_FX, SurfaceFxTable, surfaceFx)
WRITE_ASSET(ASSET_TYPE_RAWFILE, RawFile, rawfile)
WRITE_ASSET(ASSET_TYPE_SCRIPTFILE, ScriptFile, scriptfile)
WRITE_ASSET(ASSET_TYPE_STRINGTABLE, StringTable, stringTable)
WRITE_ASSET(ASSET_TYPE_LEADERBOARD, LeaderboardDef, leaderboardDef)
WRITE_ASSET(ASSET_TYPE_STRUCTURED_DATA_DEF, StructuredDataDefSet, structuredDataDefSet)
WRITE_ASSET(ASSET_TYPE_TRACER, TracerDef, tracerDef)
WRITE_ASSET(ASSET_TYPE_VEHICLE, VehicleDef, vehDef)
WRITE_ASSET(ASSET_TYPE_ADDON_MAP_ENTS, AddonMapEnts, addonMapEnts)
WRITE_ASSET(PhysPreset, physPreset)
WRITE_ASSET(PhysCollMap, physCollmap)
WRITE_ASSET(XAnim, parts)
WRITE_ASSET(XModelSurfs, modelSurfs)
WRITE_ASSET(XModel, model)
WRITE_ASSET(Material, material)
WRITE_ASSET(PixelShader, pixelShader)
WRITE_ASSET(VertexShader, vertexShader)
WRITE_ASSET(VertexDecl, vertexDecl)
WRITE_ASSET(TechniqueSet, techniqueSet)
WRITE_ASSET(Image, image)
WRITE_ASSET(Sound, sound)
WRITE_ASSET(SoundCurve, sndCurve)
WRITE_ASSET(LoadedSound, loadSnd)
WRITE_ASSET(ClipMap, clipMap)
WRITE_ASSET(ComWorld, comWorld)
WRITE_ASSET(GlassWorld, glassWorld)
WRITE_ASSET(PathData, pathData)
WRITE_ASSET(VehicleTrack, vehicleTrack)
WRITE_ASSET(MapEnts, mapEnts)
WRITE_ASSET(FxWorld, fxWorld)
WRITE_ASSET(GfxWorld, gfxWorld)
WRITE_ASSET(LightDef, lightDef)
WRITE_ASSET(Font, font)
WRITE_ASSET(MenuList, menuList)
WRITE_ASSET(Menu, menu)
WRITE_ASSET(Localize, localize)
WRITE_ASSET(Attachment, attachment)
WRITE_ASSET(Weapon, weapon)
WRITE_ASSET(Fx, fx)
WRITE_ASSET(ImpactFx, impactFx)
WRITE_ASSET(SurfaceFx, surfaceFx)
WRITE_ASSET(RawFile, rawfile)
WRITE_ASSET(Script, scriptfile)
WRITE_ASSET(StringTable, stringTable)
WRITE_ASSET(Leaderboard, leaderboardDef)
WRITE_ASSET(StructuredDataDef, structuredDataDefSet)
WRITE_ASSET(Tracer, tracerDef)
WRITE_ASSET(Vehicle, vehDef)
WRITE_ASSET(AddonMapEnts, addonMapEnts)
default:
{
+35 -34
View File
@@ -77,10 +77,11 @@ void ContentWriter::WriteXAsset(const bool atStreamStart)
#ifdef ARCH_x86
static_assert(offsetof(XAsset, header.data) == 4u);
#endif
#define WRITE_ASSET(type_index, typeName, headerEntry) \
case type_index: \
#define FALLTHROUGH_ASSET(assetName) case Asset##assetName## ::EnumEntry:
#define WRITE_ASSET(assetName, headerEntry) \
case Asset##assetName## ::EnumEntry: \
{ \
Writer_##typeName##_pc writer(varXAsset->header.headerEntry, m_zone, *m_stream); \
Writer_##assetName##_pc writer(varXAsset->header.headerEntry, m_zone, *m_stream); \
writer.Write(varXAsset->header.headerEntry, varXAssetWritten.AtOffset(4)); \
break; \
}
@@ -92,37 +93,37 @@ void ContentWriter::WriteXAsset(const bool atStreamStart)
switch (varXAsset->type)
{
WRITE_ASSET(ASSET_TYPE_PHYSPRESET, PhysPreset, physPreset)
WRITE_ASSET(ASSET_TYPE_PHYSCONSTRAINTS, PhysConstraints, physConstraints)
WRITE_ASSET(ASSET_TYPE_DESTRUCTIBLEDEF, DestructibleDef, destructibleDef)
WRITE_ASSET(ASSET_TYPE_XANIMPARTS, XAnimParts, parts)
WRITE_ASSET(ASSET_TYPE_XMODEL, XModel, model)
WRITE_ASSET(ASSET_TYPE_MATERIAL, Material, material)
WRITE_ASSET(ASSET_TYPE_TECHNIQUE_SET, MaterialTechniqueSet, techniqueSet)
WRITE_ASSET(ASSET_TYPE_IMAGE, GfxImage, image)
WRITE_ASSET(ASSET_TYPE_SOUND, snd_alias_list_t, sound)
WRITE_ASSET(ASSET_TYPE_SND_CURVE, SndCurve, sndCurve)
WRITE_ASSET(ASSET_TYPE_CLIPMAP_SP, clipMap_t, clipMap)
WRITE_ASSET(ASSET_TYPE_CLIPMAP_MP, clipMap_t, clipMap)
WRITE_ASSET(ASSET_TYPE_COMWORLD, ComWorld, comWorld)
WRITE_ASSET(ASSET_TYPE_GAMEWORLD_SP, GameWorldSp, gameWorldSp)
WRITE_ASSET(ASSET_TYPE_GAMEWORLD_MP, GameWorldMp, gameWorldMp)
WRITE_ASSET(ASSET_TYPE_MAP_ENTS, MapEnts, mapEnts)
WRITE_ASSET(ASSET_TYPE_GFXWORLD, GfxWorld, gfxWorld)
WRITE_ASSET(ASSET_TYPE_LIGHT_DEF, GfxLightDef, lightDef)
WRITE_ASSET(ASSET_TYPE_FONT, Font_s, font)
WRITE_ASSET(ASSET_TYPE_MENUFILE, MenuList, menuList)
WRITE_ASSET(ASSET_TYPE_MENU, menuDef_t, menu)
WRITE_ASSET(ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry, localize)
WRITE_ASSET(ASSET_TYPE_WEAPON, WeaponDef, weapon)
WRITE_ASSET(ASSET_TYPE_FX, FxEffectDef, fx)
WRITE_ASSET(ASSET_TYPE_IMPACT_FX, FxImpactTable, impactFx)
WRITE_ASSET(ASSET_TYPE_RAWFILE, RawFile, rawfile)
WRITE_ASSET(ASSET_TYPE_STRINGTABLE, StringTable, stringTable)
WRITE_ASSET(ASSET_TYPE_XMLTREE, XmlTree, xmlTree)
WRITE_ASSET(ASSET_TYPE_SCENE_ANIMATION, SceneAnimation, sceneAnimation)
WRITE_ASSET(ASSET_TYPE_CUTSCENE, Cutscene, cutscene)
WRITE_ASSET(ASSET_TYPE_CUSTOM_CAMERA, CustomCamera, customCamera)
WRITE_ASSET(PhysPreset, physPreset)
WRITE_ASSET(PhysConstraints, physConstraints)
WRITE_ASSET(DestructibleDef, destructibleDef)
WRITE_ASSET(XAnim, parts)
WRITE_ASSET(XModel, model)
WRITE_ASSET(Material, material)
WRITE_ASSET(TechniqueSet, techniqueSet)
WRITE_ASSET(Image, image)
WRITE_ASSET(Sound, sound)
WRITE_ASSET(SoundCurve, sndCurve)
FALLTHROUGH_ASSET(ClipMapSp)
WRITE_ASSET(ClipMapMp, clipMap)
WRITE_ASSET(ComWorld, comWorld)
WRITE_ASSET(GameWorldSp, gameWorldSp)
WRITE_ASSET(GameWorldMp, gameWorldMp)
WRITE_ASSET(MapEnts, mapEnts)
WRITE_ASSET(GfxWorld, gfxWorld)
WRITE_ASSET(LightDef, lightDef)
WRITE_ASSET(Font, font)
WRITE_ASSET(MenuList, menuList)
WRITE_ASSET(Menu, menu)
WRITE_ASSET(Localize, localize)
WRITE_ASSET(Weapon, weapon)
WRITE_ASSET(Fx, fx)
WRITE_ASSET(ImpactFx, impactFx)
WRITE_ASSET(RawFile, rawfile)
WRITE_ASSET(StringTable, stringTable)
WRITE_ASSET(XmlTree, xmlTree)
WRITE_ASSET(SceneAnimation, sceneAnimation)
WRITE_ASSET(Cutscene, cutscene)
WRITE_ASSET(CustomCamera, customCamera)
default:
{
+33 -41
View File
@@ -77,16 +77,14 @@ void ContentWriter::WriteXAsset(const bool atStreamStart)
#ifdef ARCH_x86
static_assert(offsetof(XAsset, header.data) == 4u);
#endif
#define WRITE_ASSET(type_index, typeName, headerEntry) \
case type_index: \
#define FALLTHROUGH_ASSET(assetName) case Asset##assetName## ::EnumEntry:
#define WRITE_ASSET(assetName, headerEntry) \
case Asset##assetName## ::EnumEntry: \
{ \
Writer_##typeName##_pc writer(varXAsset->header.headerEntry, m_zone, *m_stream); \
Writer_##assetName##_pc writer(varXAsset->header.headerEntry, m_zone, *m_stream); \
writer.Write(varXAsset->header.headerEntry, varXAssetWritten.AtOffset(4)); \
break; \
}
#define SKIP_ASSET(type_index, typeName, headerEntry) \
case type_index: \
break;
assert(varXAsset != nullptr);
@@ -95,41 +93,35 @@ void ContentWriter::WriteXAsset(const bool atStreamStart)
switch (varXAsset->type)
{
SKIP_ASSET(ASSET_TYPE_XMODELPIECES, XModelPieces, data)
WRITE_ASSET(ASSET_TYPE_PHYSPRESET, PhysPreset, physPreset)
WRITE_ASSET(ASSET_TYPE_PHYSCONSTRAINTS, PhysConstraints, physConstraints)
WRITE_ASSET(ASSET_TYPE_DESTRUCTIBLEDEF, DestructibleDef, destructibleDef)
WRITE_ASSET(ASSET_TYPE_XANIMPARTS, XAnimParts, parts)
WRITE_ASSET(ASSET_TYPE_XMODEL, XModel, model)
WRITE_ASSET(ASSET_TYPE_MATERIAL, Material, material)
WRITE_ASSET(ASSET_TYPE_TECHNIQUE_SET, MaterialTechniqueSet, techniqueSet)
WRITE_ASSET(ASSET_TYPE_IMAGE, GfxImage, image)
WRITE_ASSET(ASSET_TYPE_SOUND, snd_alias_list_t, sound)
WRITE_ASSET(ASSET_TYPE_LOADED_SOUND, LoadedSound, loadSnd)
WRITE_ASSET(ASSET_TYPE_CLIPMAP, clipMap_t, clipMap)
WRITE_ASSET(ASSET_TYPE_CLIPMAP_PVS, clipMap_t, clipMap)
WRITE_ASSET(ASSET_TYPE_COMWORLD, ComWorld, comWorld)
WRITE_ASSET(ASSET_TYPE_GAMEWORLD_SP, GameWorldSp, gameWorldSp)
WRITE_ASSET(ASSET_TYPE_GAMEWORLD_MP, GameWorldMp, gameWorldMp)
WRITE_ASSET(ASSET_TYPE_MAP_ENTS, MapEnts, mapEnts)
WRITE_ASSET(ASSET_TYPE_GFXWORLD, GfxWorld, gfxWorld)
WRITE_ASSET(ASSET_TYPE_LIGHT_DEF, GfxLightDef, lightDef)
SKIP_ASSET(ASSET_TYPE_UI_MAP, UiMap, data)
WRITE_ASSET(ASSET_TYPE_FONT, Font_s, font)
WRITE_ASSET(ASSET_TYPE_MENULIST, MenuList, menuList)
WRITE_ASSET(ASSET_TYPE_MENU, menuDef_t, menu)
WRITE_ASSET(ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry, localize)
WRITE_ASSET(ASSET_TYPE_WEAPON, WeaponDef, weapon)
WRITE_ASSET(ASSET_TYPE_SNDDRIVER_GLOBALS, SndDriverGlobals, sndDriverGlobals)
WRITE_ASSET(ASSET_TYPE_FX, FxEffectDef, fx)
WRITE_ASSET(ASSET_TYPE_IMPACT_FX, FxImpactTable, impactFx)
SKIP_ASSET(ASSET_TYPE_AITYPE, AiType, data)
SKIP_ASSET(ASSET_TYPE_MPTYPE, MpType, data)
SKIP_ASSET(ASSET_TYPE_CHARACTER, Character, data)
SKIP_ASSET(ASSET_TYPE_XMODELALIAS, XModelAlias, data)
WRITE_ASSET(ASSET_TYPE_RAWFILE, RawFile, rawfile)
WRITE_ASSET(ASSET_TYPE_STRINGTABLE, StringTable, stringTable)
WRITE_ASSET(ASSET_TYPE_PACK_INDEX, PackIndex, packIndex)
WRITE_ASSET(PhysPreset, physPreset)
WRITE_ASSET(PhysConstraints, physConstraints)
WRITE_ASSET(DestructibleDef, destructibleDef)
WRITE_ASSET(XAnim, parts)
WRITE_ASSET(XModel, model)
WRITE_ASSET(Material, material)
WRITE_ASSET(TechniqueSet, techniqueSet)
WRITE_ASSET(Image, image)
WRITE_ASSET(Sound, sound)
WRITE_ASSET(LoadedSound, loadSnd)
FALLTHROUGH_ASSET(ClipMap)
WRITE_ASSET(ClipMapPvs, clipMap)
WRITE_ASSET(ComWorld, comWorld)
WRITE_ASSET(GameWorldSp, gameWorldSp)
WRITE_ASSET(GameWorldMp, gameWorldMp)
WRITE_ASSET(MapEnts, mapEnts)
WRITE_ASSET(GfxWorld, gfxWorld)
WRITE_ASSET(LightDef, lightDef)
WRITE_ASSET(Font, font)
WRITE_ASSET(MenuList, menuList)
WRITE_ASSET(Menu, menu)
WRITE_ASSET(Localize, localize)
WRITE_ASSET(Weapon, weapon)
WRITE_ASSET(SoundDriverGlobals, sndDriverGlobals)
WRITE_ASSET(Fx, fx)
WRITE_ASSET(ImpactFx, impactFx)
WRITE_ASSET(RawFile, rawfile)
WRITE_ASSET(StringTable, stringTable)
WRITE_ASSET(PackIndex, packIndex)
default:
{
+37 -39
View File
@@ -77,16 +77,14 @@ void ContentWriter::WriteXAsset(const bool atStreamStart)
#ifdef ARCH_x86
static_assert(offsetof(XAsset, header.data) == 4u);
#endif
#define WRITE_ASSET(type_index, typeName, headerEntry) \
case type_index: \
#define FALLTHROUGH_ASSET(assetName) case Asset##assetName## ::EnumEntry:
#define WRITE_ASSET(assetName, headerEntry) \
case Asset##assetName## ::EnumEntry: \
{ \
Writer_##typeName##_pc writer(varXAsset->header.headerEntry, m_zone, *m_stream); \
Writer_##assetName##_pc writer(varXAsset->header.headerEntry, m_zone, *m_stream); \
writer.Write(varXAsset->header.headerEntry, varXAssetWritten.AtOffset(4)); \
break; \
}
#define SKIP_ASSET(type_index, typeName, headerEntry) \
case type_index: \
break;
assert(varXAsset != nullptr);
@@ -95,39 +93,39 @@ void ContentWriter::WriteXAsset(const bool atStreamStart)
switch (varXAsset->type)
{
WRITE_ASSET(ASSET_TYPE_PHYSPRESET, PhysPreset, physPreset)
WRITE_ASSET(ASSET_TYPE_PHYSCONSTRAINTS, PhysConstraints, physConstraints)
WRITE_ASSET(ASSET_TYPE_DESTRUCTIBLEDEF, DestructibleDef, destructibleDef)
WRITE_ASSET(ASSET_TYPE_XANIMPARTS, XAnimParts, parts)
WRITE_ASSET(ASSET_TYPE_XMODEL, XModel, model)
WRITE_ASSET(ASSET_TYPE_MATERIAL, Material, material)
WRITE_ASSET(ASSET_TYPE_TECHNIQUE_SET, MaterialTechniqueSet, techniqueSet)
WRITE_ASSET(ASSET_TYPE_IMAGE, GfxImage, image)
WRITE_ASSET(ASSET_TYPE_SOUND, SndBank, sound)
WRITE_ASSET(ASSET_TYPE_SOUND_PATCH, SndPatch, soundPatch)
WRITE_ASSET(ASSET_TYPE_CLIPMAP, clipMap_t, clipMap)
WRITE_ASSET(ASSET_TYPE_CLIPMAP_PVS, clipMap_t, clipMap)
WRITE_ASSET(ASSET_TYPE_COMWORLD, ComWorld, comWorld)
WRITE_ASSET(ASSET_TYPE_GAMEWORLD_SP, GameWorldSp, gameWorldSp)
WRITE_ASSET(ASSET_TYPE_GAMEWORLD_MP, GameWorldMp, gameWorldMp)
WRITE_ASSET(ASSET_TYPE_MAP_ENTS, MapEnts, mapEnts)
WRITE_ASSET(ASSET_TYPE_GFXWORLD, GfxWorld, gfxWorld)
WRITE_ASSET(ASSET_TYPE_LIGHT_DEF, GfxLightDef, lightDef)
WRITE_ASSET(ASSET_TYPE_FONT, Font_s, font)
WRITE_ASSET(ASSET_TYPE_MENULIST, MenuList, menuList)
WRITE_ASSET(ASSET_TYPE_MENU, menuDef_t, menu)
WRITE_ASSET(ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry, localize)
WRITE_ASSET(ASSET_TYPE_WEAPON, WeaponVariantDef, weapon)
WRITE_ASSET(ASSET_TYPE_SNDDRIVER_GLOBALS, SndDriverGlobals, sndDriverGlobals)
WRITE_ASSET(ASSET_TYPE_FX, FxEffectDef, fx)
WRITE_ASSET(ASSET_TYPE_IMPACT_FX, FxImpactTable, impactFx)
WRITE_ASSET(ASSET_TYPE_RAWFILE, RawFile, rawfile)
WRITE_ASSET(ASSET_TYPE_STRINGTABLE, StringTable, stringTable)
WRITE_ASSET(ASSET_TYPE_PACK_INDEX, PackIndex, packIndex)
WRITE_ASSET(ASSET_TYPE_XGLOBALS, XGlobals, xGlobals)
WRITE_ASSET(ASSET_TYPE_DDL, ddlRoot_t, ddlRoot)
WRITE_ASSET(ASSET_TYPE_GLASSES, Glasses, glasses)
WRITE_ASSET(ASSET_TYPE_EMBLEMSET, EmblemSet, emblemSet)
WRITE_ASSET(PhysPreset, physPreset)
WRITE_ASSET(PhysConstraints, physConstraints)
WRITE_ASSET(DestructibleDef, destructibleDef)
WRITE_ASSET(XAnim, parts)
WRITE_ASSET(XModel, model)
WRITE_ASSET(Material, material)
WRITE_ASSET(TechniqueSet, techniqueSet)
WRITE_ASSET(Image, image)
WRITE_ASSET(SoundBank, sound)
WRITE_ASSET(SoundPatch, soundPatch)
FALLTHROUGH_ASSET(ClipMap)
WRITE_ASSET(ClipMapPvs, clipMap)
WRITE_ASSET(ComWorld, comWorld)
WRITE_ASSET(GameWorldSp, gameWorldSp)
WRITE_ASSET(GameWorldMp, gameWorldMp)
WRITE_ASSET(MapEnts, mapEnts)
WRITE_ASSET(GfxWorld, gfxWorld)
WRITE_ASSET(LightDef, lightDef)
WRITE_ASSET(Font, font)
WRITE_ASSET(MenuList, menuList)
WRITE_ASSET(Menu, menu)
WRITE_ASSET(Localize, localize)
WRITE_ASSET(Weapon, weapon)
WRITE_ASSET(SoundDriverGlobals, sndDriverGlobals)
WRITE_ASSET(Fx, fx)
WRITE_ASSET(ImpactFx, impactFx)
WRITE_ASSET(RawFile, rawfile)
WRITE_ASSET(StringTable, stringTable)
WRITE_ASSET(PackIndex, packIndex)
WRITE_ASSET(XGlobals, xGlobals)
WRITE_ASSET(DDL, ddlRoot)
WRITE_ASSET(Glasses, glasses)
WRITE_ASSET(EmblemSet, emblemSet)
default:
{
+53 -52
View File
@@ -80,10 +80,11 @@ void ContentWriter::WriteXAsset(const bool atStreamStart)
#ifdef ARCH_x86
static_assert(offsetof(XAsset, header.data) == 4u);
#endif
#define WRITE_ASSET(type_index, typeName, headerEntry) \
case type_index: \
#define FALLTHROUGH_ASSET(assetName) case Asset##assetName## ::EnumEntry:
#define WRITE_ASSET(assetName, headerEntry) \
case Asset##assetName## ::EnumEntry: \
{ \
Writer_##typeName##_pc writer(varXAsset->header.headerEntry, m_zone, *m_stream); \
Writer_##assetName##_pc writer(varXAsset->header.headerEntry, m_zone, *m_stream); \
writer.Write(varXAsset->header.headerEntry, varXAssetWritten.AtOffset(4)); \
break; \
}
@@ -95,55 +96,55 @@ void ContentWriter::WriteXAsset(const bool atStreamStart)
switch (varXAsset->type)
{
WRITE_ASSET(ASSET_TYPE_PHYSPRESET, PhysPreset, physPreset)
WRITE_ASSET(ASSET_TYPE_PHYSCONSTRAINTS, PhysConstraints, physConstraints)
WRITE_ASSET(ASSET_TYPE_DESTRUCTIBLEDEF, DestructibleDef, destructibleDef)
WRITE_ASSET(ASSET_TYPE_XANIMPARTS, XAnimParts, parts)
WRITE_ASSET(ASSET_TYPE_XMODEL, XModel, model)
WRITE_ASSET(ASSET_TYPE_MATERIAL, Material, material)
WRITE_ASSET(ASSET_TYPE_TECHNIQUE_SET, MaterialTechniqueSet, techniqueSet)
WRITE_ASSET(ASSET_TYPE_IMAGE, GfxImage, image)
WRITE_ASSET(ASSET_TYPE_SOUND, SndBank, sound)
WRITE_ASSET(ASSET_TYPE_SOUND_PATCH, SndPatch, soundPatch)
WRITE_ASSET(ASSET_TYPE_CLIPMAP, clipMap_t, clipMap)
WRITE_ASSET(ASSET_TYPE_CLIPMAP_PVS, clipMap_t, clipMap)
WRITE_ASSET(ASSET_TYPE_COMWORLD, ComWorld, comWorld)
WRITE_ASSET(ASSET_TYPE_GAMEWORLD_SP, GameWorldSp, gameWorldSp)
WRITE_ASSET(ASSET_TYPE_GAMEWORLD_MP, GameWorldMp, gameWorldMp)
WRITE_ASSET(ASSET_TYPE_MAP_ENTS, MapEnts, mapEnts)
WRITE_ASSET(ASSET_TYPE_GFXWORLD, GfxWorld, gfxWorld)
WRITE_ASSET(ASSET_TYPE_LIGHT_DEF, GfxLightDef, lightDef)
WRITE_ASSET(ASSET_TYPE_FONT, Font_s, font)
WRITE_ASSET(ASSET_TYPE_FONTICON, FontIcon, fontIcon)
WRITE_ASSET(ASSET_TYPE_MENULIST, MenuList, menuList)
WRITE_ASSET(ASSET_TYPE_MENU, menuDef_t, menu)
WRITE_ASSET(ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry, localize)
WRITE_ASSET(ASSET_TYPE_WEAPON, WeaponVariantDef, weapon)
WRITE_ASSET(ASSET_TYPE_ATTACHMENT, WeaponAttachment, attachment)
WRITE_ASSET(ASSET_TYPE_ATTACHMENT_UNIQUE, WeaponAttachmentUnique, attachmentUnique)
WRITE_ASSET(ASSET_TYPE_WEAPON_CAMO, WeaponCamo, weaponCamo)
WRITE_ASSET(ASSET_TYPE_SNDDRIVER_GLOBALS, SndDriverGlobals, sndDriverGlobals)
WRITE_ASSET(ASSET_TYPE_FX, FxEffectDef, fx)
WRITE_ASSET(ASSET_TYPE_IMPACT_FX, FxImpactTable, impactFx)
WRITE_ASSET(ASSET_TYPE_RAWFILE, RawFile, rawfile)
WRITE_ASSET(ASSET_TYPE_STRINGTABLE, StringTable, stringTable)
WRITE_ASSET(ASSET_TYPE_LEADERBOARD, LeaderboardDef, leaderboardDef)
WRITE_ASSET(ASSET_TYPE_XGLOBALS, XGlobals, xGlobals)
WRITE_ASSET(ASSET_TYPE_DDL, ddlRoot_t, ddlRoot)
WRITE_ASSET(ASSET_TYPE_GLASSES, Glasses, glasses)
WRITE_ASSET(ASSET_TYPE_EMBLEMSET, EmblemSet, emblemSet)
WRITE_ASSET(ASSET_TYPE_SCRIPTPARSETREE, ScriptParseTree, scriptParseTree)
WRITE_ASSET(ASSET_TYPE_KEYVALUEPAIRS, KeyValuePairs, keyValuePairs)
WRITE_ASSET(ASSET_TYPE_VEHICLEDEF, VehicleDef, vehicleDef)
WRITE_ASSET(ASSET_TYPE_MEMORYBLOCK, MemoryBlock, memoryBlock);
WRITE_ASSET(ASSET_TYPE_ADDON_MAP_ENTS, AddonMapEnts, addonMapEnts)
WRITE_ASSET(ASSET_TYPE_TRACER, TracerDef, tracerDef)
WRITE_ASSET(ASSET_TYPE_SKINNEDVERTS, SkinnedVertsDef, skinnedVertsDef)
WRITE_ASSET(ASSET_TYPE_QDB, Qdb, qdb)
WRITE_ASSET(ASSET_TYPE_SLUG, Slug, slug)
WRITE_ASSET(ASSET_TYPE_FOOTSTEP_TABLE, FootstepTableDef, footstepTableDef)
WRITE_ASSET(ASSET_TYPE_FOOTSTEPFX_TABLE, FootstepFXTableDef, footstepFXTableDef)
WRITE_ASSET(ASSET_TYPE_ZBARRIER, ZBarrierDef, zbarrierDef)
WRITE_ASSET(PhysPreset, physPreset)
WRITE_ASSET(PhysConstraints, physConstraints)
WRITE_ASSET(DestructibleDef, destructibleDef)
WRITE_ASSET(XAnim, parts)
WRITE_ASSET(XModel, model)
WRITE_ASSET(Material, material)
WRITE_ASSET(TechniqueSet, techniqueSet)
WRITE_ASSET(Image, image)
WRITE_ASSET(SoundBank, sound)
WRITE_ASSET(SoundPatch, soundPatch)
FALLTHROUGH_ASSET(ClipMap)
WRITE_ASSET(ClipMapPvs, clipMap)
WRITE_ASSET(ComWorld, comWorld)
WRITE_ASSET(GameWorldSp, gameWorldSp)
WRITE_ASSET(GameWorldMp, gameWorldMp)
WRITE_ASSET(MapEnts, mapEnts)
WRITE_ASSET(GfxWorld, gfxWorld)
WRITE_ASSET(LightDef, lightDef)
WRITE_ASSET(Font, font)
WRITE_ASSET(FontIcon, fontIcon)
WRITE_ASSET(MenuList, menuList)
WRITE_ASSET(Menu, menu)
WRITE_ASSET(Localize, localize)
WRITE_ASSET(Weapon, weapon)
WRITE_ASSET(Attachment, attachment)
WRITE_ASSET(AttachmentUnique, attachmentUnique)
WRITE_ASSET(WeaponCamo, weaponCamo)
WRITE_ASSET(SoundDriverGlobals, sndDriverGlobals)
WRITE_ASSET(Fx, fx)
WRITE_ASSET(ImpactFx, impactFx)
WRITE_ASSET(RawFile, rawfile)
WRITE_ASSET(StringTable, stringTable)
WRITE_ASSET(Leaderboard, leaderboardDef)
WRITE_ASSET(XGlobals, xGlobals)
WRITE_ASSET(DDL, ddlRoot)
WRITE_ASSET(Glasses, glasses)
WRITE_ASSET(EmblemSet, emblemSet)
WRITE_ASSET(Script, scriptParseTree)
WRITE_ASSET(KeyValuePairs, keyValuePairs)
WRITE_ASSET(Vehicle, vehicleDef)
WRITE_ASSET(MemoryBlock, memoryBlock);
WRITE_ASSET(AddonMapEnts, addonMapEnts)
WRITE_ASSET(Tracer, tracerDef)
WRITE_ASSET(SkinnedVerts, skinnedVertsDef)
WRITE_ASSET(Qdb, qdb)
WRITE_ASSET(Slug, slug)
WRITE_ASSET(FootstepTable, footstepTableDef)
WRITE_ASSET(FootstepFxTable, footstepFXTableDef)
WRITE_ASSET(ZBarrier, zbarrierDef)
default:
{