ZoneCode: Add commands for clipMap

This commit is contained in:
Jan 2019-12-18 15:31:10 +01:00
parent be17ae6a48
commit 4d611f9770
2 changed files with 62 additions and 7 deletions

View File

@ -427,6 +427,38 @@ set count elements elementCount;
use clipMap_t; use clipMap_t;
set string name; set string name;
set name name; set name name;
set block pInfo XFILE_BLOCK_TEMP;
set reusable pInfo;
set count staticModelList numStaticModels;
set count nodes numNodes;
set count leafs numLeafs;
set count verts vertCount;
set count triIndices triCount;
set count triEdgeIsWalkable ((3 * triCount + 31) / 32) * 4;
set count partitions partitionCount;
set count aabbTrees aabbTreeCount;
set count cmodels numSubModels;
set count visibility numClusters * clusterBytes;
set reusable box_brush;
set count dynEntDefList[0] dynEntCount[0];
set count dynEntDefList[1] dynEntCount[1];
set block dynEntPoseList XFILE_BLOCK_RUNTIME_VIRTUAL;
set count dynEntPoseList[0] dynEntCount[0];
set count dynEntPoseList[1] dynEntCount[1];
set block dynEntClientList XFILE_BLOCK_RUNTIME_VIRTUAL;
set count dynEntClientList[0] dynEntCount[0];
set count dynEntClientList[1] dynEntCount[1];
set block dynEntServerList XFILE_BLOCK_RUNTIME_VIRTUAL;
set count dynEntServerList[0] dynEntCount[2];
set count dynEntServerList[1] dynEntCount[3];
set block dynEntCollList XFILE_BLOCK_RUNTIME_VIRTUAL;
set count dynEntCollList[0] dynEntCount[0];
set count dynEntCollList[1] dynEntCount[1];
set count dynEntCollList[2] dynEntCount[2];
set count dynEntCollList[3] dynEntCount[3];
set count constraints num_constraints;
set block ropes XFILE_BLOCK_RUNTIME_VIRTUAL;
set count ropes max_ropes;
// ClipInfo // ClipInfo
use ClipInfo; use ClipInfo;
@ -467,7 +499,18 @@ set reusable sides;
set reusable verts; set reusable verts;
// cmodel_t // cmodel_t
set reusable cmodel_t::info; use cmodel_t;
set reusable info;
set block info XFILE_BLOCK_TEMP;
// cNode_t
set reusable cNode_t::plane;
// DynEntityDef
use DynEntityDef;
set reusable destroyPieces;
set scriptstring targetname;
set scriptstring target;
// ========================================= // =========================================
// ComWorld // ComWorld
@ -1283,9 +1326,12 @@ set reusable info;
set count cmodels numSubModels; set count cmodels numSubModels;
set count models numSubModels; set count models numSubModels;
// cmodel_t2
set reusable cmodel_t2::info;
// MapTriggers: See MapEnts // MapTriggers: See MapEnts
// ClipInfo: See clipMap_t // ClipInfo: See clipMap_t
// cmodel_t: See clipMap_t
// GfxBrushModel: See GfxWorld // GfxBrushModel: See GfxWorld
// ========================================= // =========================================

View File

@ -860,8 +860,8 @@ struct clipMap_t
unsigned int vertCount; unsigned int vertCount;
vec3_t *verts; vec3_t *verts;
int triCount; int triCount;
unsigned __int16 *triIndices; unsigned __int16 (*triIndices)[3];
char *triEdgeIsWalkable; char *triEdgeIsWalkable; // Saved as 1 bit per edge rounded up to the next 4 bytes
int partitionCount; int partitionCount;
CollisionPartition *partitions; CollisionPartition *partitions;
int aabbTreeCount; int aabbTreeCount;
@ -2274,6 +2274,15 @@ struct MemoryBlock
char *data; char *data;
}; };
struct cmodel_t2
{
vec3_t mins;
vec3_t maxs;
float radius;
ClipInfo *info;
cLeaf_s leaf;
};
struct AddonMapEnts struct AddonMapEnts
{ {
const char *name; const char *name;
@ -2282,7 +2291,7 @@ struct AddonMapEnts
MapTriggers trigger; MapTriggers trigger;
ClipInfo *info; ClipInfo *info;
unsigned int numSubModels; unsigned int numSubModels;
cmodel_t *cmodels; cmodel_t2 *cmodels;
GfxBrushModel *models; GfxBrushModel *models;
}; };
@ -2703,7 +2712,7 @@ struct cLeafBrushNode_s
cLeafBrushNodeData_t data; cLeafBrushNodeData_t data;
}; };
struct __declspec(align(8)) cbrush_t struct __declspec(align(16)) cbrush_t
{ {
vec3_t mins; vec3_t mins;
int contents; int contents;
@ -2758,7 +2767,7 @@ union CollisionAabbTreeIndex
int partitionIndex; int partitionIndex;
}; };
struct CollisionAabbTree struct __declspec(align(16)) CollisionAabbTree
{ {
vec3_t origin; vec3_t origin;
unsigned __int16 materialIndex; unsigned __int16 materialIndex;