mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-22 17:15:46 +00:00
128 lines
4.9 KiB
Plaintext
128 lines
4.9 KiB
Plaintext
// =========================================
|
|
// GfxWorld
|
|
// =========================================
|
|
use GfxWorld;
|
|
set block XFILE_BLOCK_TEMP;
|
|
set string name;
|
|
set name name;
|
|
set string baseName;
|
|
set count skies skyCount;
|
|
set count aabbTreeCounts dpvsPlanes::cellCount;
|
|
set count aabbTrees dpvsPlanes::cellCount;
|
|
set count cells dpvsPlanes::cellCount;
|
|
set count models modelCount;
|
|
set count materialMemory materialMemoryCount;
|
|
set block cellCasterBits XFILE_BLOCK_RUNTIME;
|
|
set count cellCasterBits dpvsPlanes::cellCount * ((dpvsPlanes::cellCount + 31) / 32);
|
|
set block cellHasSunLitSurfsBits XFILE_BLOCK_RUNTIME;
|
|
set count cellHasSunLitSurfsBits (dpvsPlanes::cellCount + 31) / 32;
|
|
set block sceneDynModel XFILE_BLOCK_RUNTIME;
|
|
set count sceneDynModel dpvsDyn::dynEntClientCount[0];
|
|
set block sceneDynBrush XFILE_BLOCK_RUNTIME;
|
|
set count sceneDynBrush dpvsDyn::dynEntClientCount[1];
|
|
set block primaryLightEntityShadowVis XFILE_BLOCK_RUNTIME;
|
|
set count primaryLightEntityShadowVis (primaryLightCount - lastSunPrimaryLightIndex - 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 block nonSunPrimaryLightForModelDynEnt XFILE_BLOCK_RUNTIME;
|
|
set count nonSunPrimaryLightForModelDynEnt dpvsDyn::dynEntClientCount[0];
|
|
set count shadowGeom primaryLightCount;
|
|
set count lightRegion primaryLightCount;
|
|
set count heroOnlyLights heroOnlyLightCount;
|
|
|
|
// GfxSky
|
|
set count GfxSky::skyStartSurfs skySurfCount;
|
|
|
|
// GfxWorldDpvsPlanes
|
|
use GfxWorldDpvsPlanes;
|
|
set reusable planes;
|
|
set count planes GfxWorld::planeCount;
|
|
set count nodes GfxWorld::nodeCount;
|
|
set block sceneEntCellBits XFILE_BLOCK_RUNTIME;
|
|
set count sceneEntCellBits cellCount * 0x200;
|
|
|
|
// GfxCellTree
|
|
// Extremly dirty hack caused by IW doing an extremly dirty hack in their code as well.
|
|
// No idea why they decided to separate the count from the pointer that uses the count.
|
|
// Thank you Treyarch for doing better in your games at least.
|
|
set count GfxCellTree::aabbTree GfxWorld::aabbTreeCounts[GfxCellTree - GfxWorld::aabbTrees];
|
|
|
|
// GfxAabbTree
|
|
use GfxAabbTree;
|
|
set reusable smodelIndexes;
|
|
set count smodelIndexes smodelIndexCount;
|
|
|
|
// GfxCell
|
|
use GfxCell;
|
|
set count portals portalCount;
|
|
set count reflectionProbes reflectionProbeCount;
|
|
|
|
// GfxPortal
|
|
use GfxPortal;
|
|
set condition writable never;
|
|
set count vertices vertexCount;
|
|
|
|
// GfxWorldDraw
|
|
use GfxWorldDraw;
|
|
set count reflectionProbes reflectionProbeCount;
|
|
set count reflectionProbeOrigins reflectionProbeCount;
|
|
set block reflectionProbeTextures XFILE_BLOCK_RUNTIME;
|
|
set count reflectionProbeTextures reflectionProbeCount;
|
|
set count lightmaps lightmapCount;
|
|
set block lightmapPrimaryTextures XFILE_BLOCK_RUNTIME;
|
|
set count lightmapPrimaryTextures lightmapCount;
|
|
set block lightmapSecondaryTextures XFILE_BLOCK_RUNTIME;
|
|
set count lightmapSecondaryTextures lightmapCount;
|
|
set count vd::vertices vertexCount;
|
|
set condition vd::worldVb never;
|
|
set count vld::data vertexLayerDataSize;
|
|
set condition vld::layerVb never;
|
|
set count indices indexCount;
|
|
|
|
// GfxLightGrid
|
|
use GfxLightGrid;
|
|
set count rowDataStart maxs[rowAxis] - mins[rowAxis] + 1;
|
|
set count rawRowData rawRowDataSize;
|
|
set count entries entryCount;
|
|
set count colors colorCount;
|
|
|
|
// GfxShadowGeometry
|
|
use GfxShadowGeometry;
|
|
set count sortedSurfIndex surfaceCount;
|
|
set count smodelIndex smodelCount;
|
|
|
|
// GfxLightRegion
|
|
set count GfxLightRegion::hulls hullCount;
|
|
|
|
// GfxLightRegionHull
|
|
set count GfxLightRegionHull::axis axisCount;
|
|
|
|
// GfxWorldDpvsStatic
|
|
use GfxWorldDpvsStatic;
|
|
set block smodelVisData XFILE_BLOCK_RUNTIME;
|
|
set count smodelVisData smodelCount;
|
|
set block surfaceVisData XFILE_BLOCK_RUNTIME;
|
|
set count surfaceVisData staticSurfaceCount;
|
|
set count sortedSurfIndex staticSurfaceCount + staticSurfaceCountNoDecal;
|
|
set count smodelInsts smodelCount;
|
|
set count surfaces GfxWorld::surfaceCount;
|
|
set count surfacesBounds GfxWorld::surfaceCount;
|
|
set count smodelDrawInsts smodelCount;
|
|
set block surfaceMaterials XFILE_BLOCK_RUNTIME;
|
|
set count surfaceMaterials GfxWorld::surfaceCount;
|
|
set block surfaceCastsSunShadow XFILE_BLOCK_RUNTIME;
|
|
set count surfaceCastsSunShadow surfaceVisDataCount;
|
|
|
|
// GfxWorldDpvsDynamic
|
|
use GfxWorldDpvsDynamic;
|
|
set block dynEntCellBits XFILE_BLOCK_RUNTIME;
|
|
set count dynEntCellBits[0] dynEntClientWordCount[0] * GfxWorld::dpvsPlanes::cellCount;
|
|
set count dynEntCellBits[1] dynEntClientWordCount[1] * GfxWorld::dpvsPlanes::cellCount;
|
|
set block dynEntVisData XFILE_BLOCK_RUNTIME;
|
|
set count dynEntVisData[0][0] 32 * dynEntClientWordCount[0];
|
|
set count dynEntVisData[1][0] 32 * dynEntClientWordCount[1];
|
|
set count dynEntVisData[0][1] 32 * dynEntClientWordCount[0];
|
|
set count dynEntVisData[1][1] 32 * dynEntClientWordCount[1];
|
|
set count dynEntVisData[0][2] 32 * dynEntClientWordCount[0];
|
|
set count dynEntVisData[1][2] 32 * dynEntClientWordCount[1]; |