diff --git a/src/Common/Game/IW3/IW3_Assets.h b/src/Common/Game/IW3/IW3_Assets.h index b781e97e..d3c65539 100644 --- a/src/Common/Game/IW3/IW3_Assets.h +++ b/src/Common/Game/IW3/IW3_Assets.h @@ -136,6 +136,7 @@ namespace IW3 typedef char cbrushedge_t; typedef float vec2_t[2]; typedef float vec3_t[3]; + typedef tdef_align(128) unsigned int raw_uint128; struct XModelPiece { @@ -1399,7 +1400,7 @@ namespace IW3 GfxPortalWritable writable; DpvsPlane plane; GfxCell* cell; - float(*vertices)[3]; + vec3_t* vertices; char vertexCount; float hullAxis[2][3]; }; @@ -1635,14 +1636,14 @@ namespace IW3 unsigned int surfaceVisDataCount; char* smodelVisData[3]; char* surfaceVisData[3]; - unsigned int* lodData; + raw_uint128* lodData; uint16_t* sortedSurfIndex; GfxStaticModelInst* smodelInsts; GfxSurface* surfaces; GfxCullGroup* cullGroups; GfxStaticModelDrawInst* smodelDrawInsts; GfxDrawSurf* surfaceMaterials; - unsigned int* surfaceCastsSunShadow; + raw_uint128* surfaceCastsSunShadow; volatile int usageCount; }; @@ -1654,6 +1655,11 @@ namespace IW3 char* dynEntVisData[2][3]; }; + struct GfxWorldStreamInfo + { + + }; + struct GfxWorld { const char* name; @@ -1663,7 +1669,7 @@ namespace IW3 int indexCount; uint16_t* indices; int surfaceCount; - //GfxWorldStreamInfo streamInfo; + GfxWorldStreamInfo streamInfo; int skySurfCount; int* skyStartSurfs; GfxImage* skyImage; @@ -1806,6 +1812,12 @@ namespace IW3 Operand operand; }; + enum expressionEntryType : int + { + EET_OPERATOR = 0x0, + EET_OPERAND = 0x1, + }; + struct expressionEntry { int type; @@ -2112,6 +2124,17 @@ namespace IW3 MISSILE_GUIDANCE_COUNT = 0x4, }; + struct snd_alias_list_name + { + const char* soundName; + }; + + union SndAliasCustom + { + snd_alias_list_name* name; + snd_alias_list_t* sound; + }; + struct WeaponDef { const char* szInternalName; @@ -2135,52 +2158,52 @@ namespace IW3 weapStance_t stance; FxEffectDef* viewFlashEffect; FxEffectDef* worldFlashEffect; - snd_alias_list_t* pickupSound; - snd_alias_list_t* pickupSoundPlayer; - snd_alias_list_t* ammoPickupSound; - snd_alias_list_t* ammoPickupSoundPlayer; - snd_alias_list_t* projectileSound; - snd_alias_list_t* pullbackSound; - snd_alias_list_t* pullbackSoundPlayer; - snd_alias_list_t* fireSound; - snd_alias_list_t* fireSoundPlayer; - snd_alias_list_t* fireLoopSound; - snd_alias_list_t* fireLoopSoundPlayer; - snd_alias_list_t* fireStopSound; - snd_alias_list_t* fireStopSoundPlayer; - snd_alias_list_t* fireLastSound; - snd_alias_list_t* fireLastSoundPlayer; - snd_alias_list_t* emptyFireSound; - snd_alias_list_t* emptyFireSoundPlayer; - snd_alias_list_t* meleeSwipeSound; - snd_alias_list_t* meleeSwipeSoundPlayer; - snd_alias_list_t* meleeHitSound; - snd_alias_list_t* meleeMissSound; - snd_alias_list_t* rechamberSound; - snd_alias_list_t* rechamberSoundPlayer; - snd_alias_list_t* reloadSound; - snd_alias_list_t* reloadSoundPlayer; - snd_alias_list_t* reloadEmptySound; - snd_alias_list_t* reloadEmptySoundPlayer; - snd_alias_list_t* reloadStartSound; - snd_alias_list_t* reloadStartSoundPlayer; - snd_alias_list_t* reloadEndSound; - snd_alias_list_t* reloadEndSoundPlayer; - snd_alias_list_t* detonateSound; - snd_alias_list_t* detonateSoundPlayer; - snd_alias_list_t* nightVisionWearSound; - snd_alias_list_t* nightVisionWearSoundPlayer; - snd_alias_list_t* nightVisionRemoveSound; - snd_alias_list_t* nightVisionRemoveSoundPlayer; - snd_alias_list_t* altSwitchSound; - snd_alias_list_t* altSwitchSoundPlayer; - snd_alias_list_t* raiseSound; - snd_alias_list_t* raiseSoundPlayer; - snd_alias_list_t* firstRaiseSound; - snd_alias_list_t* firstRaiseSoundPlayer; - snd_alias_list_t* putawaySound; - snd_alias_list_t* putawaySoundPlayer; - snd_alias_list_t** bounceSound; + SndAliasCustom pickupSound; + SndAliasCustom pickupSoundPlayer; + SndAliasCustom ammoPickupSound; + SndAliasCustom ammoPickupSoundPlayer; + SndAliasCustom projectileSound; + SndAliasCustom pullbackSound; + SndAliasCustom pullbackSoundPlayer; + SndAliasCustom fireSound; + SndAliasCustom fireSoundPlayer; + SndAliasCustom fireLoopSound; + SndAliasCustom fireLoopSoundPlayer; + SndAliasCustom fireStopSound; + SndAliasCustom fireStopSoundPlayer; + SndAliasCustom fireLastSound; + SndAliasCustom fireLastSoundPlayer; + SndAliasCustom emptyFireSound; + SndAliasCustom emptyFireSoundPlayer; + SndAliasCustom meleeSwipeSound; + SndAliasCustom meleeSwipeSoundPlayer; + SndAliasCustom meleeHitSound; + SndAliasCustom meleeMissSound; + SndAliasCustom rechamberSound; + SndAliasCustom rechamberSoundPlayer; + SndAliasCustom reloadSound; + SndAliasCustom reloadSoundPlayer; + SndAliasCustom reloadEmptySound; + SndAliasCustom reloadEmptySoundPlayer; + SndAliasCustom reloadStartSound; + SndAliasCustom reloadStartSoundPlayer; + SndAliasCustom reloadEndSound; + SndAliasCustom reloadEndSoundPlayer; + SndAliasCustom detonateSound; + SndAliasCustom detonateSoundPlayer; + SndAliasCustom nightVisionWearSound; + SndAliasCustom nightVisionWearSoundPlayer; + SndAliasCustom nightVisionRemoveSound; + SndAliasCustom nightVisionRemoveSoundPlayer; + SndAliasCustom altSwitchSound; + SndAliasCustom altSwitchSoundPlayer; + SndAliasCustom raiseSound; + SndAliasCustom raiseSoundPlayer; + SndAliasCustom firstRaiseSound; + SndAliasCustom firstRaiseSoundPlayer; + SndAliasCustom putawaySound; + SndAliasCustom putawaySoundPlayer; + SndAliasCustom* bounceSound; FxEffectDef* viewShellEjectEffect; FxEffectDef* worldShellEjectEffect; FxEffectDef* viewLastShotEjectEffect; @@ -2377,8 +2400,8 @@ namespace IW3 FxEffectDef* projExplosionEffect; int projExplosionEffectForceNormalUp; FxEffectDef* projDudEffect; - snd_alias_list_t* projExplosionSound; - snd_alias_list_t* projDudSound; + SndAliasCustom projExplosionSound; + SndAliasCustom projDudSound; int bProjImpactExplode; WeapStickinessType stickiness; int hasDetonator; @@ -2395,7 +2418,7 @@ namespace IW3 float maxSteeringAccel; int projIgnitionDelay; FxEffectDef* projIgnitionEffect; - snd_alias_list_t* projIgnitionSound; + SndAliasCustom projIgnitionSound; float fAdsAimPitch; float fAdsCrosshairInFrac; float fAdsCrosshairOutFrac; @@ -2436,9 +2459,18 @@ namespace IW3 float fHipViewScatterMax; float fightDist; float maxDist; - const char* accuracyGraphName[2]; - float(*accuracyGraphKnots[2])[2]; - float(*originalAccuracyGraphKnots[2])[2]; + // TODO: Order is accuracyGraphName[0] -> originalAccuracyGraphKnots[0] -> accuracyGraphName[1] -> ... + // Which is currently not possible to do in code generation. Afaik this is the only place where this is the case. + // So might be something to fix but on the other hand it might be too much work for this little inconvenience. + //const char* accuracyGraphName[2]; + const char* accuracyGraphName0; + const char* accuracyGraphName1; + //float(*accuracyGraphKnots[2])[2]; + vec2_t* accuracyGraphKnots0; + vec2_t* accuracyGraphKnots1; + //float(*originalAccuracyGraphKnots[2])[2]; + vec2_t* originalAccuracyGraphKnots0; + vec2_t* originalAccuracyGraphKnots1; int accuracyGraphKnotCount[2]; int originalAccuracyGraphKnotCount[2]; int iPositionReloadTransTime; @@ -2563,6 +2595,24 @@ namespace IW3 const char* name; }; + enum FxElemType + { + FX_ELEM_TYPE_SPRITE_BILLBOARD = 0x0, + FX_ELEM_TYPE_SPRITE_ORIENTED = 0x1, + FX_ELEM_TYPE_TAIL = 0x2, + FX_ELEM_TYPE_TRAIL = 0x3, + FX_ELEM_TYPE_CLOUD = 0x4, + FX_ELEM_TYPE_MODEL = 0x5, + FX_ELEM_TYPE_OMNI_LIGHT = 0x6, + FX_ELEM_TYPE_SPOT_LIGHT = 0x7, + FX_ELEM_TYPE_SOUND = 0x8, + FX_ELEM_TYPE_DECAL = 0x9, + FX_ELEM_TYPE_RUNNER = 0xA, + FX_ELEM_TYPE_COUNT = 0xB, + FX_ELEM_TYPE_LAST_SPRITE = 0x3, + FX_ELEM_TYPE_LAST_DRAWN = 0x7, + }; + union FxElemVisuals { const void* anonymous; diff --git a/src/ZoneCode/Game/IW3/XAssets/ComWorld.txt b/src/ZoneCode/Game/IW3/XAssets/ComWorld.txt index e69de29b..494f2208 100644 --- a/src/ZoneCode/Game/IW3/XAssets/ComWorld.txt +++ b/src/ZoneCode/Game/IW3/XAssets/ComWorld.txt @@ -0,0 +1,10 @@ +// ========================================= +// ComWorld +// ========================================= +use ComWorld; +set string name; +set name name; +set count primaryLights primaryLightCount; + +// ComPrimaryLight +set string ComPrimaryLight::defName; \ No newline at end of file diff --git a/src/ZoneCode/Game/IW3/XAssets/Font_s.txt b/src/ZoneCode/Game/IW3/XAssets/Font_s.txt index e69de29b..478248b3 100644 --- a/src/ZoneCode/Game/IW3/XAssets/Font_s.txt +++ b/src/ZoneCode/Game/IW3/XAssets/Font_s.txt @@ -0,0 +1,8 @@ +// ========================================= +// Font_s +// ========================================= +use Font_s; +set string fontName; +set name fontName; +set reusable glyphs; +set count glyphs glyphCount; \ No newline at end of file diff --git a/src/ZoneCode/Game/IW3/XAssets/FxEffectDef.txt b/src/ZoneCode/Game/IW3/XAssets/FxEffectDef.txt index e69de29b..c0b1fc42 100644 --- a/src/ZoneCode/Game/IW3/XAssets/FxEffectDef.txt +++ b/src/ZoneCode/Game/IW3/XAssets/FxEffectDef.txt @@ -0,0 +1,47 @@ +// ========================================= +// FxEffectDef +// ========================================= +use FxEffectDef; +set string name; +set name name; +set count elemDefs elemDefCountEmission + elemDefCountLooping + elemDefCountOneShot; + +// FxElemDef +use FxElemDef; +set count velSamples velIntervalCount + 1; +set count visSamples visStateIntervalCount + 1; + +// FxElemDefVisuals +use FxElemDefVisuals; +set condition markArray FxElemDef::elemType == FX_ELEM_TYPE_DECAL; +set count markArray FxElemDef::visualCount; +set condition array FxElemDef::visualCount > 1; +set count array FxElemDef::visualCount; + +// FxElemVisuals +use FxElemVisuals; +set condition anonymous never; +set condition model FxElemDef::elemType == FX_ELEM_TYPE_MODEL; +set condition effectDef FxElemDef::elemType == FX_ELEM_TYPE_RUNNER; +set condition soundName FxElemDef::elemType == FX_ELEM_TYPE_SOUND; +set string soundName; +set condition material FxElemDef::elemType == FX_ELEM_TYPE_SPRITE_BILLBOARD +|| FxElemDef::elemType == FX_ELEM_TYPE_SPRITE_ORIENTED +|| FxElemDef::elemType == FX_ELEM_TYPE_TAIL +|| FxElemDef::elemType == FX_ELEM_TYPE_TRAIL +|| FxElemDef::elemType == FX_ELEM_TYPE_CLOUD; + +// FxEffectDefRef +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; +set count inds indCount; \ No newline at end of file diff --git a/src/ZoneCode/Game/IW3/XAssets/FxImpactTable.txt b/src/ZoneCode/Game/IW3/XAssets/FxImpactTable.txt index e69de29b..8909ad19 100644 --- a/src/ZoneCode/Game/IW3/XAssets/FxImpactTable.txt +++ b/src/ZoneCode/Game/IW3/XAssets/FxImpactTable.txt @@ -0,0 +1,7 @@ +// ========================================= +// FxImpactTable +// ========================================= +use FxImpactTable; +set string name; +set name name; +set count table 12; \ No newline at end of file diff --git a/src/ZoneCode/Game/IW3/XAssets/GameWorldMp.txt b/src/ZoneCode/Game/IW3/XAssets/GameWorldMp.txt index e69de29b..de8e45ee 100644 --- a/src/ZoneCode/Game/IW3/XAssets/GameWorldMp.txt +++ b/src/ZoneCode/Game/IW3/XAssets/GameWorldMp.txt @@ -0,0 +1,6 @@ +// ========================================= +// GameWorldMp +// ========================================= +use GameWorldMp; +set string name; +set name name; \ No newline at end of file diff --git a/src/ZoneCode/Game/IW3/XAssets/GameWorldSp.txt b/src/ZoneCode/Game/IW3/XAssets/GameWorldSp.txt index e69de29b..1cd3f011 100644 --- a/src/ZoneCode/Game/IW3/XAssets/GameWorldSp.txt +++ b/src/ZoneCode/Game/IW3/XAssets/GameWorldSp.txt @@ -0,0 +1,66 @@ +// ========================================= +// GameWorldSp +// ========================================= +use GameWorldSp; +set string name; +set name name; + +// PathData +use PathData; +set count nodes nodeCount; +set block basenodes XFILE_BLOCK_RUNTIME; +set count basenodes nodeCount; +set count chainNodeForNode nodeCount; +set count nodeForChainNode nodeCount; +set count pathVis visBytes; +set count nodeTree nodeTreeCount; + +// pathnode_t +set condition pathnode_t::transient never; + +// pathnode_constant_t +use pathnode_constant_t; +set scriptstring targetname; +set scriptstring script_linkName; +set scriptstring script_noteworthy; +set scriptstring target; +set scriptstring animscript; +set count Links totalLinkCount; + +// pathnode_dynamic_t +set condition pathnode_dynamic_t::pOwner never; + +// pathnode_tree_t +use pathnode_tree_t; +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; \ No newline at end of file diff --git a/src/ZoneCode/Game/IW3/XAssets/GfxLightDef.txt b/src/ZoneCode/Game/IW3/XAssets/GfxLightDef.txt index e69de29b..a587320e 100644 --- a/src/ZoneCode/Game/IW3/XAssets/GfxLightDef.txt +++ b/src/ZoneCode/Game/IW3/XAssets/GfxLightDef.txt @@ -0,0 +1,6 @@ +// ========================================= +// GfxLightDef +// ========================================= +use GfxLightDef; +set string name; +set name name; \ No newline at end of file diff --git a/src/ZoneCode/Game/IW3/XAssets/GfxWorld.txt b/src/ZoneCode/Game/IW3/XAssets/GfxWorld.txt index e69de29b..ceb27600 100644 --- a/src/ZoneCode/Game/IW3/XAssets/GfxWorld.txt +++ b/src/ZoneCode/Game/IW3/XAssets/GfxWorld.txt @@ -0,0 +1,123 @@ +// ========================================= +// GfxWorld +// ========================================= +use GfxWorld; +set string name; +set name name; +set string baseName; +set count indices indexCount; +set count skyStartSurfs skySurfCount; +set reusable sunLight; +set count reflectionProbes reflectionProbeCount; +set block reflectionProbeTextures XFILE_BLOCK_RUNTIME; +set count reflectionProbeTextures reflectionProbeCount; +set count cells dpvsPlanes::cellCount; +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 models modelCount; +set count materialMemory materialMemoryCount; +set block cellCasterBits XFILE_BLOCK_RUNTIME; +set count cellCasterBits dpvsPlanes::cellCount * ((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 - 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 block nonSunPrimaryLightForModelDynEnt XFILE_BLOCK_RUNTIME; +set count nonSunPrimaryLightForModelDynEnt dpvsDyn::dynEntClientCount[0]; +set count shadowGeom primaryLightCount; +set count lightRegion primaryLightCount; +reorder: + ... + materialMemory + vd + vld; + +// 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; + +// GfxCell +use GfxCell; +set count aabbTree aabbTreeCount; +set count portals portalCount; +set count cullGroups cullGroupCount; +set count reflectionProbes reflectionProbeCount; + +// GfxAabbTree +use GfxAabbTree; +set reusable smodelIndexes; +set count smodelIndexes smodelIndexCount; + +// GfxPortal +use GfxPortal; +set condition writable never; +set reusable cell; +set count vertices vertexCount; + +// GfxLightGrid +use GfxLightGrid; +set count rowDataStart maxs[rowAxis] - mins[rowAxis] + 1; +set count rawRowData rawRowDataSize; +set count entries entryCount; +set count colors colorCount; + +// GfxWorldVertexData +set count GfxWorldVertexData::vertices GfxWorld::vertexCount; + +// GfxWorldVertexLayerData +set count GfxWorldVertexLayerData::data GfxWorld::vertexLayerDataSize; + +// 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 block lodData XFILE_BLOCK_RUNTIME; +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 smodelDrawInsts smodelCount; +set block surfaceMaterials XFILE_BLOCK_RUNTIME; +set count surfaceMaterials staticSurfaceCount; +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]; \ No newline at end of file diff --git a/src/ZoneCode/Game/IW3/XAssets/LeaderboardDef.txt b/src/ZoneCode/Game/IW3/XAssets/LeaderboardDef.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/src/ZoneCode/Game/IW3/XAssets/LocalizeEntry.txt b/src/ZoneCode/Game/IW3/XAssets/LocalizeEntry.txt index e69de29b..98fb1f89 100644 --- a/src/ZoneCode/Game/IW3/XAssets/LocalizeEntry.txt +++ b/src/ZoneCode/Game/IW3/XAssets/LocalizeEntry.txt @@ -0,0 +1,7 @@ +// ========================================= +// LocalizeEntry +// ========================================= +use LocalizeEntry; +set string name; +set name name; +set string value; \ No newline at end of file diff --git a/src/ZoneCode/Game/IW3/XAssets/MapEnts.txt b/src/ZoneCode/Game/IW3/XAssets/MapEnts.txt index e69de29b..88f12c65 100644 --- a/src/ZoneCode/Game/IW3/XAssets/MapEnts.txt +++ b/src/ZoneCode/Game/IW3/XAssets/MapEnts.txt @@ -0,0 +1,7 @@ +// ========================================= +// MapEnts +// ========================================= +use MapEnts; +set string name; +set name name; +set count entityString numEntityChars; \ No newline at end of file diff --git a/src/ZoneCode/Game/IW3/XAssets/MenuList.txt b/src/ZoneCode/Game/IW3/XAssets/MenuList.txt index e69de29b..bcc2bb31 100644 --- a/src/ZoneCode/Game/IW3/XAssets/MenuList.txt +++ b/src/ZoneCode/Game/IW3/XAssets/MenuList.txt @@ -0,0 +1,7 @@ +// ========================================= +// MenuList +// ========================================= +use MenuList; +set string name; +set name name; +set count menus menuCount; \ No newline at end of file diff --git a/src/ZoneCode/Game/IW3/XAssets/RawFile.txt b/src/ZoneCode/Game/IW3/XAssets/RawFile.txt index e69de29b..242b2d68 100644 --- a/src/ZoneCode/Game/IW3/XAssets/RawFile.txt +++ b/src/ZoneCode/Game/IW3/XAssets/RawFile.txt @@ -0,0 +1,7 @@ +// ========================================= +// RawFile +// ========================================= +use RawFile; +set string name; +set name name; +set count buffer len + 1; \ No newline at end of file diff --git a/src/ZoneCode/Game/IW3/XAssets/StringTable.txt b/src/ZoneCode/Game/IW3/XAssets/StringTable.txt index e69de29b..b161cabb 100644 --- a/src/ZoneCode/Game/IW3/XAssets/StringTable.txt +++ b/src/ZoneCode/Game/IW3/XAssets/StringTable.txt @@ -0,0 +1,8 @@ +// ========================================= +// StringTable +// ========================================= +use StringTable; +set string name; +set name name; +set string values; +set count values columnCount * rowCount; \ No newline at end of file diff --git a/src/ZoneCode/Game/IW3/XAssets/WeaponDef.txt b/src/ZoneCode/Game/IW3/XAssets/WeaponDef.txt index e69de29b..f58c987a 100644 --- a/src/ZoneCode/Game/IW3/XAssets/WeaponDef.txt +++ b/src/ZoneCode/Game/IW3/XAssets/WeaponDef.txt @@ -0,0 +1,51 @@ +// ========================================= +// WeaponCompleteDef +// ========================================= +use WeaponDef; +set string szInternalName; +set name szInternalName; +set string szDisplayName; +set string szOverlayName; +set string szXAnims; +set string szModeName; +set scriptstring hideTags; +set scriptstring notetrackSoundMapKeys; +set scriptstring notetrackSoundMapValues; +set reusable bounceSound; +set count bounceSound 29; +set string szAmmoName; +set string szClipName; +set string szSharedAmmoCapName; +set string szAltWeaponName; +set string accuracyGraphName0; +set string accuracyGraphName1; +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 string szUseHintString; +set string dropHintString; +set string szScript; +set string fireRumble; +set string meleeImpactRumble; +reorder: + ... + accuracyGraphName0 + accuracyGraphKnots0 + originalAccuracyGraphKnots0 + accuracyGraphName1 + accuracyGraphKnots1; + originalAccuracyGraphKnots1; + +// SndAliasCustom +use SndAliasCustom; +set count name 1; +set reusable name; +set condition sound never; + +// snd_alias_list_name +set string snd_alias_list_name::soundName; \ No newline at end of file diff --git a/src/ZoneCode/Game/IW3/XAssets/menuDef_t.txt b/src/ZoneCode/Game/IW3/XAssets/menuDef_t.txt index e69de29b..a2d3f475 100644 --- a/src/ZoneCode/Game/IW3/XAssets/menuDef_t.txt +++ b/src/ZoneCode/Game/IW3/XAssets/menuDef_t.txt @@ -0,0 +1,82 @@ +// ========================================= +// menuDef_t +// ========================================= +use menuDef_t; +set string window::name; +set name window::name; +set string font; +set string onOpen; +set string onClose; +set string onESC; +set reusable visibleExp; +set string allowedBinding; +set string soundName; +set reusable rectXExp; +set reusable rectYExp; +set count items itemCount; + +// windowDef_t +use windowDef_t; +set string name; +set string group; + +// ItemKeyHandler +set string ItemKeyHandler::action; + +// statement_s +set count statement_s::entries numEntries; + +// expressionEntry +set condition expressionEntry::data::operand type == EET_OPERAND; + +// Operand +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; + +// itemDef_s +use itemDef_s; +set string text; +set condition parent never; +set string mouseEnterText; +set string mouseExitText; +set string mouseEnter; +set string mouseExit; +set string action; +set string onAccept; +set string onFocus; +set string leaveFocus; +set string dvar; +set string dvarTest; +set string enableDvar; + +// itemDefData_t +use itemDefData_t; +set string enumDvarName; +set condition data never; +set condition listBox itemDef_s::type == 6; +set condition editField itemDef_s::type == 0 + || itemDef_s::type == 4 + || itemDef_s::type == 9 + || itemDef_s::type == 10 + || itemDef_s::type == 11 + || itemDef_s::type == 14 + || itemDef_s::type == 16 + || itemDef_s::type == 17 + || itemDef_s::type == 18 + || itemDef_s::type == 22 + || 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; + +// multiDef_s +use multiDef_s; +set string dvarList; +set string dvarStr; \ No newline at end of file