Finish iw3 zone code generation

This commit is contained in:
Jan
2021-04-14 18:39:54 +02:00
parent adae75a7a6
commit 6b72ac080f
20 changed files with 542 additions and 76 deletions

View File

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

View File

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

View File

@ -12,7 +12,7 @@ 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_PVS;
asset ComWorld ASSET_TYPE_COMWORLD;
asset GameWorldSp ASSET_TYPE_GAMEWORLD_SP;
asset GameWorldMp ASSET_TYPE_GAMEWORLD_MP;

View File

@ -36,11 +36,6 @@ use FxEffectDefRef;
set condition handle never;
set string name;
// FxElemExtendedDefPtr
use FxElemExtendedDefPtr;
set condition trailDef FxElemDef::elemType == FX_ELEM_TYPE_TRAIL;
set condition sparkFountainDef FxElemDef::elemType == FX_ELEM_TYPE_SPARK_FOUNTAIN;
// FxTrailDef
use FxTrailDef;
set count verts vertCount;

View File

@ -36,31 +36,4 @@ set condition u::child axis >= 0;
set reusable u::child;
// pathnode_tree_nodes_t
set count pathnode_tree_nodes_t::nodes nodeCount;
// VehicleTrack
use VehicleTrack;
set reusable segments;
set count segments segmentCount;
// VehicleTrackSegment
use VehicleTrackSegment;
set string targetName;
set count sectors sectorCount;
set reusable nextBranches;
set count nextBranches nextBranchesCount;
set reusable prevBranches;
set count prevBranches prevBranchesCount;
// VehicleTrackSector
set count VehicleTrackSector::obstacles obstacleCount;
// G_GlassData
use G_GlassData;
set count glassPieces pieceCount;
set count glassNames glassNameCount;
// G_GlassName
use G_GlassName;
set string nameStr;
set count pieceIndices pieceCount;
set count pathnode_tree_nodes_t::nodes nodeCount;

View File

@ -28,8 +28,8 @@ set count sceneDynBrush dpvsDyn::dynEntClientCount[1];
set block primaryLightEntityShadowVis XFILE_BLOCK_RUNTIME;
set count primaryLightEntityShadowVis (primaryLightCount - sunPrimaryLightIndex - 1) * 0x2000;
set block primaryLightDynEntShadowVis XFILE_BLOCK_RUNTIME;
set count primaryLightDynEntShadowVis[0] dpvsDyn::dynEntClientCount[0] * (primaryLightCount - lastSunPrimaryLightIndex - 1);
set count primaryLightDynEntShadowVis[1] dpvsDyn::dynEntClientCount[1] * (primaryLightCount - lastSunPrimaryLightIndex - 1);
set count primaryLightDynEntShadowVis[0] dpvsDyn::dynEntClientCount[0] * (primaryLightCount - sunPrimaryLightIndex - 1);
set count primaryLightDynEntShadowVis[1] dpvsDyn::dynEntClientCount[1] * (primaryLightCount - sunPrimaryLightIndex - 1);
set block nonSunPrimaryLightForModelDynEnt XFILE_BLOCK_RUNTIME;
set count nonSunPrimaryLightForModelDynEnt dpvsDyn::dynEntClientCount[0];
set count shadowGeom primaryLightCount;
@ -74,10 +74,14 @@ set count entries entryCount;
set count colors colorCount;
// GfxWorldVertexData
set count GfxWorldVertexData::vertices GfxWorld::vertexCount;
use GfxWorldVertexData;
set count vertices GfxWorld::vertexCount;
set condition worldVb never;
// GfxWorldVertexLayerData
set count GfxWorldVertexLayerData::data GfxWorld::vertexLayerDataSize;
use GfxWorldVertexLayerData;
set count data GfxWorld::vertexLayerDataSize;
set condition layerVb never;
// GfxShadowGeometry
use GfxShadowGeometry;
@ -101,8 +105,7 @@ set count lodData 2 * smodelVisDataCount;
set count sortedSurfIndex staticSurfaceCount + staticSurfaceCountNoDecal;
set count smodelInsts smodelCount;
set count surfaces GfxWorld::surfaceCount;
set count cullGroups cullGroupCount;
set count surfacesBounds GfxWorld::surfaceCount;
set count cullGroups GfxWorld::cullGroupCount;
set count smodelDrawInsts smodelCount;
set block surfaceMaterials XFILE_BLOCK_RUNTIME;
set count surfaceMaterials staticSurfaceCount;

View File

@ -34,9 +34,6 @@ set count GfxPixelShaderLoadDef::program programSize;
// MaterialPixelShaderProgram
set condition MaterialPixelShaderProgram::ps never;
// MaterialVertexDeclaration
set string MaterialVertexDeclaration::name;
// MaterialVertexStreamRouting
set condition MaterialVertexStreamRouting::decl never;

View File

@ -1,5 +1,5 @@
// =========================================
// WeaponCompleteDef
// WeaponDef
// =========================================
use WeaponDef;
set string szInternalName;
@ -23,23 +23,24 @@ set reusable accuracyGraphKnots0;
set reusable accuracyGraphKnots1;
set reusable originalAccuracyGraphKnots0;
set reusable originalAccuracyGraphKnots1;
set count accuracyGraphKnots0 WeaponCompleteDef::accuracyGraphKnotCount[0];
set count accuracyGraphKnots1 WeaponCompleteDef::accuracyGraphKnotCount[1];
set count originalAccuracyGraphKnots0 WeaponCompleteDef::accuracyGraphKnotCount[0]; // yeah it uses accuracyGraphKnotCount
set count originalAccuracyGraphKnots1 WeaponCompleteDef::accuracyGraphKnotCount[1];
set count accuracyGraphKnots0 accuracyGraphKnotCount[0];
set count accuracyGraphKnots1 accuracyGraphKnotCount[1];
set count originalAccuracyGraphKnots0 accuracyGraphKnotCount[0]; // yeah it uses accuracyGraphKnotCount
set count originalAccuracyGraphKnots1 accuracyGraphKnotCount[1];
set string szUseHintString;
set string dropHintString;
set string szScript;
set string fireRumble;
set string meleeImpactRumble;
reorder:
...
accuracyGraphName0
accuracyGraphKnots0
originalAccuracyGraphKnots0
accuracyGraphName1
accuracyGraphKnots1;
originalAccuracyGraphKnots1;
...
accuracyGraphName0
accuracyGraphKnots0
originalAccuracyGraphKnots0
accuracyGraphName1
accuracyGraphKnots1
originalAccuracyGraphKnots1;
// SndAliasCustom
use SndAliasCustom;

View File

@ -32,12 +32,6 @@ set count geoms count;
// PhysGeomInfo
use PhysGeomInfo;
// XModelSurfs
use XModelSurfs;
set block XFILE_BLOCK_VIRTUAL;
set string name;
set count surfs XModelLodInfo::numsurfs; // No this is not a mistake. This is how the game does it.
// XSurface
use XSurface;
set reusable verts0;

View File

@ -23,7 +23,7 @@ set count partitions partitionCount;
set count aabbTrees aabbTreeCount;
set count cmodels numSubModels;
set count brushes numBrushes;
set visibility numClusters * clusterBytes;
set count visibility numClusters * clusterBytes;
set reusable box_brush;
set count dynEntDefList[0] dynEntCount[0];
set count dynEntDefList[1] dynEntCount[1];

View File

@ -34,7 +34,7 @@ use Operand;
set condition internals::intVal dataType == VAL_INT;
set condition internals::floatVal dataType == VAL_FLOAT;
set condition internals::stringVal dataType == VAL_STRING;
set string internal::stringVal;
set string internals::stringVal;
// itemDef_s
use itemDef_s;
@ -70,8 +70,6 @@ set condition editField itemDef_s::type == 0
|| itemDef_s::type == 23;
set condition multi itemDef_s::type == 12;
set condition enumDvarName itemDef_s::type == 13;
set condition ticker itemDef_s::type == 20;
set condition scroll itemDef_s::type == 21;
// listBoxDef_s
set string listBoxDef_s::doubleClick;