mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-10 23:08:05 -05:00
iw3 basis
This commit is contained in:
0
src/ZoneCode/Game/IW3/IW3.gen
Normal file
0
src/ZoneCode/Game/IW3/IW3.gen
Normal file
0
src/ZoneCode/Game/IW3/IW3.h
Normal file
0
src/ZoneCode/Game/IW3/IW3.h
Normal file
69
src/ZoneCode/Game/IW3/IW3_Commands.txt
Normal file
69
src/ZoneCode/Game/IW3/IW3_Commands.txt
Normal file
@ -0,0 +1,69 @@
|
||||
// Game: Modern Warfare (IW3)
|
||||
game IW3;
|
||||
architecture x86;
|
||||
|
||||
// Game Assets
|
||||
asset PhysPreset ASSET_TYPE_PHYSPRESET;
|
||||
asset XAnimParts ASSET_TYPE_XANIMPARTS;
|
||||
asset XModel ASSET_TYPE_XMODEL;
|
||||
asset Material ASSET_TYPE_MATERIAL;
|
||||
asset MaterialTechniqueSet ASSET_TYPE_TECHNIQUE_SET;
|
||||
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 ComWorld ASSET_TYPE_COMWORLD;
|
||||
asset GameWorldSp ASSET_TYPE_GAMEWORLD_SP;
|
||||
asset GameWorldMp ASSET_TYPE_GAMEWORLD_MP;
|
||||
asset MapEnts ASSET_TYPE_MAP_ENTS;
|
||||
asset GfxWorld ASSET_TYPE_GFXWORLD;
|
||||
asset GfxLightDef ASSET_TYPE_LIGHT_DEF;
|
||||
asset Font_s ASSET_TYPE_FONT;
|
||||
asset MenuList ASSET_TYPE_MENULIST;
|
||||
asset menuDef_t ASSET_TYPE_MENU;
|
||||
asset LocalizeEntry ASSET_TYPE_LOCALIZE_ENTRY;
|
||||
asset WeaponDef ASSET_TYPE_WEAPON;
|
||||
asset FxEffectDef ASSET_TYPE_FX;
|
||||
asset FxImpactTable ASSET_TYPE_IMPACT_FX;
|
||||
asset RawFile ASSET_TYPE_RAWFILE;
|
||||
asset StringTable ASSET_TYPE_STRINGTABLE;
|
||||
|
||||
// Setup blocks
|
||||
block temp XFILE_BLOCK_TEMP default;
|
||||
block runtime XFILE_BLOCK_RUNTIME default;
|
||||
block runtime XFILE_BLOCK_LARGE_RUNTIME;
|
||||
block runtime XFILE_BLOCK_PHYSICAL_RUNTIME;
|
||||
block normal XFILE_BLOCK_VIRTUAL default;
|
||||
block normal XFILE_BLOCK_LARGE;
|
||||
block normal XFILE_BLOCK_PHYSICAL;
|
||||
block normal XFILE_BLOCK_VERTEX;
|
||||
block normal XFILE_BLOCK_INDEX;
|
||||
|
||||
#include "XAssets/PhysPreset.txt"
|
||||
#include "XAssets/XAnimParts.txt"
|
||||
#include "XAssets/XModel.txt"
|
||||
#include "XAssets/Material.txt"
|
||||
#include "XAssets/MaterialTechniqueSet.txt"
|
||||
#include "XAssets/GfxImage.txt"
|
||||
#include "XAssets/snd_alias_list_t.txt"
|
||||
#include "XAssets/SndCurve.txt"
|
||||
#include "XAssets/LoadedSound.txt"
|
||||
#include "XAssets/clipMap_t.txt"
|
||||
#include "XAssets/ComWorld.txt"
|
||||
#include "XAssets/GameWorldSp.txt"
|
||||
#include "XAssets/GameWorldMp.txt"
|
||||
#include "XAssets/MapEnts.txt"
|
||||
#include "XAssets/GfxWorld.txt"
|
||||
#include "XAssets/LocalizeEntry.txt"
|
||||
#include "XAssets/WeaponDef.txt"
|
||||
#include "XAssets/MenuList.txt"
|
||||
#include "XAssets/menuDef_t.txt"
|
||||
#include "XAssets/FxEffectDef.txt"
|
||||
#include "XAssets/FxImpactTable.txt"
|
||||
#include "XAssets/GfxLightDef.txt"
|
||||
#include "XAssets/Font_s.txt"
|
||||
#include "XAssets/RawFile.txt"
|
||||
#include "XAssets/StringTable.txt"
|
||||
|
||||
// EOF
|
0
src/ZoneCode/Game/IW3/XAssets/ComWorld.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/ComWorld.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/Font_s.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/Font_s.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/FxEffectDef.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/FxEffectDef.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/FxImpactTable.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/FxImpactTable.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/GameWorldMp.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/GameWorldMp.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/GameWorldSp.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/GameWorldSp.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/GfxImage.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/GfxImage.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/GfxLightDef.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/GfxLightDef.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/GfxWorld.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/GfxWorld.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/LeaderboardDef.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/LeaderboardDef.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/LoadedSound.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/LoadedSound.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/LocalizeEntry.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/LocalizeEntry.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/MapEnts.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/MapEnts.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/Material.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/Material.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/MenuList.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/MenuList.txt
Normal file
7
src/ZoneCode/Game/IW3/XAssets/PhysPreset.txt
Normal file
7
src/ZoneCode/Game/IW3/XAssets/PhysPreset.txt
Normal file
@ -0,0 +1,7 @@
|
||||
// =========================================
|
||||
// PhysPreset
|
||||
// =========================================
|
||||
use PhysPreset;
|
||||
set string name;
|
||||
set name name;
|
||||
set string sndAliasPrefix;
|
0
src/ZoneCode/Game/IW3/XAssets/RawFile.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/RawFile.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/SndCurve.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/SndCurve.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/StringTable.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/StringTable.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/WeaponDef.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/WeaponDef.txt
Normal file
68
src/ZoneCode/Game/IW3/XAssets/XAnimParts.txt
Normal file
68
src/ZoneCode/Game/IW3/XAssets/XAnimParts.txt
Normal file
@ -0,0 +1,68 @@
|
||||
// =========================================
|
||||
// XAnimParts
|
||||
// =========================================
|
||||
use XAnimParts;
|
||||
set string name;
|
||||
set name name;
|
||||
set scriptstring names;
|
||||
set count names boneCount[9];
|
||||
set count notify notifyCount;
|
||||
set count deltaPart 1;
|
||||
set count dataByte dataByteCount;
|
||||
set count dataShort dataShortCount;
|
||||
set count dataInt dataIntCount;
|
||||
set count randomDataShort randomDataShortCount;
|
||||
set count randomDataByte randomDataByteCount;
|
||||
set count randomDataInt randomDataIntCount;
|
||||
set count indices::_1 indexCount;
|
||||
set count indices::_2 indexCount;
|
||||
set condition indices::_1 numframes < 256;
|
||||
set condition indices::data never;
|
||||
reorder:
|
||||
name
|
||||
names
|
||||
notify
|
||||
deltaPart
|
||||
dataByte
|
||||
dataShort
|
||||
dataInt
|
||||
randomDataShort
|
||||
randomDataByte
|
||||
randomDataInt
|
||||
indices;
|
||||
|
||||
// XAnimNotifyInfo
|
||||
set scriptstring XAnimNotifyInfo::name;
|
||||
|
||||
// XAnimDeltaPart
|
||||
use XAnimDeltaPart;
|
||||
set count trans 1;
|
||||
set count quat 1;
|
||||
|
||||
// XAnimPartTrans
|
||||
use XAnimPartTrans;
|
||||
set condition u::frames size > 0;
|
||||
set condition u::frames::indices::_1 XAnimParts::numframes < 256;
|
||||
set arraysize u::frames::indices::_1 size + 1;
|
||||
set arraysize u::frames::indices::_2 size + 1;
|
||||
set condition u::frames::frames::_1 smallTrans;
|
||||
set count u::frames::frames::_1 size + 1;
|
||||
set count u::frames::frames::_2 size + 1;
|
||||
|
||||
// XAnimPartTransFrames
|
||||
reorder XAnimPartTransFrames:
|
||||
indices
|
||||
frames;
|
||||
|
||||
// XAnimDeltaPartQuat
|
||||
use XAnimDeltaPartQuat;
|
||||
set condition u::frames size > 0;
|
||||
set condition u::frames::indices::_1 XAnimParts::numframes < 256;
|
||||
set arraysize u::frames::indices::_1 size + 1;
|
||||
set arraysize u::frames::indices::_2 size + 1;
|
||||
set count u::frames::frames size + 1;
|
||||
|
||||
// XAnimDeltaPartQuatDataFrames
|
||||
reorder XAnimDeltaPartQuatDataFrames:
|
||||
indices
|
||||
frames;
|
75
src/ZoneCode/Game/IW3/XAssets/XModel.txt
Normal file
75
src/ZoneCode/Game/IW3/XAssets/XModel.txt
Normal file
@ -0,0 +1,75 @@
|
||||
// =========================================
|
||||
// XModel
|
||||
// =========================================
|
||||
use XModel;
|
||||
set string name;
|
||||
set name name;
|
||||
set scriptstring boneNames;
|
||||
set reusable boneNames;
|
||||
set count boneNames numBones;
|
||||
set reusable parentList;
|
||||
set count parentList numBones - numRootBones;
|
||||
set reusable quats;
|
||||
set count quats numBones - numRootBones;
|
||||
set reusable trans;
|
||||
set count trans numBones - numRootBones;
|
||||
set reusable partClassification;
|
||||
set count partClassification numBones;
|
||||
set reusable baseMat;
|
||||
set count baseMat numBones;
|
||||
set count surfs numsurfs;
|
||||
set count materialHandles numsurfs;
|
||||
set count collSurfs numCollSurfs;
|
||||
set count boneInfo numBones;
|
||||
set reusable physGeoms;
|
||||
set count physGeoms 1;
|
||||
|
||||
// PhysGeomList
|
||||
use PhysGeomList;
|
||||
set reusable geoms;
|
||||
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;
|
||||
set block verts0 XFILE_BLOCK_VERTEX;
|
||||
set count verts0 vertCount;
|
||||
set reusable vertList;
|
||||
set count vertList vertListCount;
|
||||
set reusable triIndices;
|
||||
set block triIndices XFILE_BLOCK_INDEX;
|
||||
set count triIndices triCount;
|
||||
reorder:
|
||||
zoneHandle
|
||||
vertInfo
|
||||
verts0
|
||||
vertList
|
||||
triIndices;
|
||||
|
||||
// XSurfaceVertexInfo
|
||||
use XSurfaceVertexInfo;
|
||||
set reusable vertsBlend;
|
||||
set count vertsBlend vertCount[0]
|
||||
+ 3 * vertCount[1]
|
||||
+ 5 * vertCount[2]
|
||||
+ 7 * vertCount[3];
|
||||
|
||||
// XRigidVertList
|
||||
set reusable XRigidVertList::collisionTree;
|
||||
|
||||
// XSurfaceCollisionTree
|
||||
use XSurfaceCollisionTree;
|
||||
set count nodes nodeCount;
|
||||
set count leafs leafCount;
|
||||
|
||||
// XModelCollSurf_s
|
||||
set count XModelCollSurf_s::collTris numCollTris;
|
70
src/ZoneCode/Game/IW3/XAssets/clipMap.txt
Normal file
70
src/ZoneCode/Game/IW3/XAssets/clipMap.txt
Normal file
@ -0,0 +1,70 @@
|
||||
// =========================================
|
||||
// clipMap_t
|
||||
// =========================================
|
||||
use clipMap_t;
|
||||
set string name;
|
||||
set name name;
|
||||
set reusable planes;
|
||||
set count planes planeCount;
|
||||
set count staticModelList numStaticModels;
|
||||
set count materials numMaterials;
|
||||
set count brushsides numBrushSides;
|
||||
set count brushEdges numBrushEdges;
|
||||
set count nodes numNodes;
|
||||
set count leafs numLeafs;
|
||||
set count leafbrushNodes leafbrushNodesCount;
|
||||
set count leafbrushes numLeafBrushes;
|
||||
set count leafsurfaces numLeafSurfaces;
|
||||
set count verts vertCount;
|
||||
set count triIndices 3 * triCount;
|
||||
set count triEdgeIsWalkable ((3 * triCount + 31) / 32) * 4;
|
||||
set count borders borderCount;
|
||||
set count partitions partitionCount;
|
||||
set count aabbTrees aabbTreeCount;
|
||||
set count cmodels numSubModels;
|
||||
set count brushes numBrushes;
|
||||
set count brushBounds numBrushes;
|
||||
set count brushContents numBrushes;
|
||||
set count smodelNodes smodelNodeCount;
|
||||
set count dynEntDefList[0] dynEntCount[0];
|
||||
set count dynEntDefList[1] dynEntCount[1];
|
||||
set block dynEntPoseList XFILE_BLOCK_RUNTIME;
|
||||
set count dynEntPoseList[0] dynEntCount[0];
|
||||
set count dynEntPoseList[1] dynEntCount[1];
|
||||
set block dynEntClientList XFILE_BLOCK_RUNTIME;
|
||||
set count dynEntClientList[0] dynEntCount[0];
|
||||
set count dynEntClientList[1] dynEntCount[1];
|
||||
set block dynEntCollList XFILE_BLOCK_RUNTIME;
|
||||
set count dynEntCollList[0] dynEntCount[0];
|
||||
set count dynEntCollList[1] dynEntCount[1];
|
||||
reorder:
|
||||
...
|
||||
leafs
|
||||
leafbrushes
|
||||
leafbrushNodes;
|
||||
reorder:
|
||||
...
|
||||
brushContents
|
||||
smodelNodes
|
||||
mapEnts;
|
||||
|
||||
// ClipMaterial
|
||||
set string ClipMaterial::name;
|
||||
|
||||
// cNode_t
|
||||
set reusable cNode_t::plane;
|
||||
|
||||
// cLeafBrushNode_s
|
||||
use cLeafBrushNode_s;
|
||||
set condition data::leaf leafBrushCount > 0;
|
||||
set reusable data::leaf::brushes;
|
||||
set count data::leaf::brushes leafBrushCount;
|
||||
|
||||
// CollisionPartition
|
||||
use CollisionPartition;
|
||||
set reusable borders;
|
||||
|
||||
// cbrush_t
|
||||
use cbrush_t;
|
||||
set reusable sides;
|
||||
set reusable baseAdjacentSide;
|
0
src/ZoneCode/Game/IW3/XAssets/menuDef_t.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/menuDef_t.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/snd_alias_list_t.txt
Normal file
0
src/ZoneCode/Game/IW3/XAssets/snd_alias_list_t.txt
Normal file
Reference in New Issue
Block a user