Add loading of iw4 assets clipmap and mapents

This commit is contained in:
Jan
2020-09-15 10:44:45 +02:00
parent 14666ed944
commit fb93d7cb2f
6 changed files with 409 additions and 29 deletions

View File

@ -15,11 +15,11 @@ asset GfxImage ASSET_TYPE_IMAGE;
asset snd_alias_list_t ASSET_TYPE_SOUND;
asset SndCurve ASSET_TYPE_SOUND_CURVE;
asset LoadedSound ASSET_TYPE_LOADED_SOUND;
// asset clipMap_t ASSET_TYPE_CLIPMAP_MP;
asset clipMap_t ASSET_TYPE_CLIPMAP_MP;
// asset ComWorld ASSET_TYPE_COMWORLD;
// asset GameWorldSp ASSET_TYPE_GAMEWORLD_SP;
// asset GameWorldMp ASSET_TYPE_GAMEWORLD_MP;
// asset MapEnts ASSET_TYPE_MAP_ENTS;
asset MapEnts ASSET_TYPE_MAP_ENTS;
// asset FxWorld ASSET_TYPE_FXWORLD;
// asset GfxWorld ASSET_TYPE_GFXWORLD;
asset GfxLightDef ASSET_TYPE_LIGHT_DEF;
@ -400,6 +400,113 @@ set condition info::data_ptr never;
set condition info::initial_ptr never;
set action SetSoundData(MssSound);
// =========================================
// clipMap_t
// =========================================
use clipMap_t;
set string name;
set name name;
set reusable planes;
set count planes planeCount;
set count staticModelList numStaticModels;
set count materials numMaterials;
set count brushsides numBrushSides;
set count brushEdges numBrushEdges;
set count nodes numNodes;
set count leafs numLeafs;
set count leafbrushNodes leafbrushNodesCount;
set count leafbrushes numLeafBrushes;
set count leafsurfaces numLeafSurfaces;
set count verts vertCount;
set count triIndices 3 * triCount;
set count triEdgeIsWalkable ((3 * triCount + 31) / 32) * 4;
set count borders borderCount;
set count partitions partitionCount;
set count aabbTrees aabbTreeCount;
set count cmodels numSubModels;
set count brushes numBrushes;
set count brushBounds numBrushes;
set count brushContents numBrushes;
set count smodelNodes smodelNodeCount;
set count dynEntDefList[0] dynEntCount[0];
set count dynEntDefList[1] dynEntCount[1];
set block dynEntPoseList XFILE_BLOCK_RUNTIME;
set count dynEntPoseList[0] dynEntCount[0];
set count dynEntPoseList[1] dynEntCount[1];
set block dynEntClientList XFILE_BLOCK_RUNTIME;
set count dynEntClientList[0] dynEntCount[0];
set count dynEntClientList[1] dynEntCount[1];
set block dynEntCollList XFILE_BLOCK_RUNTIME;
set count dynEntCollList[0] dynEntCount[0];
set count dynEntCollList[1] dynEntCount[1];
reorder:
name
planes
staticModelList
materials
brushsides
brushEdges
nodes
leafs
leafbrushes
leafbrushNodes
leafsurfaces
verts
triIndices
triEdgeIsWalkable
borders
partitions
aabbTrees
cmodels
brushes
brushBounds
brushContents
smodelNodes
mapEnts
dynEntDefList
dynEntPoseList
dynEntClientList
dynEntCollList;
// ClipMaterial
set string ClipMaterial::name;
// cNode_t
set reusable cNode_t::plane;
// cLeafBrushNode_s
use cLeafBrushNode_s;
set condition data::leaf leafBrushCount > 0;
set reusable data::leaf::brushes;
set count data::leaf::brushes leafBrushCount;
// CollisionPartition
use CollisionPartition;
set reusable borders;
// cbrush_t
use cbrush_t;
set reusable sides;
set reusable baseAdjacentSide;
// =========================================
// MapEnts
// =========================================
use MapEnts;
set string name;
set name name;
set count entityString numEntityChars;
set count stages stageCount;
// MapTriggers
use MapTriggers;
set count models count;
set count hulls hullCount;
set count slabs slabCount;
// Stage
set string Stage::name;
// =========================================
// LocalizeEntry
// =========================================