diff --git a/src/ZoneCode/Game/T6/T6_Commands.txt b/src/ZoneCode/Game/T6/T6_Commands.txt index dda91ed1..9e70ea99 100644 --- a/src/ZoneCode/Game/T6/T6_Commands.txt +++ b/src/ZoneCode/Game/T6/T6_Commands.txt @@ -427,6 +427,38 @@ set count elements elementCount; use clipMap_t; set string 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 use ClipInfo; @@ -467,7 +499,18 @@ set reusable sides; set reusable verts; // 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 @@ -1283,9 +1326,12 @@ set reusable info; set count cmodels numSubModels; set count models numSubModels; +// cmodel_t2 +set reusable cmodel_t2::info; + // MapTriggers: See MapEnts // ClipInfo: See clipMap_t -// cmodel_t: See clipMap_t + // GfxBrushModel: See GfxWorld // ========================================= diff --git a/src/ZoneCommon/Game/T6/T6_Assets.h b/src/ZoneCommon/Game/T6/T6_Assets.h index a57d9868..16991cf8 100644 --- a/src/ZoneCommon/Game/T6/T6_Assets.h +++ b/src/ZoneCommon/Game/T6/T6_Assets.h @@ -860,8 +860,8 @@ struct clipMap_t unsigned int vertCount; vec3_t *verts; int triCount; - unsigned __int16 *triIndices; - char *triEdgeIsWalkable; + unsigned __int16 (*triIndices)[3]; + char *triEdgeIsWalkable; // Saved as 1 bit per edge rounded up to the next 4 bytes int partitionCount; CollisionPartition *partitions; int aabbTreeCount; @@ -2274,6 +2274,15 @@ struct MemoryBlock char *data; }; +struct cmodel_t2 +{ + vec3_t mins; + vec3_t maxs; + float radius; + ClipInfo *info; + cLeaf_s leaf; +}; + struct AddonMapEnts { const char *name; @@ -2282,7 +2291,7 @@ struct AddonMapEnts MapTriggers trigger; ClipInfo *info; unsigned int numSubModels; - cmodel_t *cmodels; + cmodel_t2 *cmodels; GfxBrushModel *models; }; @@ -2703,7 +2712,7 @@ struct cLeafBrushNode_s cLeafBrushNodeData_t data; }; -struct __declspec(align(8)) cbrush_t +struct __declspec(align(16)) cbrush_t { vec3_t mins; int contents; @@ -2758,7 +2767,7 @@ union CollisionAabbTreeIndex int partitionIndex; }; -struct CollisionAabbTree +struct __declspec(align(16)) CollisionAabbTree { vec3_t origin; unsigned __int16 materialIndex;