iw3 clipmap, sounds, image commands

This commit is contained in:
Jan 2021-04-14 12:07:45 +02:00
parent 8342395823
commit ce61ef8a45
6 changed files with 106 additions and 14 deletions

View File

@ -137,6 +137,19 @@ namespace IW3
typedef float vec2_t[2];
typedef float vec3_t[3];
struct XModelPiece
{
XModel* model;
float offset[3];
};
struct XModelPieces
{
const char* name;
int numpieces;
XModelPiece* pieces;
};
struct PhysPreset
{
const char *name;
@ -808,6 +821,14 @@ namespace IW3
StreamedSound streamSnd;
};
enum snd_alias_type_t
{
SAT_UNKNOWN = 0x0,
SAT_LOADED = 0x1,
SAT_STREAMED = 0x2,
SAT_COUNT = 0x3,
};
struct SoundFile
{
char type;
@ -1044,6 +1065,8 @@ namespace IW3
float linkMaxs[2];
};
typedef unsigned short LeafBrush;
struct clipMap_t
{
const char* name;
@ -1065,11 +1088,11 @@ namespace IW3
unsigned int leafbrushNodesCount;
cLeafBrushNode_s* leafbrushNodes;
unsigned int numLeafBrushes;
uint16_t* leafbrushes;
LeafBrush* leafbrushes;
unsigned int numLeafSurfaces;
unsigned int* leafsurfaces;
unsigned int vertCount;
float(*verts)[3];
vec3_t *verts;
int triCount;
uint16_t* triIndices;
char* triEdgeIsWalkable;

View File

@ -0,0 +1,21 @@
// =========================================
// GfxImage
// =========================================
use GfxImage;
set action OnImageLoaded(GfxImage);
set string name;
set name name;
reorder:
name
texture;
// GfxTexture
use GfxTexture;
set reusable loadDef;
set block loadDef XFILE_BLOCK_TEMP;
set condition texture never;
// GfxImageLoadDef
use GfxImageLoadDef;
set action LoadImageData(GfxImageLoadDef, GfxImage);
set arraysize data resourceSize;

View File

@ -0,0 +1,15 @@
// =========================================
// LoadedSound
// =========================================
use LoadedSound;
set string name;
set name name;
// MssSound
use MssSound;
set block data XFILE_BLOCK_TEMP;
set reusable data;
set count data info::data_len;
set condition info::data_ptr never;
set condition info::initial_ptr never;
set action SetSoundData(MssSound);

View File

@ -0,0 +1,6 @@
// =========================================
// SndCurve
// =========================================
use SndCurve;
set string filename;
set name filename;

View File

@ -23,9 +23,8 @@ 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 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;
@ -42,14 +41,6 @@ reorder:
leafs
leafbrushes
leafbrushNodes;
reorder:
...
brushContents
smodelNodes
mapEnts;
// ClipMaterial
set string ClipMaterial::name;
// cNode_t
set reusable cNode_t::plane;
@ -68,3 +59,11 @@ set reusable borders;
use cbrush_t;
set reusable sides;
set reusable baseAdjacentSide;
// DynEntityDef
set reusable DynEntityDef::destroyPieces;
// XModelPieces
use XModelPieces;
set string name;
set count pieces numpieces;

View File

@ -0,0 +1,28 @@
// =========================================
// snd_alias_list_t
// =========================================
use snd_alias_list_t;
set string aliasName;
set name aliasName;
set reusable head;
set count head count;
// snd_alias_t
use snd_alias_t;
set string aliasName;
set string subtitle;
set string secondaryAliasName;
set string chainAliasName;
set reusable soundFile;
set reusable speakerMap;
// SoundFile
set condition SoundFile::u::loadSnd type == SAT_LOADED;
// SpeakerMap
set string SpeakerMap::name;
// StreamedSound
use StreamedSound;
set string dir;
set string name;