mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-20 00:02:55 +00:00
Merge pull request #16 from Laupetin/code-formatting
Code formatting with clang-format
This commit is contained in:
commit
8295b81ec7
24
.clang-format
Normal file
24
.clang-format
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
Language: Cpp
|
||||||
|
BasedOnStyle: LLVM
|
||||||
|
AccessModifierOffset: -4
|
||||||
|
AlignArrayOfStructures: Left
|
||||||
|
AllowShortBlocksOnASingleLine: Empty
|
||||||
|
AllowShortEnumsOnASingleLine: false
|
||||||
|
AllowShortFunctionsOnASingleLine: Empty
|
||||||
|
AllowShortLambdasOnASingleLine: Empty
|
||||||
|
BinPackArguments: false
|
||||||
|
BinPackParameters: false
|
||||||
|
BreakBeforeBinaryOperators: NonAssignment
|
||||||
|
BreakBeforeBraces: Allman
|
||||||
|
ColumnLimit: 160
|
||||||
|
IncludeBlocks: Regroup
|
||||||
|
IndentWidth: 4
|
||||||
|
IndentWrappedFunctionNames: true
|
||||||
|
InsertNewlineAtEOF: true
|
||||||
|
NamespaceIndentation: All
|
||||||
|
PackConstructorInitializers: Never
|
||||||
|
PointerAlignment: Left
|
||||||
|
SeparateDefinitionBlocks: Always
|
||||||
|
SortUsingDeclarations: Lexicographic
|
||||||
|
SpaceAfterTemplateKeyword: false
|
24
.github/workflows/check-formatting.yaml
vendored
Normal file
24
.github/workflows/check-formatting.yaml
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
name: check-formatting
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check-formatting:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Install LLVM and Clang
|
||||||
|
uses: KyleMayes/install-llvm-action@v1
|
||||||
|
with:
|
||||||
|
version: "17.0"
|
||||||
|
|
||||||
|
- name: Test formatting for all files
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
run: |
|
||||||
|
export CLANG_FORMAT_BIN="${LLVM_PATH}/bin/clang-format"
|
||||||
|
./scripts/check-format.sh
|
8
scripts/check-format.sh
Executable file
8
scripts/check-format.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Go to repository root
|
||||||
|
cd "$(dirname "$0")/.." || exit 2
|
||||||
|
|
||||||
|
CLANG_FORMAT_BIN="${CLANG_FORMAT_BIN:-clang-format}"
|
||||||
|
|
||||||
|
find ./src ./test -iname '*.h' -o -iname '*.cpp' | xargs $CLANG_FORMAT_BIN -Werror -ferror-limit=1 --dry-run
|
6
scripts/reformat-all.sh
Executable file
6
scripts/reformat-all.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Go to repository root
|
||||||
|
cd "$(dirname "$0")/.." || exit 2
|
||||||
|
|
||||||
|
find ./src ./test -iname '*.h' -o -iname '*.cpp' | xargs clang-format --verbose -i
|
@ -1,7 +1,8 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <vector>
|
|
||||||
#include "GameLanguage.h"
|
#include "GameLanguage.h"
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
class Zone;
|
class Zone;
|
||||||
|
|
||||||
class IGame
|
class IGame
|
||||||
|
@ -28,4 +28,4 @@ namespace IW3
|
|||||||
static void Vec3UnpackUnitVec(const PackedUnitVec& in, vec3_t* out);
|
static void Vec3UnpackUnitVec(const PackedUnitVec& in, vec3_t* out);
|
||||||
static void Vec4UnpackGfxColor(const GfxColor& in, vec4_t* out);
|
static void Vec4UnpackGfxColor(const GfxColor& in, vec4_t* out);
|
||||||
};
|
};
|
||||||
}
|
} // namespace IW3
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
#include "GameIW3.h"
|
#include "GameIW3.h"
|
||||||
|
|
||||||
#include <algorithm>
|
|
||||||
|
|
||||||
#include "IW3.h"
|
#include "IW3.h"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
using namespace IW3;
|
using namespace IW3;
|
||||||
|
|
||||||
GameIW3 g_GameIW3;
|
GameIW3 g_GameIW3;
|
||||||
|
@ -1,10 +1,14 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
//#include <d3d11.h>
|
// clang-format off: Order of includes matters here
|
||||||
|
|
||||||
|
// #include <d3d9.h>
|
||||||
#include "Image/Texture.h"
|
#include "Image/Texture.h"
|
||||||
|
|
||||||
#include "IW3_Assets.h"
|
#include "IW3_Assets.h"
|
||||||
|
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
namespace IW3
|
namespace IW3
|
||||||
{
|
{
|
||||||
struct ScriptStringList
|
struct ScriptStringList
|
||||||
@ -79,4 +83,4 @@ namespace IW3
|
|||||||
|
|
||||||
WFT_NUM_FIELD_TYPES
|
WFT_NUM_FIELD_TYPES
|
||||||
};
|
};
|
||||||
}
|
} // namespace IW3
|
||||||
|
@ -100,35 +100,35 @@ namespace IW3
|
|||||||
union XAssetHeader
|
union XAssetHeader
|
||||||
{
|
{
|
||||||
// XModelPieces *xmodelPieces; // NOT AN ASSET
|
// XModelPieces *xmodelPieces; // NOT AN ASSET
|
||||||
PhysPreset *physPreset;
|
PhysPreset* physPreset;
|
||||||
XAnimParts *parts;
|
XAnimParts* parts;
|
||||||
XModel *model;
|
XModel* model;
|
||||||
Material *material;
|
Material* material;
|
||||||
MaterialPixelShader *pixelShader;
|
MaterialPixelShader* pixelShader;
|
||||||
MaterialVertexShader *vertexShader;
|
MaterialVertexShader* vertexShader;
|
||||||
MaterialTechniqueSet *techniqueSet;
|
MaterialTechniqueSet* techniqueSet;
|
||||||
GfxImage *image;
|
GfxImage* image;
|
||||||
snd_alias_list_t *sound;
|
snd_alias_list_t* sound;
|
||||||
SndCurve *sndCurve;
|
SndCurve* sndCurve;
|
||||||
LoadedSound *loadSnd;
|
LoadedSound* loadSnd;
|
||||||
clipMap_t *clipMap;
|
clipMap_t* clipMap;
|
||||||
ComWorld *comWorld;
|
ComWorld* comWorld;
|
||||||
GameWorldSp *gameWorldSp;
|
GameWorldSp* gameWorldSp;
|
||||||
GameWorldMp *gameWorldMp;
|
GameWorldMp* gameWorldMp;
|
||||||
MapEnts *mapEnts;
|
MapEnts* mapEnts;
|
||||||
GfxWorld *gfxWorld;
|
GfxWorld* gfxWorld;
|
||||||
GfxLightDef *lightDef;
|
GfxLightDef* lightDef;
|
||||||
Font_s *font;
|
Font_s* font;
|
||||||
MenuList *menuList;
|
MenuList* menuList;
|
||||||
menuDef_t *menu;
|
menuDef_t* menu;
|
||||||
LocalizeEntry *localize;
|
LocalizeEntry* localize;
|
||||||
WeaponDef *weapon;
|
WeaponDef* weapon;
|
||||||
SndDriverGlobals *sndDriverGlobals;
|
SndDriverGlobals* sndDriverGlobals;
|
||||||
FxEffectDef *fx;
|
FxEffectDef* fx;
|
||||||
FxImpactTable *impactFx;
|
FxImpactTable* impactFx;
|
||||||
RawFile *rawfile;
|
RawFile* rawfile;
|
||||||
StringTable *stringTable;
|
StringTable* stringTable;
|
||||||
void *data;
|
void* data;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef char cbrushedge_t;
|
typedef char cbrushedge_t;
|
||||||
@ -152,14 +152,14 @@ namespace IW3
|
|||||||
|
|
||||||
struct PhysPreset
|
struct PhysPreset
|
||||||
{
|
{
|
||||||
const char *name;
|
const char* name;
|
||||||
int type;
|
int type;
|
||||||
float mass;
|
float mass;
|
||||||
float bounce;
|
float bounce;
|
||||||
float friction;
|
float friction;
|
||||||
float bulletForceScale;
|
float bulletForceScale;
|
||||||
float explosiveForceScale;
|
float explosiveForceScale;
|
||||||
const char *sndAliasPrefix;
|
const char* sndAliasPrefix;
|
||||||
float piecesSpreadFraction;
|
float piecesSpreadFraction;
|
||||||
float piecesUpwardVelocity;
|
float piecesUpwardVelocity;
|
||||||
bool tempDefaultToCylinder;
|
bool tempDefaultToCylinder;
|
||||||
@ -224,7 +224,7 @@ namespace IW3
|
|||||||
|
|
||||||
struct XAnimDeltaPartQuatDataFrames
|
struct XAnimDeltaPartQuatDataFrames
|
||||||
{
|
{
|
||||||
XQuat *frames;
|
XQuat* frames;
|
||||||
XAnimDynamicIndicesQuat indices;
|
XAnimDynamicIndicesQuat indices;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -371,7 +371,7 @@ namespace IW3
|
|||||||
char zoneHandle;
|
char zoneHandle;
|
||||||
uint16_t baseTriIndex;
|
uint16_t baseTriIndex;
|
||||||
uint16_t baseVertIndex;
|
uint16_t baseVertIndex;
|
||||||
r_index16_t(*triIndices)[3];
|
r_index16_t (*triIndices)[3];
|
||||||
XSurfaceVertexInfo vertInfo;
|
XSurfaceVertexInfo vertInfo;
|
||||||
GfxPackedVertex* verts0;
|
GfxPackedVertex* verts0;
|
||||||
unsigned int vertListCount;
|
unsigned int vertListCount;
|
||||||
@ -485,8 +485,8 @@ namespace IW3
|
|||||||
char lodRampType;
|
char lodRampType;
|
||||||
uint16_t* boneNames;
|
uint16_t* boneNames;
|
||||||
char* parentList;
|
char* parentList;
|
||||||
int16_t(*quats)[4];
|
int16_t (*quats)[4];
|
||||||
float(*trans)[4];
|
float (*trans)[4];
|
||||||
char* partClassification;
|
char* partClassification;
|
||||||
DObjAnimMat* baseMat;
|
DObjAnimMat* baseMat;
|
||||||
XSurface* surfs;
|
XSurface* surfs;
|
||||||
@ -820,7 +820,7 @@ namespace IW3
|
|||||||
|
|
||||||
union MaterialArgumentDef
|
union MaterialArgumentDef
|
||||||
{
|
{
|
||||||
const float(*literalConst)[4];
|
const float (*literalConst)[4];
|
||||||
MaterialArgumentCodeConst codeConst;
|
MaterialArgumentCodeConst codeConst;
|
||||||
unsigned int codeSampler;
|
unsigned int codeSampler;
|
||||||
unsigned int nameHash;
|
unsigned int nameHash;
|
||||||
@ -1156,7 +1156,7 @@ namespace IW3
|
|||||||
struct MaterialVertexStreamRouting
|
struct MaterialVertexStreamRouting
|
||||||
{
|
{
|
||||||
MaterialStreamRouting data[16];
|
MaterialStreamRouting data[16];
|
||||||
void/*IDirect3DVertexDeclaration9*/* decl[16];
|
void /*IDirect3DVertexDeclaration9*/* decl[16];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct MaterialVertexDeclaration
|
struct MaterialVertexDeclaration
|
||||||
@ -1176,7 +1176,7 @@ namespace IW3
|
|||||||
|
|
||||||
struct MaterialVertexShaderProgram
|
struct MaterialVertexShaderProgram
|
||||||
{
|
{
|
||||||
void/*IDirect3DVertexShader9*/* vs;
|
void /*IDirect3DVertexShader9*/* vs;
|
||||||
GfxVertexShaderLoadDef loadDef;
|
GfxVertexShaderLoadDef loadDef;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1195,7 +1195,7 @@ namespace IW3
|
|||||||
|
|
||||||
struct MaterialPixelShaderProgram
|
struct MaterialPixelShaderProgram
|
||||||
{
|
{
|
||||||
void/*IDirect3DPixelShader9*/* ps;
|
void /*IDirect3DPixelShader9*/* ps;
|
||||||
GfxPixelShaderLoadDef loadDef;
|
GfxPixelShaderLoadDef loadDef;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1304,10 +1304,10 @@ namespace IW3
|
|||||||
|
|
||||||
union GfxTexture
|
union GfxTexture
|
||||||
{
|
{
|
||||||
//void/*IDirect3DBaseTexture9*/* basemap;
|
// void/*IDirect3DBaseTexture9*/* basemap;
|
||||||
//void/*IDirect3DTexture9*/* map;
|
// void/*IDirect3DTexture9*/* map;
|
||||||
//void/*IDirect3DVolumeTexture9*/* volmap;
|
// void/*IDirect3DVolumeTexture9*/* volmap;
|
||||||
//void/*IDirect3DCubeTexture9*/* cubemap;
|
// void/*IDirect3DCubeTexture9*/* cubemap;
|
||||||
Texture* texture;
|
Texture* texture;
|
||||||
GfxImageLoadDef* loadDef;
|
GfxImageLoadDef* loadDef;
|
||||||
};
|
};
|
||||||
@ -1681,7 +1681,7 @@ namespace IW3
|
|||||||
unsigned int numLeafSurfaces;
|
unsigned int numLeafSurfaces;
|
||||||
unsigned int* leafsurfaces;
|
unsigned int* leafsurfaces;
|
||||||
unsigned int vertCount;
|
unsigned int vertCount;
|
||||||
vec3_t *verts;
|
vec3_t* verts;
|
||||||
int triCount;
|
int triCount;
|
||||||
uint16_t* triIndices;
|
uint16_t* triIndices;
|
||||||
char* triEdgeIsWalkable;
|
char* triEdgeIsWalkable;
|
||||||
@ -1898,13 +1898,13 @@ namespace IW3
|
|||||||
struct GfxWorldVertexData
|
struct GfxWorldVertexData
|
||||||
{
|
{
|
||||||
GfxWorldVertex* vertices;
|
GfxWorldVertex* vertices;
|
||||||
void/*IDirect3DVertexBuffer9*/* worldVb;
|
void /*IDirect3DVertexBuffer9*/* worldVb;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct GfxWorldVertexLayerData
|
struct GfxWorldVertexLayerData
|
||||||
{
|
{
|
||||||
char* data;
|
char* data;
|
||||||
void/*IDirect3DVertexBuffer9*/* layerVb;
|
void /*IDirect3DVertexBuffer9*/* layerVb;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct SunLightParseParams
|
struct SunLightParseParams
|
||||||
@ -1979,7 +1979,7 @@ namespace IW3
|
|||||||
bool isAncestor;
|
bool isAncestor;
|
||||||
char recursionDepth;
|
char recursionDepth;
|
||||||
char hullPointCount;
|
char hullPointCount;
|
||||||
float(*hullPoints)[2];
|
float (*hullPoints)[2];
|
||||||
GfxPortal* queuedParent;
|
GfxPortal* queuedParent;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -3076,13 +3076,13 @@ namespace IW3
|
|||||||
// TODO: Order is accuracyGraphName[0] -> originalAccuracyGraphKnots[0] -> accuracyGraphName[1] -> ...
|
// 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.
|
// 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.
|
// 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* accuracyGraphName[2];
|
||||||
const char* accuracyGraphName0;
|
const char* accuracyGraphName0;
|
||||||
const char* accuracyGraphName1;
|
const char* accuracyGraphName1;
|
||||||
//float(*accuracyGraphKnots[2])[2];
|
// float(*accuracyGraphKnots[2])[2];
|
||||||
vec2_t* accuracyGraphKnots0;
|
vec2_t* accuracyGraphKnots0;
|
||||||
vec2_t* accuracyGraphKnots1;
|
vec2_t* accuracyGraphKnots1;
|
||||||
//float(*originalAccuracyGraphKnots[2])[2];
|
// float(*originalAccuracyGraphKnots[2])[2];
|
||||||
vec2_t* originalAccuracyGraphKnots0;
|
vec2_t* originalAccuracyGraphKnots0;
|
||||||
vec2_t* originalAccuracyGraphKnots1;
|
vec2_t* originalAccuracyGraphKnots1;
|
||||||
int accuracyGraphKnotCount[2];
|
int accuracyGraphKnotCount[2];
|
||||||
|
@ -35,4 +35,4 @@ namespace IW4
|
|||||||
static void Vec3UnpackUnitVec(const PackedUnitVec& in, vec3_t* out);
|
static void Vec3UnpackUnitVec(const PackedUnitVec& in, vec3_t* out);
|
||||||
static void Vec4UnpackGfxColor(const GfxColor& in, vec4_t* out);
|
static void Vec4UnpackGfxColor(const GfxColor& in, vec4_t* out);
|
||||||
};
|
};
|
||||||
}
|
} // namespace IW4
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
#include "GameIW4.h"
|
#include "GameIW4.h"
|
||||||
|
|
||||||
#include <algorithm>
|
|
||||||
|
|
||||||
#include "IW4.h"
|
#include "IW4.h"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
using namespace IW4;
|
using namespace IW4;
|
||||||
|
|
||||||
GameIW4 g_GameIW4;
|
GameIW4 g_GameIW4;
|
||||||
|
@ -1,10 +1,14 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
//#include <d3d11.h>
|
// clang-format off: Order of includes matters here
|
||||||
|
|
||||||
|
// #include <d3d9.h>
|
||||||
#include "Image/Texture.h"
|
#include "Image/Texture.h"
|
||||||
|
|
||||||
#include "IW4_Assets.h"
|
#include "IW4_Assets.h"
|
||||||
|
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
namespace IW4
|
namespace IW4
|
||||||
{
|
{
|
||||||
struct DB_AuthHash
|
struct DB_AuthHash
|
||||||
@ -122,4 +126,4 @@ namespace IW4
|
|||||||
|
|
||||||
VFT_NUM,
|
VFT_NUM,
|
||||||
};
|
};
|
||||||
}
|
} // namespace IW4
|
||||||
|
@ -571,8 +571,8 @@ namespace IW4
|
|||||||
unsigned int noScalePartBits[6];
|
unsigned int noScalePartBits[6];
|
||||||
uint16_t* boneNames;
|
uint16_t* boneNames;
|
||||||
unsigned char* parentList;
|
unsigned char* parentList;
|
||||||
int16_t(*quats)[4];
|
int16_t (*quats)[4];
|
||||||
float(*trans)[3];
|
float (*trans)[3];
|
||||||
unsigned char* partClassification;
|
unsigned char* partClassification;
|
||||||
DObjAnimMat* baseMat;
|
DObjAnimMat* baseMat;
|
||||||
Material** materialHandles;
|
Material** materialHandles;
|
||||||
@ -1116,7 +1116,7 @@ namespace IW4
|
|||||||
struct MaterialVertexStreamRouting
|
struct MaterialVertexStreamRouting
|
||||||
{
|
{
|
||||||
MaterialStreamRouting data[13];
|
MaterialStreamRouting data[13];
|
||||||
void/*IDirect3DVertexDeclaration9*/* decl[16];
|
void /*IDirect3DVertexDeclaration9*/* decl[16];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct MaterialVertexDeclaration
|
struct MaterialVertexDeclaration
|
||||||
@ -1129,7 +1129,7 @@ namespace IW4
|
|||||||
|
|
||||||
struct MaterialVertexShaderProgram
|
struct MaterialVertexShaderProgram
|
||||||
{
|
{
|
||||||
void/*IDirect3DVertexShader9*/* vs;
|
void /*IDirect3DVertexShader9*/* vs;
|
||||||
GfxVertexShaderLoadDef loadDef;
|
GfxVertexShaderLoadDef loadDef;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1141,7 +1141,7 @@ namespace IW4
|
|||||||
|
|
||||||
struct MaterialPixelShaderProgram
|
struct MaterialPixelShaderProgram
|
||||||
{
|
{
|
||||||
void/*IDirect3DPixelShader9*/* ps;
|
void /*IDirect3DPixelShader9*/* ps;
|
||||||
GfxPixelShaderLoadDef loadDef;
|
GfxPixelShaderLoadDef loadDef;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1462,7 +1462,8 @@ namespace IW4
|
|||||||
TECHNIQUE_FLAG_4 = 0x4, // zprepass only
|
TECHNIQUE_FLAG_4 = 0x4, // zprepass only
|
||||||
TECHNIQUE_FLAG_8 = 0x8, // build_floatz only
|
TECHNIQUE_FLAG_8 = 0x8, // build_floatz only
|
||||||
TECHNIQUE_FLAG_10 = 0x10, // build_shadowmap_depth + build_shadowmap_model only
|
TECHNIQUE_FLAG_10 = 0x10, // build_shadowmap_depth + build_shadowmap_model only
|
||||||
TECHNIQUE_FLAG_20 = 0x20, // techniques with _i_ in its name (all use texcoord[1] in decl -> other optional stream sources are not used at all so might be any optional)
|
TECHNIQUE_FLAG_20 =
|
||||||
|
0x20, // techniques with _i_ in its name (all use texcoord[1] in decl -> other optional stream sources are not used at all so might be any optional)
|
||||||
TECHNIQUE_FLAG_40 = 0x40, // uses code constant light.spotDir or light.spotFactors
|
TECHNIQUE_FLAG_40 = 0x40, // uses code constant light.spotDir or light.spotFactors
|
||||||
TECHNIQUE_FLAG_80 = 0x80, // uses floatZ sampler and does not have 0x100 flag
|
TECHNIQUE_FLAG_80 = 0x80, // uses floatZ sampler and does not have 0x100 flag
|
||||||
TECHNIQUE_FLAG_100 = 0x100, // distortion_scale_zfeather_dtex + distortion_scale_ua_zfeather + distortion_scale_zfeather
|
TECHNIQUE_FLAG_100 = 0x100, // distortion_scale_zfeather_dtex + distortion_scale_ua_zfeather + distortion_scale_zfeather
|
||||||
@ -1758,7 +1759,7 @@ namespace IW4
|
|||||||
DvarValue latched;
|
DvarValue latched;
|
||||||
DvarValue reset;
|
DvarValue reset;
|
||||||
DvarLimits domain;
|
DvarLimits domain;
|
||||||
//bool (__cdecl* domainFunc)(dvar_t*, DvarValue);
|
// bool (__cdecl* domainFunc)(dvar_t*, DvarValue);
|
||||||
void* domainFunc;
|
void* domainFunc;
|
||||||
dvar_t* hashNext;
|
dvar_t* hashNext;
|
||||||
};
|
};
|
||||||
@ -3065,11 +3066,13 @@ namespace IW4
|
|||||||
float fAngle;
|
float fAngle;
|
||||||
float forward[2];
|
float forward[2];
|
||||||
float fRadius;
|
float fRadius;
|
||||||
|
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
float minUseDistSq;
|
float minUseDistSq;
|
||||||
PathNodeErrorCode error;
|
PathNodeErrorCode error;
|
||||||
};
|
};
|
||||||
|
|
||||||
int16_t wOverlapNode[2];
|
int16_t wOverlapNode[2];
|
||||||
uint16_t totalLinkCount;
|
uint16_t totalLinkCount;
|
||||||
pathlink_s* Links;
|
pathlink_s* Links;
|
||||||
@ -3097,6 +3100,7 @@ namespace IW4
|
|||||||
pathnode_t* pParent;
|
pathnode_t* pParent;
|
||||||
float fCost;
|
float fCost;
|
||||||
float fHeuristic;
|
float fHeuristic;
|
||||||
|
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
float nodeCost;
|
float nodeCost;
|
||||||
@ -3259,6 +3263,7 @@ namespace IW4
|
|||||||
FxSpatialFrame frame;
|
FxSpatialFrame frame;
|
||||||
float radius;
|
float radius;
|
||||||
};
|
};
|
||||||
|
|
||||||
unsigned int nextFree;
|
unsigned int nextFree;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -3417,7 +3422,7 @@ namespace IW4
|
|||||||
bool isAncestor;
|
bool isAncestor;
|
||||||
char recursionDepth;
|
char recursionDepth;
|
||||||
char hullPointCount;
|
char hullPointCount;
|
||||||
float(*hullPoints)[2];
|
float (*hullPoints)[2];
|
||||||
GfxPortal* queuedParent;
|
GfxPortal* queuedParent;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -3470,13 +3475,13 @@ namespace IW4
|
|||||||
struct GfxWorldVertexData
|
struct GfxWorldVertexData
|
||||||
{
|
{
|
||||||
GfxWorldVertex* vertices;
|
GfxWorldVertex* vertices;
|
||||||
void/*IDirect3DVertexBuffer9*/* worldVb;
|
void /*IDirect3DVertexBuffer9*/* worldVb;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct GfxWorldVertexLayerData
|
struct GfxWorldVertexLayerData
|
||||||
{
|
{
|
||||||
char* data;
|
char* data;
|
||||||
void/*IDirect3DVertexBuffer9*/* layerVb;
|
void /*IDirect3DVertexBuffer9*/* layerVb;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct GfxWorldDraw
|
struct GfxWorldDraw
|
||||||
@ -3757,7 +3762,7 @@ namespace IW4
|
|||||||
unsigned int sortKeyEffectAuto;
|
unsigned int sortKeyEffectAuto;
|
||||||
unsigned int sortKeyDistortion;
|
unsigned int sortKeyDistortion;
|
||||||
GfxWorldDpvsPlanes dpvsPlanes;
|
GfxWorldDpvsPlanes dpvsPlanes;
|
||||||
int/*GfxCellTreeCount*/* aabbTreeCounts;
|
int /*GfxCellTreeCount*/* aabbTreeCounts;
|
||||||
GfxCellTree128* aabbTrees;
|
GfxCellTree128* aabbTrees;
|
||||||
GfxCell* cells;
|
GfxCell* cells;
|
||||||
GfxWorldDraw draw;
|
GfxWorldDraw draw;
|
||||||
@ -4639,7 +4644,6 @@ namespace IW4
|
|||||||
VEH_TYPE_COUNT = 0x7,
|
VEH_TYPE_COUNT = 0x7,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct VehicleDef
|
struct VehicleDef
|
||||||
{
|
{
|
||||||
const char* name;
|
const char* name;
|
||||||
|
@ -22,17 +22,17 @@ int Common::StringTable_HashString(const char* str)
|
|||||||
|
|
||||||
PackedTexCoords Common::Vec2PackTexCoords(const vec2_t* in)
|
PackedTexCoords Common::Vec2PackTexCoords(const vec2_t* in)
|
||||||
{
|
{
|
||||||
return PackedTexCoords{ Pack32::Vec2PackTexCoords(reinterpret_cast<const float*>(in)) };
|
return PackedTexCoords{Pack32::Vec2PackTexCoords(reinterpret_cast<const float*>(in))};
|
||||||
}
|
}
|
||||||
|
|
||||||
PackedUnitVec Common::Vec3PackUnitVec(const vec3_t* in)
|
PackedUnitVec Common::Vec3PackUnitVec(const vec3_t* in)
|
||||||
{
|
{
|
||||||
return PackedUnitVec{ Pack32::Vec3PackUnitVec(reinterpret_cast<const float*>(in)) };
|
return PackedUnitVec{Pack32::Vec3PackUnitVec(reinterpret_cast<const float*>(in))};
|
||||||
}
|
}
|
||||||
|
|
||||||
GfxColor Common::Vec4PackGfxColor(const vec4_t* in)
|
GfxColor Common::Vec4PackGfxColor(const vec4_t* in)
|
||||||
{
|
{
|
||||||
return GfxColor{ Pack32::Vec4PackGfxColor(reinterpret_cast<const float*>(in)) };
|
return GfxColor{Pack32::Vec4PackGfxColor(reinterpret_cast<const float*>(in))};
|
||||||
}
|
}
|
||||||
|
|
||||||
void Common::Vec2UnpackTexCoords(const PackedTexCoords& in, vec2_t* out)
|
void Common::Vec2UnpackTexCoords(const PackedTexCoords& in, vec2_t* out)
|
||||||
|
@ -16,4 +16,4 @@ namespace IW5
|
|||||||
static void Vec3UnpackUnitVec(const PackedUnitVec& in, vec3_t* out);
|
static void Vec3UnpackUnitVec(const PackedUnitVec& in, vec3_t* out);
|
||||||
static void Vec4UnpackGfxColor(const GfxColor& in, vec4_t* out);
|
static void Vec4UnpackGfxColor(const GfxColor& in, vec4_t* out);
|
||||||
};
|
};
|
||||||
}
|
} // namespace IW5
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
#include "GameIW5.h"
|
#include "GameIW5.h"
|
||||||
|
|
||||||
#include <algorithm>
|
|
||||||
|
|
||||||
#include "IW5.h"
|
#include "IW5.h"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
using namespace IW5;
|
using namespace IW5;
|
||||||
|
|
||||||
GameIW5 g_GameIW5;
|
GameIW5 g_GameIW5;
|
||||||
|
@ -1,10 +1,14 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
//#include <d3d11.h>
|
// clang-format off: Order of includes matters here
|
||||||
|
|
||||||
|
// #include <d3d9.h>
|
||||||
#include "Image/Texture.h"
|
#include "Image/Texture.h"
|
||||||
|
|
||||||
#include "IW5_Assets.h"
|
#include "IW5_Assets.h"
|
||||||
|
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
namespace IW5
|
namespace IW5
|
||||||
{
|
{
|
||||||
struct DB_AuthHash
|
struct DB_AuthHash
|
||||||
@ -79,4 +83,4 @@ namespace IW5
|
|||||||
|
|
||||||
CSPFT_NUM_BASE_FIELD_TYPES,
|
CSPFT_NUM_BASE_FIELD_TYPES,
|
||||||
};
|
};
|
||||||
}
|
} // namespace IW5
|
||||||
|
@ -536,7 +536,7 @@ namespace IW5
|
|||||||
uint16_t baseTriIndex;
|
uint16_t baseTriIndex;
|
||||||
uint16_t baseVertIndex;
|
uint16_t baseVertIndex;
|
||||||
float quantizeScale;
|
float quantizeScale;
|
||||||
r_index16_t(*triIndices)[3];
|
r_index16_t (*triIndices)[3];
|
||||||
XSurfaceVertexInfo vertInfo;
|
XSurfaceVertexInfo vertInfo;
|
||||||
GfxVertexUnion0 verts0;
|
GfxVertexUnion0 verts0;
|
||||||
unsigned int vertListCount;
|
unsigned int vertListCount;
|
||||||
@ -606,8 +606,8 @@ namespace IW5
|
|||||||
unsigned int noScalePartBits[6];
|
unsigned int noScalePartBits[6];
|
||||||
ScriptString* boneNames;
|
ScriptString* boneNames;
|
||||||
unsigned char* parentList;
|
unsigned char* parentList;
|
||||||
short(*quats)[4];
|
short (*quats)[4];
|
||||||
float(*trans)[3];
|
float (*trans)[3];
|
||||||
unsigned char* partClassification;
|
unsigned char* partClassification;
|
||||||
DObjAnimMat* baseMat;
|
DObjAnimMat* baseMat;
|
||||||
Material** materialHandles;
|
Material** materialHandles;
|
||||||
@ -843,7 +843,7 @@ namespace IW5
|
|||||||
|
|
||||||
union MaterialArgumentDef
|
union MaterialArgumentDef
|
||||||
{
|
{
|
||||||
const float(*literalConst)[4];
|
const float (*literalConst)[4];
|
||||||
MaterialArgumentCodeConst codeConst;
|
MaterialArgumentCodeConst codeConst;
|
||||||
unsigned int codeSampler;
|
unsigned int codeSampler;
|
||||||
unsigned int nameHash;
|
unsigned int nameHash;
|
||||||
@ -1507,6 +1507,7 @@ namespace IW5
|
|||||||
pathnode_t* pParent;
|
pathnode_t* pParent;
|
||||||
float fCost;
|
float fCost;
|
||||||
float fHeuristic;
|
float fHeuristic;
|
||||||
|
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
float nodeCost;
|
float nodeCost;
|
||||||
@ -1659,6 +1660,7 @@ namespace IW5
|
|||||||
FxSpatialFrame frame;
|
FxSpatialFrame frame;
|
||||||
float radius;
|
float radius;
|
||||||
};
|
};
|
||||||
|
|
||||||
unsigned int nextFree;
|
unsigned int nextFree;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1817,7 +1819,7 @@ namespace IW5
|
|||||||
bool isAncestor;
|
bool isAncestor;
|
||||||
unsigned char recursionDepth;
|
unsigned char recursionDepth;
|
||||||
unsigned char hullPointCount;
|
unsigned char hullPointCount;
|
||||||
float(*hullPoints)[2];
|
float (*hullPoints)[2];
|
||||||
GfxPortal* queuedParent;
|
GfxPortal* queuedParent;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -2173,7 +2175,7 @@ namespace IW5
|
|||||||
unsigned int sortKeyEffectAuto;
|
unsigned int sortKeyEffectAuto;
|
||||||
unsigned int sortKeyDistortion;
|
unsigned int sortKeyDistortion;
|
||||||
GfxWorldDpvsPlanes dpvsPlanes;
|
GfxWorldDpvsPlanes dpvsPlanes;
|
||||||
int/*GfxCellTreeCount*/* aabbTreeCounts;
|
int /*GfxCellTreeCount*/* aabbTreeCounts;
|
||||||
GfxCellTree128* aabbTrees;
|
GfxCellTree128* aabbTrees;
|
||||||
GfxCell* cells;
|
GfxCell* cells;
|
||||||
GfxWorldDraw draw;
|
GfxWorldDraw draw;
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
#include "CommonT5.h"
|
#include "CommonT5.h"
|
||||||
|
|
||||||
#include <cctype>
|
|
||||||
|
|
||||||
#include "Utils/Pack.h"
|
#include "Utils/Pack.h"
|
||||||
|
|
||||||
|
#include <cctype>
|
||||||
|
|
||||||
using namespace T5;
|
using namespace T5;
|
||||||
|
|
||||||
int Common::Com_HashKey(const char* str, const int maxLen)
|
int Common::Com_HashKey(const char* str, const int maxLen)
|
||||||
|
@ -18,4 +18,4 @@ namespace T5
|
|||||||
static void Vec3UnpackUnitVec(const PackedUnitVec& in, vec3_t* out);
|
static void Vec3UnpackUnitVec(const PackedUnitVec& in, vec3_t* out);
|
||||||
static void Vec4UnpackGfxColor(const GfxColor& in, vec4_t* out);
|
static void Vec4UnpackGfxColor(const GfxColor& in, vec4_t* out);
|
||||||
};
|
};
|
||||||
}
|
} // namespace T5
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
#include "GameT5.h"
|
#include "GameT5.h"
|
||||||
|
|
||||||
#include <algorithm>
|
|
||||||
|
|
||||||
#include "T5.h"
|
#include "T5.h"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
using namespace T5;
|
using namespace T5;
|
||||||
|
|
||||||
GameT5 g_GameT5;
|
GameT5 g_GameT5;
|
||||||
|
@ -1,10 +1,14 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
//#include <d3d9.h>
|
// clang-format off: Order of includes matters here
|
||||||
|
|
||||||
|
// #include <d3d9.h>
|
||||||
#include "Image/Texture.h"
|
#include "Image/Texture.h"
|
||||||
|
|
||||||
#include "T5_Assets.h"
|
#include "T5_Assets.h"
|
||||||
|
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
namespace T5
|
namespace T5
|
||||||
{
|
{
|
||||||
struct ScriptStringList
|
struct ScriptStringList
|
||||||
@ -110,4 +114,4 @@ namespace T5
|
|||||||
|
|
||||||
CFT_NUM_FIELD_TYPES
|
CFT_NUM_FIELD_TYPES
|
||||||
};
|
};
|
||||||
}
|
} // namespace T5
|
||||||
|
@ -114,43 +114,43 @@ namespace T5
|
|||||||
|
|
||||||
union XAssetHeader
|
union XAssetHeader
|
||||||
{
|
{
|
||||||
//XModelPieces *xmodelPieces; // Not an asset
|
// XModelPieces *xmodelPieces; // Not an asset
|
||||||
PhysPreset *physPreset;
|
PhysPreset* physPreset;
|
||||||
PhysConstraints *physConstraints;
|
PhysConstraints* physConstraints;
|
||||||
DestructibleDef *destructibleDef;
|
DestructibleDef* destructibleDef;
|
||||||
XAnimParts *parts;
|
XAnimParts* parts;
|
||||||
XModel *model;
|
XModel* model;
|
||||||
Material *material;
|
Material* material;
|
||||||
//MaterialPixelShader *pixelShader; // Not an asset
|
// MaterialPixelShader *pixelShader; // Not an asset
|
||||||
//MaterialVertexShader *vertexShader; // Not an asset
|
// MaterialVertexShader *vertexShader; // Not an asset
|
||||||
MaterialTechniqueSet *techniqueSet;
|
MaterialTechniqueSet* techniqueSet;
|
||||||
GfxImage *image;
|
GfxImage* image;
|
||||||
SndBank *sound;
|
SndBank* sound;
|
||||||
SndPatch *soundPatch;
|
SndPatch* soundPatch;
|
||||||
clipMap_t *clipMap;
|
clipMap_t* clipMap;
|
||||||
ComWorld *comWorld;
|
ComWorld* comWorld;
|
||||||
GameWorldSp *gameWorldSp;
|
GameWorldSp* gameWorldSp;
|
||||||
GameWorldMp *gameWorldMp;
|
GameWorldMp* gameWorldMp;
|
||||||
MapEnts *mapEnts;
|
MapEnts* mapEnts;
|
||||||
GfxWorld *gfxWorld;
|
GfxWorld* gfxWorld;
|
||||||
GfxLightDef *lightDef;
|
GfxLightDef* lightDef;
|
||||||
Font_s *font;
|
Font_s* font;
|
||||||
MenuList *menuList;
|
MenuList* menuList;
|
||||||
menuDef_t *menu;
|
menuDef_t* menu;
|
||||||
LocalizeEntry *localize;
|
LocalizeEntry* localize;
|
||||||
WeaponVariantDef *weapon;
|
WeaponVariantDef* weapon;
|
||||||
SndDriverGlobals *sndDriverGlobals;
|
SndDriverGlobals* sndDriverGlobals;
|
||||||
FxEffectDef *fx;
|
FxEffectDef* fx;
|
||||||
FxImpactTable *impactFx;
|
FxImpactTable* impactFx;
|
||||||
RawFile *rawfile;
|
RawFile* rawfile;
|
||||||
StringTable *stringTable;
|
StringTable* stringTable;
|
||||||
PackIndex *packIndex;
|
PackIndex* packIndex;
|
||||||
XGlobals *xGlobals;
|
XGlobals* xGlobals;
|
||||||
ddlRoot_t *ddlRoot;
|
ddlRoot_t* ddlRoot;
|
||||||
Glasses *glasses;
|
Glasses* glasses;
|
||||||
//TextureList *textureList; // Not an asset
|
// TextureList *textureList; // Not an asset
|
||||||
EmblemSet *emblemSet;
|
EmblemSet* emblemSet;
|
||||||
void *data;
|
void* data;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef tdef_align(16) char char16;
|
typedef tdef_align(16) char char16;
|
||||||
@ -508,12 +508,12 @@ namespace T5
|
|||||||
uint16_t triCount;
|
uint16_t triCount;
|
||||||
uint16_t baseTriIndex;
|
uint16_t baseTriIndex;
|
||||||
uint16_t baseVertIndex;
|
uint16_t baseVertIndex;
|
||||||
r_index16_t(*triIndices)[3];
|
r_index16_t (*triIndices)[3];
|
||||||
XSurfaceVertexInfo vertInfo;
|
XSurfaceVertexInfo vertInfo;
|
||||||
GfxPackedVertex* verts0;
|
GfxPackedVertex* verts0;
|
||||||
void/*IDirect3DVertexBuffer9*/* vb0;
|
void /*IDirect3DVertexBuffer9*/* vb0;
|
||||||
XRigidVertList* vertList;
|
XRigidVertList* vertList;
|
||||||
void/*IDirect3DIndexBuffer9*/* indexBuffer;
|
void /*IDirect3DIndexBuffer9*/* indexBuffer;
|
||||||
int partBits[5];
|
int partBits[5];
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -628,8 +628,8 @@ namespace T5
|
|||||||
char lodRampType;
|
char lodRampType;
|
||||||
uint16_t* boneNames;
|
uint16_t* boneNames;
|
||||||
char* parentList;
|
char* parentList;
|
||||||
int16_t(*quats)[4];
|
int16_t (*quats)[4];
|
||||||
float(*trans)[4];
|
float (*trans)[4];
|
||||||
char* partClassification;
|
char* partClassification;
|
||||||
DObjAnimMat* baseMat;
|
DObjAnimMat* baseMat;
|
||||||
XSurface* surfs;
|
XSurface* surfs;
|
||||||
@ -837,7 +837,7 @@ namespace T5
|
|||||||
struct MaterialVertexStreamRouting
|
struct MaterialVertexStreamRouting
|
||||||
{
|
{
|
||||||
MaterialStreamRouting data[16];
|
MaterialStreamRouting data[16];
|
||||||
void/*IDirect3DVertexDeclaration9*/* decl[18];
|
void /*IDirect3DVertexDeclaration9*/* decl[18];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct MaterialVertexDeclaration
|
struct MaterialVertexDeclaration
|
||||||
@ -856,7 +856,7 @@ namespace T5
|
|||||||
|
|
||||||
struct MaterialVertexShaderProgram
|
struct MaterialVertexShaderProgram
|
||||||
{
|
{
|
||||||
void/*IDirect3DVertexShader9*/* vs;
|
void /*IDirect3DVertexShader9*/* vs;
|
||||||
GfxVertexShaderLoadDef loadDef;
|
GfxVertexShaderLoadDef loadDef;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -874,7 +874,7 @@ namespace T5
|
|||||||
|
|
||||||
struct MaterialPixelShaderProgram
|
struct MaterialPixelShaderProgram
|
||||||
{
|
{
|
||||||
void/*IDirect3DPixelShader9*/* ps;
|
void /*IDirect3DPixelShader9*/* ps;
|
||||||
GfxPixelShaderLoadDef loadDef;
|
GfxPixelShaderLoadDef loadDef;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -893,7 +893,7 @@ namespace T5
|
|||||||
|
|
||||||
union MaterialArgumentDef
|
union MaterialArgumentDef
|
||||||
{
|
{
|
||||||
const float(*literalConst)[4];
|
const float (*literalConst)[4];
|
||||||
MaterialArgumentCodeConst codeConst;
|
MaterialArgumentCodeConst codeConst;
|
||||||
unsigned int codeSampler;
|
unsigned int codeSampler;
|
||||||
unsigned int nameHash;
|
unsigned int nameHash;
|
||||||
@ -1963,7 +1963,7 @@ namespace T5
|
|||||||
bool isAncestor;
|
bool isAncestor;
|
||||||
char recursionDepth;
|
char recursionDepth;
|
||||||
char hullPointCount;
|
char hullPointCount;
|
||||||
float(*hullPoints)[2];
|
float (*hullPoints)[2];
|
||||||
GfxPortal* queuedParent;
|
GfxPortal* queuedParent;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -2044,13 +2044,13 @@ namespace T5
|
|||||||
struct GfxWorldVertexData
|
struct GfxWorldVertexData
|
||||||
{
|
{
|
||||||
GfxWorldVertex* vertices;
|
GfxWorldVertex* vertices;
|
||||||
void/*IDirect3DVertexBuffer9*/* worldVb;
|
void /*IDirect3DVertexBuffer9*/* worldVb;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct GfxWorldVertexLayerData
|
struct GfxWorldVertexLayerData
|
||||||
{
|
{
|
||||||
char* data;
|
char* data;
|
||||||
void/*IDirect3DVertexBuffer9*/* layerVb;
|
void /*IDirect3DVertexBuffer9*/* layerVb;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct GfxWorldDraw
|
struct GfxWorldDraw
|
||||||
@ -3861,15 +3861,16 @@ namespace T5
|
|||||||
float fHipViewScatterMax;
|
float fHipViewScatterMax;
|
||||||
float fightDist;
|
float fightDist;
|
||||||
float maxDist;
|
float maxDist;
|
||||||
//const char *accuracyGraphName[2]; // TODO: Order is accuracyGraphName[0] -> accuracyGraphKnots[0] -> originalAccuracyGraphKnots[0] -> accuracyGraphName[1] -> ...
|
// const char *accuracyGraphName[2]; // TODO: Order is accuracyGraphName[0] -> accuracyGraphKnots[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.
|
// 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.
|
// So might be something to fix but on the other hand it might be too much work for this little inconvenience.
|
||||||
const char* accuracyGraphName0;
|
const char* accuracyGraphName0;
|
||||||
const char* accuracyGraphName1;
|
const char* accuracyGraphName1;
|
||||||
//vec2_t *accuracyGraphKnots[2];
|
// vec2_t *accuracyGraphKnots[2];
|
||||||
vec2_t* accuracyGraphKnots0;
|
vec2_t* accuracyGraphKnots0;
|
||||||
vec2_t* accuracyGraphKnots1;
|
vec2_t* accuracyGraphKnots1;
|
||||||
//vec2_t *originalAccuracyGraphKnots[2];
|
// vec2_t *originalAccuracyGraphKnots[2];
|
||||||
vec2_t* originalAccuracyGraphKnots0;
|
vec2_t* originalAccuracyGraphKnots0;
|
||||||
vec2_t* originalAccuracyGraphKnots1;
|
vec2_t* originalAccuracyGraphKnots1;
|
||||||
int accuracyGraphKnotCount[2];
|
int accuracyGraphKnotCount[2];
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
#include "CommonT6.h"
|
#include "CommonT6.h"
|
||||||
|
|
||||||
#include <cctype>
|
|
||||||
|
|
||||||
#include "Utils/Pack.h"
|
#include "Utils/Pack.h"
|
||||||
|
|
||||||
|
#include <cctype>
|
||||||
|
|
||||||
using namespace T6;
|
using namespace T6;
|
||||||
|
|
||||||
int Common::Com_HashKey(const char* str, const int maxLen)
|
int Common::Com_HashKey(const char* str, const int maxLen)
|
||||||
@ -30,7 +30,7 @@ int Common::Com_HashString(const char* str)
|
|||||||
|
|
||||||
auto result = 0x1505;
|
auto result = 0x1505;
|
||||||
auto offset = 0;
|
auto offset = 0;
|
||||||
while(str[offset])
|
while (str[offset])
|
||||||
{
|
{
|
||||||
const auto c = tolower(str[offset++]);
|
const auto c = tolower(str[offset++]);
|
||||||
result = c + 33 * result;
|
result = c + 33 * result;
|
||||||
@ -46,7 +46,7 @@ int Common::Com_HashString(const char* str, const int len)
|
|||||||
|
|
||||||
int result = 0x1505;
|
int result = 0x1505;
|
||||||
int offset = 0;
|
int offset = 0;
|
||||||
while(str[offset])
|
while (str[offset])
|
||||||
{
|
{
|
||||||
if (len > 0 && offset >= len)
|
if (len > 0 && offset >= len)
|
||||||
break;
|
break;
|
||||||
@ -70,17 +70,17 @@ uint32_t Common::R_HashString(const char* str, uint32_t hash)
|
|||||||
|
|
||||||
PackedTexCoords Common::Vec2PackTexCoords(const vec2_t* in)
|
PackedTexCoords Common::Vec2PackTexCoords(const vec2_t* in)
|
||||||
{
|
{
|
||||||
return PackedTexCoords{ Pack32::Vec2PackTexCoords(in->v) };
|
return PackedTexCoords{Pack32::Vec2PackTexCoords(in->v)};
|
||||||
}
|
}
|
||||||
|
|
||||||
PackedUnitVec Common::Vec3PackUnitVec(const vec3_t* in)
|
PackedUnitVec Common::Vec3PackUnitVec(const vec3_t* in)
|
||||||
{
|
{
|
||||||
return PackedUnitVec{ Pack32::Vec3PackUnitVec(in->v) };
|
return PackedUnitVec{Pack32::Vec3PackUnitVec(in->v)};
|
||||||
}
|
}
|
||||||
|
|
||||||
GfxColor Common::Vec4PackGfxColor(const vec4_t* in)
|
GfxColor Common::Vec4PackGfxColor(const vec4_t* in)
|
||||||
{
|
{
|
||||||
return GfxColor{ Pack32::Vec4PackGfxColor(in->v) };
|
return GfxColor{Pack32::Vec4PackGfxColor(in->v)};
|
||||||
}
|
}
|
||||||
|
|
||||||
void Common::Vec2UnpackTexCoords(const PackedTexCoords& in, vec2_t* out)
|
void Common::Vec2UnpackTexCoords(const PackedTexCoords& in, vec2_t* out)
|
||||||
|
@ -19,4 +19,4 @@ namespace T6
|
|||||||
static void Vec3UnpackUnitVec(const PackedUnitVec& in, vec3_t* out);
|
static void Vec3UnpackUnitVec(const PackedUnitVec& in, vec3_t* out);
|
||||||
static void Vec4UnpackGfxColor(const GfxColor& in, vec4_t* out);
|
static void Vec4UnpackGfxColor(const GfxColor& in, vec4_t* out);
|
||||||
};
|
};
|
||||||
}
|
} // namespace T6
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
#include "GameT6.h"
|
#include "GameT6.h"
|
||||||
|
|
||||||
#include <algorithm>
|
|
||||||
|
|
||||||
#include "T6.h"
|
#include "T6.h"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
using namespace T6;
|
using namespace T6;
|
||||||
|
|
||||||
GameT6 g_GameT6;
|
GameT6 g_GameT6;
|
||||||
|
@ -1,10 +1,14 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
//#include <d3d11.h>
|
// clang-format off: Order of includes matters here
|
||||||
|
|
||||||
|
// #include <d3d11.h>
|
||||||
#include "Image/Texture.h"
|
#include "Image/Texture.h"
|
||||||
|
|
||||||
#include "T6_Assets.h"
|
#include "T6_Assets.h"
|
||||||
|
|
||||||
|
// clang-format on
|
||||||
|
|
||||||
namespace T6
|
namespace T6
|
||||||
{
|
{
|
||||||
struct ScriptStringList
|
struct ScriptStringList
|
||||||
@ -149,4 +153,4 @@ namespace T6
|
|||||||
AUFT_NUM_FIELD_TYPES,
|
AUFT_NUM_FIELD_TYPES,
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
} // namespace T6
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -99,12 +99,10 @@ enum D3DFORMAT
|
|||||||
// 2.8 biased fixed point
|
// 2.8 biased fixed point
|
||||||
D3DFMT_A2B10G10R10_XR_BIAS = 119,
|
D3DFMT_A2B10G10R10_XR_BIAS = 119,
|
||||||
|
|
||||||
|
|
||||||
// Binary format indicating that the data has no inherent type
|
// Binary format indicating that the data has no inherent type
|
||||||
D3DFMT_BINARYBUFFER = 199,
|
D3DFMT_BINARYBUFFER = 199,
|
||||||
|
|
||||||
/* -- D3D9Ex only */
|
/* -- D3D9Ex only */
|
||||||
|
|
||||||
|
|
||||||
D3DFMT_FORCE_DWORD = 0x7fffffff
|
D3DFMT_FORCE_DWORD = 0x7fffffff
|
||||||
};
|
};
|
@ -4,10 +4,7 @@
|
|||||||
|
|
||||||
constexpr uint32_t MakeFourCc(const char ch0, const char ch1, const char ch2, const char ch3)
|
constexpr uint32_t MakeFourCc(const char ch0, const char ch1, const char ch2, const char ch3)
|
||||||
{
|
{
|
||||||
return static_cast<uint32_t>(ch0)
|
return static_cast<uint32_t>(ch0) | static_cast<uint32_t>(ch1) << 8 | static_cast<uint32_t>(ch2) << 16 | static_cast<uint32_t>(ch3) << 24;
|
||||||
| static_cast<uint32_t>(ch1) << 8
|
|
||||||
| static_cast<uint32_t>(ch2) << 16
|
|
||||||
| static_cast<uint32_t>(ch3) << 24;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
enum DDP_FLAGS
|
enum DDP_FLAGS
|
||||||
|
@ -22,10 +22,18 @@ DXGI_FORMAT ImageFormat::GetDxgiFormat() const
|
|||||||
return m_dxgi_format;
|
return m_dxgi_format;
|
||||||
}
|
}
|
||||||
|
|
||||||
ImageFormatUnsigned::ImageFormatUnsigned(const ImageFormatId id, const D3DFORMAT d3dFormat, const DXGI_FORMAT dxgiFormat,
|
ImageFormatUnsigned::ImageFormatUnsigned(const ImageFormatId id,
|
||||||
const unsigned bitsPerPixel, const unsigned rOffset, const unsigned rSize,
|
const D3DFORMAT d3dFormat,
|
||||||
const unsigned gOffset, const unsigned gSize, const unsigned bOffset,
|
const DXGI_FORMAT dxgiFormat,
|
||||||
const unsigned bSize, const unsigned aOffset, const unsigned aSize)
|
const unsigned bitsPerPixel,
|
||||||
|
const unsigned rOffset,
|
||||||
|
const unsigned rSize,
|
||||||
|
const unsigned gOffset,
|
||||||
|
const unsigned gSize,
|
||||||
|
const unsigned bOffset,
|
||||||
|
const unsigned bSize,
|
||||||
|
const unsigned aOffset,
|
||||||
|
const unsigned aSize)
|
||||||
: ImageFormat(id, d3dFormat, dxgiFormat),
|
: ImageFormat(id, d3dFormat, dxgiFormat),
|
||||||
m_bits_per_pixel(bitsPerPixel),
|
m_bits_per_pixel(bitsPerPixel),
|
||||||
m_r_offset(rOffset),
|
m_r_offset(rOffset),
|
||||||
@ -53,8 +61,7 @@ size_t ImageFormatUnsigned::GetPitch(const unsigned mipLevel, const unsigned wid
|
|||||||
return mipWidth * m_bits_per_pixel / 8;
|
return mipWidth * m_bits_per_pixel / 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t ImageFormatUnsigned::GetSizeOfMipLevel(const unsigned mipLevel, const unsigned width, const unsigned height,
|
size_t ImageFormatUnsigned::GetSizeOfMipLevel(const unsigned mipLevel, const unsigned width, const unsigned height, const unsigned depth) const
|
||||||
const unsigned depth) const
|
|
||||||
{
|
{
|
||||||
unsigned mipWidth = width >> mipLevel;
|
unsigned mipWidth = width >> mipLevel;
|
||||||
unsigned mipHeight = height >> mipLevel;
|
unsigned mipHeight = height >> mipLevel;
|
||||||
@ -70,8 +77,8 @@ size_t ImageFormatUnsigned::GetSizeOfMipLevel(const unsigned mipLevel, const uns
|
|||||||
return mipWidth * mipHeight * mipDepth * m_bits_per_pixel / 8;
|
return mipWidth * mipHeight * mipDepth * m_bits_per_pixel / 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
ImageFormatBlockCompressed::ImageFormatBlockCompressed(const ImageFormatId id, const D3DFORMAT d3dFormat, const DXGI_FORMAT dxgiFormat,
|
ImageFormatBlockCompressed::ImageFormatBlockCompressed(
|
||||||
const unsigned blockSize, const unsigned bitsPerBlock)
|
const ImageFormatId id, const D3DFORMAT d3dFormat, const DXGI_FORMAT dxgiFormat, const unsigned blockSize, const unsigned bitsPerBlock)
|
||||||
: ImageFormat(id, d3dFormat, dxgiFormat),
|
: ImageFormat(id, d3dFormat, dxgiFormat),
|
||||||
m_block_size(blockSize),
|
m_block_size(blockSize),
|
||||||
m_bits_per_block(bitsPerBlock)
|
m_bits_per_block(bitsPerBlock)
|
||||||
@ -95,8 +102,7 @@ size_t ImageFormatBlockCompressed::GetPitch(const unsigned mipLevel, const unsig
|
|||||||
return blockCount * m_bits_per_block / 8;
|
return blockCount * m_bits_per_block / 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t ImageFormatBlockCompressed::GetSizeOfMipLevel(const unsigned mipLevel, const unsigned width,
|
size_t ImageFormatBlockCompressed::GetSizeOfMipLevel(const unsigned mipLevel, const unsigned width, const unsigned height, const unsigned depth) const
|
||||||
const unsigned height, const unsigned depth) const
|
|
||||||
{
|
{
|
||||||
unsigned mipWidth = width >> mipLevel;
|
unsigned mipWidth = width >> mipLevel;
|
||||||
unsigned mipHeight = height >> mipLevel;
|
unsigned mipHeight = height >> mipLevel;
|
||||||
@ -109,9 +115,7 @@ size_t ImageFormatBlockCompressed::GetSizeOfMipLevel(const unsigned mipLevel, co
|
|||||||
if (mipDepth == 0)
|
if (mipDepth == 0)
|
||||||
mipDepth = 1;
|
mipDepth = 1;
|
||||||
|
|
||||||
const unsigned blockCount = ((mipWidth + m_block_size - 1) / m_block_size)
|
const unsigned blockCount = ((mipWidth + m_block_size - 1) / m_block_size) * ((mipHeight + m_block_size - 1) / m_block_size) * mipDepth;
|
||||||
* ((mipHeight + m_block_size - 1) / m_block_size)
|
|
||||||
* mipDepth;
|
|
||||||
|
|
||||||
return blockCount * m_bits_per_block / 8;
|
return blockCount * m_bits_per_block / 8;
|
||||||
}
|
}
|
||||||
@ -138,10 +142,13 @@ bool ImageFormatUnsigned::HasA() const
|
|||||||
|
|
||||||
const ImageFormatUnsigned ImageFormat::FORMAT_R8_G8_B8(ImageFormatId::R8_G8_B8, D3DFMT_R8G8B8, DXGI_FORMAT_UNKNOWN, 24, 0, 8, 8, 8, 16, 8, 0, 0);
|
const ImageFormatUnsigned ImageFormat::FORMAT_R8_G8_B8(ImageFormatId::R8_G8_B8, D3DFMT_R8G8B8, DXGI_FORMAT_UNKNOWN, 24, 0, 8, 8, 8, 16, 8, 0, 0);
|
||||||
const ImageFormatUnsigned ImageFormat::FORMAT_B8_G8_R8_X8(ImageFormatId::B8_G8_R8_X8, D3DFMT_X8R8G8B8, DXGI_FORMAT_B8G8R8X8_UNORM, 32, 16, 8, 8, 8, 0, 8, 0, 0);
|
const ImageFormatUnsigned ImageFormat::FORMAT_B8_G8_R8_X8(ImageFormatId::B8_G8_R8_X8, D3DFMT_X8R8G8B8, DXGI_FORMAT_B8G8R8X8_UNORM, 32, 16, 8, 8, 8, 0, 8, 0, 0);
|
||||||
const ImageFormatUnsigned ImageFormat::FORMAT_R8_G8_B8_A8(ImageFormatId::R8_G8_B8_A8, D3DFMT_A8B8G8R8, DXGI_FORMAT_R8G8B8A8_UNORM, 32, 0, 8, 8, 8, 16, 8, 24, 8);
|
const ImageFormatUnsigned
|
||||||
const ImageFormatUnsigned ImageFormat::FORMAT_B8_G8_R8_A8(ImageFormatId::B8_G8_R8_A8, D3DFMT_A8R8G8B8, DXGI_FORMAT_B8G8R8A8_UNORM, 32, 16, 8, 8, 8, 0, 8, 24, 8);
|
ImageFormat::FORMAT_R8_G8_B8_A8(ImageFormatId::R8_G8_B8_A8, D3DFMT_A8B8G8R8, DXGI_FORMAT_R8G8B8A8_UNORM, 32, 0, 8, 8, 8, 16, 8, 24, 8);
|
||||||
|
const ImageFormatUnsigned
|
||||||
|
ImageFormat::FORMAT_B8_G8_R8_A8(ImageFormatId::B8_G8_R8_A8, D3DFMT_A8R8G8B8, DXGI_FORMAT_B8G8R8A8_UNORM, 32, 16, 8, 8, 8, 0, 8, 24, 8);
|
||||||
const ImageFormatUnsigned ImageFormat::FORMAT_A8(ImageFormatId::A8, D3DFMT_A8, DXGI_FORMAT_A8_UNORM, 8, 0, 0, 0, 0, 0, 0, 0, 8);
|
const ImageFormatUnsigned ImageFormat::FORMAT_A8(ImageFormatId::A8, D3DFMT_A8, DXGI_FORMAT_A8_UNORM, 8, 0, 0, 0, 0, 0, 0, 0, 8);
|
||||||
const ImageFormatUnsigned ImageFormat::FORMAT_R16_G16_B16_A16_FLOAT(ImageFormatId::R16_G16_B16_A16_FLOAT, D3DFMT_A16B16G16R16F, DXGI_FORMAT_R16G16B16A16_FLOAT, 128, 0, 0, 0, 0, 0, 0, 0, 8);
|
const ImageFormatUnsigned ImageFormat::FORMAT_R16_G16_B16_A16_FLOAT(
|
||||||
|
ImageFormatId::R16_G16_B16_A16_FLOAT, D3DFMT_A16B16G16R16F, DXGI_FORMAT_R16G16B16A16_FLOAT, 128, 0, 0, 0, 0, 0, 0, 0, 8);
|
||||||
const ImageFormatUnsigned ImageFormat::FORMAT_R8(ImageFormatId::R8, D3DFMT_L8, DXGI_FORMAT_R8_UNORM, 8, 0, 8, 0, 0, 0, 0, 0, 0);
|
const ImageFormatUnsigned ImageFormat::FORMAT_R8(ImageFormatId::R8, D3DFMT_L8, DXGI_FORMAT_R8_UNORM, 8, 0, 8, 0, 0, 0, 0, 0, 0);
|
||||||
const ImageFormatUnsigned ImageFormat::FORMAT_R8_A8(ImageFormatId::R8_A8, D3DFMT_A8L8, DXGI_FORMAT_UNKNOWN, 16, 0, 8, 0, 0, 0, 0, 8, 8);
|
const ImageFormatUnsigned ImageFormat::FORMAT_R8_A8(ImageFormatId::R8_A8, D3DFMT_A8L8, DXGI_FORMAT_UNKNOWN, 16, 0, 8, 0, 0, 0, 0, 8, 8);
|
||||||
const ImageFormatBlockCompressed ImageFormat::FORMAT_BC1(ImageFormatId::BC1, D3DFMT_DXT1, DXGI_FORMAT_BC1_UNORM, 4, 64);
|
const ImageFormatBlockCompressed ImageFormat::FORMAT_BC1(ImageFormatId::BC1, D3DFMT_DXT1, DXGI_FORMAT_BC1_UNORM, 4, 64);
|
||||||
@ -150,8 +157,7 @@ const ImageFormatBlockCompressed ImageFormat::FORMAT_BC3(ImageFormatId::BC3, D3D
|
|||||||
const ImageFormatBlockCompressed ImageFormat::FORMAT_BC4(ImageFormatId::BC4, D3DFMT_UNKNOWN, DXGI_FORMAT_BC4_UNORM, 4, 64);
|
const ImageFormatBlockCompressed ImageFormat::FORMAT_BC4(ImageFormatId::BC4, D3DFMT_UNKNOWN, DXGI_FORMAT_BC4_UNORM, 4, 64);
|
||||||
const ImageFormatBlockCompressed ImageFormat::FORMAT_BC5(ImageFormatId::BC5, D3DFMT_UNKNOWN, DXGI_FORMAT_BC5_UNORM, 4, 128);
|
const ImageFormatBlockCompressed ImageFormat::FORMAT_BC5(ImageFormatId::BC5, D3DFMT_UNKNOWN, DXGI_FORMAT_BC5_UNORM, 4, 128);
|
||||||
|
|
||||||
const ImageFormat* const ImageFormat::ALL_FORMATS[static_cast<unsigned>(ImageFormatId::MAX)]
|
const ImageFormat* const ImageFormat::ALL_FORMATS[static_cast<unsigned>(ImageFormatId::MAX)]{
|
||||||
{
|
|
||||||
&FORMAT_R8_G8_B8,
|
&FORMAT_R8_G8_B8,
|
||||||
&FORMAT_B8_G8_R8_X8,
|
&FORMAT_B8_G8_R8_X8,
|
||||||
&FORMAT_R8_G8_B8_A8,
|
&FORMAT_R8_G8_B8_A8,
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <cstdint>
|
|
||||||
#include <cstddef>
|
|
||||||
#include "D3DFormat.h"
|
#include "D3DFormat.h"
|
||||||
#include "DxgiFormat.h"
|
#include "DxgiFormat.h"
|
||||||
|
|
||||||
|
#include <cstddef>
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
enum class ImageFormatId
|
enum class ImageFormatId
|
||||||
{
|
{
|
||||||
UNKNOWN = -1,
|
UNKNOWN = -1,
|
||||||
@ -60,7 +61,7 @@ public:
|
|||||||
static const ImageFormatUnsigned FORMAT_R8_G8_B8_A8;
|
static const ImageFormatUnsigned FORMAT_R8_G8_B8_A8;
|
||||||
static const ImageFormatUnsigned FORMAT_B8_G8_R8_A8;
|
static const ImageFormatUnsigned FORMAT_B8_G8_R8_A8;
|
||||||
static const ImageFormatUnsigned FORMAT_A8;
|
static const ImageFormatUnsigned FORMAT_A8;
|
||||||
static const ImageFormatUnsigned FORMAT_R16_G16_B16_A16_FLOAT; //TODO: Float not unsigned
|
static const ImageFormatUnsigned FORMAT_R16_G16_B16_A16_FLOAT; // TODO: Float not unsigned
|
||||||
static const ImageFormatUnsigned FORMAT_R8;
|
static const ImageFormatUnsigned FORMAT_R8;
|
||||||
static const ImageFormatUnsigned FORMAT_R8_A8;
|
static const ImageFormatUnsigned FORMAT_R8_A8;
|
||||||
static const ImageFormatBlockCompressed FORMAT_BC1;
|
static const ImageFormatBlockCompressed FORMAT_BC1;
|
||||||
@ -84,9 +85,18 @@ public:
|
|||||||
unsigned m_a_offset;
|
unsigned m_a_offset;
|
||||||
unsigned m_a_size;
|
unsigned m_a_size;
|
||||||
|
|
||||||
ImageFormatUnsigned(ImageFormatId id, D3DFORMAT d3dFormat, DXGI_FORMAT dxgiFormat, unsigned bitsPerPixel, unsigned rOffset,
|
ImageFormatUnsigned(ImageFormatId id,
|
||||||
unsigned rSize, unsigned gOffset, unsigned gSize, unsigned bOffset, unsigned bSize,
|
D3DFORMAT d3dFormat,
|
||||||
unsigned aOffset, unsigned aSize);
|
DXGI_FORMAT dxgiFormat,
|
||||||
|
unsigned bitsPerPixel,
|
||||||
|
unsigned rOffset,
|
||||||
|
unsigned rSize,
|
||||||
|
unsigned gOffset,
|
||||||
|
unsigned gSize,
|
||||||
|
unsigned bOffset,
|
||||||
|
unsigned bSize,
|
||||||
|
unsigned aOffset,
|
||||||
|
unsigned aSize);
|
||||||
|
|
||||||
ImageFormatType GetType() const override;
|
ImageFormatType GetType() const override;
|
||||||
size_t GetPitch(unsigned mipLevel, unsigned width) const override;
|
size_t GetPitch(unsigned mipLevel, unsigned width) const override;
|
||||||
|
@ -54,7 +54,7 @@ namespace iwi6
|
|||||||
IMG_FLAG_RENDER_TARGET = 1 << 17,
|
IMG_FLAG_RENDER_TARGET = 1 << 17,
|
||||||
IMG_FLAG_SYSTEMMEM = 1 << 18
|
IMG_FLAG_SYSTEMMEM = 1 << 18
|
||||||
};
|
};
|
||||||
}
|
} // namespace iwi6
|
||||||
|
|
||||||
// IW4
|
// IW4
|
||||||
namespace iwi8
|
namespace iwi8
|
||||||
@ -122,7 +122,7 @@ namespace iwi8
|
|||||||
IMG_FLAG_RENDER_TARGET = 1 << 25,
|
IMG_FLAG_RENDER_TARGET = 1 << 25,
|
||||||
IMG_FLAG_SYSTEMMEM = 1 << 26
|
IMG_FLAG_SYSTEMMEM = 1 << 26
|
||||||
};
|
};
|
||||||
}
|
} // namespace iwi8
|
||||||
|
|
||||||
// T5
|
// T5
|
||||||
namespace iwi13
|
namespace iwi13
|
||||||
@ -177,7 +177,7 @@ namespace iwi13
|
|||||||
IMG_FLAG_SYSTEMMEM = 1 << 18,
|
IMG_FLAG_SYSTEMMEM = 1 << 18,
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
} // namespace iwi13
|
||||||
|
|
||||||
// T6
|
// T6
|
||||||
namespace iwi27
|
namespace iwi27
|
||||||
@ -232,4 +232,4 @@ namespace iwi27
|
|||||||
IMG_FLAG_MULTISAMPLE = 1 << 18,
|
IMG_FLAG_MULTISAMPLE = 1 << 18,
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
} // namespace iwi27
|
||||||
|
@ -260,8 +260,7 @@ Texture3D::Texture3D(const ImageFormat* format, const unsigned width, const unsi
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
Texture3D::Texture3D(const ImageFormat* format, const unsigned width, const unsigned height, const unsigned depth,
|
Texture3D::Texture3D(const ImageFormat* format, const unsigned width, const unsigned height, const unsigned depth, const bool mipMaps)
|
||||||
const bool mipMaps)
|
|
||||||
: Texture(format, mipMaps)
|
: Texture(format, mipMaps)
|
||||||
{
|
{
|
||||||
m_width = width;
|
m_width = width;
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "ImageFormat.h"
|
#include "ImageFormat.h"
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
enum class TextureType
|
enum class TextureType
|
||||||
|
@ -44,8 +44,7 @@ void TextureConverter::SetPixelFunctions(const unsigned inBitCount, const unsign
|
|||||||
|
|
||||||
for (auto pixelOffset = 0u; pixelOffset < bitCount; pixelOffset += 8)
|
for (auto pixelOffset = 0u; pixelOffset < bitCount; pixelOffset += 8)
|
||||||
{
|
{
|
||||||
result |= (static_cast<uint64_t>(*(static_cast<const uint8_t*>(offset) + (pixelOffset / 8))) <<
|
result |= (static_cast<uint64_t>(*(static_cast<const uint8_t*>(offset) + (pixelOffset / 8))) << pixelOffset);
|
||||||
pixelOffset);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@ -99,9 +98,7 @@ void TextureConverter::SetPixelFunctions(const unsigned inBitCount, const unsign
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
m_write_pixel_func = [](void* offset, uint64_t pixel, unsigned bitCount)
|
m_write_pixel_func = [](void* offset, uint64_t pixel, unsigned bitCount) {};
|
||||||
{
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -120,18 +117,16 @@ void TextureConverter::CreateOutputTexture()
|
|||||||
switch (m_input_texture->GetTextureType())
|
switch (m_input_texture->GetTextureType())
|
||||||
{
|
{
|
||||||
case TextureType::T_2D:
|
case TextureType::T_2D:
|
||||||
m_output_texture = new Texture2D(m_output_format, m_input_texture->GetWidth(), m_input_texture->GetHeight(),
|
m_output_texture = new Texture2D(m_output_format, m_input_texture->GetWidth(), m_input_texture->GetHeight(), m_input_texture->HasMipMaps());
|
||||||
m_input_texture->HasMipMaps());
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TextureType::T_CUBE:
|
case TextureType::T_CUBE:
|
||||||
m_output_texture = new TextureCube(m_output_format, m_input_texture->GetWidth(), m_input_texture->GetHeight(),
|
m_output_texture = new TextureCube(m_output_format, m_input_texture->GetWidth(), m_input_texture->GetHeight(), m_input_texture->HasMipMaps());
|
||||||
m_input_texture->HasMipMaps());
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TextureType::T_3D:
|
case TextureType::T_3D:
|
||||||
m_output_texture = new Texture3D(m_output_format, m_input_texture->GetWidth(), m_input_texture->GetHeight(),
|
m_output_texture = new Texture3D(
|
||||||
m_input_texture->GetDepth(), m_input_texture->HasMipMaps());
|
m_output_format, m_input_texture->GetWidth(), m_input_texture->GetHeight(), m_input_texture->GetDepth(), m_input_texture->HasMipMaps());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
assert(false);
|
assert(false);
|
||||||
@ -166,8 +161,7 @@ void TextureConverter::ReorderUnsignedToUnsigned() const
|
|||||||
const auto outputBytePerPixel = outputFormat->m_bits_per_pixel / 8;
|
const auto outputBytePerPixel = outputFormat->m_bits_per_pixel / 8;
|
||||||
|
|
||||||
auto outputOffset = 0u;
|
auto outputOffset = 0u;
|
||||||
for (auto inputOffset = 0u; inputOffset < mipLevelSize; inputOffset += inputBytePerPixel, outputOffset +=
|
for (auto inputOffset = 0u; inputOffset < mipLevelSize; inputOffset += inputBytePerPixel, outputOffset += outputBytePerPixel)
|
||||||
outputBytePerPixel)
|
|
||||||
{
|
{
|
||||||
uint64_t outPixel = 0;
|
uint64_t outPixel = 0;
|
||||||
const auto inPixel = m_read_pixel_func(&inputBuffer[inputOffset], inputFormat->m_bits_per_pixel);
|
const auto inPixel = m_read_pixel_func(&inputBuffer[inputOffset], inputFormat->m_bits_per_pixel);
|
||||||
@ -196,9 +190,7 @@ void TextureConverter::ConvertUnsignedToUnsigned()
|
|||||||
|
|
||||||
SetPixelFunctions(inputFormat->m_bits_per_pixel, outputFormat->m_bits_per_pixel);
|
SetPixelFunctions(inputFormat->m_bits_per_pixel, outputFormat->m_bits_per_pixel);
|
||||||
|
|
||||||
if (inputFormat->m_r_size == outputFormat->m_r_size
|
if (inputFormat->m_r_size == outputFormat->m_r_size && inputFormat->m_g_size == outputFormat->m_g_size && inputFormat->m_b_size == outputFormat->m_b_size
|
||||||
&& inputFormat->m_g_size == outputFormat->m_g_size
|
|
||||||
&& inputFormat->m_b_size == outputFormat->m_b_size
|
|
||||||
&& inputFormat->m_a_size == outputFormat->m_a_size)
|
&& inputFormat->m_a_size == outputFormat->m_a_size)
|
||||||
{
|
{
|
||||||
ReorderUnsignedToUnsigned();
|
ReorderUnsignedToUnsigned();
|
||||||
@ -214,8 +206,7 @@ Texture* TextureConverter::Convert()
|
|||||||
{
|
{
|
||||||
CreateOutputTexture();
|
CreateOutputTexture();
|
||||||
|
|
||||||
if (m_input_format->GetType() == ImageFormatType::UNSIGNED
|
if (m_input_format->GetType() == ImageFormatType::UNSIGNED && m_output_format->GetType() == ImageFormatType::UNSIGNED)
|
||||||
&& m_output_format->GetType() == ImageFormatType::UNSIGNED)
|
|
||||||
{
|
{
|
||||||
ConvertUnsignedToUnsigned();
|
ConvertUnsignedToUnsigned();
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <functional>
|
|
||||||
|
|
||||||
#include "Texture.h"
|
#include "Texture.h"
|
||||||
|
|
||||||
|
#include <functional>
|
||||||
|
|
||||||
class TextureConverter
|
class TextureConverter
|
||||||
{
|
{
|
||||||
Texture* m_input_texture;
|
Texture* m_input_texture;
|
||||||
@ -23,7 +23,6 @@ class TextureConverter
|
|||||||
void ConvertUnsignedToUnsigned();
|
void ConvertUnsignedToUnsigned();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
TextureConverter(Texture* inputTexture, const ImageFormat* targetFormat);
|
TextureConverter(Texture* inputTexture, const ImageFormat* targetFormat);
|
||||||
|
|
||||||
Texture* Convert();
|
Texture* Convert();
|
||||||
|
@ -37,7 +37,9 @@ namespace state_map
|
|||||||
|
|
||||||
for (auto& resultVar : entry.m_result_vars)
|
for (auto& resultVar : entry.m_result_vars)
|
||||||
{
|
{
|
||||||
const auto correspondingVar = std::find_if(layout.m_var_layout.m_vars.begin(), layout.m_var_layout.m_vars.end(), [&resultVar](const StateMapLayoutVar& var)
|
const auto correspondingVar = std::find_if(layout.m_var_layout.m_vars.begin(),
|
||||||
|
layout.m_var_layout.m_vars.end(),
|
||||||
|
[&resultVar](const StateMapLayoutVar& var)
|
||||||
{
|
{
|
||||||
return var.m_name == resultVar;
|
return var.m_name == resultVar;
|
||||||
});
|
});
|
||||||
@ -48,7 +50,7 @@ namespace state_map
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
} // namespace state_map
|
||||||
|
|
||||||
StateMapLayoutEntry::StateMapLayoutEntry(std::string name, const size_t stateBitsIndex, const size_t stateBitsMask, std::vector<std::string> resultVars)
|
StateMapLayoutEntry::StateMapLayoutEntry(std::string name, const size_t stateBitsIndex, const size_t stateBitsMask, std::vector<std::string> resultVars)
|
||||||
: m_name(std::move(name)),
|
: m_name(std::move(name)),
|
||||||
|
@ -60,4 +60,4 @@ namespace state_map
|
|||||||
const StateMapLayoutEntries& m_entry_layout;
|
const StateMapLayoutEntries& m_entry_layout;
|
||||||
const StateMapLayoutVars& m_var_layout;
|
const StateMapLayoutVars& m_var_layout;
|
||||||
};
|
};
|
||||||
}
|
} // namespace state_map
|
||||||
|
@ -10,8 +10,7 @@ float HalfFloat::ToFloat(const half_float_t half)
|
|||||||
float f;
|
float f;
|
||||||
} result{};
|
} result{};
|
||||||
|
|
||||||
result.u = ((half << 16) & 0x80000000) | (((((half << 14) & 0xFFFC000)
|
result.u = ((half << 16) & 0x80000000) | (((((half << 14) & 0xFFFC000) - (~(half << 14) & 0x10000000)) ^ 0x80000000) >> 1);
|
||||||
- (~(half << 14) & 0x10000000)) ^ 0x80000000) >> 1);
|
|
||||||
return result.f;
|
return result.f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
#include "Pack.h"
|
#include "Pack.h"
|
||||||
|
|
||||||
|
#include "HalfFloat.h"
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
|
||||||
#include "HalfFloat.h"
|
|
||||||
|
|
||||||
union PackUtil32
|
union PackUtil32
|
||||||
{
|
{
|
||||||
uint32_t u;
|
uint32_t u;
|
||||||
@ -16,8 +16,7 @@ union PackUtil32
|
|||||||
|
|
||||||
uint32_t Pack32::Vec2PackTexCoords(const float* in)
|
uint32_t Pack32::Vec2PackTexCoords(const float* in)
|
||||||
{
|
{
|
||||||
return static_cast<uint32_t>(HalfFloat::ToHalf(in[0])) << 16
|
return static_cast<uint32_t>(HalfFloat::ToHalf(in[0])) << 16 | HalfFloat::ToHalf(in[1]);
|
||||||
| HalfFloat::ToHalf(in[1]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t Pack32::Vec3PackUnitVec(const float* in)
|
uint32_t Pack32::Vec3PackUnitVec(const float* in)
|
||||||
@ -28,10 +27,8 @@ uint32_t Pack32::Vec3PackUnitVec(const float* in)
|
|||||||
|
|
||||||
uint32_t Pack32::Vec4PackGfxColor(const float* in)
|
uint32_t Pack32::Vec4PackGfxColor(const float* in)
|
||||||
{
|
{
|
||||||
return static_cast<uint8_t>(std::clamp(in[0], 0.0f, 1.0f) * 255.0f)
|
return static_cast<uint8_t>(std::clamp(in[0], 0.0f, 1.0f) * 255.0f) | static_cast<uint8_t>(std::clamp(in[1], 0.0f, 1.0f) * 255.0f) << 8
|
||||||
| static_cast<uint8_t>(std::clamp(in[1], 0.0f, 1.0f) * 255.0f) << 8
|
| static_cast<uint8_t>(std::clamp(in[2], 0.0f, 1.0f) * 255.0f) << 16 | static_cast<uint8_t>(std::clamp(in[3], 0.0f, 1.0f) * 255.0f) << 24;
|
||||||
| static_cast<uint8_t>(std::clamp(in[2], 0.0f, 1.0f) * 255.0f) << 16
|
|
||||||
| static_cast<uint8_t>(std::clamp(in[3], 0.0f, 1.0f) * 255.0f) << 24;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Pack32::Vec2UnpackTexCoordsUV(const uint32_t in, float* out)
|
void Pack32::Vec2UnpackTexCoordsUV(const uint32_t in, float* out)
|
||||||
@ -65,9 +62,9 @@ void Pack32::Vec3UnpackUnitVecScaleBased(const uint32_t in, float* out)
|
|||||||
|
|
||||||
void Pack32::Vec3UnpackUnitVecThirdBased(const uint32_t in, float* out)
|
void Pack32::Vec3UnpackUnitVecThirdBased(const uint32_t in, float* out)
|
||||||
{
|
{
|
||||||
PackUtil32 v0{ (in >> 0) & 0x3FF };
|
PackUtil32 v0{(in >> 0) & 0x3FF};
|
||||||
PackUtil32 v1{ (in >> 10) & 0x3FF };
|
PackUtil32 v1{(in >> 10) & 0x3FF};
|
||||||
PackUtil32 v2{ (in >> 20) & 0x3FF };
|
PackUtil32 v2{(in >> 20) & 0x3FF};
|
||||||
|
|
||||||
v0.u = v0.u - 2 * (v0.u & 0x200) + 0x40400000;
|
v0.u = v0.u - 2 * (v0.u & 0x200) + 0x40400000;
|
||||||
v1.u = v1.u - 2 * (v1.u & 0x200) + 0x40400000;
|
v1.u = v1.u - 2 * (v1.u & 0x200) + 0x40400000;
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
#include "Crypto.h"
|
#include "Crypto.h"
|
||||||
|
|
||||||
#include "Impl/AlgorithmRSA.h"
|
#include "Impl/AlgorithmRSA.h"
|
||||||
#include "Impl/AlgorithmSHA1.h"
|
#include "Impl/AlgorithmSHA1.h"
|
||||||
#include "Impl/AlgorithmSalsa20.h"
|
|
||||||
#include "Impl/AlgorithmSHA256.h"
|
#include "Impl/AlgorithmSHA256.h"
|
||||||
|
#include "Impl/AlgorithmSalsa20.h"
|
||||||
|
|
||||||
std::unique_ptr<IHashFunction> Crypto::CreateSHA1()
|
std::unique_ptr<IHashFunction> Crypto::CreateSHA1()
|
||||||
{
|
{
|
||||||
|
@ -1,13 +1,12 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "IHashFunction.h"
|
||||||
|
#include "IPublicKeyAlgorithm.h"
|
||||||
|
#include "IStreamCipher.h"
|
||||||
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
|
|
||||||
#include "IHashFunction.h"
|
|
||||||
#include "IStreamCipher.h"
|
|
||||||
#include "IPublicKeyAlgorithm.h"
|
|
||||||
|
|
||||||
class Crypto
|
class Crypto
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <cstdint>
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
class IPublicKeyAlgorithm
|
class IPublicKeyAlgorithm
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <cstdint>
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
class IStreamCipher
|
class IStreamCipher
|
||||||
{
|
{
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
#include "AlgorithmRSA.h"
|
#include "AlgorithmRSA.h"
|
||||||
#include <cstring>
|
|
||||||
|
|
||||||
#include "CryptoLibrary.h"
|
#include "CryptoLibrary.h"
|
||||||
|
|
||||||
|
#include <cstring>
|
||||||
|
|
||||||
class AlgorithmRSA::AlgorithmRSAImpl
|
class AlgorithmRSA::AlgorithmRSAImpl
|
||||||
{
|
{
|
||||||
rsa_key m_key{};
|
rsa_key m_key{};
|
||||||
@ -11,7 +12,7 @@ class AlgorithmRSA::AlgorithmRSAImpl
|
|||||||
|
|
||||||
const ltc_hash_descriptor* GetHashDescriptor() const
|
const ltc_hash_descriptor* GetHashDescriptor() const
|
||||||
{
|
{
|
||||||
switch(m_hash)
|
switch (m_hash)
|
||||||
{
|
{
|
||||||
case HashingAlgorithm::RSA_HASH_SHA256:
|
case HashingAlgorithm::RSA_HASH_SHA256:
|
||||||
return &sha256_desc;
|
return &sha256_desc;
|
||||||
@ -24,7 +25,7 @@ class AlgorithmRSA::AlgorithmRSAImpl
|
|||||||
|
|
||||||
int GetPaddingMode() const
|
int GetPaddingMode() const
|
||||||
{
|
{
|
||||||
switch(m_padding)
|
switch (m_padding)
|
||||||
{
|
{
|
||||||
case Crypto::RSAPaddingMode::RSA_PADDING_PKS1:
|
case Crypto::RSAPaddingMode::RSA_PADDING_PKS1:
|
||||||
return LTC_PKCS_1_V1_5;
|
return LTC_PKCS_1_V1_5;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "IPublicKeyAlgorithm.h"
|
|
||||||
#include "Crypto.h"
|
#include "Crypto.h"
|
||||||
|
#include "IPublicKeyAlgorithm.h"
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
class AlgorithmRSA final : public IPublicKeyAlgorithm
|
class AlgorithmRSA final : public IPublicKeyAlgorithm
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "AlgorithmSHA1.h"
|
#include "AlgorithmSHA1.h"
|
||||||
|
|
||||||
#include "CryptoLibrary.h"
|
#include "CryptoLibrary.h"
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
class AlgorithmSHA1::AlgorithmSHA1Impl
|
class AlgorithmSHA1::AlgorithmSHA1Impl
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "AlgorithmSHA256.h"
|
#include "AlgorithmSHA256.h"
|
||||||
|
|
||||||
#include "CryptoLibrary.h"
|
#include "CryptoLibrary.h"
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
class AlgorithmSHA256::Impl
|
class AlgorithmSHA256::Impl
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
#include "AlgorithmSalsa20.h"
|
#include "AlgorithmSalsa20.h"
|
||||||
|
|
||||||
#include "salsa20.h"
|
#include "salsa20.h"
|
||||||
|
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
|
||||||
@ -25,7 +27,7 @@ public:
|
|||||||
{
|
{
|
||||||
assert(ivSize == 8);
|
assert(ivSize == 8);
|
||||||
|
|
||||||
if(ivSize != 8)
|
if (ivSize != 8)
|
||||||
{
|
{
|
||||||
throw std::invalid_argument("Salsa20 IV size must be 8");
|
throw std::invalid_argument("Salsa20 IV size must be 8");
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#include "CryptoLibrary.h"
|
#include "CryptoLibrary.h"
|
||||||
|
|
||||||
#include "tommath.h"
|
#include "tommath.h"
|
||||||
|
|
||||||
void CryptoLibrary::Init()
|
void CryptoLibrary::Init()
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
#include "ZoneCreatorIW3.h"
|
#include "ZoneCreatorIW3.h"
|
||||||
|
|
||||||
#include <iostream>
|
|
||||||
|
|
||||||
#include "ObjLoading.h"
|
|
||||||
#include "AssetLoading/AssetLoadingContext.h"
|
#include "AssetLoading/AssetLoadingContext.h"
|
||||||
#include "Game/IW3/GameIW3.h"
|
|
||||||
#include "Game/IW3/GameAssetPoolIW3.h"
|
#include "Game/IW3/GameAssetPoolIW3.h"
|
||||||
|
#include "Game/IW3/GameIW3.h"
|
||||||
|
#include "ObjLoading.h"
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
using namespace IW3;
|
using namespace IW3;
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <unordered_map>
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
#include "Zone/ZoneTypes.h"
|
#include "Zone/ZoneTypes.h"
|
||||||
#include "ZoneCreation/IZoneCreator.h"
|
#include "ZoneCreation/IZoneCreator.h"
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <unordered_map>
|
||||||
|
|
||||||
namespace IW3
|
namespace IW3
|
||||||
{
|
{
|
||||||
class ZoneCreator final : public IZoneCreator
|
class ZoneCreator final : public IZoneCreator
|
||||||
@ -22,4 +22,4 @@ namespace IW3
|
|||||||
_NODISCARD bool SupportsGame(const std::string& gameName) const override;
|
_NODISCARD bool SupportsGame(const std::string& gameName) const override;
|
||||||
_NODISCARD std::unique_ptr<Zone> CreateZoneForDefinition(ZoneCreationContext& context) const override;
|
_NODISCARD std::unique_ptr<Zone> CreateZoneForDefinition(ZoneCreationContext& context) const override;
|
||||||
};
|
};
|
||||||
}
|
} // namespace IW3
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
#include "ZoneCreatorIW4.h"
|
#include "ZoneCreatorIW4.h"
|
||||||
|
|
||||||
#include <iostream>
|
|
||||||
|
|
||||||
#include "ObjLoading.h"
|
|
||||||
#include "Game/IW4/GameIW4.h"
|
|
||||||
#include "Game/IW4/GameAssetPoolIW4.h"
|
#include "Game/IW4/GameAssetPoolIW4.h"
|
||||||
|
#include "Game/IW4/GameIW4.h"
|
||||||
|
#include "ObjLoading.h"
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
using namespace IW4;
|
using namespace IW4;
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <unordered_map>
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
#include "Zone/ZoneTypes.h"
|
#include "Zone/ZoneTypes.h"
|
||||||
#include "ZoneCreation/IZoneCreator.h"
|
#include "ZoneCreation/IZoneCreator.h"
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <unordered_map>
|
||||||
|
|
||||||
namespace IW4
|
namespace IW4
|
||||||
{
|
{
|
||||||
class ZoneCreator final : public IZoneCreator
|
class ZoneCreator final : public IZoneCreator
|
||||||
@ -22,4 +22,4 @@ namespace IW4
|
|||||||
_NODISCARD bool SupportsGame(const std::string& gameName) const override;
|
_NODISCARD bool SupportsGame(const std::string& gameName) const override;
|
||||||
_NODISCARD std::unique_ptr<Zone> CreateZoneForDefinition(ZoneCreationContext& context) const override;
|
_NODISCARD std::unique_ptr<Zone> CreateZoneForDefinition(ZoneCreationContext& context) const override;
|
||||||
};
|
};
|
||||||
}
|
} // namespace IW4
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
#include "ZoneCreatorIW5.h"
|
#include "ZoneCreatorIW5.h"
|
||||||
|
|
||||||
#include <iostream>
|
|
||||||
|
|
||||||
#include "ObjLoading.h"
|
|
||||||
#include "Game/IW5/GameIW5.h"
|
|
||||||
#include "Game/IW5/GameAssetPoolIW5.h"
|
#include "Game/IW5/GameAssetPoolIW5.h"
|
||||||
|
#include "Game/IW5/GameIW5.h"
|
||||||
|
#include "ObjLoading.h"
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
using namespace IW5;
|
using namespace IW5;
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <unordered_map>
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
#include "Zone/ZoneTypes.h"
|
#include "Zone/ZoneTypes.h"
|
||||||
#include "ZoneCreation/IZoneCreator.h"
|
#include "ZoneCreation/IZoneCreator.h"
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <unordered_map>
|
||||||
|
|
||||||
namespace IW5
|
namespace IW5
|
||||||
{
|
{
|
||||||
class ZoneCreator final : public IZoneCreator
|
class ZoneCreator final : public IZoneCreator
|
||||||
@ -22,4 +22,4 @@ namespace IW5
|
|||||||
_NODISCARD bool SupportsGame(const std::string& gameName) const override;
|
_NODISCARD bool SupportsGame(const std::string& gameName) const override;
|
||||||
_NODISCARD std::unique_ptr<Zone> CreateZoneForDefinition(ZoneCreationContext& context) const override;
|
_NODISCARD std::unique_ptr<Zone> CreateZoneForDefinition(ZoneCreationContext& context) const override;
|
||||||
};
|
};
|
||||||
}
|
} // namespace IW5
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
#include "ZoneCreatorT5.h"
|
#include "ZoneCreatorT5.h"
|
||||||
|
|
||||||
#include <iostream>
|
|
||||||
|
|
||||||
#include "ObjLoading.h"
|
|
||||||
#include "AssetLoading/AssetLoadingContext.h"
|
#include "AssetLoading/AssetLoadingContext.h"
|
||||||
#include "Game/T5/GameT5.h"
|
|
||||||
#include "Game/T5/GameAssetPoolT5.h"
|
#include "Game/T5/GameAssetPoolT5.h"
|
||||||
|
#include "Game/T5/GameT5.h"
|
||||||
|
#include "ObjLoading.h"
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
using namespace T5;
|
using namespace T5;
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <unordered_map>
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
#include "Zone/ZoneTypes.h"
|
#include "Zone/ZoneTypes.h"
|
||||||
#include "ZoneCreation/IZoneCreator.h"
|
#include "ZoneCreation/IZoneCreator.h"
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <unordered_map>
|
||||||
|
|
||||||
namespace T5
|
namespace T5
|
||||||
{
|
{
|
||||||
class ZoneCreator final : public IZoneCreator
|
class ZoneCreator final : public IZoneCreator
|
||||||
@ -22,4 +22,4 @@ namespace T5
|
|||||||
_NODISCARD bool SupportsGame(const std::string& gameName) const override;
|
_NODISCARD bool SupportsGame(const std::string& gameName) const override;
|
||||||
_NODISCARD std::unique_ptr<Zone> CreateZoneForDefinition(ZoneCreationContext& context) const override;
|
_NODISCARD std::unique_ptr<Zone> CreateZoneForDefinition(ZoneCreationContext& context) const override;
|
||||||
};
|
};
|
||||||
}
|
} // namespace T5
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
#include "ZoneCreatorT6.h"
|
#include "ZoneCreatorT6.h"
|
||||||
|
|
||||||
#include <iostream>
|
|
||||||
|
|
||||||
#include "ObjLoading.h"
|
|
||||||
#include "Game/T6/CommonT6.h"
|
#include "Game/T6/CommonT6.h"
|
||||||
#include "Game/T6/T6.h"
|
|
||||||
#include "Game/T6/GameT6.h"
|
|
||||||
#include "Game/T6/GameAssetPoolT6.h"
|
#include "Game/T6/GameAssetPoolT6.h"
|
||||||
|
#include "Game/T6/GameT6.h"
|
||||||
|
#include "Game/T6/T6.h"
|
||||||
|
#include "ObjLoading.h"
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
using namespace T6;
|
using namespace T6;
|
||||||
|
|
||||||
@ -87,12 +87,7 @@ void ZoneCreator::HandleMetadata(Zone* zone, const ZoneCreationContext& context)
|
|||||||
keyHash = Common::Com_HashKey(strValue.c_str(), 64);
|
keyHash = Common::Com_HashKey(strValue.c_str(), 64);
|
||||||
}
|
}
|
||||||
|
|
||||||
KeyValuePair kvp
|
KeyValuePair kvp{keyHash, Common::Com_HashKey(zone->m_name.c_str(), 64), zone->GetMemory()->Dup(metaData->m_value.c_str())};
|
||||||
{
|
|
||||||
keyHash,
|
|
||||||
Common::Com_HashKey(zone->m_name.c_str(), 64),
|
|
||||||
zone->GetMemory()->Dup(metaData->m_value.c_str())
|
|
||||||
};
|
|
||||||
kvpList.push_back(kvp);
|
kvpList.push_back(kvp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <unordered_map>
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
#include "Zone/ZoneTypes.h"
|
#include "Zone/ZoneTypes.h"
|
||||||
#include "ZoneCreation/IZoneCreator.h"
|
#include "ZoneCreation/IZoneCreator.h"
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <unordered_map>
|
||||||
|
|
||||||
namespace T6
|
namespace T6
|
||||||
{
|
{
|
||||||
class ZoneCreator final : public IZoneCreator
|
class ZoneCreator final : public IZoneCreator
|
||||||
@ -23,4 +23,4 @@ namespace T6
|
|||||||
_NODISCARD bool SupportsGame(const std::string& gameName) const override;
|
_NODISCARD bool SupportsGame(const std::string& gameName) const override;
|
||||||
_NODISCARD std::unique_ptr<Zone> CreateZoneForDefinition(ZoneCreationContext& context) const override;
|
_NODISCARD std::unique_ptr<Zone> CreateZoneForDefinition(ZoneCreationContext& context) const override;
|
||||||
};
|
};
|
||||||
}
|
} // namespace T6
|
||||||
|
@ -1,45 +1,43 @@
|
|||||||
#include "Linker.h"
|
#include "Linker.h"
|
||||||
|
|
||||||
#include <set>
|
|
||||||
#include <regex>
|
|
||||||
#include <filesystem>
|
|
||||||
#include <fstream>
|
|
||||||
#include <deque>
|
|
||||||
|
|
||||||
#include "Utils/ClassUtils.h"
|
|
||||||
#include "Utils/Arguments/ArgumentParser.h"
|
|
||||||
#include "ZoneLoading.h"
|
|
||||||
#include "ObjWriting.h"
|
|
||||||
#include "ObjLoading.h"
|
|
||||||
#include "SearchPath/SearchPaths.h"
|
|
||||||
#include "ObjContainer/IWD/IWD.h"
|
|
||||||
#include "LinkerArgs.h"
|
|
||||||
#include "LinkerSearchPaths.h"
|
|
||||||
#include "ZoneWriting.h"
|
|
||||||
#include "Game/IW3/ZoneCreatorIW3.h"
|
#include "Game/IW3/ZoneCreatorIW3.h"
|
||||||
#include "ZoneCreation/ZoneCreationContext.h"
|
|
||||||
#include "ZoneCreation/IZoneCreator.h"
|
|
||||||
#include "Game/IW4/ZoneCreatorIW4.h"
|
#include "Game/IW4/ZoneCreatorIW4.h"
|
||||||
#include "Game/IW5/ZoneCreatorIW5.h"
|
#include "Game/IW5/ZoneCreatorIW5.h"
|
||||||
#include "Game/T5/ZoneCreatorT5.h"
|
#include "Game/T5/ZoneCreatorT5.h"
|
||||||
#include "Game/T6/ZoneCreatorT6.h"
|
#include "Game/T6/ZoneCreatorT6.h"
|
||||||
|
#include "LinkerArgs.h"
|
||||||
|
#include "LinkerSearchPaths.h"
|
||||||
#include "ObjContainer/IPak/IPakWriter.h"
|
#include "ObjContainer/IPak/IPakWriter.h"
|
||||||
|
#include "ObjContainer/IWD/IWD.h"
|
||||||
|
#include "ObjLoading.h"
|
||||||
|
#include "ObjWriting.h"
|
||||||
|
#include "SearchPath/SearchPaths.h"
|
||||||
|
#include "Utils/Arguments/ArgumentParser.h"
|
||||||
|
#include "Utils/ClassUtils.h"
|
||||||
#include "Utils/ObjFileStream.h"
|
#include "Utils/ObjFileStream.h"
|
||||||
#include "Utils/StringUtils.h"
|
#include "Utils/StringUtils.h"
|
||||||
#include "Zone/AssetList/AssetList.h"
|
#include "Zone/AssetList/AssetList.h"
|
||||||
#include "Zone/AssetList/AssetListStream.h"
|
#include "Zone/AssetList/AssetListStream.h"
|
||||||
#include "Zone/Definition/ZoneDefinitionStream.h"
|
#include "Zone/Definition/ZoneDefinitionStream.h"
|
||||||
|
#include "ZoneCreation/IZoneCreator.h"
|
||||||
|
#include "ZoneCreation/ZoneCreationContext.h"
|
||||||
|
#include "ZoneLoading.h"
|
||||||
|
#include "ZoneWriting.h"
|
||||||
|
|
||||||
|
#include <deque>
|
||||||
|
#include <filesystem>
|
||||||
|
#include <fstream>
|
||||||
|
#include <regex>
|
||||||
|
#include <set>
|
||||||
|
|
||||||
namespace fs = std::filesystem;
|
namespace fs = std::filesystem;
|
||||||
|
|
||||||
const IZoneCreator* const ZONE_CREATORS[]
|
const IZoneCreator* const ZONE_CREATORS[]{
|
||||||
{
|
|
||||||
new IW3::ZoneCreator(),
|
new IW3::ZoneCreator(),
|
||||||
new IW4::ZoneCreator(),
|
new IW4::ZoneCreator(),
|
||||||
new IW5::ZoneCreator(),
|
new IW5::ZoneCreator(),
|
||||||
new T5::ZoneCreator(),
|
new T5::ZoneCreator(),
|
||||||
new T6::ZoneCreator()
|
new T6::ZoneCreator(),
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class ProjectType
|
enum class ProjectType
|
||||||
@ -51,11 +49,10 @@ enum class ProjectType
|
|||||||
MAX
|
MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
constexpr const char* PROJECT_TYPE_NAMES[static_cast<unsigned>(ProjectType::MAX)]
|
constexpr const char* PROJECT_TYPE_NAMES[static_cast<unsigned>(ProjectType::MAX)]{
|
||||||
{
|
|
||||||
"none",
|
"none",
|
||||||
"fastfile",
|
"fastfile",
|
||||||
"ipak"
|
"ipak",
|
||||||
};
|
};
|
||||||
|
|
||||||
class LinkerImpl final : public Linker
|
class LinkerImpl final : public Linker
|
||||||
@ -367,7 +364,10 @@ class LinkerImpl final : public Linker
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<Zone> CreateZoneForDefinition(const std::string& targetName, ZoneDefinition& zoneDefinition, ISearchPath* assetSearchPath, ISearchPath* gdtSearchPath,
|
std::unique_ptr<Zone> CreateZoneForDefinition(const std::string& targetName,
|
||||||
|
ZoneDefinition& zoneDefinition,
|
||||||
|
ISearchPath* assetSearchPath,
|
||||||
|
ISearchPath* gdtSearchPath,
|
||||||
ISearchPath* sourceSearchPath) const
|
ISearchPath* sourceSearchPath) const
|
||||||
{
|
{
|
||||||
const auto context = std::make_unique<ZoneCreationContext>(assetSearchPath, &zoneDefinition);
|
const auto context = std::make_unique<ZoneCreationContext>(assetSearchPath, &zoneDefinition);
|
||||||
@ -412,7 +412,11 @@ class LinkerImpl final : public Linker
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BuildFastFile(const std::string& projectName, const std::string& targetName, ZoneDefinition& zoneDefinition, SearchPaths& assetSearchPaths, SearchPaths& gdtSearchPaths,
|
bool BuildFastFile(const std::string& projectName,
|
||||||
|
const std::string& targetName,
|
||||||
|
ZoneDefinition& zoneDefinition,
|
||||||
|
SearchPaths& assetSearchPaths,
|
||||||
|
SearchPaths& gdtSearchPaths,
|
||||||
SearchPaths& sourceSearchPaths) const
|
SearchPaths& sourceSearchPaths) const
|
||||||
{
|
{
|
||||||
const auto zone = CreateZoneForDefinition(targetName, zoneDefinition, &assetSearchPaths, &gdtSearchPaths, &sourceSearchPaths);
|
const auto zone = CreateZoneForDefinition(targetName, zoneDefinition, &assetSearchPaths, &gdtSearchPaths, &sourceSearchPaths);
|
||||||
@ -460,7 +464,9 @@ class LinkerImpl final : public Linker
|
|||||||
|
|
||||||
bool BuildReferencedTargets(const std::string& projectName, const std::string& targetName, const ZoneDefinition& zoneDefinition)
|
bool BuildReferencedTargets(const std::string& projectName, const std::string& targetName, const ZoneDefinition& zoneDefinition)
|
||||||
{
|
{
|
||||||
return std::all_of(zoneDefinition.m_targets_to_build.begin(), zoneDefinition.m_targets_to_build.end(), [this, &projectName, &targetName](const std::string& buildTargetName)
|
return std::all_of(zoneDefinition.m_targets_to_build.begin(),
|
||||||
|
zoneDefinition.m_targets_to_build.end(),
|
||||||
|
[this, &projectName, &targetName](const std::string& buildTargetName)
|
||||||
{
|
{
|
||||||
if (buildTargetName == targetName)
|
if (buildTargetName == targetName)
|
||||||
{
|
{
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
#include "LinkerArgs.h"
|
#include "LinkerArgs.h"
|
||||||
|
|
||||||
|
#include "ObjLoading.h"
|
||||||
|
#include "ObjWriting.h"
|
||||||
|
#include "Utils/Arguments/UsageInformation.h"
|
||||||
|
#include "Utils/FileUtils.h"
|
||||||
|
|
||||||
#include <filesystem>
|
#include <filesystem>
|
||||||
#include <regex>
|
#include <regex>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
|
|
||||||
#include "Utils/Arguments/UsageInformation.h"
|
|
||||||
#include "ObjLoading.h"
|
|
||||||
#include "ObjWriting.h"
|
|
||||||
#include "Utils/FileUtils.h"
|
|
||||||
|
|
||||||
namespace fs = std::filesystem;
|
namespace fs = std::filesystem;
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
const CommandLineOption* const OPTION_HELP =
|
const CommandLineOption* const OPTION_HELP =
|
||||||
CommandLineOption::Builder::Create()
|
CommandLineOption::Builder::Create()
|
||||||
.WithShortName("?")
|
.WithShortName("?")
|
||||||
@ -79,11 +80,13 @@ const CommandLineOption* const OPTION_MENU_PERMISSIVE =
|
|||||||
const CommandLineOption* const OPTION_MENU_NO_OPTIMIZATION =
|
const CommandLineOption* const OPTION_MENU_NO_OPTIMIZATION =
|
||||||
CommandLineOption::Builder::Create()
|
CommandLineOption::Builder::Create()
|
||||||
.WithLongName("menu-no-optimization")
|
.WithLongName("menu-no-optimization")
|
||||||
.WithDescription("Refrain from applying optimizations to parsed menus. (Optimizations increase menu performance and size. May result in less source information when dumped though.)")
|
.WithDescription("Refrain from applying optimizations to parsed menus. (Optimizations increase menu performance and size. May result in less source "
|
||||||
|
"information when dumped though.)")
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
const CommandLineOption* const COMMAND_LINE_OPTIONS[]
|
// clang-format on
|
||||||
{
|
|
||||||
|
const CommandLineOption* const COMMAND_LINE_OPTIONS[]{
|
||||||
OPTION_HELP,
|
OPTION_HELP,
|
||||||
OPTION_VERBOSE,
|
OPTION_VERBOSE,
|
||||||
OPTION_BASE_FOLDER,
|
OPTION_BASE_FOLDER,
|
||||||
@ -93,7 +96,7 @@ const CommandLineOption* const COMMAND_LINE_OPTIONS[]
|
|||||||
OPTION_SOURCE_SEARCH_PATH,
|
OPTION_SOURCE_SEARCH_PATH,
|
||||||
OPTION_LOAD,
|
OPTION_LOAD,
|
||||||
OPTION_MENU_PERMISSIVE,
|
OPTION_MENU_PERMISSIVE,
|
||||||
OPTION_MENU_NO_OPTIMIZATION
|
OPTION_MENU_NO_OPTIMIZATION,
|
||||||
};
|
};
|
||||||
|
|
||||||
LinkerArgs::LinkerArgs()
|
LinkerArgs::LinkerArgs()
|
||||||
@ -182,14 +185,14 @@ std::set<std::string> LinkerArgs::GetSearchPathsForProject(const std::set<std::s
|
|||||||
|
|
||||||
for (const auto& path : set)
|
for (const auto& path : set)
|
||||||
{
|
{
|
||||||
if (path.find(PATTERN_GAME) == std::string::npos
|
if (path.find(PATTERN_GAME) == std::string::npos && path.find(PATTERN_PROJECT) == std::string::npos
|
||||||
&& path.find(PATTERN_PROJECT) == std::string::npos
|
|
||||||
&& (!m_base_folder_depends_on_project || path.find(PATTERN_BASE) == std::string::npos))
|
&& (!m_base_folder_depends_on_project || path.find(PATTERN_BASE) == std::string::npos))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
out.emplace(std::regex_replace(std::regex_replace(std::regex_replace(path, m_project_pattern, projectName), m_game_pattern, gameName), m_base_pattern, basePath));
|
out.emplace(std::regex_replace(
|
||||||
|
std::regex_replace(std::regex_replace(path, m_project_pattern, projectName), m_game_pattern, gameName), m_base_pattern, basePath));
|
||||||
}
|
}
|
||||||
|
|
||||||
return out;
|
return out;
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <vector>
|
|
||||||
#include <set>
|
|
||||||
#include <regex>
|
|
||||||
|
|
||||||
#include "Utils/ClassUtils.h"
|
|
||||||
#include "Utils/Arguments/ArgumentParser.h"
|
#include "Utils/Arguments/ArgumentParser.h"
|
||||||
|
#include "Utils/ClassUtils.h"
|
||||||
#include "Zone/Zone.h"
|
#include "Zone/Zone.h"
|
||||||
|
|
||||||
|
#include <regex>
|
||||||
|
#include <set>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
class LinkerArgs
|
class LinkerArgs
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -37,7 +37,8 @@ private:
|
|||||||
_NODISCARD std::string GetBasePathForProject(const std::string& projectName) const;
|
_NODISCARD std::string GetBasePathForProject(const std::string& projectName) const;
|
||||||
void SetDefaultBasePath();
|
void SetDefaultBasePath();
|
||||||
_NODISCARD std::set<std::string> GetProjectIndependentSearchPaths(const std::set<std::string>& set) const;
|
_NODISCARD std::set<std::string> GetProjectIndependentSearchPaths(const std::set<std::string>& set) const;
|
||||||
_NODISCARD std::set<std::string> GetSearchPathsForProject(const std::set<std::string>& set, const std::string& gameName, const std::string& projectName) const;
|
_NODISCARD std::set<std::string>
|
||||||
|
GetSearchPathsForProject(const std::set<std::string>& set, const std::string& gameName, const std::string& projectName) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
std::vector<std::string> m_zones_to_load;
|
std::vector<std::string> m_zones_to_load;
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
#include "LinkerSearchPaths.h"
|
#include "LinkerSearchPaths.h"
|
||||||
|
|
||||||
|
#include "ObjContainer/IWD/IWD.h"
|
||||||
|
#include "ObjLoading.h"
|
||||||
|
#include "SearchPath/SearchPathFilesystem.h"
|
||||||
|
|
||||||
#include <filesystem>
|
#include <filesystem>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
#include "ObjLoading.h"
|
|
||||||
#include "ObjContainer/IWD/IWD.h"
|
|
||||||
#include "SearchPath/SearchPathFilesystem.h"
|
|
||||||
|
|
||||||
namespace fs = std::filesystem;
|
namespace fs = std::filesystem;
|
||||||
|
|
||||||
LinkerSearchPaths::LinkerSearchPaths(const LinkerArgs& args)
|
LinkerSearchPaths::LinkerSearchPaths(const LinkerArgs& args)
|
||||||
@ -178,7 +178,6 @@ bool LinkerSearchPaths::BuildProjectIndependentSearchPaths()
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void LinkerSearchPaths::UnloadProjectSpecificSearchPaths()
|
void LinkerSearchPaths::UnloadProjectSpecificSearchPaths()
|
||||||
{
|
{
|
||||||
for (const auto& loadedSearchPath : m_loaded_project_search_paths)
|
for (const auto& loadedSearchPath : m_loaded_project_search_paths)
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
#include "LinkerArgs.h"
|
||||||
#include "SearchPath/SearchPaths.h"
|
#include "SearchPath/SearchPaths.h"
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "LinkerArgs.h"
|
|
||||||
|
|
||||||
class LinkerSearchPaths
|
class LinkerSearchPaths
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <string>
|
|
||||||
|
|
||||||
#include "Utils/ClassUtils.h"
|
#include "Utils/ClassUtils.h"
|
||||||
#include "ZoneCreationContext.h"
|
|
||||||
#include "Zone/Zone.h"
|
#include "Zone/Zone.h"
|
||||||
|
#include "ZoneCreationContext.h"
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
class IZoneCreator
|
class IZoneCreator
|
||||||
{
|
{
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <string>
|
|
||||||
#include <vector>
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
#include "SearchPath/ISearchPath.h"
|
|
||||||
#include "Obj/Gdt/Gdt.h"
|
#include "Obj/Gdt/Gdt.h"
|
||||||
|
#include "SearchPath/ISearchPath.h"
|
||||||
#include "Zone/AssetList/AssetList.h"
|
#include "Zone/AssetList/AssetList.h"
|
||||||
#include "Zone/Definition/ZoneDefinition.h"
|
#include "Zone/Definition/ZoneDefinition.h"
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
class ZoneCreationContext
|
class ZoneCreationContext
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -17,22 +17,22 @@ bool CsvInputStream::NextRow(std::vector<std::string>& out) const
|
|||||||
auto c = m_stream.get();
|
auto c = m_stream.get();
|
||||||
const auto isEof = c == EOF;
|
const auto isEof = c == EOF;
|
||||||
std::ostringstream col;
|
std::ostringstream col;
|
||||||
while(c != EOF)
|
while (c != EOF)
|
||||||
{
|
{
|
||||||
if(c == CSV_SEPARATOR)
|
if (c == CSV_SEPARATOR)
|
||||||
{
|
{
|
||||||
out.emplace_back(col.str());
|
out.emplace_back(col.str());
|
||||||
col.clear();
|
col.clear();
|
||||||
col.str(std::string());
|
col.str(std::string());
|
||||||
}
|
}
|
||||||
else if(c == '\r')
|
else if (c == '\r')
|
||||||
{
|
{
|
||||||
c = m_stream.get();
|
c = m_stream.get();
|
||||||
if (c == '\n')
|
if (c == '\n')
|
||||||
break;
|
break;
|
||||||
col << '\r';
|
col << '\r';
|
||||||
}
|
}
|
||||||
else if(c == '\n')
|
else if (c == '\n')
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -44,7 +44,7 @@ bool CsvInputStream::NextRow(std::vector<std::string>& out) const
|
|||||||
c = m_stream.get();
|
c = m_stream.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!isEof)
|
if (!isEof)
|
||||||
{
|
{
|
||||||
out.emplace_back(col.str());
|
out.emplace_back(col.str());
|
||||||
}
|
}
|
||||||
|
@ -1,43 +1,16 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <unordered_map>
|
|
||||||
#include <type_traits>
|
|
||||||
|
|
||||||
#include "Game/IW3/IW3.h"
|
#include "Game/IW3/IW3.h"
|
||||||
|
|
||||||
|
#include <type_traits>
|
||||||
|
#include <unordered_map>
|
||||||
|
|
||||||
namespace IW3
|
namespace IW3
|
||||||
{
|
{
|
||||||
inline const char* surfaceTypeNames[]
|
inline const char* surfaceTypeNames[]{
|
||||||
{
|
"default", "bark", "brick", "carpet", "cloth", "concrete", "dirt", "flesh", "foliage", "glass",
|
||||||
"default",
|
"grass", "gravel", "ice", "metal", "mud", "paper", "plaster", "rock", "sand", "snow",
|
||||||
"bark",
|
"water", "wood", "asphalt", "ceramic", "plastic", "rubber", "cushion", "fruit", "paintedmetal",
|
||||||
"brick",
|
|
||||||
"carpet",
|
|
||||||
"cloth",
|
|
||||||
"concrete",
|
|
||||||
"dirt",
|
|
||||||
"flesh",
|
|
||||||
"foliage",
|
|
||||||
"glass",
|
|
||||||
"grass",
|
|
||||||
"gravel",
|
|
||||||
"ice",
|
|
||||||
"metal",
|
|
||||||
"mud",
|
|
||||||
"paper",
|
|
||||||
"plaster",
|
|
||||||
"rock",
|
|
||||||
"sand",
|
|
||||||
"snow",
|
|
||||||
"water",
|
|
||||||
"wood",
|
|
||||||
"asphalt",
|
|
||||||
"ceramic",
|
|
||||||
"plastic",
|
|
||||||
"rubber",
|
|
||||||
"cushion",
|
|
||||||
"fruit",
|
|
||||||
"paintedmetal"
|
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(surfaceTypeNames)> == SURF_TYPE_NUM);
|
static_assert(std::extent_v<decltype(surfaceTypeNames)> == SURF_TYPE_NUM);
|
||||||
}
|
} // namespace IW3
|
||||||
|
@ -1,15 +1,14 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <unordered_map>
|
|
||||||
#include <type_traits>
|
|
||||||
|
|
||||||
#include "Game/IW3/CommonIW3.h"
|
#include "Game/IW3/CommonIW3.h"
|
||||||
#include "Game/IW3/IW3.h"
|
#include "Game/IW3/IW3.h"
|
||||||
|
|
||||||
|
#include <type_traits>
|
||||||
|
#include <unordered_map>
|
||||||
|
|
||||||
namespace IW3
|
namespace IW3
|
||||||
{
|
{
|
||||||
inline const char* techniqueTypeNames[]
|
inline const char* techniqueTypeNames[]{
|
||||||
{
|
|
||||||
"depth prepass",
|
"depth prepass",
|
||||||
"build floatz",
|
"build floatz",
|
||||||
"build shadowmap depth",
|
"build shadowmap depth",
|
||||||
@ -47,8 +46,7 @@ namespace IW3
|
|||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(techniqueTypeNames)> == TECHNIQUE_COUNT);
|
static_assert(std::extent_v<decltype(techniqueTypeNames)> == TECHNIQUE_COUNT);
|
||||||
|
|
||||||
static const char* materialStreamDestinationNames[]
|
static const char* materialStreamDestinationNames[]{
|
||||||
{
|
|
||||||
"position",
|
"position",
|
||||||
"normal",
|
"normal",
|
||||||
"color[0]",
|
"color[0]",
|
||||||
@ -64,8 +62,7 @@ namespace IW3
|
|||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(materialStreamDestinationNames)> == STREAM_DST_COUNT);
|
static_assert(std::extent_v<decltype(materialStreamDestinationNames)> == STREAM_DST_COUNT);
|
||||||
|
|
||||||
static const char* materialStreamSourceNames[]
|
static const char* materialStreamSourceNames[]{
|
||||||
{
|
|
||||||
"position",
|
"position",
|
||||||
"color",
|
"color",
|
||||||
"texcoord[0]",
|
"texcoord[0]",
|
||||||
@ -74,7 +71,7 @@ namespace IW3
|
|||||||
"texcoord[1]",
|
"texcoord[1]",
|
||||||
"texcoord[2]",
|
"texcoord[2]",
|
||||||
"normalTransform[0]",
|
"normalTransform[0]",
|
||||||
"normalTransform[1]"
|
"normalTransform[1]",
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(materialStreamSourceNames)> == STREAM_SRC_COUNT);
|
static_assert(std::extent_v<decltype(materialStreamSourceNames)> == STREAM_SRC_COUNT);
|
||||||
|
|
||||||
@ -83,56 +80,23 @@ namespace IW3
|
|||||||
return std::make_pair(Common::R_HashString(name, 0u), name);
|
return std::make_pair(Common::R_HashString(name, 0u), name);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline std::unordered_map knownMaterialSourceNames
|
inline std::unordered_map knownMaterialSourceNames{
|
||||||
{
|
KnownMaterialSource("colorMap"), KnownMaterialSource("colorMap0"), KnownMaterialSource("colorMap1"),
|
||||||
KnownMaterialSource("colorMap"),
|
KnownMaterialSource("colorMap2"), KnownMaterialSource("colorMap3"), KnownMaterialSource("colorMap4"),
|
||||||
KnownMaterialSource("colorMap0"),
|
KnownMaterialSource("colorMap5"), KnownMaterialSource("colorMap6"), KnownMaterialSource("colorMap7"),
|
||||||
KnownMaterialSource("colorMap1"),
|
KnownMaterialSource("normalMap"), KnownMaterialSource("normalMap0"), KnownMaterialSource("normalMap1"),
|
||||||
KnownMaterialSource("colorMap2"),
|
KnownMaterialSource("normalMap2"), KnownMaterialSource("normalMap3"), KnownMaterialSource("normalMap4"),
|
||||||
KnownMaterialSource("colorMap3"),
|
KnownMaterialSource("normalMap5"), KnownMaterialSource("normalMap6"), KnownMaterialSource("normalMap7"),
|
||||||
KnownMaterialSource("colorMap4"),
|
KnownMaterialSource("specularMap"), KnownMaterialSource("specularMap0"), KnownMaterialSource("specularMap1"),
|
||||||
KnownMaterialSource("colorMap5"),
|
KnownMaterialSource("specularMap2"), KnownMaterialSource("specularMap3"), KnownMaterialSource("specularMap4"),
|
||||||
KnownMaterialSource("colorMap6"),
|
KnownMaterialSource("specularMap5"), KnownMaterialSource("specularMap6"), KnownMaterialSource("specularMap7"),
|
||||||
KnownMaterialSource("colorMap7"),
|
KnownMaterialSource("detailMap"), KnownMaterialSource("detailMap0"), KnownMaterialSource("detailMap1"),
|
||||||
KnownMaterialSource("normalMap"),
|
KnownMaterialSource("detailMap2"), KnownMaterialSource("detailMap3"), KnownMaterialSource("detailMap4"),
|
||||||
KnownMaterialSource("normalMap0"),
|
KnownMaterialSource("detailMap5"), KnownMaterialSource("detailMap6"), KnownMaterialSource("detailMap7"),
|
||||||
KnownMaterialSource("normalMap1"),
|
KnownMaterialSource("attenuationMap"), KnownMaterialSource("attenuationMap0"), KnownMaterialSource("attenuationMap1"),
|
||||||
KnownMaterialSource("normalMap2"),
|
KnownMaterialSource("attenuationMap2"), KnownMaterialSource("attenuationMap3"), KnownMaterialSource("attenuationMap4"),
|
||||||
KnownMaterialSource("normalMap3"),
|
KnownMaterialSource("attenuationMap5"), KnownMaterialSource("attenuationMap6"), KnownMaterialSource("attenuationMap7"),
|
||||||
KnownMaterialSource("normalMap4"),
|
KnownMaterialSource("distortionScale"), KnownMaterialSource("eyeOffsetParms"), KnownMaterialSource("falloffBeginColor"),
|
||||||
KnownMaterialSource("normalMap5"),
|
|
||||||
KnownMaterialSource("normalMap6"),
|
|
||||||
KnownMaterialSource("normalMap7"),
|
|
||||||
KnownMaterialSource("specularMap"),
|
|
||||||
KnownMaterialSource("specularMap0"),
|
|
||||||
KnownMaterialSource("specularMap1"),
|
|
||||||
KnownMaterialSource("specularMap2"),
|
|
||||||
KnownMaterialSource("specularMap3"),
|
|
||||||
KnownMaterialSource("specularMap4"),
|
|
||||||
KnownMaterialSource("specularMap5"),
|
|
||||||
KnownMaterialSource("specularMap6"),
|
|
||||||
KnownMaterialSource("specularMap7"),
|
|
||||||
KnownMaterialSource("detailMap"),
|
|
||||||
KnownMaterialSource("detailMap0"),
|
|
||||||
KnownMaterialSource("detailMap1"),
|
|
||||||
KnownMaterialSource("detailMap2"),
|
|
||||||
KnownMaterialSource("detailMap3"),
|
|
||||||
KnownMaterialSource("detailMap4"),
|
|
||||||
KnownMaterialSource("detailMap5"),
|
|
||||||
KnownMaterialSource("detailMap6"),
|
|
||||||
KnownMaterialSource("detailMap7"),
|
|
||||||
KnownMaterialSource("attenuationMap"),
|
|
||||||
KnownMaterialSource("attenuationMap0"),
|
|
||||||
KnownMaterialSource("attenuationMap1"),
|
|
||||||
KnownMaterialSource("attenuationMap2"),
|
|
||||||
KnownMaterialSource("attenuationMap3"),
|
|
||||||
KnownMaterialSource("attenuationMap4"),
|
|
||||||
KnownMaterialSource("attenuationMap5"),
|
|
||||||
KnownMaterialSource("attenuationMap6"),
|
|
||||||
KnownMaterialSource("attenuationMap7"),
|
|
||||||
KnownMaterialSource("distortionScale"),
|
|
||||||
KnownMaterialSource("eyeOffsetParms"),
|
|
||||||
KnownMaterialSource("falloffBeginColor"),
|
|
||||||
KnownMaterialSource("falloffEndColor"),
|
KnownMaterialSource("falloffEndColor"),
|
||||||
};
|
};
|
||||||
}
|
} // namespace IW3
|
||||||
|
@ -2,16 +2,14 @@
|
|||||||
|
|
||||||
namespace IW4
|
namespace IW4
|
||||||
{
|
{
|
||||||
inline const char* szWeapTypeNames[]
|
inline const char* szWeapTypeNames[]{
|
||||||
{
|
|
||||||
"bullet",
|
"bullet",
|
||||||
"grenade",
|
"grenade",
|
||||||
"projectile",
|
"projectile",
|
||||||
"riotshield",
|
"riotshield",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* szWeapClassNames[]
|
inline const char* szWeapClassNames[]{
|
||||||
{
|
|
||||||
"rifle",
|
"rifle",
|
||||||
"sniper",
|
"sniper",
|
||||||
"mg",
|
"mg",
|
||||||
@ -26,14 +24,12 @@ namespace IW4
|
|||||||
"item",
|
"item",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* szWeapOverlayReticleNames[]
|
inline const char* szWeapOverlayReticleNames[]{
|
||||||
{
|
|
||||||
"none",
|
"none",
|
||||||
"crosshair",
|
"crosshair",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* szWeapInventoryTypeNames[]
|
inline const char* szWeapInventoryTypeNames[]{
|
||||||
{
|
|
||||||
"primary",
|
"primary",
|
||||||
"offhand",
|
"offhand",
|
||||||
"item",
|
"item",
|
||||||
@ -42,8 +38,7 @@ namespace IW4
|
|||||||
"scavenger",
|
"scavenger",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* szWeapFireTypeNames[]
|
inline const char* szWeapFireTypeNames[]{
|
||||||
{
|
|
||||||
"Full Auto",
|
"Full Auto",
|
||||||
"Single Shot",
|
"Single Shot",
|
||||||
"2-Round Burst",
|
"2-Round Burst",
|
||||||
@ -52,16 +47,14 @@ namespace IW4
|
|||||||
"Double Barrel",
|
"Double Barrel",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* penetrateTypeNames[]
|
inline const char* penetrateTypeNames[]{
|
||||||
{
|
|
||||||
"none",
|
"none",
|
||||||
"small",
|
"small",
|
||||||
"medium",
|
"medium",
|
||||||
"large",
|
"large",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* impactTypeNames[]
|
inline const char* impactTypeNames[]{
|
||||||
{
|
|
||||||
"none",
|
"none",
|
||||||
"bullet_small",
|
"bullet_small",
|
||||||
"bullet_large",
|
"bullet_large",
|
||||||
@ -75,15 +68,13 @@ namespace IW4
|
|||||||
"projectile_dud",
|
"projectile_dud",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* szWeapStanceNames[]
|
inline const char* szWeapStanceNames[]{
|
||||||
{
|
|
||||||
"stand",
|
"stand",
|
||||||
"duck",
|
"duck",
|
||||||
"prone",
|
"prone",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* szProjectileExplosionNames[]
|
inline const char* szProjectileExplosionNames[]{
|
||||||
{
|
|
||||||
"grenade",
|
"grenade",
|
||||||
"rocket",
|
"rocket",
|
||||||
"flashbang",
|
"flashbang",
|
||||||
@ -93,8 +84,7 @@ namespace IW4
|
|||||||
"heavy explosive",
|
"heavy explosive",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* offhandClassNames[]
|
inline const char* offhandClassNames[]{
|
||||||
{
|
|
||||||
"None",
|
"None",
|
||||||
"Frag Grenade",
|
"Frag Grenade",
|
||||||
"Smoke Grenade",
|
"Smoke Grenade",
|
||||||
@ -103,8 +93,7 @@ namespace IW4
|
|||||||
"Other",
|
"Other",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* playerAnimTypeNames[]
|
inline const char* playerAnimTypeNames[]{
|
||||||
{
|
|
||||||
"none",
|
"none",
|
||||||
"other",
|
"other",
|
||||||
"pistol",
|
"pistol",
|
||||||
@ -125,23 +114,20 @@ namespace IW4
|
|||||||
"throwingknife",
|
"throwingknife",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* activeReticleNames[]
|
inline const char* activeReticleNames[]{
|
||||||
{
|
|
||||||
"None",
|
"None",
|
||||||
"Pip-On-A-Stick",
|
"Pip-On-A-Stick",
|
||||||
"Bouncing diamond",
|
"Bouncing diamond",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* guidedMissileNames[]
|
inline const char* guidedMissileNames[]{
|
||||||
{
|
|
||||||
"None",
|
"None",
|
||||||
"Sidewinder",
|
"Sidewinder",
|
||||||
"Hellfire",
|
"Hellfire",
|
||||||
"Javelin",
|
"Javelin",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* stickinessNames[]
|
inline const char* stickinessNames[]{
|
||||||
{
|
|
||||||
"Don't stick",
|
"Don't stick",
|
||||||
"Stick to all",
|
"Stick to all",
|
||||||
"Stick to all, orient to surface",
|
"Stick to all, orient to surface",
|
||||||
@ -150,15 +136,13 @@ namespace IW4
|
|||||||
"Knife",
|
"Knife",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* overlayInterfaceNames[]
|
inline const char* overlayInterfaceNames[]{
|
||||||
{
|
|
||||||
"None",
|
"None",
|
||||||
"Javelin",
|
"Javelin",
|
||||||
"Turret Scope",
|
"Turret Scope",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* ammoCounterClipNames[]
|
inline const char* ammoCounterClipNames[]{
|
||||||
{
|
|
||||||
"None",
|
"None",
|
||||||
"Magazine",
|
"Magazine",
|
||||||
"ShortMagazine",
|
"ShortMagazine",
|
||||||
@ -168,15 +152,13 @@ namespace IW4
|
|||||||
"AltWeapon",
|
"AltWeapon",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* weapIconRatioNames[]
|
inline const char* weapIconRatioNames[]{
|
||||||
{
|
|
||||||
"1:1",
|
"1:1",
|
||||||
"2:1",
|
"2:1",
|
||||||
"4:1",
|
"4:1",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* s_vehicleClassNames[]
|
inline const char* s_vehicleClassNames[]{
|
||||||
{
|
|
||||||
"4 wheel",
|
"4 wheel",
|
||||||
"tank",
|
"tank",
|
||||||
"plane",
|
"plane",
|
||||||
@ -186,10 +168,9 @@ namespace IW4
|
|||||||
"snowmobile",
|
"snowmobile",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* s_vehicleAxleTypeNames[]
|
inline const char* s_vehicleAxleTypeNames[]{
|
||||||
{
|
|
||||||
"front",
|
"front",
|
||||||
"rear",
|
"rear",
|
||||||
"all",
|
"all",
|
||||||
};
|
};
|
||||||
}
|
} // namespace IW4
|
||||||
|
@ -3,18 +3,17 @@
|
|||||||
|
|
||||||
namespace IW4
|
namespace IW4
|
||||||
{
|
{
|
||||||
inline cspField_t phys_preset_fields[]
|
inline cspField_t phys_preset_fields[]{
|
||||||
{
|
{"mass", offsetof(PhysPresetInfo, mass), CSPFT_FLOAT },
|
||||||
{ "mass", offsetof(PhysPresetInfo, mass), CSPFT_FLOAT },
|
{"bounce", offsetof(PhysPresetInfo, bounce), CSPFT_FLOAT },
|
||||||
{ "bounce", offsetof(PhysPresetInfo, bounce), CSPFT_FLOAT },
|
{"friction", offsetof(PhysPresetInfo, friction), CSPFT_FLOAT },
|
||||||
{ "friction", offsetof(PhysPresetInfo, friction), CSPFT_FLOAT },
|
{"isFrictionInfinity", offsetof(PhysPresetInfo, isFrictionInfinity), CSPFT_QBOOLEAN},
|
||||||
{ "isFrictionInfinity", offsetof(PhysPresetInfo, isFrictionInfinity), CSPFT_QBOOLEAN },
|
{"bulletForceScale", offsetof(PhysPresetInfo, bulletForceScale), CSPFT_FLOAT },
|
||||||
{ "bulletForceScale", offsetof(PhysPresetInfo, bulletForceScale), CSPFT_FLOAT },
|
{"explosiveForceScale", offsetof(PhysPresetInfo, explosiveForceScale), CSPFT_FLOAT },
|
||||||
{ "explosiveForceScale", offsetof(PhysPresetInfo, explosiveForceScale), CSPFT_FLOAT },
|
{"sndAliasPrefix", offsetof(PhysPresetInfo, sndAliasPrefix), CSPFT_STRING },
|
||||||
{ "sndAliasPrefix", offsetof(PhysPresetInfo, sndAliasPrefix), CSPFT_STRING },
|
{"piecesSpreadFraction", offsetof(PhysPresetInfo, piecesSpreadFraction), CSPFT_FLOAT },
|
||||||
{ "piecesSpreadFraction", offsetof(PhysPresetInfo, piecesSpreadFraction), CSPFT_FLOAT },
|
{"piecesUpwardVelocity", offsetof(PhysPresetInfo, piecesUpwardVelocity), CSPFT_FLOAT },
|
||||||
{ "piecesUpwardVelocity", offsetof(PhysPresetInfo, piecesUpwardVelocity), CSPFT_FLOAT },
|
{"tempDefaultToCylinder", offsetof(PhysPresetInfo, tempDefaultToCylinder), CSPFT_QBOOLEAN},
|
||||||
{ "tempDefaultToCylinder", offsetof(PhysPresetInfo, tempDefaultToCylinder), CSPFT_QBOOLEAN },
|
{"perSurfaceSndAlias", offsetof(PhysPresetInfo, perSurfaceSndAlias), CSPFT_QBOOLEAN},
|
||||||
{ "perSurfaceSndAlias", offsetof(PhysPresetInfo, perSurfaceSndAlias), CSPFT_QBOOLEAN },
|
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -3,34 +3,33 @@
|
|||||||
|
|
||||||
namespace IW4
|
namespace IW4
|
||||||
{
|
{
|
||||||
inline cspField_t tracer_fields[]
|
inline cspField_t tracer_fields[]{
|
||||||
{
|
{"material", offsetof(TracerDef, material), CSPFT_MATERIAL},
|
||||||
{ "material", offsetof(TracerDef, material), CSPFT_MATERIAL },
|
{"drawInterval", offsetof(TracerDef, drawInterval), CSPFT_INT },
|
||||||
{ "drawInterval", offsetof(TracerDef, drawInterval), CSPFT_INT },
|
{"speed", offsetof(TracerDef, speed), CSPFT_FLOAT },
|
||||||
{ "speed", offsetof(TracerDef, speed), CSPFT_FLOAT },
|
{"beamLength", offsetof(TracerDef, beamLength), CSPFT_FLOAT },
|
||||||
{ "beamLength", offsetof(TracerDef, beamLength), CSPFT_FLOAT },
|
{"beamWidth", offsetof(TracerDef, beamWidth), CSPFT_FLOAT },
|
||||||
{ "beamWidth", offsetof(TracerDef, beamWidth), CSPFT_FLOAT },
|
{"screwRadius", offsetof(TracerDef, screwRadius), CSPFT_FLOAT },
|
||||||
{ "screwRadius", offsetof(TracerDef, screwRadius), CSPFT_FLOAT },
|
{"screwDist", offsetof(TracerDef, screwDist), CSPFT_FLOAT },
|
||||||
{ "screwDist", offsetof(TracerDef, screwDist), CSPFT_FLOAT },
|
{"colorR0", offsetof(TracerDef, colors[0][0]), CSPFT_FLOAT },
|
||||||
{ "colorR0", offsetof(TracerDef, colors[0][0]), CSPFT_FLOAT},
|
{"colorG0", offsetof(TracerDef, colors[0][1]), CSPFT_FLOAT },
|
||||||
{ "colorG0", offsetof(TracerDef, colors[0][1]), CSPFT_FLOAT },
|
{"colorB0", offsetof(TracerDef, colors[0][2]), CSPFT_FLOAT },
|
||||||
{ "colorB0", offsetof(TracerDef, colors[0][2]), CSPFT_FLOAT },
|
{"colorA0", offsetof(TracerDef, colors[0][3]), CSPFT_FLOAT },
|
||||||
{ "colorA0", offsetof(TracerDef, colors[0][3]), CSPFT_FLOAT },
|
{"colorR1", offsetof(TracerDef, colors[1][0]), CSPFT_FLOAT },
|
||||||
{ "colorR1", offsetof(TracerDef, colors[1][0]), CSPFT_FLOAT },
|
{"colorG1", offsetof(TracerDef, colors[1][1]), CSPFT_FLOAT },
|
||||||
{ "colorG1", offsetof(TracerDef, colors[1][1]), CSPFT_FLOAT },
|
{"colorB1", offsetof(TracerDef, colors[1][2]), CSPFT_FLOAT },
|
||||||
{ "colorB1", offsetof(TracerDef, colors[1][2]), CSPFT_FLOAT },
|
{"colorA1", offsetof(TracerDef, colors[1][3]), CSPFT_FLOAT },
|
||||||
{ "colorA1", offsetof(TracerDef, colors[1][3]), CSPFT_FLOAT },
|
{"colorR2", offsetof(TracerDef, colors[2][0]), CSPFT_FLOAT },
|
||||||
{ "colorR2", offsetof(TracerDef, colors[2][0]), CSPFT_FLOAT },
|
{"colorG2", offsetof(TracerDef, colors[2][1]), CSPFT_FLOAT },
|
||||||
{ "colorG2", offsetof(TracerDef, colors[2][1]), CSPFT_FLOAT },
|
{"colorB2", offsetof(TracerDef, colors[2][2]), CSPFT_FLOAT },
|
||||||
{ "colorB2", offsetof(TracerDef, colors[2][2]), CSPFT_FLOAT },
|
{"colorA2", offsetof(TracerDef, colors[2][3]), CSPFT_FLOAT },
|
||||||
{ "colorA2", offsetof(TracerDef, colors[2][3]), CSPFT_FLOAT },
|
{"colorR3", offsetof(TracerDef, colors[3][0]), CSPFT_FLOAT },
|
||||||
{ "colorR3", offsetof(TracerDef, colors[3][0]), CSPFT_FLOAT },
|
{"colorG3", offsetof(TracerDef, colors[3][1]), CSPFT_FLOAT },
|
||||||
{ "colorG3", offsetof(TracerDef, colors[3][1]), CSPFT_FLOAT },
|
{"colorB3", offsetof(TracerDef, colors[3][2]), CSPFT_FLOAT },
|
||||||
{ "colorB3", offsetof(TracerDef, colors[3][2]), CSPFT_FLOAT },
|
{"colorA3", offsetof(TracerDef, colors[3][3]), CSPFT_FLOAT },
|
||||||
{ "colorA3", offsetof(TracerDef, colors[3][3]), CSPFT_FLOAT },
|
{"colorR4", offsetof(TracerDef, colors[4][0]), CSPFT_FLOAT },
|
||||||
{ "colorR4", offsetof(TracerDef, colors[4][0]), CSPFT_FLOAT },
|
{"colorG4", offsetof(TracerDef, colors[4][1]), CSPFT_FLOAT },
|
||||||
{ "colorG4", offsetof(TracerDef, colors[4][1]), CSPFT_FLOAT },
|
{"colorB4", offsetof(TracerDef, colors[4][2]), CSPFT_FLOAT },
|
||||||
{ "colorB4", offsetof(TracerDef, colors[4][2]), CSPFT_FLOAT },
|
{"colorA4", offsetof(TracerDef, colors[4][3]), CSPFT_FLOAT },
|
||||||
{ "colorA4", offsetof(TracerDef, colors[4][3]), CSPFT_FLOAT },
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -3,150 +3,149 @@
|
|||||||
|
|
||||||
namespace IW4
|
namespace IW4
|
||||||
{
|
{
|
||||||
inline cspField_t vehicle_fields[]
|
inline cspField_t vehicle_fields[]{
|
||||||
{
|
{"type", offsetof(VehicleDef, type), VFT_TYPE },
|
||||||
{"type", offsetof(VehicleDef, type), VFT_TYPE},
|
{"useHintString", offsetof(VehicleDef, useHintString), CSPFT_STRING },
|
||||||
{"useHintString", offsetof(VehicleDef, useHintString), CSPFT_STRING},
|
{"health", offsetof(VehicleDef, health), CSPFT_INT },
|
||||||
{"health", offsetof(VehicleDef, health), CSPFT_INT},
|
{"quadBarrel", offsetof(VehicleDef, quadBarrel), CSPFT_QBOOLEAN },
|
||||||
{"quadBarrel", offsetof(VehicleDef, quadBarrel), CSPFT_QBOOLEAN},
|
{"texureScrollScale", offsetof(VehicleDef, texScrollScale), CSPFT_FLOAT },
|
||||||
{"texureScrollScale", offsetof(VehicleDef, texScrollScale), CSPFT_FLOAT},
|
|
||||||
{"topSpeed", offsetof(VehicleDef, topSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"topSpeed", offsetof(VehicleDef, topSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"accel", offsetof(VehicleDef, accel), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"accel", offsetof(VehicleDef, accel), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"rotRate", offsetof(VehicleDef, rotRate), CSPFT_FLOAT},
|
{"rotRate", offsetof(VehicleDef, rotRate), CSPFT_FLOAT },
|
||||||
{"rotAccel", offsetof(VehicleDef, rotAccel), CSPFT_FLOAT},
|
{"rotAccel", offsetof(VehicleDef, rotAccel), CSPFT_FLOAT },
|
||||||
{"maxBodyPitch", offsetof(VehicleDef, maxBodyPitch), CSPFT_FLOAT},
|
{"maxBodyPitch", offsetof(VehicleDef, maxBodyPitch), CSPFT_FLOAT },
|
||||||
{"maxBodyRoll", offsetof(VehicleDef, maxBodyRoll), CSPFT_FLOAT},
|
{"maxBodyRoll", offsetof(VehicleDef, maxBodyRoll), CSPFT_FLOAT },
|
||||||
{"fakeBodyAccelPitch", offsetof(VehicleDef, fakeBodyAccelPitch), CSPFT_FLOAT},
|
{"fakeBodyAccelPitch", offsetof(VehicleDef, fakeBodyAccelPitch), CSPFT_FLOAT },
|
||||||
{"fakeBodyAccelRoll", offsetof(VehicleDef, fakeBodyAccelRoll), CSPFT_FLOAT},
|
{"fakeBodyAccelRoll", offsetof(VehicleDef, fakeBodyAccelRoll), CSPFT_FLOAT },
|
||||||
{"fakeBodyVelPitch", offsetof(VehicleDef, fakeBodyVelPitch), CSPFT_FLOAT},
|
{"fakeBodyVelPitch", offsetof(VehicleDef, fakeBodyVelPitch), CSPFT_FLOAT },
|
||||||
{"fakeBodyVelRoll", offsetof(VehicleDef, fakeBodyVelRoll), CSPFT_FLOAT},
|
{"fakeBodyVelRoll", offsetof(VehicleDef, fakeBodyVelRoll), CSPFT_FLOAT },
|
||||||
{"fakeBodySideVelPitch", offsetof(VehicleDef, fakeBodySideVelPitch), CSPFT_FLOAT},
|
{"fakeBodySideVelPitch", offsetof(VehicleDef, fakeBodySideVelPitch), CSPFT_FLOAT },
|
||||||
{"fakeBodyPitchStrength", offsetof(VehicleDef, fakeBodyPitchStrength), CSPFT_FLOAT},
|
{"fakeBodyPitchStrength", offsetof(VehicleDef, fakeBodyPitchStrength), CSPFT_FLOAT },
|
||||||
{"fakeBodyRollStrength", offsetof(VehicleDef, fakeBodyRollStrength), CSPFT_FLOAT},
|
{"fakeBodyRollStrength", offsetof(VehicleDef, fakeBodyRollStrength), CSPFT_FLOAT },
|
||||||
{"fakeBodyPitchDampening", offsetof(VehicleDef, fakeBodyPitchDampening), CSPFT_FLOAT},
|
{"fakeBodyPitchDampening", offsetof(VehicleDef, fakeBodyPitchDampening), CSPFT_FLOAT },
|
||||||
{"fakeBodyRollDampening", offsetof(VehicleDef, fakeBodyRollDampening), CSPFT_FLOAT},
|
{"fakeBodyRollDampening", offsetof(VehicleDef, fakeBodyRollDampening), CSPFT_FLOAT },
|
||||||
{"fakeBodyBoatRockingAmplitude", offsetof(VehicleDef, fakeBodyBoatRockingAmplitude), CSPFT_FLOAT},
|
{"fakeBodyBoatRockingAmplitude", offsetof(VehicleDef, fakeBodyBoatRockingAmplitude), CSPFT_FLOAT },
|
||||||
{"fakeBodyBoatRockingPeriod", offsetof(VehicleDef, fakeBodyBoatRockingPeriod), CSPFT_FLOAT},
|
{"fakeBodyBoatRockingPeriod", offsetof(VehicleDef, fakeBodyBoatRockingPeriod), CSPFT_FLOAT },
|
||||||
{"fakeBodyBoatRockingRotationPeriod", offsetof(VehicleDef, fakeBodyBoatRockingRotationPeriod), CSPFT_FLOAT},
|
{"fakeBodyBoatRockingRotationPeriod", offsetof(VehicleDef, fakeBodyBoatRockingRotationPeriod), CSPFT_FLOAT },
|
||||||
{"fakeBodyBoatRockingFadeoutSpeed", offsetof(VehicleDef, fakeBodyBoatRockingFadeoutSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"fakeBodyBoatRockingFadeoutSpeed", offsetof(VehicleDef, fakeBodyBoatRockingFadeoutSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"boatBouncingMinForce", offsetof(VehicleDef, boatBouncingMinForce), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"boatBouncingMinForce", offsetof(VehicleDef, boatBouncingMinForce), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"boatBouncingMaxForce", offsetof(VehicleDef, boatBouncingMaxForce), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"boatBouncingMaxForce", offsetof(VehicleDef, boatBouncingMaxForce), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"boatBouncingRate", offsetof(VehicleDef, boatBouncingRate), CSPFT_FLOAT},
|
{"boatBouncingRate", offsetof(VehicleDef, boatBouncingRate), CSPFT_FLOAT },
|
||||||
{"boatBouncingFadeinSpeed", offsetof(VehicleDef, boatBouncingFadeinSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"boatBouncingFadeinSpeed", offsetof(VehicleDef, boatBouncingFadeinSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"boatBouncingFadeoutSteeringAngle", offsetof(VehicleDef, boatBouncingFadeoutSteeringAngle), CSPFT_FLOAT},
|
{"boatBouncingFadeoutSteeringAngle", offsetof(VehicleDef, boatBouncingFadeoutSteeringAngle), CSPFT_FLOAT },
|
||||||
{"collisionDamage", offsetof(VehicleDef, collisionDamage), CSPFT_FLOAT},
|
{"collisionDamage", offsetof(VehicleDef, collisionDamage), CSPFT_FLOAT },
|
||||||
{"collisionSpeed", offsetof(VehicleDef, collisionSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"collisionSpeed", offsetof(VehicleDef, collisionSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"killcamZDist", offsetof(VehicleDef, killcamOffset[0]), CSPFT_FLOAT},
|
{"killcamZDist", offsetof(VehicleDef, killcamOffset[0]), CSPFT_FLOAT },
|
||||||
{"killcamBackDist", offsetof(VehicleDef, killcamOffset[1]), CSPFT_FLOAT},
|
{"killcamBackDist", offsetof(VehicleDef, killcamOffset[1]), CSPFT_FLOAT },
|
||||||
{"killcamUpDist", offsetof(VehicleDef, killcamOffset[2]), CSPFT_FLOAT},
|
{"killcamUpDist", offsetof(VehicleDef, killcamOffset[2]), CSPFT_FLOAT },
|
||||||
{"playerProtected", offsetof(VehicleDef, playerProtected), CSPFT_QBOOLEAN},
|
{"playerProtected", offsetof(VehicleDef, playerProtected), CSPFT_QBOOLEAN },
|
||||||
{"bulletDamage", offsetof(VehicleDef, bulletDamage), CSPFT_QBOOLEAN},
|
{"bulletDamage", offsetof(VehicleDef, bulletDamage), CSPFT_QBOOLEAN },
|
||||||
{"armorPiercingDamage", offsetof(VehicleDef, armorPiercingDamage), CSPFT_QBOOLEAN},
|
{"armorPiercingDamage", offsetof(VehicleDef, armorPiercingDamage), CSPFT_QBOOLEAN },
|
||||||
{"grenadeDamage", offsetof(VehicleDef, grenadeDamage), CSPFT_QBOOLEAN},
|
{"grenadeDamage", offsetof(VehicleDef, grenadeDamage), CSPFT_QBOOLEAN },
|
||||||
{"projectileDamage", offsetof(VehicleDef, projectileDamage), CSPFT_QBOOLEAN},
|
{"projectileDamage", offsetof(VehicleDef, projectileDamage), CSPFT_QBOOLEAN },
|
||||||
{"projectileSplashDamage", offsetof(VehicleDef, projectileSplashDamage), CSPFT_QBOOLEAN},
|
{"projectileSplashDamage", offsetof(VehicleDef, projectileSplashDamage), CSPFT_QBOOLEAN },
|
||||||
{"heavyExplosiveDamage", offsetof(VehicleDef, heavyExplosiveDamage), CSPFT_QBOOLEAN},
|
{"heavyExplosiveDamage", offsetof(VehicleDef, heavyExplosiveDamage), CSPFT_QBOOLEAN },
|
||||||
{"physicsEnabled", offsetof(VehicleDef, vehPhysDef.physicsEnabled), CSPFT_QBOOLEAN},
|
{"physicsEnabled", offsetof(VehicleDef, vehPhysDef.physicsEnabled), CSPFT_QBOOLEAN },
|
||||||
{"physicsPreset", offsetof(VehicleDef, vehPhysDef.physPresetName), CSPFT_STRING},
|
{"physicsPreset", offsetof(VehicleDef, vehPhysDef.physPresetName), CSPFT_STRING },
|
||||||
{"accelerationGraph", offsetof(VehicleDef, vehPhysDef.accelGraphName), CSPFT_STRING},
|
{"accelerationGraph", offsetof(VehicleDef, vehPhysDef.accelGraphName), CSPFT_STRING },
|
||||||
{"steeringAxle", offsetof(VehicleDef, vehPhysDef.steeringAxle), VFT_AXLE_STEERING},
|
{"steeringAxle", offsetof(VehicleDef, vehPhysDef.steeringAxle), VFT_AXLE_STEERING },
|
||||||
{"powerAxle", offsetof(VehicleDef, vehPhysDef.powerAxle), VFT_AXLE_POWER},
|
{"powerAxle", offsetof(VehicleDef, vehPhysDef.powerAxle), VFT_AXLE_POWER },
|
||||||
{"brakingAxle", offsetof(VehicleDef, vehPhysDef.brakingAxle), VFT_AXLE_BRAKING},
|
{"brakingAxle", offsetof(VehicleDef, vehPhysDef.brakingAxle), VFT_AXLE_BRAKING },
|
||||||
{"reverseSpeed", offsetof(VehicleDef, vehPhysDef.reverseSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"reverseSpeed", offsetof(VehicleDef, vehPhysDef.reverseSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"maxVelocity", offsetof(VehicleDef, vehPhysDef.maxVelocity), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"maxVelocity", offsetof(VehicleDef, vehPhysDef.maxVelocity), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"maxPitch", offsetof(VehicleDef, vehPhysDef.maxPitch), CSPFT_FLOAT},
|
{"maxPitch", offsetof(VehicleDef, vehPhysDef.maxPitch), CSPFT_FLOAT },
|
||||||
{"maxRoll", offsetof(VehicleDef, vehPhysDef.maxRoll), CSPFT_FLOAT},
|
{"maxRoll", offsetof(VehicleDef, vehPhysDef.maxRoll), CSPFT_FLOAT },
|
||||||
{"suspensionTravelRear", offsetof(VehicleDef, vehPhysDef.suspensionTravelRear), CSPFT_FLOAT},
|
{"suspensionTravelRear", offsetof(VehicleDef, vehPhysDef.suspensionTravelRear), CSPFT_FLOAT },
|
||||||
{"suspensionStrengthFront", offsetof(VehicleDef, vehPhysDef.suspensionStrengthFront), CSPFT_FLOAT},
|
{"suspensionStrengthFront", offsetof(VehicleDef, vehPhysDef.suspensionStrengthFront), CSPFT_FLOAT },
|
||||||
{"suspensionDampingFront", offsetof(VehicleDef, vehPhysDef.suspensionDampingFront), CSPFT_FLOAT},
|
{"suspensionDampingFront", offsetof(VehicleDef, vehPhysDef.suspensionDampingFront), CSPFT_FLOAT },
|
||||||
{"suspensionStrengthRear", offsetof(VehicleDef, vehPhysDef.suspensionStrengthRear), CSPFT_FLOAT},
|
{"suspensionStrengthRear", offsetof(VehicleDef, vehPhysDef.suspensionStrengthRear), CSPFT_FLOAT },
|
||||||
{"suspensionDampingRear", offsetof(VehicleDef, vehPhysDef.suspensionDampingRear), CSPFT_FLOAT},
|
{"suspensionDampingRear", offsetof(VehicleDef, vehPhysDef.suspensionDampingRear), CSPFT_FLOAT },
|
||||||
{"frictionBraking", offsetof(VehicleDef, vehPhysDef.frictionBraking), CSPFT_FLOAT},
|
{"frictionBraking", offsetof(VehicleDef, vehPhysDef.frictionBraking), CSPFT_FLOAT },
|
||||||
{"frictionCoasting", offsetof(VehicleDef, vehPhysDef.frictionCoasting), CSPFT_FLOAT},
|
{"frictionCoasting", offsetof(VehicleDef, vehPhysDef.frictionCoasting), CSPFT_FLOAT },
|
||||||
{"frictionTopSpeed", offsetof(VehicleDef, vehPhysDef.frictionTopSpeed), CSPFT_FLOAT},
|
{"frictionTopSpeed", offsetof(VehicleDef, vehPhysDef.frictionTopSpeed), CSPFT_FLOAT },
|
||||||
{"frictionSide", offsetof(VehicleDef, vehPhysDef.frictionSide), CSPFT_FLOAT},
|
{"frictionSide", offsetof(VehicleDef, vehPhysDef.frictionSide), CSPFT_FLOAT },
|
||||||
{"frictionSideRear", offsetof(VehicleDef, vehPhysDef.frictionSideRear), CSPFT_FLOAT},
|
{"frictionSideRear", offsetof(VehicleDef, vehPhysDef.frictionSideRear), CSPFT_FLOAT },
|
||||||
{"velocityDependentSlip", offsetof(VehicleDef, vehPhysDef.velocityDependentSlip), CSPFT_FLOAT},
|
{"velocityDependentSlip", offsetof(VehicleDef, vehPhysDef.velocityDependentSlip), CSPFT_FLOAT },
|
||||||
{"rollStability", offsetof(VehicleDef, vehPhysDef.rollStability), CSPFT_FLOAT},
|
{"rollStability", offsetof(VehicleDef, vehPhysDef.rollStability), CSPFT_FLOAT },
|
||||||
{"rollResistance", offsetof(VehicleDef, vehPhysDef.rollResistance), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"rollResistance", offsetof(VehicleDef, vehPhysDef.rollResistance), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"pitchResistance", offsetof(VehicleDef, vehPhysDef.pitchResistance), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"pitchResistance", offsetof(VehicleDef, vehPhysDef.pitchResistance), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"yawResistance", offsetof(VehicleDef, vehPhysDef.yawResistance), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"yawResistance", offsetof(VehicleDef, vehPhysDef.yawResistance), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"uprightStrengthPitch", offsetof(VehicleDef, vehPhysDef.uprightStrengthPitch), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"uprightStrengthPitch", offsetof(VehicleDef, vehPhysDef.uprightStrengthPitch), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"uprightStrengthRoll", offsetof(VehicleDef, vehPhysDef.uprightStrengthRoll), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"uprightStrengthRoll", offsetof(VehicleDef, vehPhysDef.uprightStrengthRoll), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"targetAirPitch", offsetof(VehicleDef, vehPhysDef.targetAirPitch), CSPFT_FLOAT},
|
{"targetAirPitch", offsetof(VehicleDef, vehPhysDef.targetAirPitch), CSPFT_FLOAT },
|
||||||
{"airYawTorque", offsetof(VehicleDef, vehPhysDef.airYawTorque), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"airYawTorque", offsetof(VehicleDef, vehPhysDef.airYawTorque), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"airPitchTorque", offsetof(VehicleDef, vehPhysDef.airPitchTorque), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"airPitchTorque", offsetof(VehicleDef, vehPhysDef.airPitchTorque), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"minimumMomentumForCollision", offsetof(VehicleDef, vehPhysDef.minimumMomentumForCollision), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"minimumMomentumForCollision", offsetof(VehicleDef, vehPhysDef.minimumMomentumForCollision), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"collisionLaunchForceScale", offsetof(VehicleDef, vehPhysDef.collisionLaunchForceScale), CSPFT_FLOAT},
|
{"collisionLaunchForceScale", offsetof(VehicleDef, vehPhysDef.collisionLaunchForceScale), CSPFT_FLOAT },
|
||||||
{"wreckedMassScale", offsetof(VehicleDef, vehPhysDef.wreckedMassScale), CSPFT_FLOAT},
|
{"wreckedMassScale", offsetof(VehicleDef, vehPhysDef.wreckedMassScale), CSPFT_FLOAT },
|
||||||
{"wreckedBodyFriction", offsetof(VehicleDef, vehPhysDef.wreckedBodyFriction), CSPFT_FLOAT},
|
{"wreckedBodyFriction", offsetof(VehicleDef, vehPhysDef.wreckedBodyFriction), CSPFT_FLOAT },
|
||||||
{"minimumJoltForNotify", offsetof(VehicleDef, vehPhysDef.minimumJoltForNotify), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"minimumJoltForNotify", offsetof(VehicleDef, vehPhysDef.minimumJoltForNotify), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"slipThresholdFront", offsetof(VehicleDef, vehPhysDef.slipThresholdFront), CSPFT_FLOAT},
|
{"slipThresholdFront", offsetof(VehicleDef, vehPhysDef.slipThresholdFront), CSPFT_FLOAT },
|
||||||
{"slipThresholdRear", offsetof(VehicleDef, vehPhysDef.slipThresholdRear), CSPFT_FLOAT},
|
{"slipThresholdRear", offsetof(VehicleDef, vehPhysDef.slipThresholdRear), CSPFT_FLOAT },
|
||||||
{"slipFricScaleFront", offsetof(VehicleDef, vehPhysDef.slipFricScaleFront), CSPFT_FLOAT},
|
{"slipFricScaleFront", offsetof(VehicleDef, vehPhysDef.slipFricScaleFront), CSPFT_FLOAT },
|
||||||
{"slipFricScaleRear", offsetof(VehicleDef, vehPhysDef.slipFricScaleRear), CSPFT_FLOAT},
|
{"slipFricScaleRear", offsetof(VehicleDef, vehPhysDef.slipFricScaleRear), CSPFT_FLOAT },
|
||||||
{"slipFricRateFront", offsetof(VehicleDef, vehPhysDef.slipFricRateFront), CSPFT_FLOAT},
|
{"slipFricRateFront", offsetof(VehicleDef, vehPhysDef.slipFricRateFront), CSPFT_FLOAT },
|
||||||
{"slipFricRateRear", offsetof(VehicleDef, vehPhysDef.slipFricRateRear), CSPFT_FLOAT},
|
{"slipFricRateRear", offsetof(VehicleDef, vehPhysDef.slipFricRateRear), CSPFT_FLOAT },
|
||||||
{"slipYawTorque", offsetof(VehicleDef, vehPhysDef.slipYawTorque), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"slipYawTorque", offsetof(VehicleDef, vehPhysDef.slipYawTorque), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"boostDuration", offsetof(VehicleDef, boostDuration), CSPFT_FLOAT},
|
{"boostDuration", offsetof(VehicleDef, boostDuration), CSPFT_FLOAT },
|
||||||
{"boostRechargeTime", offsetof(VehicleDef, boostRechargeTime), CSPFT_FLOAT},
|
{"boostRechargeTime", offsetof(VehicleDef, boostRechargeTime), CSPFT_FLOAT },
|
||||||
{"boostAcceleration", offsetof(VehicleDef, boostAcceleration), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"boostAcceleration", offsetof(VehicleDef, boostAcceleration), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"suspensionTravel", offsetof(VehicleDef, suspensionTravel), CSPFT_FLOAT},
|
{"suspensionTravel", offsetof(VehicleDef, suspensionTravel), CSPFT_FLOAT },
|
||||||
{"maxSteeringAngle", offsetof(VehicleDef, maxSteeringAngle), CSPFT_FLOAT},
|
{"maxSteeringAngle", offsetof(VehicleDef, maxSteeringAngle), CSPFT_FLOAT },
|
||||||
{"steeringLerp", offsetof(VehicleDef, steeringLerp), CSPFT_FLOAT},
|
{"steeringLerp", offsetof(VehicleDef, steeringLerp), CSPFT_FLOAT },
|
||||||
{"minSteeringScale", offsetof(VehicleDef, minSteeringScale), CSPFT_FLOAT},
|
{"minSteeringScale", offsetof(VehicleDef, minSteeringScale), CSPFT_FLOAT },
|
||||||
{"minSteeringSpeed", offsetof(VehicleDef, minSteeringSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"minSteeringSpeed", offsetof(VehicleDef, minSteeringSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"camLookEnabled", offsetof(VehicleDef, camLookEnabled), CSPFT_QBOOLEAN},
|
{"camLookEnabled", offsetof(VehicleDef, camLookEnabled), CSPFT_QBOOLEAN },
|
||||||
{"camLerp", offsetof(VehicleDef, camLerp), CSPFT_FLOAT},
|
{"camLerp", offsetof(VehicleDef, camLerp), CSPFT_FLOAT },
|
||||||
{"camPitchInfluence", offsetof(VehicleDef, camPitchInfluence), CSPFT_FLOAT},
|
{"camPitchInfluence", offsetof(VehicleDef, camPitchInfluence), CSPFT_FLOAT },
|
||||||
{"camRollInfluence", offsetof(VehicleDef, camRollInfluence), CSPFT_FLOAT},
|
{"camRollInfluence", offsetof(VehicleDef, camRollInfluence), CSPFT_FLOAT },
|
||||||
{"camFovIncrease", offsetof(VehicleDef, camFovIncrease), CSPFT_FLOAT},
|
{"camFovIncrease", offsetof(VehicleDef, camFovIncrease), CSPFT_FLOAT },
|
||||||
{"camFovOffset", offsetof(VehicleDef, camFovOffset), CSPFT_FLOAT},
|
{"camFovOffset", offsetof(VehicleDef, camFovOffset), CSPFT_FLOAT },
|
||||||
{"camFovSpeed", offsetof(VehicleDef, camFovSpeed), CSPFT_FLOAT},
|
{"camFovSpeed", offsetof(VehicleDef, camFovSpeed), CSPFT_FLOAT },
|
||||||
{"turretWeaponName", offsetof(VehicleDef, turretWeaponName), CSPFT_STRING},
|
{"turretWeaponName", offsetof(VehicleDef, turretWeaponName), CSPFT_STRING },
|
||||||
{"turretHorizSpanLeft", offsetof(VehicleDef, turretHorizSpanLeft), CSPFT_FLOAT},
|
{"turretHorizSpanLeft", offsetof(VehicleDef, turretHorizSpanLeft), CSPFT_FLOAT },
|
||||||
{"turretHorizSpanRight", offsetof(VehicleDef, turretHorizSpanRight), CSPFT_FLOAT},
|
{"turretHorizSpanRight", offsetof(VehicleDef, turretHorizSpanRight), CSPFT_FLOAT },
|
||||||
{"turretVertSpanUp", offsetof(VehicleDef, turretVertSpanUp), CSPFT_FLOAT},
|
{"turretVertSpanUp", offsetof(VehicleDef, turretVertSpanUp), CSPFT_FLOAT },
|
||||||
{"turretVertSpanDown", offsetof(VehicleDef, turretVertSpanDown), CSPFT_FLOAT},
|
{"turretVertSpanDown", offsetof(VehicleDef, turretVertSpanDown), CSPFT_FLOAT },
|
||||||
{"turretRotRate", offsetof(VehicleDef, turretRotRate), CSPFT_FLOAT},
|
{"turretRotRate", offsetof(VehicleDef, turretRotRate), CSPFT_FLOAT },
|
||||||
{"turretSpinSnd", offsetof(VehicleDef, turretSpinSnd), CSPFT_SOUND},
|
{"turretSpinSnd", offsetof(VehicleDef, turretSpinSnd), CSPFT_SOUND },
|
||||||
{"turretStopSnd", offsetof(VehicleDef, turretStopSnd), CSPFT_SOUND},
|
{"turretStopSnd", offsetof(VehicleDef, turretStopSnd), CSPFT_SOUND },
|
||||||
{"trophyEnabled", offsetof(VehicleDef, trophyEnabled), CSPFT_QBOOLEAN},
|
{"trophyEnabled", offsetof(VehicleDef, trophyEnabled), CSPFT_QBOOLEAN },
|
||||||
{"trophyRadius", offsetof(VehicleDef, trophyRadius), CSPFT_FLOAT},
|
{"trophyRadius", offsetof(VehicleDef, trophyRadius), CSPFT_FLOAT },
|
||||||
{"trophyInactiveRadius", offsetof(VehicleDef, trophyInactiveRadius), CSPFT_FLOAT},
|
{"trophyInactiveRadius", offsetof(VehicleDef, trophyInactiveRadius), CSPFT_FLOAT },
|
||||||
{"trophyAmmoCount", offsetof(VehicleDef, trophyAmmoCount), CSPFT_INT},
|
{"trophyAmmoCount", offsetof(VehicleDef, trophyAmmoCount), CSPFT_INT },
|
||||||
{"trophyReloadTime", offsetof(VehicleDef, trophyReloadTime), CSPFT_FLOAT},
|
{"trophyReloadTime", offsetof(VehicleDef, trophyReloadTime), CSPFT_FLOAT },
|
||||||
{"trophyTags", offsetof(VehicleDef, trophyTags), VFT_TROPHY_TAGS},
|
{"trophyTags", offsetof(VehicleDef, trophyTags), VFT_TROPHY_TAGS },
|
||||||
{"compassFriendlyIcon", offsetof(VehicleDef, compassFriendlyIcon), CSPFT_MATERIAL},
|
{"compassFriendlyIcon", offsetof(VehicleDef, compassFriendlyIcon), CSPFT_MATERIAL },
|
||||||
{"compassEnemyIcon", offsetof(VehicleDef, compassEnemyIcon), CSPFT_MATERIAL},
|
{"compassEnemyIcon", offsetof(VehicleDef, compassEnemyIcon), CSPFT_MATERIAL },
|
||||||
{"compassIconWidth", offsetof(VehicleDef, compassIconWidth), CSPFT_INT},
|
{"compassIconWidth", offsetof(VehicleDef, compassIconWidth), CSPFT_INT },
|
||||||
{"compassIconHeight", offsetof(VehicleDef, compassIconHeight), CSPFT_INT},
|
{"compassIconHeight", offsetof(VehicleDef, compassIconHeight), CSPFT_INT },
|
||||||
{"lowIdleSnd", offsetof(VehicleDef, idleLowSnd), CSPFT_SOUND},
|
{"lowIdleSnd", offsetof(VehicleDef, idleLowSnd), CSPFT_SOUND },
|
||||||
{"highIdleSnd", offsetof(VehicleDef, idleHighSnd), CSPFT_SOUND},
|
{"highIdleSnd", offsetof(VehicleDef, idleHighSnd), CSPFT_SOUND },
|
||||||
{"lowEngineSnd", offsetof(VehicleDef, engineLowSnd), CSPFT_SOUND},
|
{"lowEngineSnd", offsetof(VehicleDef, engineLowSnd), CSPFT_SOUND },
|
||||||
{"highEngineSnd", offsetof(VehicleDef, engineHighSnd), CSPFT_SOUND},
|
{"highEngineSnd", offsetof(VehicleDef, engineHighSnd), CSPFT_SOUND },
|
||||||
{"engineSndSpeed", offsetof(VehicleDef, engineSndSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"engineSndSpeed", offsetof(VehicleDef, engineSndSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"engineStartUpSnd", offsetof(VehicleDef, engineStartUpSnd), CSPFT_SOUND},
|
{"engineStartUpSnd", offsetof(VehicleDef, engineStartUpSnd), CSPFT_SOUND },
|
||||||
{"engineStartUpLength", offsetof(VehicleDef, engineStartUpLength), CSPFT_MILLISECONDS},
|
{"engineStartUpLength", offsetof(VehicleDef, engineStartUpLength), CSPFT_MILLISECONDS },
|
||||||
{"engineShutdownSnd", offsetof(VehicleDef, engineShutdownSnd), CSPFT_SOUND},
|
{"engineShutdownSnd", offsetof(VehicleDef, engineShutdownSnd), CSPFT_SOUND },
|
||||||
{"engineIdleSnd", offsetof(VehicleDef, engineIdleSnd), CSPFT_SOUND},
|
{"engineIdleSnd", offsetof(VehicleDef, engineIdleSnd), CSPFT_SOUND },
|
||||||
{"engineSustainSnd", offsetof(VehicleDef, engineSustainSnd), CSPFT_SOUND},
|
{"engineSustainSnd", offsetof(VehicleDef, engineSustainSnd), CSPFT_SOUND },
|
||||||
{"engineRampUpSnd", offsetof(VehicleDef, engineRampUpSnd), CSPFT_SOUND},
|
{"engineRampUpSnd", offsetof(VehicleDef, engineRampUpSnd), CSPFT_SOUND },
|
||||||
{"engineRampUpLength", offsetof(VehicleDef, engineRampUpLength), CSPFT_MILLISECONDS},
|
{"engineRampUpLength", offsetof(VehicleDef, engineRampUpLength), CSPFT_MILLISECONDS },
|
||||||
{"engineRampDownSnd", offsetof(VehicleDef, engineRampDownSnd), CSPFT_SOUND},
|
{"engineRampDownSnd", offsetof(VehicleDef, engineRampDownSnd), CSPFT_SOUND },
|
||||||
{"engineRampDownLength", offsetof(VehicleDef, engineRampDownLength), CSPFT_MILLISECONDS},
|
{"engineRampDownLength", offsetof(VehicleDef, engineRampDownLength), CSPFT_MILLISECONDS },
|
||||||
{"suspensionSoftSnd", offsetof(VehicleDef, suspensionSoftSnd), CSPFT_SOUND},
|
{"suspensionSoftSnd", offsetof(VehicleDef, suspensionSoftSnd), CSPFT_SOUND },
|
||||||
{"suspensionSoftCompression", offsetof(VehicleDef, suspensionSoftCompression), CSPFT_FLOAT},
|
{"suspensionSoftCompression", offsetof(VehicleDef, suspensionSoftCompression), CSPFT_FLOAT },
|
||||||
{"suspensionHardSnd", offsetof(VehicleDef, suspensionHardSnd), CSPFT_SOUND},
|
{"suspensionHardSnd", offsetof(VehicleDef, suspensionHardSnd), CSPFT_SOUND },
|
||||||
{"suspensionHardCompression", offsetof(VehicleDef, suspensionHardCompression), CSPFT_FLOAT},
|
{"suspensionHardCompression", offsetof(VehicleDef, suspensionHardCompression), CSPFT_FLOAT },
|
||||||
{"collisionSnd", offsetof(VehicleDef, collisionSnd), CSPFT_SOUND},
|
{"collisionSnd", offsetof(VehicleDef, collisionSnd), CSPFT_SOUND },
|
||||||
{"collisionBlendSpeed", offsetof(VehicleDef, collisionBlendSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"collisionBlendSpeed", offsetof(VehicleDef, collisionBlendSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"speedSnd", offsetof(VehicleDef, speedSnd), CSPFT_SOUND},
|
{"speedSnd", offsetof(VehicleDef, speedSnd), CSPFT_SOUND },
|
||||||
{"speedSndBlendSpeed", offsetof(VehicleDef, speedSndBlendSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"speedSndBlendSpeed", offsetof(VehicleDef, speedSndBlendSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"surfaceSndPrefix", offsetof(VehicleDef, surfaceSndPrefix), CSPFT_STRING},
|
{"surfaceSndPrefix", offsetof(VehicleDef, surfaceSndPrefix), CSPFT_STRING },
|
||||||
{"surfaceSndBlendSpeed", offsetof(VehicleDef, surfaceSndBlendSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"surfaceSndBlendSpeed", offsetof(VehicleDef, surfaceSndBlendSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"slideVolume", offsetof(VehicleDef, slideVolume), CSPFT_FLOAT},
|
{"slideVolume", offsetof(VehicleDef, slideVolume), CSPFT_FLOAT },
|
||||||
{"slideBlendSpeed", offsetof(VehicleDef, slideBlendSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
{"slideBlendSpeed", offsetof(VehicleDef, slideBlendSpeed), CSPFT_MPH_TO_INCHES_PER_SEC},
|
||||||
{"inAirPitch", offsetof(VehicleDef, inAirPitch), CSPFT_FLOAT},
|
{"inAirPitch", offsetof(VehicleDef, inAirPitch), CSPFT_FLOAT },
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -4,112 +4,81 @@
|
|||||||
|
|
||||||
namespace IW4
|
namespace IW4
|
||||||
{
|
{
|
||||||
inline infoParm_t infoParms[]
|
inline infoParm_t infoParms[]{
|
||||||
{
|
{"bark", 0x0, 0x100000, 0x0, 0x0 },
|
||||||
{"bark", 0x0, 0x100000, 0x0, 0x0},
|
{"brick", 0x0, 0x200000, 0x0, 0x0 },
|
||||||
{"brick", 0x0, 0x200000, 0x0, 0x0},
|
{"carpet", 0x0, 0x300000, 0x0, 0x0 },
|
||||||
{"carpet", 0x0, 0x300000, 0x0, 0x0},
|
{"cloth", 0x0, 0x400000, 0x0, 0x0 },
|
||||||
{"cloth", 0x0, 0x400000, 0x0, 0x0},
|
{"concrete", 0x0, 0x500000, 0x0, 0x0 },
|
||||||
{"concrete", 0x0, 0x500000, 0x0, 0x0},
|
{"dirt", 0x0, 0x600000, 0x0, 0x0 },
|
||||||
{"dirt", 0x0, 0x600000, 0x0, 0x0},
|
{"flesh", 0x0, 0x700000, 0x0, 0x0 },
|
||||||
{"flesh", 0x0, 0x700000, 0x0, 0x0},
|
{"foliage", 0x1, 0x800000, 0x2, 0x0 },
|
||||||
{"foliage", 0x1, 0x800000, 0x2, 0x0},
|
{"glass", 0x1, 0x900000, 0x10, 0x0 },
|
||||||
{"glass", 0x1, 0x900000, 0x10, 0x0},
|
{"grass", 0x0, 0xa00000, 0x0, 0x0 },
|
||||||
{"grass", 0x0, 0xa00000, 0x0, 0x0},
|
{"gravel", 0x0, 0xb00000, 0x0, 0x0 },
|
||||||
{"gravel", 0x0, 0xb00000, 0x0, 0x0},
|
{"ice", 0x0, 0xc00000, 0x0, 0x0 },
|
||||||
{"ice", 0x0, 0xc00000, 0x0, 0x0},
|
{"metal", 0x0, 0xd00000, 0x0, 0x0 },
|
||||||
{"metal", 0x0, 0xd00000, 0x0, 0x0},
|
{"mud", 0x0, 0xe00000, 0x0, 0x0 },
|
||||||
{"mud", 0x0, 0xe00000, 0x0, 0x0},
|
{"paper", 0x0, 0xf00000, 0x0, 0x0 },
|
||||||
{"paper", 0x0, 0xf00000, 0x0, 0x0},
|
{"plaster", 0x0, 0x1000000, 0x0, 0x0 },
|
||||||
{"plaster", 0x0, 0x1000000, 0x0, 0x0},
|
{"rock", 0x0, 0x1100000, 0x0, 0x0 },
|
||||||
{"rock", 0x0, 0x1100000, 0x0, 0x0},
|
{"sand", 0x0, 0x1200000, 0x0, 0x0 },
|
||||||
{"sand", 0x0, 0x1200000, 0x0, 0x0},
|
{"snow", 0x0, 0x1300000, 0x0, 0x0 },
|
||||||
{"snow", 0x0, 0x1300000, 0x0, 0x0},
|
{"water", 0x1, 0x1400000, 0x20, 0x0 },
|
||||||
{"water", 0x1, 0x1400000, 0x20, 0x0},
|
{"wood", 0x0, 0x1500000, 0x0, 0x0 },
|
||||||
{"wood", 0x0, 0x1500000, 0x0, 0x0},
|
{"asphalt", 0x0, 0x1600000, 0x0, 0x0 },
|
||||||
{"asphalt", 0x0, 0x1600000, 0x0, 0x0},
|
{"ceramic", 0x0, 0x1700000, 0x0, 0x0 },
|
||||||
{"ceramic", 0x0, 0x1700000, 0x0, 0x0},
|
{"plastic", 0x0, 0x1800000, 0x0, 0x0 },
|
||||||
{"plastic", 0x0, 0x1800000, 0x0, 0x0},
|
{"rubber", 0x0, 0x1900000, 0x0, 0x0 },
|
||||||
{"rubber", 0x0, 0x1900000, 0x0, 0x0},
|
{"cushion", 0x0, 0x1a00000, 0x0, 0x0 },
|
||||||
{"cushion", 0x0, 0x1a00000, 0x0, 0x0},
|
{"fruit", 0x0, 0x1b00000, 0x0, 0x0 },
|
||||||
{"fruit", 0x0, 0x1b00000, 0x0, 0x0},
|
{"paintedmetal", 0x0, 0x1c00000, 0x0, 0x0 },
|
||||||
{"paintedmetal", 0x0, 0x1c00000, 0x0, 0x0},
|
{"riotshield", 0x0, 0x1d00000, 0x0, 0x0 },
|
||||||
{"riotshield", 0x0, 0x1d00000, 0x0, 0x0},
|
{"slush", 0x0, 0x1e00000, 0x0, 0x0 },
|
||||||
{"slush", 0x0, 0x1e00000, 0x0, 0x0},
|
{"opaqueglass", 0x0, 0x900000, 0x0, 0x0 },
|
||||||
{"opaqueglass", 0x0, 0x900000, 0x0, 0x0},
|
{"clipmissile", 0x1, 0x0, 0x80, 0x0 },
|
||||||
{"clipmissile", 0x1, 0x0, 0x80, 0x0},
|
{"ai_nosight", 0x1, 0x0, 0x1000, 0x0 },
|
||||||
{"ai_nosight", 0x1, 0x0, 0x1000, 0x0},
|
{"clipshot", 0x1, 0x0, 0x2000, 0x0 },
|
||||||
{"clipshot", 0x1, 0x0, 0x2000, 0x0},
|
{"playerclip", 0x1, 0x0, 0x10000, 0x0 },
|
||||||
{"playerclip", 0x1, 0x0, 0x10000, 0x0},
|
{"monsterclip", 0x1, 0x0, 0x20000, 0x0 },
|
||||||
{"monsterclip", 0x1, 0x0, 0x20000, 0x0},
|
{"aiclipallowdeath", 0x1, 0x0, 0x4, 0x0 },
|
||||||
{"aiclipallowdeath", 0x1, 0x0, 0x4, 0x0},
|
{"vehicleclip", 0x1, 0x0, 0x200, 0x0 },
|
||||||
{"vehicleclip", 0x1, 0x0, 0x200, 0x0},
|
{"itemclip", 0x1, 0x0, 0x400, 0x0 },
|
||||||
{"itemclip", 0x1, 0x0, 0x400, 0x0},
|
{"nodrop", 0x1, 0x0, 0x80000000, 0x0 },
|
||||||
{"nodrop", 0x1, 0x0, 0x80000000, 0x0},
|
{"nonsolid", 0x1, 0x4000, 0x0, 0x0 },
|
||||||
{"nonsolid", 0x1, 0x4000, 0x0, 0x0},
|
{"detail", 0x0, 0x0, 0x8000000, 0x0 },
|
||||||
{"detail", 0x0, 0x0, 0x8000000, 0x0},
|
{"structural", 0x0, 0x0, 0x10000000, 0x0 },
|
||||||
{"structural", 0x0, 0x0, 0x10000000, 0x0},
|
{"portal", 0x1, 0x80000000, 0x0, 0x0 },
|
||||||
{"portal", 0x1, 0x80000000, 0x0, 0x0},
|
{"canshootclip", 0x0, 0x0, 0x40, 0x0 },
|
||||||
{"canshootclip", 0x0, 0x0, 0x40, 0x0},
|
{"origin", 0x1, 0x0, 0x0, 0x4 },
|
||||||
{"origin", 0x1, 0x0, 0x0, 0x4},
|
{"sky", 0x0, 0x4, 0x800, 0x0 },
|
||||||
{"sky", 0x0, 0x4, 0x800, 0x0},
|
{"nocastshadow", 0x0, 0x40000, 0x0, 0x0 },
|
||||||
{"nocastshadow", 0x0, 0x40000, 0x0, 0x0},
|
{"physicsGeom", 0x0, 0x0, 0x0, 0x400 },
|
||||||
{"physicsGeom", 0x0, 0x0, 0x0, 0x400},
|
|
||||||
{"lightPortal", 0x0, 0x0, 0x0, 0x2000},
|
{"lightPortal", 0x0, 0x0, 0x0, 0x2000},
|
||||||
{"outdoorBounds", 0x0, 0x0, 0x0, 0x8000},
|
{"outdoorBounds", 0x0, 0x0, 0x0, 0x8000},
|
||||||
{"slick", 0x0, 0x2, 0x0, 0x0},
|
{"slick", 0x0, 0x2, 0x0, 0x0 },
|
||||||
{"noimpact", 0x0, 0x10, 0x0, 0x0},
|
{"noimpact", 0x0, 0x10, 0x0, 0x0 },
|
||||||
{"nomarks", 0x0, 0x20, 0x0, 0x0},
|
{"nomarks", 0x0, 0x20, 0x0, 0x0 },
|
||||||
{"nopenetrate", 0x0, 0x100, 0x0, 0x0},
|
{"nopenetrate", 0x0, 0x100, 0x0, 0x0 },
|
||||||
{"ladder", 0x0, 0x8, 0x0, 0x0},
|
{"ladder", 0x0, 0x8, 0x0, 0x0 },
|
||||||
{"nodamage", 0x0, 0x1, 0x0, 0x0},
|
{"nodamage", 0x0, 0x1, 0x0, 0x0 },
|
||||||
{"mantleOn", 0x0, 0x2000000, 0x1000000, 0x0},
|
{"mantleOn", 0x0, 0x2000000, 0x1000000, 0x0 },
|
||||||
{"mantleOver", 0x0, 0x4000000, 0x1000000, 0x0},
|
{"mantleOver", 0x0, 0x4000000, 0x1000000, 0x0 },
|
||||||
{"stairs", 0x0, 0x200, 0x0, 0x0},
|
{"stairs", 0x0, 0x200, 0x0, 0x0 },
|
||||||
{"soft", 0x0, 0x1000, 0x0, 0x0},
|
{"soft", 0x0, 0x1000, 0x0, 0x0 },
|
||||||
{"nosteps", 0x0, 0x2000, 0x0, 0x0},
|
{"nosteps", 0x0, 0x2000, 0x0, 0x0 },
|
||||||
{"nodraw", 0x0, 0x80, 0x0, 0x0},
|
{"nodraw", 0x0, 0x80, 0x0, 0x0 },
|
||||||
{"nolightmap", 0x0, 0x400, 0x0, 0x0},
|
{"nolightmap", 0x0, 0x400, 0x0, 0x0 },
|
||||||
{"nodlight", 0x0, 0x20000, 0x0, 0x0}
|
{"nodlight", 0x0, 0x20000, 0x0, 0x0 },
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* surfaceTypeNames[]
|
inline const char* surfaceTypeNames[]{
|
||||||
{
|
"default", "bark", "brick", "carpet", "cloth", "concrete", "dirt", "flesh", "foliage", "glass", "grass",
|
||||||
"default",
|
"gravel", "ice", "metal", "mud", "paper", "plaster", "rock", "sand", "snow", "water", "wood",
|
||||||
"bark",
|
"asphalt", "ceramic", "plastic", "rubber", "cushion", "fruit", "paintedmetal", "riotshield", "slush",
|
||||||
"brick",
|
|
||||||
"carpet",
|
|
||||||
"cloth",
|
|
||||||
"concrete",
|
|
||||||
"dirt",
|
|
||||||
"flesh",
|
|
||||||
"foliage",
|
|
||||||
"glass",
|
|
||||||
"grass",
|
|
||||||
"gravel",
|
|
||||||
"ice",
|
|
||||||
"metal",
|
|
||||||
"mud",
|
|
||||||
"paper",
|
|
||||||
"plaster",
|
|
||||||
"rock",
|
|
||||||
"sand",
|
|
||||||
"snow",
|
|
||||||
"water",
|
|
||||||
"wood",
|
|
||||||
"asphalt",
|
|
||||||
"ceramic",
|
|
||||||
"plastic",
|
|
||||||
"rubber",
|
|
||||||
"cushion",
|
|
||||||
"fruit",
|
|
||||||
"paintedmetal",
|
|
||||||
"riotshield",
|
|
||||||
"slush"
|
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(surfaceTypeNames)> == SURF_TYPE_NUM);
|
static_assert(std::extent_v<decltype(surfaceTypeNames)> == SURF_TYPE_NUM);
|
||||||
|
|
||||||
|
|
||||||
enum class BlendFunc_e
|
enum class BlendFunc_e
|
||||||
{
|
{
|
||||||
UNKNOWN,
|
UNKNOWN,
|
||||||
@ -131,15 +100,14 @@ namespace IW4
|
|||||||
constexpr auto GDT_BLEND_FUNC_MULTIPLY = "Multiply";
|
constexpr auto GDT_BLEND_FUNC_MULTIPLY = "Multiply";
|
||||||
constexpr auto GDT_BLEND_FUNC_SCREEN_ADD = "Screen Add";
|
constexpr auto GDT_BLEND_FUNC_SCREEN_ADD = "Screen Add";
|
||||||
|
|
||||||
inline const char* GdtBlendFuncNames[]
|
inline const char* GdtBlendFuncNames[]{
|
||||||
{
|
|
||||||
GDT_BLEND_FUNC_UNKNOWN,
|
GDT_BLEND_FUNC_UNKNOWN,
|
||||||
GDT_BLEND_FUNC_CUSTOM,
|
GDT_BLEND_FUNC_CUSTOM,
|
||||||
GDT_BLEND_FUNC_REPLACE,
|
GDT_BLEND_FUNC_REPLACE,
|
||||||
GDT_BLEND_FUNC_BLEND,
|
GDT_BLEND_FUNC_BLEND,
|
||||||
GDT_BLEND_FUNC_ADD,
|
GDT_BLEND_FUNC_ADD,
|
||||||
GDT_BLEND_FUNC_MULTIPLY,
|
GDT_BLEND_FUNC_MULTIPLY,
|
||||||
GDT_BLEND_FUNC_SCREEN_ADD
|
GDT_BLEND_FUNC_SCREEN_ADD,
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(GdtBlendFuncNames)> == static_cast<size_t>(BlendFunc_e::COUNT));
|
static_assert(std::extent_v<decltype(GdtBlendFuncNames)> == static_cast<size_t>(BlendFunc_e::COUNT));
|
||||||
|
|
||||||
@ -164,15 +132,14 @@ namespace IW4
|
|||||||
constexpr auto GDT_BLEND_OP_MIN = "Min";
|
constexpr auto GDT_BLEND_OP_MIN = "Min";
|
||||||
constexpr auto GDT_BLEND_OP_MAX = "Max";
|
constexpr auto GDT_BLEND_OP_MAX = "Max";
|
||||||
|
|
||||||
inline const char* GdtBlendOpNames[]
|
inline const char* GdtBlendOpNames[]{
|
||||||
{
|
|
||||||
GDT_BLEND_OP_UNKNOWN,
|
GDT_BLEND_OP_UNKNOWN,
|
||||||
GDT_BLEND_OP_DISABLE,
|
GDT_BLEND_OP_DISABLE,
|
||||||
GDT_BLEND_OP_ADD,
|
GDT_BLEND_OP_ADD,
|
||||||
GDT_BLEND_OP_SUBTRACT,
|
GDT_BLEND_OP_SUBTRACT,
|
||||||
GDT_BLEND_OP_REV_SUBTRACT,
|
GDT_BLEND_OP_REV_SUBTRACT,
|
||||||
GDT_BLEND_OP_MIN,
|
GDT_BLEND_OP_MIN,
|
||||||
GDT_BLEND_OP_MAX
|
GDT_BLEND_OP_MAX,
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(GdtBlendOpNames)> == static_cast<size_t>(BlendOp_e::COUNT));
|
static_assert(std::extent_v<decltype(GdtBlendOpNames)> == static_cast<size_t>(BlendOp_e::COUNT));
|
||||||
|
|
||||||
@ -194,8 +161,7 @@ namespace IW4
|
|||||||
COUNT
|
COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* GdtCustomBlendFuncNames[]
|
inline const char* GdtCustomBlendFuncNames[]{
|
||||||
{
|
|
||||||
"",
|
"",
|
||||||
"Disable",
|
"Disable",
|
||||||
"Zero",
|
"Zero",
|
||||||
@ -207,7 +173,7 @@ namespace IW4
|
|||||||
"DestAlpha",
|
"DestAlpha",
|
||||||
"InvDestAlpha",
|
"InvDestAlpha",
|
||||||
"DestColor",
|
"DestColor",
|
||||||
"InvDestColor"
|
"InvDestColor",
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(GdtCustomBlendFuncNames)> == static_cast<size_t>(CustomBlendFunc_e::COUNT));
|
static_assert(std::extent_v<decltype(GdtCustomBlendFuncNames)> == static_cast<size_t>(CustomBlendFunc_e::COUNT));
|
||||||
|
|
||||||
@ -228,13 +194,12 @@ namespace IW4
|
|||||||
constexpr auto GDT_ALPHA_TEST_LT128 = "LT128";
|
constexpr auto GDT_ALPHA_TEST_LT128 = "LT128";
|
||||||
constexpr auto GDT_ALPHA_TEST_GE128 = "GE128";
|
constexpr auto GDT_ALPHA_TEST_GE128 = "GE128";
|
||||||
|
|
||||||
inline const char* GdtAlphaTestNames[]
|
inline const char* GdtAlphaTestNames[]{
|
||||||
{
|
|
||||||
GDT_ALPHA_TEST_UNKNOWN,
|
GDT_ALPHA_TEST_UNKNOWN,
|
||||||
GDT_ALPHA_TEST_ALWAYS,
|
GDT_ALPHA_TEST_ALWAYS,
|
||||||
GDT_ALPHA_TEST_GT0,
|
GDT_ALPHA_TEST_GT0,
|
||||||
GDT_ALPHA_TEST_LT128,
|
GDT_ALPHA_TEST_LT128,
|
||||||
GDT_ALPHA_TEST_GE128
|
GDT_ALPHA_TEST_GE128,
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(GdtAlphaTestNames)> == static_cast<size_t>(AlphaTest_e::COUNT));
|
static_assert(std::extent_v<decltype(GdtAlphaTestNames)> == static_cast<size_t>(AlphaTest_e::COUNT));
|
||||||
|
|
||||||
@ -250,14 +215,13 @@ namespace IW4
|
|||||||
COUNT
|
COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* GdtDepthTestNames[]
|
inline const char* GdtDepthTestNames[]{
|
||||||
{
|
|
||||||
"",
|
"",
|
||||||
"LessEqual*",
|
"LessEqual*",
|
||||||
"Less",
|
"Less",
|
||||||
"Equal",
|
"Equal",
|
||||||
"Always",
|
"Always",
|
||||||
"Disable"
|
"Disable",
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(GdtDepthTestNames)> == static_cast<size_t>(DepthTest_e::COUNT));
|
static_assert(std::extent_v<decltype(GdtDepthTestNames)> == static_cast<size_t>(DepthTest_e::COUNT));
|
||||||
|
|
||||||
@ -270,19 +234,17 @@ namespace IW4
|
|||||||
COUNT
|
COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* GdtStateBitsEnabledStatusNames[]
|
inline const char* GdtStateBitsEnabledStatusNames[]{
|
||||||
{
|
|
||||||
"",
|
"",
|
||||||
"Enable",
|
"Enable",
|
||||||
"Disable"
|
"Disable",
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(GdtStateBitsEnabledStatusNames)> == static_cast<size_t>(StateBitsEnabledStatus_e::COUNT));
|
static_assert(std::extent_v<decltype(GdtStateBitsEnabledStatusNames)> == static_cast<size_t>(StateBitsEnabledStatus_e::COUNT));
|
||||||
|
|
||||||
inline const char* GdtStateBitsOnOffStatusNames[]
|
inline const char* GdtStateBitsOnOffStatusNames[]{
|
||||||
{
|
|
||||||
"",
|
"",
|
||||||
"On",
|
"On",
|
||||||
"Off"
|
"Off",
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(GdtStateBitsOnOffStatusNames)> == static_cast<size_t>(StateBitsEnabledStatus_e::COUNT));
|
static_assert(std::extent_v<decltype(GdtStateBitsOnOffStatusNames)> == static_cast<size_t>(StateBitsEnabledStatus_e::COUNT));
|
||||||
|
|
||||||
@ -296,12 +258,11 @@ namespace IW4
|
|||||||
COUNT
|
COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* GdtCullFaceNames[]
|
inline const char* GdtCullFaceNames[]{
|
||||||
{
|
|
||||||
"",
|
"",
|
||||||
"None",
|
"None",
|
||||||
"Back*",
|
"Back*",
|
||||||
"Front"
|
"Front",
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(GdtCullFaceNames)> == static_cast<size_t>(CullFace_e::COUNT));
|
static_assert(std::extent_v<decltype(GdtCullFaceNames)> == static_cast<size_t>(CullFace_e::COUNT));
|
||||||
|
|
||||||
@ -316,13 +277,12 @@ namespace IW4
|
|||||||
COUNT
|
COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* GdtPolygonOffsetNames[]
|
inline const char* GdtPolygonOffsetNames[]{
|
||||||
{
|
|
||||||
"",
|
"",
|
||||||
"0",
|
"0",
|
||||||
"1",
|
"1",
|
||||||
"2",
|
"2",
|
||||||
"shadowMap"
|
"shadowMap",
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(GdtPolygonOffsetNames)> == static_cast<size_t>(PolygonOffset_e::COUNT));
|
static_assert(std::extent_v<decltype(GdtPolygonOffsetNames)> == static_cast<size_t>(PolygonOffset_e::COUNT));
|
||||||
|
|
||||||
@ -342,12 +302,11 @@ namespace IW4
|
|||||||
COUNT
|
COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* GdtStencilModeNames[]
|
inline const char* GdtStencilModeNames[]{
|
||||||
{
|
|
||||||
"",
|
"",
|
||||||
"Disable",
|
"Disable",
|
||||||
"One-sided",
|
"One-sided",
|
||||||
"Two-sided"
|
"Two-sided",
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(GdtStencilModeNames)> == static_cast<size_t>(StencilMode_e::COUNT));
|
static_assert(std::extent_v<decltype(GdtStencilModeNames)> == static_cast<size_t>(StencilMode_e::COUNT));
|
||||||
|
|
||||||
@ -366,8 +325,7 @@ namespace IW4
|
|||||||
COUNT
|
COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* GdtStencilFuncNames[]
|
inline const char* GdtStencilFuncNames[]{
|
||||||
{
|
|
||||||
"",
|
"",
|
||||||
"Never",
|
"Never",
|
||||||
"Less",
|
"Less",
|
||||||
@ -376,7 +334,7 @@ namespace IW4
|
|||||||
"Greater",
|
"Greater",
|
||||||
"NotEqual",
|
"NotEqual",
|
||||||
"GreaterEqual",
|
"GreaterEqual",
|
||||||
"Always"
|
"Always",
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(GdtStencilFuncNames)> == static_cast<size_t>(StencilFunc_e::COUNT));
|
static_assert(std::extent_v<decltype(GdtStencilFuncNames)> == static_cast<size_t>(StencilFunc_e::COUNT));
|
||||||
|
|
||||||
@ -395,8 +353,7 @@ namespace IW4
|
|||||||
COUNT
|
COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* GdtStencilOpNames[]
|
inline const char* GdtStencilOpNames[]{
|
||||||
{
|
|
||||||
"",
|
"",
|
||||||
"Keep",
|
"Keep",
|
||||||
"Zero",
|
"Zero",
|
||||||
@ -405,7 +362,7 @@ namespace IW4
|
|||||||
"DecrSat",
|
"DecrSat",
|
||||||
"Invert",
|
"Invert",
|
||||||
"Incr",
|
"Incr",
|
||||||
"Decr"
|
"Decr",
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(GdtStencilOpNames)> == static_cast<size_t>(StencilOp_e::COUNT));
|
static_assert(std::extent_v<decltype(GdtStencilOpNames)> == static_cast<size_t>(StencilOp_e::COUNT));
|
||||||
|
|
||||||
@ -420,13 +377,12 @@ namespace IW4
|
|||||||
COUNT
|
COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* GdtTileModeNames[]
|
inline const char* GdtTileModeNames[]{
|
||||||
{
|
|
||||||
"",
|
"",
|
||||||
"tile both*",
|
"tile both*",
|
||||||
"tile horizontal",
|
"tile horizontal",
|
||||||
"tile vertical",
|
"tile vertical",
|
||||||
"no tile"
|
"no tile",
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(GdtTileModeNames)> == static_cast<size_t>(TileMode_e::COUNT));
|
static_assert(std::extent_v<decltype(GdtTileModeNames)> == static_cast<size_t>(TileMode_e::COUNT));
|
||||||
|
|
||||||
@ -443,15 +399,14 @@ namespace IW4
|
|||||||
COUNT
|
COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char* GdtSamplerFilterNames[]
|
static const char* GdtSamplerFilterNames[]{
|
||||||
{
|
|
||||||
"",
|
"",
|
||||||
"mip standard (2x bilinear)*",
|
"mip standard (2x bilinear)*",
|
||||||
"mip expensive (4x bilinear)",
|
"mip expensive (4x bilinear)",
|
||||||
"mip more expensive (2x trilinear)",
|
"mip more expensive (2x trilinear)",
|
||||||
"mip most expensive (4x trilinear)",
|
"mip most expensive (4x trilinear)",
|
||||||
"nomip nearest",
|
"nomip nearest",
|
||||||
"nomip bilinear"
|
"nomip bilinear",
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(GdtSamplerFilterNames)> == static_cast<size_t>(GdtFilter_e::COUNT));
|
static_assert(std::extent_v<decltype(GdtSamplerFilterNames)> == static_cast<size_t>(GdtFilter_e::COUNT));
|
||||||
|
|
||||||
@ -496,8 +451,7 @@ namespace IW4
|
|||||||
constexpr auto GDT_MATERIAL_TYPE_WORLD_PHONG = "world phong";
|
constexpr auto GDT_MATERIAL_TYPE_WORLD_PHONG = "world phong";
|
||||||
constexpr auto GDT_MATERIAL_TYPE_WORLD_UNLIT = "world unlit";
|
constexpr auto GDT_MATERIAL_TYPE_WORLD_UNLIT = "world unlit";
|
||||||
|
|
||||||
inline const char* GdtMaterialTypeNames[]
|
inline const char* GdtMaterialTypeNames[]{
|
||||||
{
|
|
||||||
GDT_MATERIAL_TYPE_UNKNOWN,
|
GDT_MATERIAL_TYPE_UNKNOWN,
|
||||||
GDT_MATERIAL_TYPE_2D,
|
GDT_MATERIAL_TYPE_2D,
|
||||||
GDT_MATERIAL_TYPE_CUSTOM,
|
GDT_MATERIAL_TYPE_CUSTOM,
|
||||||
@ -514,7 +468,7 @@ namespace IW4
|
|||||||
GDT_MATERIAL_TYPE_UNLIT,
|
GDT_MATERIAL_TYPE_UNLIT,
|
||||||
GDT_MATERIAL_TYPE_WATER,
|
GDT_MATERIAL_TYPE_WATER,
|
||||||
GDT_MATERIAL_TYPE_WORLD_PHONG,
|
GDT_MATERIAL_TYPE_WORLD_PHONG,
|
||||||
GDT_MATERIAL_TYPE_WORLD_UNLIT
|
GDT_MATERIAL_TYPE_WORLD_UNLIT,
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(GdtMaterialTypeNames)> == static_cast<size_t>(MATERIAL_TYPE_COUNT));
|
static_assert(std::extent_v<decltype(GdtMaterialTypeNames)> == static_cast<size_t>(MATERIAL_TYPE_COUNT));
|
||||||
|
|
||||||
@ -541,8 +495,7 @@ namespace IW4
|
|||||||
constexpr auto GDT_SORTKEY_AFTER_EFFECT_TOP = "after effects - top";
|
constexpr auto GDT_SORTKEY_AFTER_EFFECT_TOP = "after effects - top";
|
||||||
constexpr auto GDT_SORTKEY_VIEWMODEL_EFFECT = "viewmodel effect";
|
constexpr auto GDT_SORTKEY_VIEWMODEL_EFFECT = "viewmodel effect";
|
||||||
|
|
||||||
inline const char* SortKeyNames[]
|
inline const char* SortKeyNames[]{
|
||||||
{
|
|
||||||
GDT_SORTKEY_OPAQUE_AMBIENT, // 0
|
GDT_SORTKEY_OPAQUE_AMBIENT, // 0
|
||||||
GDT_SORTKEY_OPAQUE, // 1
|
GDT_SORTKEY_OPAQUE, // 1
|
||||||
GDT_SORTKEY_SKY, // 2
|
GDT_SORTKEY_SKY, // 2
|
||||||
@ -628,8 +581,7 @@ namespace IW4
|
|||||||
constexpr auto GDT_CUSTOM_MATERIAL_TYPE_SHADOWOVERLAY = "mtl_shadowoverlay";
|
constexpr auto GDT_CUSTOM_MATERIAL_TYPE_SHADOWOVERLAY = "mtl_shadowoverlay";
|
||||||
constexpr auto GDT_CUSTOM_MATERIAL_TYPE_SPLATTER = "mtl_splatter";
|
constexpr auto GDT_CUSTOM_MATERIAL_TYPE_SPLATTER = "mtl_splatter";
|
||||||
|
|
||||||
inline const char* GdtCustomMaterialTypeNames[]
|
inline const char* GdtCustomMaterialTypeNames[]{
|
||||||
{
|
|
||||||
GDT_CUSTOM_MATERIAL_TYPE_NONE,
|
GDT_CUSTOM_MATERIAL_TYPE_NONE,
|
||||||
GDT_CUSTOM_MATERIAL_TYPE_CUSTOM,
|
GDT_CUSTOM_MATERIAL_TYPE_CUSTOM,
|
||||||
GDT_CUSTOM_MATERIAL_TYPE_PHONG_FLAG,
|
GDT_CUSTOM_MATERIAL_TYPE_PHONG_FLAG,
|
||||||
@ -638,7 +590,7 @@ namespace IW4
|
|||||||
GDT_CUSTOM_MATERIAL_TYPE_REFLEXSIGHT,
|
GDT_CUSTOM_MATERIAL_TYPE_REFLEXSIGHT,
|
||||||
GDT_CUSTOM_MATERIAL_TYPE_SHADOWCLEAR,
|
GDT_CUSTOM_MATERIAL_TYPE_SHADOWCLEAR,
|
||||||
GDT_CUSTOM_MATERIAL_TYPE_SHADOWOVERLAY,
|
GDT_CUSTOM_MATERIAL_TYPE_SHADOWOVERLAY,
|
||||||
GDT_CUSTOM_MATERIAL_TYPE_SPLATTER
|
GDT_CUSTOM_MATERIAL_TYPE_SPLATTER,
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(GdtCustomMaterialTypeNames)> == static_cast<size_t>(CUSTOM_MATERIAL_TYPE_COUNT));
|
static_assert(std::extent_v<decltype(GdtCustomMaterialTypeNames)> == static_cast<size_t>(CUSTOM_MATERIAL_TYPE_COUNT));
|
||||||
}
|
} // namespace IW4
|
||||||
|
@ -4,8 +4,7 @@
|
|||||||
|
|
||||||
namespace IW4
|
namespace IW4
|
||||||
{
|
{
|
||||||
inline const char* g_expFunctionNames[]
|
inline const char* g_expFunctionNames[]{
|
||||||
{
|
|
||||||
"NOOP",
|
"NOOP",
|
||||||
")",
|
")",
|
||||||
"*",
|
"*",
|
||||||
@ -194,26 +193,25 @@ namespace IW4
|
|||||||
"coopready",
|
"coopready",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const ItemExpressionTargetBinding floatExpressionTargetBindings[ITEM_FLOATEXP_TGT_COUNT]
|
inline const ItemExpressionTargetBinding floatExpressionTargetBindings[ITEM_FLOATEXP_TGT_COUNT]{
|
||||||
{
|
{ITEM_FLOATEXP_TGT_RECT_X, "rect", "x" },
|
||||||
{ITEM_FLOATEXP_TGT_RECT_X, "rect", "x"},
|
{ITEM_FLOATEXP_TGT_RECT_Y, "rect", "y" },
|
||||||
{ITEM_FLOATEXP_TGT_RECT_Y, "rect", "y"},
|
{ITEM_FLOATEXP_TGT_RECT_W, "rect", "w" },
|
||||||
{ITEM_FLOATEXP_TGT_RECT_W, "rect", "w"},
|
{ITEM_FLOATEXP_TGT_RECT_H, "rect", "h" },
|
||||||
{ITEM_FLOATEXP_TGT_RECT_H, "rect", "h"},
|
{ITEM_FLOATEXP_TGT_FORECOLOR_R, "forecolor", "r" },
|
||||||
{ITEM_FLOATEXP_TGT_FORECOLOR_R, "forecolor", "r"},
|
{ITEM_FLOATEXP_TGT_FORECOLOR_G, "forecolor", "g" },
|
||||||
{ITEM_FLOATEXP_TGT_FORECOLOR_G, "forecolor", "g"},
|
{ITEM_FLOATEXP_TGT_FORECOLOR_B, "forecolor", "b" },
|
||||||
{ITEM_FLOATEXP_TGT_FORECOLOR_B, "forecolor", "b"},
|
|
||||||
{ITEM_FLOATEXP_TGT_FORECOLOR_RGB, "forecolor", "rgb"},
|
{ITEM_FLOATEXP_TGT_FORECOLOR_RGB, "forecolor", "rgb"},
|
||||||
{ITEM_FLOATEXP_TGT_FORECOLOR_A, "forecolor", "a"},
|
{ITEM_FLOATEXP_TGT_FORECOLOR_A, "forecolor", "a" },
|
||||||
{ITEM_FLOATEXP_TGT_GLOWCOLOR_R, "glowcolor", "r"},
|
{ITEM_FLOATEXP_TGT_GLOWCOLOR_R, "glowcolor", "r" },
|
||||||
{ITEM_FLOATEXP_TGT_GLOWCOLOR_G, "glowcolor", "g"},
|
{ITEM_FLOATEXP_TGT_GLOWCOLOR_G, "glowcolor", "g" },
|
||||||
{ITEM_FLOATEXP_TGT_GLOWCOLOR_B, "glowcolor", "b"},
|
{ITEM_FLOATEXP_TGT_GLOWCOLOR_B, "glowcolor", "b" },
|
||||||
{ITEM_FLOATEXP_TGT_GLOWCOLOR_RGB, "glowcolor", "rgb"},
|
{ITEM_FLOATEXP_TGT_GLOWCOLOR_RGB, "glowcolor", "rgb"},
|
||||||
{ITEM_FLOATEXP_TGT_GLOWCOLOR_A, "glowcolor", "a"},
|
{ITEM_FLOATEXP_TGT_GLOWCOLOR_A, "glowcolor", "a" },
|
||||||
{ITEM_FLOATEXP_TGT_BACKCOLOR_R, "backcolor", "r"},
|
{ITEM_FLOATEXP_TGT_BACKCOLOR_R, "backcolor", "r" },
|
||||||
{ITEM_FLOATEXP_TGT_BACKCOLOR_G, "backcolor", "g"},
|
{ITEM_FLOATEXP_TGT_BACKCOLOR_G, "backcolor", "g" },
|
||||||
{ITEM_FLOATEXP_TGT_BACKCOLOR_B, "backcolor", "b"},
|
{ITEM_FLOATEXP_TGT_BACKCOLOR_B, "backcolor", "b" },
|
||||||
{ITEM_FLOATEXP_TGT_BACKCOLOR_RGB, "backcolor", "rgb"},
|
{ITEM_FLOATEXP_TGT_BACKCOLOR_RGB, "backcolor", "rgb"},
|
||||||
{ITEM_FLOATEXP_TGT_BACKCOLOR_A, "backcolor", "a"},
|
{ITEM_FLOATEXP_TGT_BACKCOLOR_A, "backcolor", "a" },
|
||||||
};
|
};
|
||||||
}
|
} // namespace IW4
|
||||||
|
@ -18,4 +18,4 @@ namespace IW4
|
|||||||
static constexpr const char* GDF_FILENAME_VEHICLE = "vehicle.gdf";
|
static constexpr const char* GDF_FILENAME_VEHICLE = "vehicle.gdf";
|
||||||
static constexpr const char* GDF_FILENAME_WEAPON = "weapon.gdf";
|
static constexpr const char* GDF_FILENAME_WEAPON = "weapon.gdf";
|
||||||
};
|
};
|
||||||
}
|
} // namespace IW4
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <unordered_map>
|
|
||||||
#include <type_traits>
|
|
||||||
|
|
||||||
#include "Game/IW4/CommonIW4.h"
|
#include "Game/IW4/CommonIW4.h"
|
||||||
#include "Game/IW4/IW4.h"
|
#include "Game/IW4/IW4.h"
|
||||||
#include "StateMap/StateMapLayout.h"
|
#include "StateMap/StateMapLayout.h"
|
||||||
|
|
||||||
|
#include <type_traits>
|
||||||
|
#include <unordered_map>
|
||||||
|
|
||||||
namespace IW4
|
namespace IW4
|
||||||
{
|
{
|
||||||
inline const char* techniqueTypeNames[]
|
inline const char* techniqueTypeNames[]{
|
||||||
{
|
|
||||||
"depth prepass",
|
"depth prepass",
|
||||||
"build floatz",
|
"build floatz",
|
||||||
"build shadowmap depth",
|
"build shadowmap depth",
|
||||||
@ -62,8 +61,7 @@ namespace IW4
|
|||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(techniqueTypeNames)> == TECHNIQUE_COUNT);
|
static_assert(std::extent_v<decltype(techniqueTypeNames)> == TECHNIQUE_COUNT);
|
||||||
|
|
||||||
static const char* materialStreamDestinationNames[]
|
static const char* materialStreamDestinationNames[]{
|
||||||
{
|
|
||||||
"position",
|
"position",
|
||||||
"normal",
|
"normal",
|
||||||
"color[0]",
|
"color[0]",
|
||||||
@ -79,8 +77,7 @@ namespace IW4
|
|||||||
"texcoord[7]",
|
"texcoord[7]",
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(materialStreamDestinationNames)> == STREAM_DST_COUNT);
|
static_assert(std::extent_v<decltype(materialStreamDestinationNames)> == STREAM_DST_COUNT);
|
||||||
static const char* materialStreamDestinationAbbreviation[]
|
static const char* materialStreamDestinationAbbreviation[]{
|
||||||
{
|
|
||||||
"p",
|
"p",
|
||||||
"n",
|
"n",
|
||||||
"c0",
|
"c0",
|
||||||
@ -97,8 +94,7 @@ namespace IW4
|
|||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(materialStreamDestinationAbbreviation)> == STREAM_DST_COUNT);
|
static_assert(std::extent_v<decltype(materialStreamDestinationAbbreviation)> == STREAM_DST_COUNT);
|
||||||
|
|
||||||
static const char* materialStreamSourceNames[]
|
static const char* materialStreamSourceNames[]{
|
||||||
{
|
|
||||||
"position",
|
"position",
|
||||||
"color",
|
"color",
|
||||||
"texcoord[0]",
|
"texcoord[0]",
|
||||||
@ -107,11 +103,10 @@ namespace IW4
|
|||||||
"texcoord[1]",
|
"texcoord[1]",
|
||||||
"texcoord[2]",
|
"texcoord[2]",
|
||||||
"normalTransform[0]",
|
"normalTransform[0]",
|
||||||
"normalTransform[1]"
|
"normalTransform[1]",
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(materialStreamSourceNames)> == STREAM_SRC_COUNT);
|
static_assert(std::extent_v<decltype(materialStreamSourceNames)> == STREAM_SRC_COUNT);
|
||||||
static const char* materialStreamSourceAbbreviation[]
|
static const char* materialStreamSourceAbbreviation[]{
|
||||||
{
|
|
||||||
"p",
|
"p",
|
||||||
"c",
|
"c",
|
||||||
"t0",
|
"t0",
|
||||||
@ -120,25 +115,22 @@ namespace IW4
|
|||||||
"t1",
|
"t1",
|
||||||
"t2",
|
"t2",
|
||||||
"n0",
|
"n0",
|
||||||
"n1"
|
"n1",
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(materialStreamSourceAbbreviation)> == STREAM_SRC_COUNT);
|
static_assert(std::extent_v<decltype(materialStreamSourceAbbreviation)> == STREAM_SRC_COUNT);
|
||||||
|
|
||||||
inline CodeSamplerSource s_lightmapSamplers[]
|
inline CodeSamplerSource s_lightmapSamplers[]{
|
||||||
{
|
|
||||||
{"primary", TEXTURE_SRC_CODE_LIGHTMAP_PRIMARY, nullptr, 0, 0},
|
{"primary", TEXTURE_SRC_CODE_LIGHTMAP_PRIMARY, nullptr, 0, 0},
|
||||||
{"secondary", TEXTURE_SRC_CODE_LIGHTMAP_SECONDARY, nullptr, 0, 0},
|
{"secondary", TEXTURE_SRC_CODE_LIGHTMAP_SECONDARY, nullptr, 0, 0},
|
||||||
{}
|
{},
|
||||||
};
|
};
|
||||||
|
|
||||||
inline CodeSamplerSource s_lightSamplers[]
|
inline CodeSamplerSource s_lightSamplers[]{
|
||||||
{
|
|
||||||
{"attenuation", TEXTURE_SRC_CODE_LIGHT_ATTENUATION, nullptr, 0, 0},
|
{"attenuation", TEXTURE_SRC_CODE_LIGHT_ATTENUATION, nullptr, 0, 0},
|
||||||
{}
|
{},
|
||||||
};
|
};
|
||||||
|
|
||||||
inline CodeSamplerSource s_codeSamplers[]
|
inline CodeSamplerSource s_codeSamplers[]{
|
||||||
{
|
|
||||||
{"white", TEXTURE_SRC_CODE_WHITE, nullptr, 0, 0},
|
{"white", TEXTURE_SRC_CODE_WHITE, nullptr, 0, 0},
|
||||||
{"black", TEXTURE_SRC_CODE_BLACK, nullptr, 0, 0},
|
{"black", TEXTURE_SRC_CODE_BLACK, nullptr, 0, 0},
|
||||||
{"identityNormalMap", TEXTURE_SRC_CODE_IDENTITY_NORMAL_MAP, nullptr, 0, 0},
|
{"identityNormalMap", TEXTURE_SRC_CODE_IDENTITY_NORMAL_MAP, nullptr, 0, 0},
|
||||||
@ -158,11 +150,10 @@ namespace IW4
|
|||||||
{"halfParticleColorSampler", TEXTURE_SRC_CODE_HALF_PARTICLES, nullptr, 0, 0},
|
{"halfParticleColorSampler", TEXTURE_SRC_CODE_HALF_PARTICLES, nullptr, 0, 0},
|
||||||
{"halfParticleDepthSampler", TEXTURE_SRC_CODE_HALF_PARTICLES_Z, nullptr, 0, 0},
|
{"halfParticleDepthSampler", TEXTURE_SRC_CODE_HALF_PARTICLES_Z, nullptr, 0, 0},
|
||||||
{"alternateScene", TEXTURE_SRC_CODE_ALTERNATE_SCENE, nullptr, 0, 0},
|
{"alternateScene", TEXTURE_SRC_CODE_ALTERNATE_SCENE, nullptr, 0, 0},
|
||||||
{}
|
{},
|
||||||
};
|
};
|
||||||
|
|
||||||
inline CodeSamplerSource s_defaultCodeSamplers[]
|
inline CodeSamplerSource s_defaultCodeSamplers[]{
|
||||||
{
|
|
||||||
{"shadowmapSamplerSun", TEXTURE_SRC_CODE_SHADOWMAP_SUN, nullptr, 0, 0},
|
{"shadowmapSamplerSun", TEXTURE_SRC_CODE_SHADOWMAP_SUN, nullptr, 0, 0},
|
||||||
{"shadowmapSamplerSpot", TEXTURE_SRC_CODE_SHADOWMAP_SPOT, nullptr, 0, 0},
|
{"shadowmapSamplerSpot", TEXTURE_SRC_CODE_SHADOWMAP_SPOT, nullptr, 0, 0},
|
||||||
{"feedbackSampler", TEXTURE_SRC_CODE_FEEDBACK, nullptr, 0, 0},
|
{"feedbackSampler", TEXTURE_SRC_CODE_FEEDBACK, nullptr, 0, 0},
|
||||||
@ -181,30 +172,27 @@ namespace IW4
|
|||||||
{"cinematicASampler", TEXTURE_SRC_CODE_CINEMATIC_A, nullptr, 0, 0},
|
{"cinematicASampler", TEXTURE_SRC_CODE_CINEMATIC_A, nullptr, 0, 0},
|
||||||
{"reflectionProbeSampler", TEXTURE_SRC_CODE_REFLECTION_PROBE, nullptr, 0, 0},
|
{"reflectionProbeSampler", TEXTURE_SRC_CODE_REFLECTION_PROBE, nullptr, 0, 0},
|
||||||
{"alternateSceneSampler", TEXTURE_SRC_CODE_ALTERNATE_SCENE, nullptr, 0, 0},
|
{"alternateSceneSampler", TEXTURE_SRC_CODE_ALTERNATE_SCENE, nullptr, 0, 0},
|
||||||
{}
|
{},
|
||||||
};
|
};
|
||||||
|
|
||||||
inline CodeConstantSource s_sunConsts[]
|
inline CodeConstantSource s_sunConsts[]{
|
||||||
{
|
|
||||||
{"position", CONST_SRC_CODE_LIGHT_POSITION, nullptr, 0, 0},
|
{"position", CONST_SRC_CODE_LIGHT_POSITION, nullptr, 0, 0},
|
||||||
{"diffuse", CONST_SRC_CODE_LIGHT_DIFFUSE, nullptr, 0, 0},
|
{"diffuse", CONST_SRC_CODE_LIGHT_DIFFUSE, nullptr, 0, 0},
|
||||||
{"specular", CONST_SRC_CODE_LIGHT_SPECULAR, nullptr, 0, 0},
|
{"specular", CONST_SRC_CODE_LIGHT_SPECULAR, nullptr, 0, 0},
|
||||||
{"spotDir", CONST_SRC_CODE_LIGHT_SPOTDIR, nullptr, 0, 0},
|
{"spotDir", CONST_SRC_CODE_LIGHT_SPOTDIR, nullptr, 0, 0},
|
||||||
{"spotFactors", CONST_SRC_CODE_LIGHT_SPOTFACTORS, nullptr, 0, 0},
|
{"spotFactors", CONST_SRC_CODE_LIGHT_SPOTFACTORS, nullptr, 0, 0},
|
||||||
{"falloffPlacement", CONST_SRC_CODE_LIGHT_FALLOFF_PLACEMENT, nullptr, 0, 0},
|
{"falloffPlacement", CONST_SRC_CODE_LIGHT_FALLOFF_PLACEMENT, nullptr, 0, 0},
|
||||||
{}
|
{},
|
||||||
};
|
};
|
||||||
|
|
||||||
inline CodeConstantSource s_nearPlaneConsts[]
|
inline CodeConstantSource s_nearPlaneConsts[]{
|
||||||
{
|
|
||||||
{"org", CONST_SRC_CODE_NEARPLANE_ORG, nullptr, 0, 0},
|
{"org", CONST_SRC_CODE_NEARPLANE_ORG, nullptr, 0, 0},
|
||||||
{"dx", CONST_SRC_CODE_NEARPLANE_DX, nullptr, 0, 0},
|
{"dx", CONST_SRC_CODE_NEARPLANE_DX, nullptr, 0, 0},
|
||||||
{"dy", CONST_SRC_CODE_NEARPLANE_DY, nullptr, 0, 0},
|
{"dy", CONST_SRC_CODE_NEARPLANE_DY, nullptr, 0, 0},
|
||||||
{}
|
{},
|
||||||
};
|
};
|
||||||
|
|
||||||
inline CodeConstantSource s_codeConsts[]
|
inline CodeConstantSource s_codeConsts[]{
|
||||||
{
|
|
||||||
{"nearPlane", CONST_SRC_NONE, s_nearPlaneConsts, 0, 0},
|
{"nearPlane", CONST_SRC_NONE, s_nearPlaneConsts, 0, 0},
|
||||||
{"light", CONST_SRC_NONE, s_sunConsts, 0, 0},
|
{"light", CONST_SRC_NONE, s_sunConsts, 0, 0},
|
||||||
{"baseLightingCoords", CONST_SRC_CODE_BASE_LIGHTING_COORDS, nullptr, 0, 0},
|
{"baseLightingCoords", CONST_SRC_CODE_BASE_LIGHTING_COORDS, nullptr, 0, 0},
|
||||||
@ -320,11 +308,10 @@ namespace IW4
|
|||||||
{"inverseWorldViewProjectionMatrix2", CONST_SRC_CODE_INVERSE_WORLD_VIEW_PROJECTION_MATRIX2, nullptr, 0, 0},
|
{"inverseWorldViewProjectionMatrix2", CONST_SRC_CODE_INVERSE_WORLD_VIEW_PROJECTION_MATRIX2, nullptr, 0, 0},
|
||||||
{"transposeWorldViewProjectionMatrix2", CONST_SRC_CODE_TRANSPOSE_WORLD_VIEW_PROJECTION_MATRIX2, nullptr, 0, 0},
|
{"transposeWorldViewProjectionMatrix2", CONST_SRC_CODE_TRANSPOSE_WORLD_VIEW_PROJECTION_MATRIX2, nullptr, 0, 0},
|
||||||
{"inverseTransposeWorldViewProjectionMatrix2", CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_VIEW_PROJECTION_MATRIX2, nullptr, 0, 0},
|
{"inverseTransposeWorldViewProjectionMatrix2", CONST_SRC_CODE_INVERSE_TRANSPOSE_WORLD_VIEW_PROJECTION_MATRIX2, nullptr, 0, 0},
|
||||||
{}
|
{},
|
||||||
};
|
};
|
||||||
|
|
||||||
inline CodeConstantSource s_defaultCodeConsts[]
|
inline CodeConstantSource s_defaultCodeConsts[]{
|
||||||
{
|
|
||||||
{"nearPlaneOrg", CONST_SRC_CODE_NEARPLANE_ORG, nullptr, 0, 0},
|
{"nearPlaneOrg", CONST_SRC_CODE_NEARPLANE_ORG, nullptr, 0, 0},
|
||||||
{"nearPlaneDx", CONST_SRC_CODE_NEARPLANE_DX, nullptr, 0, 0},
|
{"nearPlaneDx", CONST_SRC_CODE_NEARPLANE_DX, nullptr, 0, 0},
|
||||||
{"nearPlaneDy", CONST_SRC_CODE_NEARPLANE_DY, nullptr, 0, 0},
|
{"nearPlaneDy", CONST_SRC_CODE_NEARPLANE_DY, nullptr, 0, 0},
|
||||||
@ -336,11 +323,10 @@ namespace IW4
|
|||||||
{"lightFalloffPlacement", CONST_SRC_CODE_LIGHT_FALLOFF_PLACEMENT, nullptr, 0, 0},
|
{"lightFalloffPlacement", CONST_SRC_CODE_LIGHT_FALLOFF_PLACEMENT, nullptr, 0, 0},
|
||||||
{"sunShadowmapPixelAdjust", CONST_SRC_CODE_SUN_SHADOWMAP_PIXEL_ADJUST, nullptr, 0, 0},
|
{"sunShadowmapPixelAdjust", CONST_SRC_CODE_SUN_SHADOWMAP_PIXEL_ADJUST, nullptr, 0, 0},
|
||||||
{"spotShadowmapPixelAdjust", CONST_SRC_CODE_SPOT_SHADOWMAP_PIXEL_ADJUST, nullptr, 0, 0},
|
{"spotShadowmapPixelAdjust", CONST_SRC_CODE_SPOT_SHADOWMAP_PIXEL_ADJUST, nullptr, 0, 0},
|
||||||
{}
|
{},
|
||||||
};
|
};
|
||||||
|
|
||||||
inline MaterialUpdateFrequency s_codeConstUpdateFreq[]
|
inline MaterialUpdateFrequency s_codeConstUpdateFreq[]{
|
||||||
{
|
|
||||||
MTL_UPDATE_RARELY, // LIGHT_POSITION
|
MTL_UPDATE_RARELY, // LIGHT_POSITION
|
||||||
MTL_UPDATE_RARELY, // LIGHT_DIFFUSE
|
MTL_UPDATE_RARELY, // LIGHT_DIFFUSE
|
||||||
MTL_UPDATE_RARELY, // LIGHT_SPECULAR
|
MTL_UPDATE_RARELY, // LIGHT_SPECULAR
|
||||||
@ -476,8 +462,7 @@ namespace IW4
|
|||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(s_codeConstUpdateFreq)> == CONST_SRC_TOTAL_COUNT);
|
static_assert(std::extent_v<decltype(s_codeConstUpdateFreq)> == CONST_SRC_TOTAL_COUNT);
|
||||||
|
|
||||||
inline MaterialUpdateFrequency s_codeSamplerUpdateFreq[]
|
inline MaterialUpdateFrequency s_codeSamplerUpdateFreq[]{
|
||||||
{
|
|
||||||
MTL_UPDATE_RARELY, // BLACK
|
MTL_UPDATE_RARELY, // BLACK
|
||||||
MTL_UPDATE_RARELY, // WHITE
|
MTL_UPDATE_RARELY, // WHITE
|
||||||
MTL_UPDATE_RARELY, // IDENTITY_NORMAL_MAP
|
MTL_UPDATE_RARELY, // IDENTITY_NORMAL_MAP
|
||||||
@ -508,22 +493,20 @@ namespace IW4
|
|||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(s_codeSamplerUpdateFreq)> == TEXTURE_SRC_CODE_COUNT);
|
static_assert(std::extent_v<decltype(s_codeSamplerUpdateFreq)> == TEXTURE_SRC_CODE_COUNT);
|
||||||
|
|
||||||
inline MaterialTextureSource g_customSamplerSrc[]
|
inline MaterialTextureSource g_customSamplerSrc[]{
|
||||||
{
|
|
||||||
TEXTURE_SRC_CODE_REFLECTION_PROBE, // CUSTOM_SAMPLER_REFLECTION_PROBE
|
TEXTURE_SRC_CODE_REFLECTION_PROBE, // CUSTOM_SAMPLER_REFLECTION_PROBE
|
||||||
TEXTURE_SRC_CODE_LIGHTMAP_PRIMARY, // CUSTOM_SAMPLER_LIGHTMAP_PRIMARY
|
TEXTURE_SRC_CODE_LIGHTMAP_PRIMARY, // CUSTOM_SAMPLER_LIGHTMAP_PRIMARY
|
||||||
TEXTURE_SRC_CODE_LIGHTMAP_SECONDARY // CUSTOM_SAMPLER_LIGHTMAP_SECONDARY
|
TEXTURE_SRC_CODE_LIGHTMAP_SECONDARY, // CUSTOM_SAMPLER_LIGHTMAP_SECONDARY
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(g_customSamplerSrc)> == CUSTOM_SAMPLER_COUNT);
|
static_assert(std::extent_v<decltype(g_customSamplerSrc)> == CUSTOM_SAMPLER_COUNT);
|
||||||
|
|
||||||
inline MaterialTypeInfo g_materialTypeInfo[]
|
inline MaterialTypeInfo g_materialTypeInfo[]{
|
||||||
{
|
{"", "" },
|
||||||
{"", ""},
|
{"m/", "m_" },
|
||||||
{"m/", "m_"},
|
|
||||||
{"mc/", "mc_"},
|
{"mc/", "mc_"},
|
||||||
{"mg/", "mg_"},
|
{"mg/", "mg_"},
|
||||||
{"w/", "w_"},
|
{"w/", "w_" },
|
||||||
{"wc/", "wc_"}
|
{"wc/", "wc_"},
|
||||||
};
|
};
|
||||||
static_assert(std::extent_v<decltype(g_materialTypeInfo)> == MTL_TYPE_COUNT);
|
static_assert(std::extent_v<decltype(g_materialTypeInfo)> == MTL_TYPE_COUNT);
|
||||||
|
|
||||||
@ -538,8 +521,7 @@ namespace IW4
|
|||||||
return std::make_pair(Common::R_HashString(name, 0u), KnownMaterialTextureMap{name, additionalPropertySuffix});
|
return std::make_pair(Common::R_HashString(name, 0u), KnownMaterialTextureMap{name, additionalPropertySuffix});
|
||||||
}
|
}
|
||||||
|
|
||||||
inline std::unordered_map knownTextureMaps
|
inline std::unordered_map knownTextureMaps{
|
||||||
{
|
|
||||||
MakeKnownTextureMap("colorMap", "Color"),
|
MakeKnownTextureMap("colorMap", "Color"),
|
||||||
MakeKnownTextureMap("colorMap0", "Color00"),
|
MakeKnownTextureMap("colorMap0", "Color00"),
|
||||||
MakeKnownTextureMap("colorMap1", "Color01"),
|
MakeKnownTextureMap("colorMap1", "Color01"),
|
||||||
@ -554,8 +536,7 @@ namespace IW4
|
|||||||
return std::make_pair(Common::R_HashString(name, 0u), name);
|
return std::make_pair(Common::R_HashString(name, 0u), name);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline std::unordered_map knownConstantNames
|
inline std::unordered_map knownConstantNames{
|
||||||
{
|
|
||||||
MakeKnownConstantName("distortionScale"),
|
MakeKnownConstantName("distortionScale"),
|
||||||
MakeKnownConstantName("eyeOffsetParms"),
|
MakeKnownConstantName("eyeOffsetParms"),
|
||||||
MakeKnownConstantName("falloffBeginColor"),
|
MakeKnownConstantName("falloffBeginColor"),
|
||||||
@ -577,60 +558,27 @@ namespace IW4
|
|||||||
WIREFRAME
|
WIREFRAME
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
inline state_map::StateMapLayoutEntries stateMapEntryLayout({
|
inline state_map::StateMapLayoutEntries stateMapEntryLayout({
|
||||||
|
{"alphaTest", 0, GFXS0_ATEST_MASK | GFXS0_ATEST_DISABLE, {"mtlAlphaTest"} },
|
||||||
|
{"blendFunc", 0, GFXS0_BLEND_RGB_MASK, {"mtlBlendOp", "mtlSrcBlend", "mtlDestBlend"} },
|
||||||
|
{"separateAlphaBlendFunc", 0, GFXS0_BLEND_ALPHA_MASK, {"mtlBlendOpAlpha", "mtlSrcBlendAlpha", "mtlDestBlendAlpha"}},
|
||||||
|
{"cullFace", 0, GFXS0_CULL_MASK, {"mtlCullFace"} },
|
||||||
|
{"depthTest", 1, GFXS1_DEPTHTEST_MASK | GFXS1_DEPTHTEST_DISABLE, {"mtlDepthTest"} },
|
||||||
|
{"depthWrite", 1, GFXS1_DEPTHWRITE, {"mtlDepthWrite"} },
|
||||||
|
{"colorWrite", 0, GFXS0_COLORWRITE_MASK, {"mtlColorWriteRgb", "mtlColorWriteAlpha"} },
|
||||||
|
{"gammaWrite",
|
||||||
|
0, GFXS0_GAMMAWRITE,
|
||||||
{
|
{
|
||||||
"alphaTest", 0, GFXS0_ATEST_MASK | GFXS0_ATEST_DISABLE, {
|
|
||||||
"mtlAlphaTest"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"blendFunc", 0, GFXS0_BLEND_RGB_MASK, {
|
|
||||||
"mtlBlendOp",
|
|
||||||
"mtlSrcBlend",
|
|
||||||
"mtlDestBlend"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"separateAlphaBlendFunc", 0, GFXS0_BLEND_ALPHA_MASK, {
|
|
||||||
"mtlBlendOpAlpha",
|
|
||||||
"mtlSrcBlendAlpha",
|
|
||||||
"mtlDestBlendAlpha"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cullFace", 0, GFXS0_CULL_MASK, {
|
|
||||||
"mtlCullFace"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"depthTest", 1, GFXS1_DEPTHTEST_MASK | GFXS1_DEPTHTEST_DISABLE, {
|
|
||||||
"mtlDepthTest"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"depthWrite", 1, GFXS1_DEPTHWRITE, {
|
|
||||||
"mtlDepthWrite"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"colorWrite", 0, GFXS0_COLORWRITE_MASK, {
|
|
||||||
"mtlColorWriteRgb",
|
|
||||||
"mtlColorWriteAlpha"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"gammaWrite", 0, GFXS0_GAMMAWRITE, {
|
|
||||||
"mtlGammaWrite",
|
"mtlGammaWrite",
|
||||||
}
|
} },
|
||||||
},
|
{"polygonOffset",
|
||||||
|
1, GFXS1_POLYGON_OFFSET_MASK,
|
||||||
{
|
{
|
||||||
"polygonOffset", 1, GFXS1_POLYGON_OFFSET_MASK, {
|
|
||||||
"mtlPolygonOffset",
|
"mtlPolygonOffset",
|
||||||
}
|
} },
|
||||||
},
|
{"stencil",
|
||||||
|
1, GFXS1_STENCILFUNC_FRONTBACK_MASK | GFXS1_STENCILOP_FRONTBACK_MASK,
|
||||||
{
|
{
|
||||||
"stencil", 1, GFXS1_STENCILFUNC_FRONTBACK_MASK | GFXS1_STENCILOP_FRONTBACK_MASK, {
|
|
||||||
"mtlStencil",
|
"mtlStencil",
|
||||||
"mtlStencilFuncFront",
|
"mtlStencilFuncFront",
|
||||||
"mtlStencilOpFrontPass",
|
"mtlStencilOpFrontPass",
|
||||||
@ -640,36 +588,33 @@ namespace IW4
|
|||||||
"mtlStencilOpBackPass",
|
"mtlStencilOpBackPass",
|
||||||
"mtlStencilOpBackFail",
|
"mtlStencilOpBackFail",
|
||||||
"mtlStencilOpBackZFail",
|
"mtlStencilOpBackZFail",
|
||||||
}
|
} },
|
||||||
},
|
{"wireframe",
|
||||||
|
0, GFXS0_POLYMODE_LINE,
|
||||||
{
|
{
|
||||||
"wireframe", 0, GFXS0_POLYMODE_LINE, {
|
|
||||||
"mtlWireframe",
|
"mtlWireframe",
|
||||||
}
|
} }
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
inline state_map::StateMapLayoutVars stateMapVarLayout({
|
inline state_map::StateMapLayoutVars stateMapVarLayout({
|
||||||
{
|
{"mtlAlphaTest",
|
||||||
"mtlAlphaTest", 0, {
|
0, {
|
||||||
{"Always", GFXS0_ATEST_DISABLE},
|
{"Always", GFXS0_ATEST_DISABLE},
|
||||||
{"GE128", GFXS0_ATEST_GE_128},
|
{"GE128", GFXS0_ATEST_GE_128},
|
||||||
{"GT0", GFXS0_ATEST_GT_0},
|
{"GT0", GFXS0_ATEST_GT_0},
|
||||||
{"LT128", GFXS0_ATEST_LT_128},
|
{"LT128", GFXS0_ATEST_LT_128},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlBlendOp",
|
||||||
{
|
0, {
|
||||||
"mtlBlendOp", 0, {
|
|
||||||
{"Add", GFXS_BLENDOP_ADD << GFXS0_BLENDOP_RGB_SHIFT},
|
{"Add", GFXS_BLENDOP_ADD << GFXS0_BLENDOP_RGB_SHIFT},
|
||||||
{"Subtract", GFXS_BLENDOP_SUBTRACT << GFXS0_BLENDOP_RGB_SHIFT},
|
{"Subtract", GFXS_BLENDOP_SUBTRACT << GFXS0_BLENDOP_RGB_SHIFT},
|
||||||
{"RevSubtract", GFXS_BLENDOP_REVSUBTRACT << GFXS0_BLENDOP_RGB_SHIFT},
|
{"RevSubtract", GFXS_BLENDOP_REVSUBTRACT << GFXS0_BLENDOP_RGB_SHIFT},
|
||||||
{"Min", GFXS_BLENDOP_MIN << GFXS0_BLENDOP_RGB_SHIFT},
|
{"Min", GFXS_BLENDOP_MIN << GFXS0_BLENDOP_RGB_SHIFT},
|
||||||
{"Max", GFXS_BLENDOP_MAX << GFXS0_BLENDOP_RGB_SHIFT},
|
{"Max", GFXS_BLENDOP_MAX << GFXS0_BLENDOP_RGB_SHIFT},
|
||||||
{"Disable", GFXS_BLENDOP_DISABLED << GFXS0_BLENDOP_RGB_SHIFT},
|
{"Disable", GFXS_BLENDOP_DISABLED << GFXS0_BLENDOP_RGB_SHIFT},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlSrcBlend",
|
||||||
{
|
0, {
|
||||||
"mtlSrcBlend", 0, {
|
|
||||||
{"Zero", GFXS_BLEND_ZERO << GFXS0_SRCBLEND_RGB_SHIFT},
|
{"Zero", GFXS_BLEND_ZERO << GFXS0_SRCBLEND_RGB_SHIFT},
|
||||||
{"One", GFXS_BLEND_ONE << GFXS0_SRCBLEND_RGB_SHIFT},
|
{"One", GFXS_BLEND_ONE << GFXS0_SRCBLEND_RGB_SHIFT},
|
||||||
{"SrcColor", GFXS_BLEND_SRCCOLOR << GFXS0_SRCBLEND_RGB_SHIFT},
|
{"SrcColor", GFXS_BLEND_SRCCOLOR << GFXS0_SRCBLEND_RGB_SHIFT},
|
||||||
@ -680,10 +625,9 @@ namespace IW4
|
|||||||
{"InvDestAlpha", GFXS_BLEND_INVDESTALPHA << GFXS0_SRCBLEND_RGB_SHIFT},
|
{"InvDestAlpha", GFXS_BLEND_INVDESTALPHA << GFXS0_SRCBLEND_RGB_SHIFT},
|
||||||
{"DestColor", GFXS_BLEND_DESTCOLOR << GFXS0_SRCBLEND_RGB_SHIFT},
|
{"DestColor", GFXS_BLEND_DESTCOLOR << GFXS0_SRCBLEND_RGB_SHIFT},
|
||||||
{"InvDestColor", GFXS_BLEND_INVDESTCOLOR << GFXS0_SRCBLEND_RGB_SHIFT},
|
{"InvDestColor", GFXS_BLEND_INVDESTCOLOR << GFXS0_SRCBLEND_RGB_SHIFT},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlDestBlend",
|
||||||
{
|
0, {
|
||||||
"mtlDestBlend", 0, {
|
|
||||||
{"Zero", GFXS_BLEND_ZERO << GFXS0_DSTBLEND_RGB_SHIFT},
|
{"Zero", GFXS_BLEND_ZERO << GFXS0_DSTBLEND_RGB_SHIFT},
|
||||||
{"One", GFXS_BLEND_ONE << GFXS0_DSTBLEND_RGB_SHIFT},
|
{"One", GFXS_BLEND_ONE << GFXS0_DSTBLEND_RGB_SHIFT},
|
||||||
{"SrcColor", GFXS_BLEND_SRCCOLOR << GFXS0_DSTBLEND_RGB_SHIFT},
|
{"SrcColor", GFXS_BLEND_SRCCOLOR << GFXS0_DSTBLEND_RGB_SHIFT},
|
||||||
@ -694,20 +638,18 @@ namespace IW4
|
|||||||
{"InvDestAlpha", GFXS_BLEND_INVDESTALPHA << GFXS0_DSTBLEND_RGB_SHIFT},
|
{"InvDestAlpha", GFXS_BLEND_INVDESTALPHA << GFXS0_DSTBLEND_RGB_SHIFT},
|
||||||
{"DestColor", GFXS_BLEND_DESTCOLOR << GFXS0_DSTBLEND_RGB_SHIFT},
|
{"DestColor", GFXS_BLEND_DESTCOLOR << GFXS0_DSTBLEND_RGB_SHIFT},
|
||||||
{"InvDestColor", GFXS_BLEND_INVDESTCOLOR << GFXS0_DSTBLEND_RGB_SHIFT},
|
{"InvDestColor", GFXS_BLEND_INVDESTCOLOR << GFXS0_DSTBLEND_RGB_SHIFT},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlBlendOpAlpha",
|
||||||
{
|
0, {
|
||||||
"mtlBlendOpAlpha", 0, {
|
|
||||||
{"Add", GFXS_BLENDOP_ADD << GFXS0_BLENDOP_ALPHA_SHIFT},
|
{"Add", GFXS_BLENDOP_ADD << GFXS0_BLENDOP_ALPHA_SHIFT},
|
||||||
{"Subtract", GFXS_BLENDOP_SUBTRACT << GFXS0_BLENDOP_ALPHA_SHIFT},
|
{"Subtract", GFXS_BLENDOP_SUBTRACT << GFXS0_BLENDOP_ALPHA_SHIFT},
|
||||||
{"RevSubtract", GFXS_BLENDOP_REVSUBTRACT << GFXS0_BLENDOP_ALPHA_SHIFT},
|
{"RevSubtract", GFXS_BLENDOP_REVSUBTRACT << GFXS0_BLENDOP_ALPHA_SHIFT},
|
||||||
{"Min", GFXS_BLENDOP_MIN << GFXS0_BLENDOP_ALPHA_SHIFT},
|
{"Min", GFXS_BLENDOP_MIN << GFXS0_BLENDOP_ALPHA_SHIFT},
|
||||||
{"Max", GFXS_BLENDOP_MAX << GFXS0_BLENDOP_ALPHA_SHIFT},
|
{"Max", GFXS_BLENDOP_MAX << GFXS0_BLENDOP_ALPHA_SHIFT},
|
||||||
{"Disable", GFXS_BLENDOP_DISABLED << GFXS0_BLENDOP_ALPHA_SHIFT},
|
{"Disable", GFXS_BLENDOP_DISABLED << GFXS0_BLENDOP_ALPHA_SHIFT},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlSrcBlendAlpha",
|
||||||
{
|
0, {
|
||||||
"mtlSrcBlendAlpha", 0, {
|
|
||||||
{"Zero", GFXS_BLEND_ZERO << GFXS0_SRCBLEND_ALPHA_SHIFT},
|
{"Zero", GFXS_BLEND_ZERO << GFXS0_SRCBLEND_ALPHA_SHIFT},
|
||||||
{"One", GFXS_BLEND_ONE << GFXS0_SRCBLEND_ALPHA_SHIFT},
|
{"One", GFXS_BLEND_ONE << GFXS0_SRCBLEND_ALPHA_SHIFT},
|
||||||
{"SrcColor", GFXS_BLEND_SRCCOLOR << GFXS0_SRCBLEND_ALPHA_SHIFT},
|
{"SrcColor", GFXS_BLEND_SRCCOLOR << GFXS0_SRCBLEND_ALPHA_SHIFT},
|
||||||
@ -718,10 +660,9 @@ namespace IW4
|
|||||||
{"InvDestAlpha", GFXS_BLEND_INVDESTALPHA << GFXS0_SRCBLEND_ALPHA_SHIFT},
|
{"InvDestAlpha", GFXS_BLEND_INVDESTALPHA << GFXS0_SRCBLEND_ALPHA_SHIFT},
|
||||||
{"DestColor", GFXS_BLEND_DESTCOLOR << GFXS0_SRCBLEND_ALPHA_SHIFT},
|
{"DestColor", GFXS_BLEND_DESTCOLOR << GFXS0_SRCBLEND_ALPHA_SHIFT},
|
||||||
{"InvDestColor", GFXS_BLEND_INVDESTCOLOR << GFXS0_SRCBLEND_ALPHA_SHIFT},
|
{"InvDestColor", GFXS_BLEND_INVDESTCOLOR << GFXS0_SRCBLEND_ALPHA_SHIFT},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlDestBlendAlpha",
|
||||||
{
|
0, {
|
||||||
"mtlDestBlendAlpha", 0, {
|
|
||||||
{"Zero", GFXS_BLEND_ZERO << GFXS0_DSTBLEND_ALPHA_SHIFT},
|
{"Zero", GFXS_BLEND_ZERO << GFXS0_DSTBLEND_ALPHA_SHIFT},
|
||||||
{"One", GFXS_BLEND_ONE << GFXS0_DSTBLEND_ALPHA_SHIFT},
|
{"One", GFXS_BLEND_ONE << GFXS0_DSTBLEND_ALPHA_SHIFT},
|
||||||
{"SrcColor", GFXS_BLEND_SRCCOLOR << GFXS0_DSTBLEND_ALPHA_SHIFT},
|
{"SrcColor", GFXS_BLEND_SRCCOLOR << GFXS0_DSTBLEND_ALPHA_SHIFT},
|
||||||
@ -732,71 +673,61 @@ namespace IW4
|
|||||||
{"InvDestAlpha", GFXS_BLEND_INVDESTALPHA << GFXS0_DSTBLEND_ALPHA_SHIFT},
|
{"InvDestAlpha", GFXS_BLEND_INVDESTALPHA << GFXS0_DSTBLEND_ALPHA_SHIFT},
|
||||||
{"DestColor", GFXS_BLEND_DESTCOLOR << GFXS0_DSTBLEND_ALPHA_SHIFT},
|
{"DestColor", GFXS_BLEND_DESTCOLOR << GFXS0_DSTBLEND_ALPHA_SHIFT},
|
||||||
{"InvDestColor", GFXS_BLEND_INVDESTCOLOR << GFXS0_DSTBLEND_ALPHA_SHIFT},
|
{"InvDestColor", GFXS_BLEND_INVDESTCOLOR << GFXS0_DSTBLEND_ALPHA_SHIFT},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlCullFace",
|
||||||
{
|
0, {
|
||||||
"mtlCullFace", 0, {
|
|
||||||
{"None", GFXS0_CULL_NONE},
|
{"None", GFXS0_CULL_NONE},
|
||||||
{"Back", GFXS0_CULL_BACK},
|
{"Back", GFXS0_CULL_BACK},
|
||||||
{"Front", GFXS0_CULL_FRONT},
|
{"Front", GFXS0_CULL_FRONT},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlColorWriteRgb",
|
||||||
{
|
0, {
|
||||||
"mtlColorWriteRgb", 0, {
|
|
||||||
{"Enable", GFXS0_COLORWRITE_RGB},
|
{"Enable", GFXS0_COLORWRITE_RGB},
|
||||||
{"Disable", 0},
|
{"Disable", 0},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlColorWriteAlpha",
|
||||||
{
|
0, {
|
||||||
"mtlColorWriteAlpha", 0, {
|
|
||||||
{"Enable", GFXS0_COLORWRITE_ALPHA},
|
{"Enable", GFXS0_COLORWRITE_ALPHA},
|
||||||
{"Disable", 0},
|
{"Disable", 0},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlGammaWrite",
|
||||||
{
|
0, {
|
||||||
"mtlGammaWrite", 0, {
|
|
||||||
{"Enable", GFXS0_GAMMAWRITE},
|
{"Enable", GFXS0_GAMMAWRITE},
|
||||||
{"Disable", 0},
|
{"Disable", 0},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlWireframe",
|
||||||
{
|
0, {
|
||||||
"mtlWireframe", 0, {
|
|
||||||
{"Enable", GFXS0_POLYMODE_LINE},
|
{"Enable", GFXS0_POLYMODE_LINE},
|
||||||
{"Disable", 0},
|
{"Disable", 0},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlDepthTest",
|
||||||
{
|
1, {
|
||||||
"mtlDepthTest", 1, {
|
|
||||||
{"Disable", GFXS1_DEPTHTEST_DISABLE},
|
{"Disable", GFXS1_DEPTHTEST_DISABLE},
|
||||||
{"Less", GFXS1_DEPTHTEST_LESS},
|
{"Less", GFXS1_DEPTHTEST_LESS},
|
||||||
{"LessEqual", GFXS1_DEPTHTEST_LESSEQUAL},
|
{"LessEqual", GFXS1_DEPTHTEST_LESSEQUAL},
|
||||||
{"Equal", GFXS1_DEPTHTEST_EQUAL},
|
{"Equal", GFXS1_DEPTHTEST_EQUAL},
|
||||||
{"Always", GFXS1_DEPTHTEST_ALWAYS},
|
{"Always", GFXS1_DEPTHTEST_ALWAYS},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlDepthWrite",
|
||||||
{
|
1, {
|
||||||
"mtlDepthWrite", 1, {
|
|
||||||
{"Enable", GFXS1_DEPTHWRITE},
|
{"Enable", GFXS1_DEPTHWRITE},
|
||||||
{"Disable", 0},
|
{"Disable", 0},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlPolygonOffset",
|
||||||
{
|
1, {
|
||||||
"mtlPolygonOffset", 1, {
|
|
||||||
{"1", GFXS1_POLYGON_OFFSET_1},
|
{"1", GFXS1_POLYGON_OFFSET_1},
|
||||||
{"2", GFXS1_POLYGON_OFFSET_2},
|
{"2", GFXS1_POLYGON_OFFSET_2},
|
||||||
{"shadowmap", GFXS1_POLYGON_OFFSET_SHADOWMAP},
|
{"shadowmap", GFXS1_POLYGON_OFFSET_SHADOWMAP},
|
||||||
{"0", GFXS1_POLYGON_OFFSET_0},
|
{"0", GFXS1_POLYGON_OFFSET_0},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlStencil",
|
||||||
{
|
1, {
|
||||||
"mtlStencil", 1, {
|
|
||||||
{"OneSided", GFXS1_STENCIL_FRONT_ENABLE},
|
{"OneSided", GFXS1_STENCIL_FRONT_ENABLE},
|
||||||
{"TwoSided", GFXS1_STENCIL_FRONT_ENABLE | GFXS1_STENCIL_BACK_ENABLE},
|
{"TwoSided", GFXS1_STENCIL_FRONT_ENABLE | GFXS1_STENCIL_BACK_ENABLE},
|
||||||
{"Disable", 0},
|
{"Disable", 0},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlStencilFuncFront",
|
||||||
{
|
1, {
|
||||||
"mtlStencilFuncFront", 1, {
|
|
||||||
{"Less", GFXS_STENCILFUNC_LESS << GFXS1_STENCIL_FRONT_FUNC_SHIFT},
|
{"Less", GFXS_STENCILFUNC_LESS << GFXS1_STENCIL_FRONT_FUNC_SHIFT},
|
||||||
{"Equal", GFXS_STENCILFUNC_EQUAL << GFXS1_STENCIL_FRONT_FUNC_SHIFT},
|
{"Equal", GFXS_STENCILFUNC_EQUAL << GFXS1_STENCIL_FRONT_FUNC_SHIFT},
|
||||||
{"LessEqual", GFXS_STENCILFUNC_LESSEQUAL << GFXS1_STENCIL_FRONT_FUNC_SHIFT},
|
{"LessEqual", GFXS_STENCILFUNC_LESSEQUAL << GFXS1_STENCIL_FRONT_FUNC_SHIFT},
|
||||||
@ -805,10 +736,9 @@ namespace IW4
|
|||||||
{"GreaterEqual", GFXS_STENCILFUNC_GREATEREQUAL << GFXS1_STENCIL_FRONT_FUNC_SHIFT},
|
{"GreaterEqual", GFXS_STENCILFUNC_GREATEREQUAL << GFXS1_STENCIL_FRONT_FUNC_SHIFT},
|
||||||
{"Always", GFXS_STENCILFUNC_ALWAYS << GFXS1_STENCIL_FRONT_FUNC_SHIFT},
|
{"Always", GFXS_STENCILFUNC_ALWAYS << GFXS1_STENCIL_FRONT_FUNC_SHIFT},
|
||||||
{"Never", GFXS_STENCILFUNC_NEVER << GFXS1_STENCIL_FRONT_FUNC_SHIFT},
|
{"Never", GFXS_STENCILFUNC_NEVER << GFXS1_STENCIL_FRONT_FUNC_SHIFT},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlStencilOpFrontPass",
|
||||||
{
|
1, {
|
||||||
"mtlStencilOpFrontPass", 1, {
|
|
||||||
{"Zero", GFXS_STENCILOP_ZERO << GFXS1_STENCIL_FRONT_PASS_SHIFT},
|
{"Zero", GFXS_STENCILOP_ZERO << GFXS1_STENCIL_FRONT_PASS_SHIFT},
|
||||||
{"Replace", GFXS_STENCILOP_REPLACE << GFXS1_STENCIL_FRONT_PASS_SHIFT},
|
{"Replace", GFXS_STENCILOP_REPLACE << GFXS1_STENCIL_FRONT_PASS_SHIFT},
|
||||||
{"IncrSat", GFXS_STENCILOP_INCRSAT << GFXS1_STENCIL_FRONT_PASS_SHIFT},
|
{"IncrSat", GFXS_STENCILOP_INCRSAT << GFXS1_STENCIL_FRONT_PASS_SHIFT},
|
||||||
@ -817,10 +747,9 @@ namespace IW4
|
|||||||
{"Incr", GFXS_STENCILOP_INCR << GFXS1_STENCIL_FRONT_PASS_SHIFT},
|
{"Incr", GFXS_STENCILOP_INCR << GFXS1_STENCIL_FRONT_PASS_SHIFT},
|
||||||
{"Decr", GFXS_STENCILOP_DECR << GFXS1_STENCIL_FRONT_PASS_SHIFT},
|
{"Decr", GFXS_STENCILOP_DECR << GFXS1_STENCIL_FRONT_PASS_SHIFT},
|
||||||
{"Keep", GFXS_STENCILOP_KEEP << GFXS1_STENCIL_FRONT_PASS_SHIFT},
|
{"Keep", GFXS_STENCILOP_KEEP << GFXS1_STENCIL_FRONT_PASS_SHIFT},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlStencilOpFrontFail",
|
||||||
{
|
1, {
|
||||||
"mtlStencilOpFrontFail", 1, {
|
|
||||||
{"Zero", GFXS_STENCILOP_ZERO << GFXS1_STENCIL_FRONT_FAIL_SHIFT},
|
{"Zero", GFXS_STENCILOP_ZERO << GFXS1_STENCIL_FRONT_FAIL_SHIFT},
|
||||||
{"Replace", GFXS_STENCILOP_REPLACE << GFXS1_STENCIL_FRONT_FAIL_SHIFT},
|
{"Replace", GFXS_STENCILOP_REPLACE << GFXS1_STENCIL_FRONT_FAIL_SHIFT},
|
||||||
{"IncrSat", GFXS_STENCILOP_INCRSAT << GFXS1_STENCIL_FRONT_FAIL_SHIFT},
|
{"IncrSat", GFXS_STENCILOP_INCRSAT << GFXS1_STENCIL_FRONT_FAIL_SHIFT},
|
||||||
@ -829,10 +758,9 @@ namespace IW4
|
|||||||
{"Incr", GFXS_STENCILOP_INCR << GFXS1_STENCIL_FRONT_FAIL_SHIFT},
|
{"Incr", GFXS_STENCILOP_INCR << GFXS1_STENCIL_FRONT_FAIL_SHIFT},
|
||||||
{"Decr", GFXS_STENCILOP_DECR << GFXS1_STENCIL_FRONT_FAIL_SHIFT},
|
{"Decr", GFXS_STENCILOP_DECR << GFXS1_STENCIL_FRONT_FAIL_SHIFT},
|
||||||
{"Keep", GFXS_STENCILOP_KEEP << GFXS1_STENCIL_FRONT_FAIL_SHIFT},
|
{"Keep", GFXS_STENCILOP_KEEP << GFXS1_STENCIL_FRONT_FAIL_SHIFT},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlStencilOpFrontZFail",
|
||||||
{
|
1, {
|
||||||
"mtlStencilOpFrontZFail", 1, {
|
|
||||||
{"Zero", GFXS_STENCILOP_ZERO << GFXS1_STENCIL_FRONT_ZFAIL_SHIFT},
|
{"Zero", GFXS_STENCILOP_ZERO << GFXS1_STENCIL_FRONT_ZFAIL_SHIFT},
|
||||||
{"Replace", GFXS_STENCILOP_REPLACE << GFXS1_STENCIL_FRONT_ZFAIL_SHIFT},
|
{"Replace", GFXS_STENCILOP_REPLACE << GFXS1_STENCIL_FRONT_ZFAIL_SHIFT},
|
||||||
{"IncrSat", GFXS_STENCILOP_INCRSAT << GFXS1_STENCIL_FRONT_ZFAIL_SHIFT},
|
{"IncrSat", GFXS_STENCILOP_INCRSAT << GFXS1_STENCIL_FRONT_ZFAIL_SHIFT},
|
||||||
@ -841,10 +769,9 @@ namespace IW4
|
|||||||
{"Incr", GFXS_STENCILOP_INCR << GFXS1_STENCIL_FRONT_ZFAIL_SHIFT},
|
{"Incr", GFXS_STENCILOP_INCR << GFXS1_STENCIL_FRONT_ZFAIL_SHIFT},
|
||||||
{"Decr", GFXS_STENCILOP_DECR << GFXS1_STENCIL_FRONT_ZFAIL_SHIFT},
|
{"Decr", GFXS_STENCILOP_DECR << GFXS1_STENCIL_FRONT_ZFAIL_SHIFT},
|
||||||
{"Keep", GFXS_STENCILOP_KEEP << GFXS1_STENCIL_FRONT_ZFAIL_SHIFT},
|
{"Keep", GFXS_STENCILOP_KEEP << GFXS1_STENCIL_FRONT_ZFAIL_SHIFT},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlStencilFuncBack",
|
||||||
{
|
1, {
|
||||||
"mtlStencilFuncBack", 1, {
|
|
||||||
{"Less", GFXS_STENCILFUNC_LESS << GFXS1_STENCIL_BACK_FUNC_SHIFT},
|
{"Less", GFXS_STENCILFUNC_LESS << GFXS1_STENCIL_BACK_FUNC_SHIFT},
|
||||||
{"Equal", GFXS_STENCILFUNC_EQUAL << GFXS1_STENCIL_BACK_FUNC_SHIFT},
|
{"Equal", GFXS_STENCILFUNC_EQUAL << GFXS1_STENCIL_BACK_FUNC_SHIFT},
|
||||||
{"LessEqual", GFXS_STENCILFUNC_LESSEQUAL << GFXS1_STENCIL_BACK_FUNC_SHIFT},
|
{"LessEqual", GFXS_STENCILFUNC_LESSEQUAL << GFXS1_STENCIL_BACK_FUNC_SHIFT},
|
||||||
@ -853,10 +780,9 @@ namespace IW4
|
|||||||
{"GreaterEqual", GFXS_STENCILFUNC_GREATEREQUAL << GFXS1_STENCIL_BACK_FUNC_SHIFT},
|
{"GreaterEqual", GFXS_STENCILFUNC_GREATEREQUAL << GFXS1_STENCIL_BACK_FUNC_SHIFT},
|
||||||
{"Always", GFXS_STENCILFUNC_ALWAYS << GFXS1_STENCIL_BACK_FUNC_SHIFT},
|
{"Always", GFXS_STENCILFUNC_ALWAYS << GFXS1_STENCIL_BACK_FUNC_SHIFT},
|
||||||
{"Never", GFXS_STENCILFUNC_NEVER << GFXS1_STENCIL_BACK_FUNC_SHIFT},
|
{"Never", GFXS_STENCILFUNC_NEVER << GFXS1_STENCIL_BACK_FUNC_SHIFT},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlStencilOpBackPass",
|
||||||
{
|
1, {
|
||||||
"mtlStencilOpBackPass", 1, {
|
|
||||||
{"Zero", GFXS_STENCILOP_ZERO << GFXS1_STENCIL_BACK_PASS_SHIFT},
|
{"Zero", GFXS_STENCILOP_ZERO << GFXS1_STENCIL_BACK_PASS_SHIFT},
|
||||||
{"Replace", GFXS_STENCILOP_REPLACE << GFXS1_STENCIL_BACK_PASS_SHIFT},
|
{"Replace", GFXS_STENCILOP_REPLACE << GFXS1_STENCIL_BACK_PASS_SHIFT},
|
||||||
{"IncrSat", GFXS_STENCILOP_INCRSAT << GFXS1_STENCIL_BACK_PASS_SHIFT},
|
{"IncrSat", GFXS_STENCILOP_INCRSAT << GFXS1_STENCIL_BACK_PASS_SHIFT},
|
||||||
@ -865,10 +791,9 @@ namespace IW4
|
|||||||
{"Incr", GFXS_STENCILOP_INCR << GFXS1_STENCIL_BACK_PASS_SHIFT},
|
{"Incr", GFXS_STENCILOP_INCR << GFXS1_STENCIL_BACK_PASS_SHIFT},
|
||||||
{"Decr", GFXS_STENCILOP_DECR << GFXS1_STENCIL_BACK_PASS_SHIFT},
|
{"Decr", GFXS_STENCILOP_DECR << GFXS1_STENCIL_BACK_PASS_SHIFT},
|
||||||
{"Keep", GFXS_STENCILOP_KEEP << GFXS1_STENCIL_BACK_PASS_SHIFT},
|
{"Keep", GFXS_STENCILOP_KEEP << GFXS1_STENCIL_BACK_PASS_SHIFT},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlStencilOpBackFail",
|
||||||
{
|
1, {
|
||||||
"mtlStencilOpBackFail", 1, {
|
|
||||||
{"Zero", GFXS_STENCILOP_ZERO << GFXS1_STENCIL_BACK_FAIL_SHIFT},
|
{"Zero", GFXS_STENCILOP_ZERO << GFXS1_STENCIL_BACK_FAIL_SHIFT},
|
||||||
{"Replace", GFXS_STENCILOP_REPLACE << GFXS1_STENCIL_BACK_FAIL_SHIFT},
|
{"Replace", GFXS_STENCILOP_REPLACE << GFXS1_STENCIL_BACK_FAIL_SHIFT},
|
||||||
{"IncrSat", GFXS_STENCILOP_INCRSAT << GFXS1_STENCIL_BACK_FAIL_SHIFT},
|
{"IncrSat", GFXS_STENCILOP_INCRSAT << GFXS1_STENCIL_BACK_FAIL_SHIFT},
|
||||||
@ -877,10 +802,9 @@ namespace IW4
|
|||||||
{"Incr", GFXS_STENCILOP_INCR << GFXS1_STENCIL_BACK_FAIL_SHIFT},
|
{"Incr", GFXS_STENCILOP_INCR << GFXS1_STENCIL_BACK_FAIL_SHIFT},
|
||||||
{"Decr", GFXS_STENCILOP_DECR << GFXS1_STENCIL_BACK_FAIL_SHIFT},
|
{"Decr", GFXS_STENCILOP_DECR << GFXS1_STENCIL_BACK_FAIL_SHIFT},
|
||||||
{"Keep", GFXS_STENCILOP_KEEP << GFXS1_STENCIL_BACK_FAIL_SHIFT},
|
{"Keep", GFXS_STENCILOP_KEEP << GFXS1_STENCIL_BACK_FAIL_SHIFT},
|
||||||
}
|
}},
|
||||||
},
|
{"mtlStencilOpBackZFail",
|
||||||
{
|
1, {
|
||||||
"mtlStencilOpBackZFail", 1, {
|
|
||||||
{"Zero", GFXS_STENCILOP_ZERO << GFXS1_STENCIL_BACK_ZFAIL_SHIFT},
|
{"Zero", GFXS_STENCILOP_ZERO << GFXS1_STENCIL_BACK_ZFAIL_SHIFT},
|
||||||
{"Replace", GFXS_STENCILOP_REPLACE << GFXS1_STENCIL_BACK_ZFAIL_SHIFT},
|
{"Replace", GFXS_STENCILOP_REPLACE << GFXS1_STENCIL_BACK_ZFAIL_SHIFT},
|
||||||
{"IncrSat", GFXS_STENCILOP_INCRSAT << GFXS1_STENCIL_BACK_ZFAIL_SHIFT},
|
{"IncrSat", GFXS_STENCILOP_INCRSAT << GFXS1_STENCIL_BACK_ZFAIL_SHIFT},
|
||||||
@ -889,9 +813,8 @@ namespace IW4
|
|||||||
{"Incr", GFXS_STENCILOP_INCR << GFXS1_STENCIL_BACK_ZFAIL_SHIFT},
|
{"Incr", GFXS_STENCILOP_INCR << GFXS1_STENCIL_BACK_ZFAIL_SHIFT},
|
||||||
{"Decr", GFXS_STENCILOP_DECR << GFXS1_STENCIL_BACK_ZFAIL_SHIFT},
|
{"Decr", GFXS_STENCILOP_DECR << GFXS1_STENCIL_BACK_ZFAIL_SHIFT},
|
||||||
{"Keep", GFXS_STENCILOP_KEEP << GFXS1_STENCIL_BACK_ZFAIL_SHIFT},
|
{"Keep", GFXS_STENCILOP_KEEP << GFXS1_STENCIL_BACK_ZFAIL_SHIFT},
|
||||||
}
|
}},
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
|
||||||
inline state_map::StateMapLayout stateMapLayout(std::extent_v<decltype(GfxStateBits::loadBits)>, stateMapEntryLayout, stateMapVarLayout);
|
inline state_map::StateMapLayout stateMapLayout(std::extent_v<decltype(GfxStateBits::loadBits)>, stateMapEntryLayout, stateMapVarLayout);
|
||||||
}
|
} // namespace IW4
|
||||||
|
@ -4,8 +4,7 @@
|
|||||||
|
|
||||||
namespace IW5
|
namespace IW5
|
||||||
{
|
{
|
||||||
inline const char* g_expFunctionNames[]
|
inline const char* g_expFunctionNames[]{
|
||||||
{
|
|
||||||
"NOOP",
|
"NOOP",
|
||||||
")",
|
")",
|
||||||
"*",
|
"*",
|
||||||
@ -361,26 +360,25 @@ namespace IW5
|
|||||||
"doWeHaveMissingOwnedContent",
|
"doWeHaveMissingOwnedContent",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const ItemExpressionTargetBinding floatExpressionTargetBindings[ITEM_FLOATEXP_TGT_COUNT]
|
inline const ItemExpressionTargetBinding floatExpressionTargetBindings[ITEM_FLOATEXP_TGT_COUNT]{
|
||||||
{
|
{ITEM_FLOATEXP_TGT_RECT_X, "rect", "x" },
|
||||||
{ITEM_FLOATEXP_TGT_RECT_X, "rect", "x"},
|
{ITEM_FLOATEXP_TGT_RECT_Y, "rect", "y" },
|
||||||
{ITEM_FLOATEXP_TGT_RECT_Y, "rect", "y"},
|
{ITEM_FLOATEXP_TGT_RECT_W, "rect", "w" },
|
||||||
{ITEM_FLOATEXP_TGT_RECT_W, "rect", "w"},
|
{ITEM_FLOATEXP_TGT_RECT_H, "rect", "h" },
|
||||||
{ITEM_FLOATEXP_TGT_RECT_H, "rect", "h"},
|
{ITEM_FLOATEXP_TGT_FORECOLOR_R, "forecolor", "r" },
|
||||||
{ITEM_FLOATEXP_TGT_FORECOLOR_R, "forecolor", "r"},
|
{ITEM_FLOATEXP_TGT_FORECOLOR_G, "forecolor", "g" },
|
||||||
{ITEM_FLOATEXP_TGT_FORECOLOR_G, "forecolor", "g"},
|
{ITEM_FLOATEXP_TGT_FORECOLOR_B, "forecolor", "b" },
|
||||||
{ITEM_FLOATEXP_TGT_FORECOLOR_B, "forecolor", "b"},
|
|
||||||
{ITEM_FLOATEXP_TGT_FORECOLOR_RGB, "forecolor", "rgb"},
|
{ITEM_FLOATEXP_TGT_FORECOLOR_RGB, "forecolor", "rgb"},
|
||||||
{ITEM_FLOATEXP_TGT_FORECOLOR_A, "forecolor", "a"},
|
{ITEM_FLOATEXP_TGT_FORECOLOR_A, "forecolor", "a" },
|
||||||
{ITEM_FLOATEXP_TGT_GLOWCOLOR_R, "glowcolor", "r"},
|
{ITEM_FLOATEXP_TGT_GLOWCOLOR_R, "glowcolor", "r" },
|
||||||
{ITEM_FLOATEXP_TGT_GLOWCOLOR_G, "glowcolor", "g"},
|
{ITEM_FLOATEXP_TGT_GLOWCOLOR_G, "glowcolor", "g" },
|
||||||
{ITEM_FLOATEXP_TGT_GLOWCOLOR_B, "glowcolor", "b"},
|
{ITEM_FLOATEXP_TGT_GLOWCOLOR_B, "glowcolor", "b" },
|
||||||
{ITEM_FLOATEXP_TGT_GLOWCOLOR_RGB, "glowcolor", "rgb"},
|
{ITEM_FLOATEXP_TGT_GLOWCOLOR_RGB, "glowcolor", "rgb"},
|
||||||
{ITEM_FLOATEXP_TGT_GLOWCOLOR_A, "glowcolor", "a"},
|
{ITEM_FLOATEXP_TGT_GLOWCOLOR_A, "glowcolor", "a" },
|
||||||
{ITEM_FLOATEXP_TGT_BACKCOLOR_R, "backcolor", "r"},
|
{ITEM_FLOATEXP_TGT_BACKCOLOR_R, "backcolor", "r" },
|
||||||
{ITEM_FLOATEXP_TGT_BACKCOLOR_G, "backcolor", "g"},
|
{ITEM_FLOATEXP_TGT_BACKCOLOR_G, "backcolor", "g" },
|
||||||
{ITEM_FLOATEXP_TGT_BACKCOLOR_B, "backcolor", "b"},
|
{ITEM_FLOATEXP_TGT_BACKCOLOR_B, "backcolor", "b" },
|
||||||
{ITEM_FLOATEXP_TGT_BACKCOLOR_RGB, "backcolor", "rgb"},
|
{ITEM_FLOATEXP_TGT_BACKCOLOR_RGB, "backcolor", "rgb"},
|
||||||
{ITEM_FLOATEXP_TGT_BACKCOLOR_A, "backcolor", "a"},
|
{ITEM_FLOATEXP_TGT_BACKCOLOR_A, "backcolor", "a" },
|
||||||
};
|
};
|
||||||
}
|
} // namespace IW5
|
||||||
|
@ -17,4 +17,4 @@ namespace IW5
|
|||||||
static constexpr const char* GDF_FILENAME_VEHICLE = "vehicle.gdf";
|
static constexpr const char* GDF_FILENAME_VEHICLE = "vehicle.gdf";
|
||||||
static constexpr const char* GDF_FILENAME_WEAPON = "weapon.gdf";
|
static constexpr const char* GDF_FILENAME_WEAPON = "weapon.gdf";
|
||||||
};
|
};
|
||||||
}
|
} // namespace IW5
|
||||||
|
@ -2,8 +2,7 @@
|
|||||||
|
|
||||||
namespace T6
|
namespace T6
|
||||||
{
|
{
|
||||||
inline const char* szWeapTypeNames[]
|
inline const char* szWeapTypeNames[]{
|
||||||
{
|
|
||||||
"bullet",
|
"bullet",
|
||||||
"grenade",
|
"grenade",
|
||||||
"projectile",
|
"projectile",
|
||||||
@ -12,11 +11,10 @@ namespace T6
|
|||||||
"bomb",
|
"bomb",
|
||||||
"mine",
|
"mine",
|
||||||
"melee",
|
"melee",
|
||||||
"riotshield"
|
"riotshield",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* szWeapClassNames[]
|
inline const char* szWeapClassNames[]{
|
||||||
{
|
|
||||||
"rifle",
|
"rifle",
|
||||||
"mg",
|
"mg",
|
||||||
"smg",
|
"smg",
|
||||||
@ -30,47 +28,42 @@ namespace T6
|
|||||||
"item",
|
"item",
|
||||||
"melee",
|
"melee",
|
||||||
"Killstreak Alt Stored Weapon",
|
"Killstreak Alt Stored Weapon",
|
||||||
"pistol spread"
|
"pistol spread",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* szWeapOverlayReticleNames[]
|
inline const char* szWeapOverlayReticleNames[]{
|
||||||
{
|
|
||||||
"none",
|
"none",
|
||||||
"crosshair"
|
"crosshair",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* szWeapInventoryTypeNames[]
|
inline const char* szWeapInventoryTypeNames[]{
|
||||||
{
|
|
||||||
"primary",
|
"primary",
|
||||||
"offhand",
|
"offhand",
|
||||||
"item",
|
"item",
|
||||||
"altmode",
|
"altmode",
|
||||||
"melee",
|
"melee",
|
||||||
"dwlefthand"
|
"dwlefthand",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* szWeapClipTypeNames[]
|
inline const char* szWeapClipTypeNames[]{
|
||||||
{
|
|
||||||
"bottom",
|
"bottom",
|
||||||
"top",
|
"top",
|
||||||
"left",
|
"left",
|
||||||
"dp28",
|
"dp28",
|
||||||
"ptrs",
|
"ptrs",
|
||||||
"lmg"
|
"lmg",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* barrelTypeNames[]
|
inline const char* barrelTypeNames[]{
|
||||||
{
|
|
||||||
"Single",
|
"Single",
|
||||||
"Dual Barrel",
|
"Dual Barrel",
|
||||||
"Dual Barrel Alternate",
|
"Dual Barrel Alternate",
|
||||||
"Quad Barrel",
|
"Quad Barrel",
|
||||||
"Quad Barrel Alternate",
|
"Quad Barrel Alternate",
|
||||||
"Quad Barrel Double Alternate"
|
"Quad Barrel Double Alternate",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* impactTypeNames[]
|
inline const char* impactTypeNames[]{
|
||||||
{
|
|
||||||
"none",
|
"none",
|
||||||
"bullet_small",
|
"bullet_small",
|
||||||
"bullet_large",
|
"bullet_large",
|
||||||
@ -86,18 +79,16 @@ namespace T6
|
|||||||
"mortar_shell",
|
"mortar_shell",
|
||||||
"tank_shell",
|
"tank_shell",
|
||||||
"bolt",
|
"bolt",
|
||||||
"blade"
|
"blade",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* szWeapStanceNames[]
|
inline const char* szWeapStanceNames[]{
|
||||||
{
|
|
||||||
"stand",
|
"stand",
|
||||||
"duck",
|
"duck",
|
||||||
"prone"
|
"prone",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* szProjectileExplosionNames[]
|
inline const char* szProjectileExplosionNames[]{
|
||||||
{
|
|
||||||
"grenade",
|
"grenade",
|
||||||
"rocket",
|
"rocket",
|
||||||
"flashbang",
|
"flashbang",
|
||||||
@ -108,71 +99,40 @@ namespace T6
|
|||||||
"fire",
|
"fire",
|
||||||
"napalmblob",
|
"napalmblob",
|
||||||
"bolt",
|
"bolt",
|
||||||
"shrapnel span"
|
"shrapnel span",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* offhandClassNames[]
|
inline const char* offhandClassNames[]{
|
||||||
{
|
|
||||||
"None",
|
"None",
|
||||||
"Frag Grenade",
|
"Frag Grenade",
|
||||||
"Smoke Grenade",
|
"Smoke Grenade",
|
||||||
"Flash Grenade",
|
"Flash Grenade",
|
||||||
"Gear",
|
"Gear",
|
||||||
"Supply Drop Marker"
|
"Supply Drop Marker",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* offhandSlotNames[]
|
inline const char* offhandSlotNames[]{
|
||||||
{
|
|
||||||
"None",
|
"None",
|
||||||
"Lethal grenade",
|
"Lethal grenade",
|
||||||
"Tactical grenade",
|
"Tactical grenade",
|
||||||
"Equipment",
|
"Equipment",
|
||||||
"Specific use"
|
"Specific use",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* playerAnimTypeNames[]
|
inline const char* playerAnimTypeNames[]{
|
||||||
{
|
"none", "default", "other", "sniper", "m203", "hold", "briefcase", "reviver", "radio", "dualwield",
|
||||||
"none",
|
"remotecontrol", "crossbow", "minigun", "beltfed", "g11", "rearclip", "handleclip", "rearclipsniper", "ballisticknife", "singleknife",
|
||||||
"default",
|
"nopump", "hatchet", "grimreaper", "zipline", "riotshield", "tablet", "turned", "screecher", "staff",
|
||||||
"other",
|
|
||||||
"sniper",
|
|
||||||
"m203",
|
|
||||||
"hold",
|
|
||||||
"briefcase",
|
|
||||||
"reviver",
|
|
||||||
"radio",
|
|
||||||
"dualwield",
|
|
||||||
"remotecontrol",
|
|
||||||
"crossbow",
|
|
||||||
"minigun",
|
|
||||||
"beltfed",
|
|
||||||
"g11",
|
|
||||||
"rearclip",
|
|
||||||
"handleclip",
|
|
||||||
"rearclipsniper",
|
|
||||||
"ballisticknife",
|
|
||||||
"singleknife",
|
|
||||||
"nopump",
|
|
||||||
"hatchet",
|
|
||||||
"grimreaper",
|
|
||||||
"zipline",
|
|
||||||
"riotshield",
|
|
||||||
"tablet",
|
|
||||||
"turned",
|
|
||||||
"screecher",
|
|
||||||
"staff"
|
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* activeReticleNames[]
|
inline const char* activeReticleNames[]{
|
||||||
{
|
|
||||||
"None",
|
"None",
|
||||||
"Pip-On-A-Stick",
|
"Pip-On-A-Stick",
|
||||||
"Bouncing Diamond",
|
"Bouncing Diamond",
|
||||||
"Missile Lock"
|
"Missile Lock",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* guidedMissileNames[]
|
inline const char* guidedMissileNames[]{
|
||||||
{
|
|
||||||
"None",
|
"None",
|
||||||
"Sidewinder",
|
"Sidewinder",
|
||||||
"Hellfire",
|
"Hellfire",
|
||||||
@ -181,87 +141,53 @@ namespace T6
|
|||||||
"WireGuided",
|
"WireGuided",
|
||||||
"TVGuided",
|
"TVGuided",
|
||||||
"Drone",
|
"Drone",
|
||||||
"HeatSeeking"
|
"HeatSeeking",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* stickinessNames[]
|
inline const char* stickinessNames[]{
|
||||||
{
|
|
||||||
"Don't stick",
|
"Don't stick",
|
||||||
"Stick to all",
|
"Stick to all",
|
||||||
"Stick to all, except ai and clients",
|
"Stick to all, except ai and clients",
|
||||||
"Stick to ground",
|
"Stick to ground",
|
||||||
"Stick to ground, maintain yaw",
|
"Stick to ground, maintain yaw",
|
||||||
"Stick to flesh"
|
"Stick to flesh",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* rotateTypeNames[]
|
inline const char* rotateTypeNames[]{
|
||||||
{
|
|
||||||
"Rotate both axis, grenade style",
|
"Rotate both axis, grenade style",
|
||||||
"Rotate one axis, blade style",
|
"Rotate one axis, blade style",
|
||||||
"Rotate like a cylinder"
|
"Rotate like a cylinder",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* overlayInterfaceNames[]
|
inline const char* overlayInterfaceNames[]{
|
||||||
{
|
|
||||||
"None",
|
"None",
|
||||||
"Javelin",
|
"Javelin",
|
||||||
"Turret Scope"
|
"Turret Scope",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* ammoCounterClipNames[]
|
inline const char* ammoCounterClipNames[]{
|
||||||
{
|
|
||||||
"None",
|
"None",
|
||||||
"Magazine",
|
"Magazine",
|
||||||
"ShortMagazine",
|
"ShortMagazine",
|
||||||
"Shotgun",
|
"Shotgun",
|
||||||
"Rocket",
|
"Rocket",
|
||||||
"Beltfed",
|
"Beltfed",
|
||||||
"AltWeapon"
|
"AltWeapon",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* weapIconRatioNames[]
|
inline const char* weapIconRatioNames[]{
|
||||||
{
|
|
||||||
"1:1",
|
"1:1",
|
||||||
"2:1",
|
"2:1",
|
||||||
"4:1"
|
"4:1",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* szAttachmentTypeNames[]
|
inline const char* szAttachmentTypeNames[]{
|
||||||
{
|
"none", "acog", "dualclip", "dualoptic", "dw", "extbarrel", "extclip", "extramags", "fastads", "fastreload",
|
||||||
"none",
|
"fmj", "gl", "grip", "holo", "ir", "is", "longbreath", "mk", "mms", "rangefinder",
|
||||||
"acog",
|
"reflex", "rf", "sf", "silencer", "stackfire", "stalker", "steadyaim", "swayreduc", "tacknife", "vzoom",
|
||||||
"dualclip",
|
|
||||||
"dualoptic",
|
|
||||||
"dw",
|
|
||||||
"extbarrel",
|
|
||||||
"extclip",
|
|
||||||
"extramags",
|
|
||||||
"fastads",
|
|
||||||
"fastreload",
|
|
||||||
"fmj",
|
|
||||||
"gl",
|
|
||||||
"grip",
|
|
||||||
"holo",
|
|
||||||
"ir",
|
|
||||||
"is",
|
|
||||||
"longbreath",
|
|
||||||
"mk",
|
|
||||||
"mms",
|
|
||||||
"rangefinder",
|
|
||||||
"reflex",
|
|
||||||
"rf",
|
|
||||||
"sf",
|
|
||||||
"silencer",
|
|
||||||
"stackfire",
|
|
||||||
"stalker",
|
|
||||||
"steadyaim",
|
|
||||||
"swayreduc",
|
|
||||||
"tacknife",
|
|
||||||
"vzoom"
|
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* szWeapFireTypeNames[]
|
inline const char* szWeapFireTypeNames[]{
|
||||||
{
|
|
||||||
"Full Auto",
|
"Full Auto",
|
||||||
"Single Shot",
|
"Single Shot",
|
||||||
"2-Round Burst",
|
"2-Round Burst",
|
||||||
@ -271,19 +197,17 @@ namespace T6
|
|||||||
"Stacked Fire",
|
"Stacked Fire",
|
||||||
"Minigun",
|
"Minigun",
|
||||||
"Charge Shot",
|
"Charge Shot",
|
||||||
"Jetgun"
|
"Jetgun",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* penetrateTypeNames[]
|
inline const char* penetrateTypeNames[]{
|
||||||
{
|
|
||||||
"none",
|
"none",
|
||||||
"small",
|
"small",
|
||||||
"medium",
|
"medium",
|
||||||
"large"
|
"large",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* s_constraintTypeNames[]
|
inline const char* s_constraintTypeNames[]{
|
||||||
{
|
|
||||||
"none",
|
"none",
|
||||||
"point",
|
"point",
|
||||||
"distance",
|
"distance",
|
||||||
@ -296,8 +220,7 @@ namespace T6
|
|||||||
"light",
|
"light",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* s_vehicleClassNames[]
|
inline const char* s_vehicleClassNames[]{
|
||||||
{
|
|
||||||
"4 wheel",
|
"4 wheel",
|
||||||
"motorcycle",
|
"motorcycle",
|
||||||
"tank",
|
"tank",
|
||||||
@ -307,8 +230,7 @@ namespace T6
|
|||||||
"helicopter",
|
"helicopter",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* s_vehicleCameraModes[]
|
inline const char* s_vehicleCameraModes[]{
|
||||||
{
|
|
||||||
"first",
|
"first",
|
||||||
"chase",
|
"chase",
|
||||||
"view",
|
"view",
|
||||||
@ -319,52 +241,20 @@ namespace T6
|
|||||||
"vtol",
|
"vtol",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* s_tractionTypeNames[]
|
inline const char* s_tractionTypeNames[]{
|
||||||
{
|
|
||||||
"TRACTION_TYPE_FRONT",
|
"TRACTION_TYPE_FRONT",
|
||||||
"TRACTION_TYPE_BACK",
|
"TRACTION_TYPE_BACK",
|
||||||
"TRACTION_TYPE_ALL_WD",
|
"TRACTION_TYPE_ALL_WD",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* tracerTypeNames[]
|
inline const char* tracerTypeNames[]{
|
||||||
{
|
|
||||||
"Laser",
|
"Laser",
|
||||||
"Smoke"
|
"Smoke",
|
||||||
};
|
};
|
||||||
|
|
||||||
inline const char* bounceSoundSuffixes[]
|
inline const char* bounceSoundSuffixes[]{
|
||||||
{
|
"_default", "_bark", "_brick", "_carpet", "_cloth", "_concrete", "_dirt", "_flesh", "_foliage", "_glass", "_grass",
|
||||||
"_default",
|
"_gravel", "_ice", "_metal", "_mud", "_paper", "_plaster", "_rock", "_sand", "_snow", "_water", "_wood",
|
||||||
"_bark",
|
"_asphalt", "_ceramic", "_plastic", "_rubber", "_cushion", "_fruit", "_paintedmetal", "_player", "_tallgrass", "_riotshield",
|
||||||
"_brick",
|
|
||||||
"_carpet",
|
|
||||||
"_cloth",
|
|
||||||
"_concrete",
|
|
||||||
"_dirt",
|
|
||||||
"_flesh",
|
|
||||||
"_foliage",
|
|
||||||
"_glass",
|
|
||||||
"_grass",
|
|
||||||
"_gravel",
|
|
||||||
"_ice",
|
|
||||||
"_metal",
|
|
||||||
"_mud",
|
|
||||||
"_paper",
|
|
||||||
"_plaster",
|
|
||||||
"_rock",
|
|
||||||
"_sand",
|
|
||||||
"_snow",
|
|
||||||
"_water",
|
|
||||||
"_wood",
|
|
||||||
"_asphalt",
|
|
||||||
"_ceramic",
|
|
||||||
"_plastic",
|
|
||||||
"_rubber",
|
|
||||||
"_cushion",
|
|
||||||
"_fruit",
|
|
||||||
"_paintedmetal",
|
|
||||||
"_player",
|
|
||||||
"_tallgrass",
|
|
||||||
"_riotshield"
|
|
||||||
};
|
};
|
||||||
}
|
} // namespace T6
|
||||||
|
@ -3,83 +3,82 @@
|
|||||||
|
|
||||||
namespace T6
|
namespace T6
|
||||||
{
|
{
|
||||||
inline cspField_t phys_constraints_fields[]
|
inline cspField_t phys_constraints_fields[]{
|
||||||
{
|
{"c1_type", offsetof(PhysConstraints, data[0].type), CFT_TYPE },
|
||||||
{"c1_type", offsetof(PhysConstraints, data[0].type), CFT_TYPE},
|
|
||||||
{"c1_bone1_name", offsetof(PhysConstraints, data[0].target_bone1), CSPFT_STRING},
|
{"c1_bone1_name", offsetof(PhysConstraints, data[0].target_bone1), CSPFT_STRING},
|
||||||
{"c1_bone2_name", offsetof(PhysConstraints, data[0].target_bone2), CSPFT_STRING},
|
{"c1_bone2_name", offsetof(PhysConstraints, data[0].target_bone2), CSPFT_STRING},
|
||||||
{"c1_offsetX", offsetof(PhysConstraints, data[0].offset.x), CSPFT_FLOAT},
|
{"c1_offsetX", offsetof(PhysConstraints, data[0].offset.x), CSPFT_FLOAT },
|
||||||
{"c1_offsetY", offsetof(PhysConstraints, data[0].offset.y), CSPFT_FLOAT},
|
{"c1_offsetY", offsetof(PhysConstraints, data[0].offset.y), CSPFT_FLOAT },
|
||||||
{"c1_offsetZ", offsetof(PhysConstraints, data[0].offset.z), CSPFT_FLOAT},
|
{"c1_offsetZ", offsetof(PhysConstraints, data[0].offset.z), CSPFT_FLOAT },
|
||||||
{"c1_timeout", offsetof(PhysConstraints, data[0].timeout), CSPFT_INT},
|
{"c1_timeout", offsetof(PhysConstraints, data[0].timeout), CSPFT_INT },
|
||||||
{"c1_min_health", offsetof(PhysConstraints, data[0].min_health), CSPFT_INT},
|
{"c1_min_health", offsetof(PhysConstraints, data[0].min_health), CSPFT_INT },
|
||||||
{"c1_max_health", offsetof(PhysConstraints, data[0].max_health), CSPFT_INT},
|
{"c1_max_health", offsetof(PhysConstraints, data[0].max_health), CSPFT_INT },
|
||||||
{"c1_damp", offsetof(PhysConstraints, data[0].damp), CSPFT_FLOAT},
|
{"c1_damp", offsetof(PhysConstraints, data[0].damp), CSPFT_FLOAT },
|
||||||
{"c1_power", offsetof(PhysConstraints, data[0].power), CSPFT_FLOAT},
|
{"c1_power", offsetof(PhysConstraints, data[0].power), CSPFT_FLOAT },
|
||||||
{"c1_spin_scale", offsetof(PhysConstraints, data[0].spin_scale), CSPFT_FLOAT},
|
{"c1_spin_scale", offsetof(PhysConstraints, data[0].spin_scale), CSPFT_FLOAT },
|
||||||
{"c1_shakescalex", offsetof(PhysConstraints, data[0].scale.x), CSPFT_FLOAT},
|
{"c1_shakescalex", offsetof(PhysConstraints, data[0].scale.x), CSPFT_FLOAT },
|
||||||
{"c1_shakescaley", offsetof(PhysConstraints, data[0].scale.y), CSPFT_FLOAT},
|
{"c1_shakescaley", offsetof(PhysConstraints, data[0].scale.y), CSPFT_FLOAT },
|
||||||
{"c1_shakescalez", offsetof(PhysConstraints, data[0].scale.z), CSPFT_FLOAT},
|
{"c1_shakescalez", offsetof(PhysConstraints, data[0].scale.z), CSPFT_FLOAT },
|
||||||
{"c1_min_angle", offsetof(PhysConstraints, data[0].minAngle), CSPFT_FLOAT},
|
{"c1_min_angle", offsetof(PhysConstraints, data[0].minAngle), CSPFT_FLOAT },
|
||||||
{"c1_max_angle", offsetof(PhysConstraints, data[0].maxAngle), CSPFT_FLOAT},
|
{"c1_max_angle", offsetof(PhysConstraints, data[0].maxAngle), CSPFT_FLOAT },
|
||||||
{"c1_yaw", offsetof(PhysConstraints, data[0].scale.y), CSPFT_FLOAT},
|
{"c1_yaw", offsetof(PhysConstraints, data[0].scale.y), CSPFT_FLOAT },
|
||||||
{"c1_pitch", offsetof(PhysConstraints, data[0].scale.x), CSPFT_FLOAT},
|
{"c1_pitch", offsetof(PhysConstraints, data[0].scale.x), CSPFT_FLOAT },
|
||||||
{"c2_type", offsetof(PhysConstraints, data[1].type), CFT_TYPE},
|
{"c2_type", offsetof(PhysConstraints, data[1].type), CFT_TYPE },
|
||||||
{"c2_bone1_name", offsetof(PhysConstraints, data[1].target_bone1), CSPFT_STRING},
|
{"c2_bone1_name", offsetof(PhysConstraints, data[1].target_bone1), CSPFT_STRING},
|
||||||
{"c2_bone2_name", offsetof(PhysConstraints, data[1].target_bone2), CSPFT_STRING},
|
{"c2_bone2_name", offsetof(PhysConstraints, data[1].target_bone2), CSPFT_STRING},
|
||||||
{"c2_offsetX", offsetof(PhysConstraints, data[1].offset.x), CSPFT_FLOAT},
|
{"c2_offsetX", offsetof(PhysConstraints, data[1].offset.x), CSPFT_FLOAT },
|
||||||
{"c2_offsetY", offsetof(PhysConstraints, data[1].offset.y), CSPFT_FLOAT},
|
{"c2_offsetY", offsetof(PhysConstraints, data[1].offset.y), CSPFT_FLOAT },
|
||||||
{"c2_offsetZ", offsetof(PhysConstraints, data[1].offset.z), CSPFT_FLOAT},
|
{"c2_offsetZ", offsetof(PhysConstraints, data[1].offset.z), CSPFT_FLOAT },
|
||||||
{"c2_timeout", offsetof(PhysConstraints, data[1].timeout), CSPFT_INT},
|
{"c2_timeout", offsetof(PhysConstraints, data[1].timeout), CSPFT_INT },
|
||||||
{"c2_min_health", offsetof(PhysConstraints, data[1].min_health), CSPFT_INT},
|
{"c2_min_health", offsetof(PhysConstraints, data[1].min_health), CSPFT_INT },
|
||||||
{"c2_max_health", offsetof(PhysConstraints, data[1].max_health), CSPFT_INT},
|
{"c2_max_health", offsetof(PhysConstraints, data[1].max_health), CSPFT_INT },
|
||||||
{"c2_damp", offsetof(PhysConstraints, data[1].damp), CSPFT_FLOAT},
|
{"c2_damp", offsetof(PhysConstraints, data[1].damp), CSPFT_FLOAT },
|
||||||
{"c2_power", offsetof(PhysConstraints, data[1].power), CSPFT_FLOAT},
|
{"c2_power", offsetof(PhysConstraints, data[1].power), CSPFT_FLOAT },
|
||||||
{"c2_spin_scale", offsetof(PhysConstraints, data[1].spin_scale), CSPFT_FLOAT},
|
{"c2_spin_scale", offsetof(PhysConstraints, data[1].spin_scale), CSPFT_FLOAT },
|
||||||
{"c2_shakescalex", offsetof(PhysConstraints, data[1].scale.x), CSPFT_FLOAT},
|
{"c2_shakescalex", offsetof(PhysConstraints, data[1].scale.x), CSPFT_FLOAT },
|
||||||
{"c2_shakescaley", offsetof(PhysConstraints, data[1].scale.y), CSPFT_FLOAT},
|
{"c2_shakescaley", offsetof(PhysConstraints, data[1].scale.y), CSPFT_FLOAT },
|
||||||
{"c2_shakescalez", offsetof(PhysConstraints, data[1].scale.z), CSPFT_FLOAT},
|
{"c2_shakescalez", offsetof(PhysConstraints, data[1].scale.z), CSPFT_FLOAT },
|
||||||
{"c2_min_angle", offsetof(PhysConstraints, data[1].minAngle), CSPFT_FLOAT},
|
{"c2_min_angle", offsetof(PhysConstraints, data[1].minAngle), CSPFT_FLOAT },
|
||||||
{"c2_max_angle", offsetof(PhysConstraints, data[1].maxAngle), CSPFT_FLOAT},
|
{"c2_max_angle", offsetof(PhysConstraints, data[1].maxAngle), CSPFT_FLOAT },
|
||||||
{"c2_yaw", offsetof(PhysConstraints, data[1].scale.y), CSPFT_FLOAT},
|
{"c2_yaw", offsetof(PhysConstraints, data[1].scale.y), CSPFT_FLOAT },
|
||||||
{"c2_pitch", offsetof(PhysConstraints, data[1].scale.x), CSPFT_FLOAT},
|
{"c2_pitch", offsetof(PhysConstraints, data[1].scale.x), CSPFT_FLOAT },
|
||||||
{"c3_type", offsetof(PhysConstraints, data[2].type), CFT_TYPE},
|
{"c3_type", offsetof(PhysConstraints, data[2].type), CFT_TYPE },
|
||||||
{"c3_bone1_name", offsetof(PhysConstraints, data[2].target_bone1), CSPFT_STRING},
|
{"c3_bone1_name", offsetof(PhysConstraints, data[2].target_bone1), CSPFT_STRING},
|
||||||
{"c3_bone2_name", offsetof(PhysConstraints, data[2].target_bone2), CSPFT_STRING},
|
{"c3_bone2_name", offsetof(PhysConstraints, data[2].target_bone2), CSPFT_STRING},
|
||||||
{"c3_offsetX", offsetof(PhysConstraints, data[2].offset.x), CSPFT_FLOAT},
|
{"c3_offsetX", offsetof(PhysConstraints, data[2].offset.x), CSPFT_FLOAT },
|
||||||
{"c3_offsetY", offsetof(PhysConstraints, data[2].offset.y), CSPFT_FLOAT},
|
{"c3_offsetY", offsetof(PhysConstraints, data[2].offset.y), CSPFT_FLOAT },
|
||||||
{"c3_offsetZ", offsetof(PhysConstraints, data[2].offset.z), CSPFT_FLOAT},
|
{"c3_offsetZ", offsetof(PhysConstraints, data[2].offset.z), CSPFT_FLOAT },
|
||||||
{"c3_timeout", offsetof(PhysConstraints, data[2].timeout), CSPFT_INT},
|
{"c3_timeout", offsetof(PhysConstraints, data[2].timeout), CSPFT_INT },
|
||||||
{"c3_min_health", offsetof(PhysConstraints, data[2].min_health), CSPFT_INT},
|
{"c3_min_health", offsetof(PhysConstraints, data[2].min_health), CSPFT_INT },
|
||||||
{"c3_max_health", offsetof(PhysConstraints, data[2].max_health), CSPFT_INT},
|
{"c3_max_health", offsetof(PhysConstraints, data[2].max_health), CSPFT_INT },
|
||||||
{"c3_damp", offsetof(PhysConstraints, data[2].damp), CSPFT_FLOAT},
|
{"c3_damp", offsetof(PhysConstraints, data[2].damp), CSPFT_FLOAT },
|
||||||
{"c3_power", offsetof(PhysConstraints, data[2].power), CSPFT_FLOAT},
|
{"c3_power", offsetof(PhysConstraints, data[2].power), CSPFT_FLOAT },
|
||||||
{"c3_spin_scale", offsetof(PhysConstraints, data[2].spin_scale), CSPFT_FLOAT},
|
{"c3_spin_scale", offsetof(PhysConstraints, data[2].spin_scale), CSPFT_FLOAT },
|
||||||
{"c3_shakescalex", offsetof(PhysConstraints, data[2].scale.x), CSPFT_FLOAT},
|
{"c3_shakescalex", offsetof(PhysConstraints, data[2].scale.x), CSPFT_FLOAT },
|
||||||
{"c3_shakescaley", offsetof(PhysConstraints, data[2].scale.y), CSPFT_FLOAT},
|
{"c3_shakescaley", offsetof(PhysConstraints, data[2].scale.y), CSPFT_FLOAT },
|
||||||
{"c3_shakescalez", offsetof(PhysConstraints, data[2].scale.z), CSPFT_FLOAT},
|
{"c3_shakescalez", offsetof(PhysConstraints, data[2].scale.z), CSPFT_FLOAT },
|
||||||
{"c3_min_angle", offsetof(PhysConstraints, data[2].minAngle), CSPFT_FLOAT},
|
{"c3_min_angle", offsetof(PhysConstraints, data[2].minAngle), CSPFT_FLOAT },
|
||||||
{"c3_max_angle", offsetof(PhysConstraints, data[2].maxAngle), CSPFT_FLOAT},
|
{"c3_max_angle", offsetof(PhysConstraints, data[2].maxAngle), CSPFT_FLOAT },
|
||||||
{"c3_yaw", offsetof(PhysConstraints, data[2].scale.y), CSPFT_FLOAT},
|
{"c3_yaw", offsetof(PhysConstraints, data[2].scale.y), CSPFT_FLOAT },
|
||||||
{"c3_pitch", offsetof(PhysConstraints, data[2].scale.x), CSPFT_FLOAT},
|
{"c3_pitch", offsetof(PhysConstraints, data[2].scale.x), CSPFT_FLOAT },
|
||||||
{"c4_type", offsetof(PhysConstraints, data[3].type), CFT_TYPE},
|
{"c4_type", offsetof(PhysConstraints, data[3].type), CFT_TYPE },
|
||||||
{"c4_bone1_name", offsetof(PhysConstraints, data[3].target_bone1), CSPFT_STRING},
|
{"c4_bone1_name", offsetof(PhysConstraints, data[3].target_bone1), CSPFT_STRING},
|
||||||
{"c4_bone2_name", offsetof(PhysConstraints, data[3].target_bone2), CSPFT_STRING},
|
{"c4_bone2_name", offsetof(PhysConstraints, data[3].target_bone2), CSPFT_STRING},
|
||||||
{"c4_offsetX", offsetof(PhysConstraints, data[3].offset.x), CSPFT_FLOAT},
|
{"c4_offsetX", offsetof(PhysConstraints, data[3].offset.x), CSPFT_FLOAT },
|
||||||
{"c4_offsetY", offsetof(PhysConstraints, data[3].offset.y), CSPFT_FLOAT},
|
{"c4_offsetY", offsetof(PhysConstraints, data[3].offset.y), CSPFT_FLOAT },
|
||||||
{"c4_offsetZ", offsetof(PhysConstraints, data[3].offset.z), CSPFT_FLOAT},
|
{"c4_offsetZ", offsetof(PhysConstraints, data[3].offset.z), CSPFT_FLOAT },
|
||||||
{"c4_timeout", offsetof(PhysConstraints, data[3].timeout), CSPFT_INT},
|
{"c4_timeout", offsetof(PhysConstraints, data[3].timeout), CSPFT_INT },
|
||||||
{"c4_min_health", offsetof(PhysConstraints, data[3].min_health), CSPFT_INT},
|
{"c4_min_health", offsetof(PhysConstraints, data[3].min_health), CSPFT_INT },
|
||||||
{"c4_max_health", offsetof(PhysConstraints, data[3].max_health), CSPFT_INT},
|
{"c4_max_health", offsetof(PhysConstraints, data[3].max_health), CSPFT_INT },
|
||||||
{"c4_damp", offsetof(PhysConstraints, data[3].damp), CSPFT_FLOAT},
|
{"c4_damp", offsetof(PhysConstraints, data[3].damp), CSPFT_FLOAT },
|
||||||
{"c4_power", offsetof(PhysConstraints, data[3].power), CSPFT_FLOAT},
|
{"c4_power", offsetof(PhysConstraints, data[3].power), CSPFT_FLOAT },
|
||||||
{"c4_spin_scale", offsetof(PhysConstraints, data[3].spin_scale), CSPFT_FLOAT},
|
{"c4_spin_scale", offsetof(PhysConstraints, data[3].spin_scale), CSPFT_FLOAT },
|
||||||
{"c4_shakescalex", offsetof(PhysConstraints, data[3].scale.x), CSPFT_FLOAT},
|
{"c4_shakescalex", offsetof(PhysConstraints, data[3].scale.x), CSPFT_FLOAT },
|
||||||
{"c4_shakescaley", offsetof(PhysConstraints, data[3].scale.y), CSPFT_FLOAT},
|
{"c4_shakescaley", offsetof(PhysConstraints, data[3].scale.y), CSPFT_FLOAT },
|
||||||
{"c4_shakescalez", offsetof(PhysConstraints, data[3].scale.z), CSPFT_FLOAT},
|
{"c4_shakescalez", offsetof(PhysConstraints, data[3].scale.z), CSPFT_FLOAT },
|
||||||
{"c4_min_angle", offsetof(PhysConstraints, data[3].minAngle), CSPFT_FLOAT},
|
{"c4_min_angle", offsetof(PhysConstraints, data[3].minAngle), CSPFT_FLOAT },
|
||||||
{"c4_max_angle", offsetof(PhysConstraints, data[3].maxAngle), CSPFT_FLOAT},
|
{"c4_max_angle", offsetof(PhysConstraints, data[3].maxAngle), CSPFT_FLOAT },
|
||||||
{"c4_yaw", offsetof(PhysConstraints, data[3].scale.y), CSPFT_FLOAT},
|
{"c4_yaw", offsetof(PhysConstraints, data[3].scale.y), CSPFT_FLOAT },
|
||||||
{"c4_pitch", offsetof(PhysConstraints, data[3].scale.x), CSPFT_FLOAT},
|
{"c4_pitch", offsetof(PhysConstraints, data[3].scale.x), CSPFT_FLOAT },
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -3,26 +3,25 @@
|
|||||||
|
|
||||||
namespace T6
|
namespace T6
|
||||||
{
|
{
|
||||||
inline cspField_t phys_preset_fields[]
|
inline cspField_t phys_preset_fields[]{
|
||||||
{
|
{"mass", offsetof(PhysPresetInfo, mass), CSPFT_FLOAT },
|
||||||
{ "mass", offsetof(PhysPresetInfo, mass), CSPFT_FLOAT },
|
{"bounce", offsetof(PhysPresetInfo, bounce), CSPFT_FLOAT },
|
||||||
{ "bounce", offsetof(PhysPresetInfo, bounce), CSPFT_FLOAT },
|
{"friction", offsetof(PhysPresetInfo, friction), CSPFT_FLOAT },
|
||||||
{ "friction", offsetof(PhysPresetInfo, friction), CSPFT_FLOAT },
|
{"isFrictionInfinity", offsetof(PhysPresetInfo, isFrictionInfinity), CSPFT_QBOOLEAN},
|
||||||
{ "isFrictionInfinity", offsetof(PhysPresetInfo, isFrictionInfinity), CSPFT_QBOOLEAN },
|
{"bulletForceScale", offsetof(PhysPresetInfo, bulletForceScale), CSPFT_FLOAT },
|
||||||
{ "bulletForceScale", offsetof(PhysPresetInfo, bulletForceScale), CSPFT_FLOAT },
|
{"explosiveForceScale", offsetof(PhysPresetInfo, explosiveForceScale), CSPFT_FLOAT },
|
||||||
{ "explosiveForceScale", offsetof(PhysPresetInfo, explosiveForceScale), CSPFT_FLOAT },
|
{"piecesSpreadFraction", offsetof(PhysPresetInfo, piecesSpreadFraction), CSPFT_FLOAT },
|
||||||
{ "piecesSpreadFraction", offsetof(PhysPresetInfo, piecesSpreadFraction), CSPFT_FLOAT },
|
{"piecesUpwardVelocity", offsetof(PhysPresetInfo, piecesUpwardVelocity), CSPFT_FLOAT },
|
||||||
{ "piecesUpwardVelocity", offsetof(PhysPresetInfo, piecesUpwardVelocity), CSPFT_FLOAT },
|
{"canFloat", offsetof(PhysPresetInfo, canFloat), CSPFT_INT },
|
||||||
{ "canFloat", offsetof(PhysPresetInfo, canFloat), CSPFT_INT },
|
{"gravityScale", offsetof(PhysPresetInfo, gravityScale), CSPFT_FLOAT },
|
||||||
{ "gravityScale", offsetof(PhysPresetInfo, gravityScale), CSPFT_FLOAT },
|
{"massOffsetX", offsetof(PhysPresetInfo, centerOfMassOffset.x), CSPFT_FLOAT },
|
||||||
{ "massOffsetX", offsetof(PhysPresetInfo, centerOfMassOffset.x), CSPFT_FLOAT },
|
{"massOffsetY", offsetof(PhysPresetInfo, centerOfMassOffset.y), CSPFT_FLOAT },
|
||||||
{ "massOffsetY", offsetof(PhysPresetInfo, centerOfMassOffset.y), CSPFT_FLOAT },
|
{"massOffsetZ", offsetof(PhysPresetInfo, centerOfMassOffset.z), CSPFT_FLOAT },
|
||||||
{ "massOffsetZ", offsetof(PhysPresetInfo, centerOfMassOffset.z), CSPFT_FLOAT },
|
{"buoyancyMinX", offsetof(PhysPresetInfo, buoyancyBoxMin.x), CSPFT_FLOAT },
|
||||||
{ "buoyancyMinX", offsetof(PhysPresetInfo, buoyancyBoxMin.x), CSPFT_FLOAT },
|
{"buoyancyMinY", offsetof(PhysPresetInfo, buoyancyBoxMin.y), CSPFT_FLOAT },
|
||||||
{ "buoyancyMinY", offsetof(PhysPresetInfo, buoyancyBoxMin.y), CSPFT_FLOAT },
|
{"buoyancyMinZ", offsetof(PhysPresetInfo, buoyancyBoxMin.z), CSPFT_FLOAT },
|
||||||
{ "buoyancyMinZ", offsetof(PhysPresetInfo, buoyancyBoxMin.z), CSPFT_FLOAT },
|
{"buoyancyMaxX", offsetof(PhysPresetInfo, buoyancyBoxMax.x), CSPFT_FLOAT },
|
||||||
{ "buoyancyMaxX", offsetof(PhysPresetInfo, buoyancyBoxMax.x), CSPFT_FLOAT },
|
{"buoyancyMaxY", offsetof(PhysPresetInfo, buoyancyBoxMax.y), CSPFT_FLOAT },
|
||||||
{ "buoyancyMaxY", offsetof(PhysPresetInfo, buoyancyBoxMax.y), CSPFT_FLOAT },
|
{"buoyancyMaxZ", offsetof(PhysPresetInfo, buoyancyBoxMax.z), CSPFT_FLOAT },
|
||||||
{ "buoyancyMaxZ", offsetof(PhysPresetInfo, buoyancyBoxMax.z), CSPFT_FLOAT },
|
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -3,38 +3,37 @@
|
|||||||
|
|
||||||
namespace T6
|
namespace T6
|
||||||
{
|
{
|
||||||
inline cspField_t tracer_fields[]
|
inline cspField_t tracer_fields[]{
|
||||||
{
|
|
||||||
{"type", offsetof(TracerDef, type), TFT_TRACERTYPE},
|
{"type", offsetof(TracerDef, type), TFT_TRACERTYPE},
|
||||||
{"material", offsetof(TracerDef, material), CSPFT_MATERIAL},
|
{"material", offsetof(TracerDef, material), CSPFT_MATERIAL},
|
||||||
{"drawInterval", offsetof(TracerDef, drawInterval), CSPFT_INT},
|
{"drawInterval", offsetof(TracerDef, drawInterval), CSPFT_INT },
|
||||||
{"speed", offsetof(TracerDef, speed), CSPFT_FLOAT},
|
{"speed", offsetof(TracerDef, speed), CSPFT_FLOAT },
|
||||||
{"beamLength", offsetof(TracerDef, beamLength), CSPFT_FLOAT},
|
{"beamLength", offsetof(TracerDef, beamLength), CSPFT_FLOAT },
|
||||||
{"beamWidth", offsetof(TracerDef, beamWidth), CSPFT_FLOAT},
|
{"beamWidth", offsetof(TracerDef, beamWidth), CSPFT_FLOAT },
|
||||||
{"screwRadius", offsetof(TracerDef, screwRadius), CSPFT_FLOAT},
|
{"screwRadius", offsetof(TracerDef, screwRadius), CSPFT_FLOAT },
|
||||||
{"screwDist", offsetof(TracerDef, screwDist), CSPFT_FLOAT},
|
{"screwDist", offsetof(TracerDef, screwDist), CSPFT_FLOAT },
|
||||||
{"fadeTime", offsetof(TracerDef, fadeTime), CSPFT_FLOAT},
|
{"fadeTime", offsetof(TracerDef, fadeTime), CSPFT_FLOAT },
|
||||||
{"fadeScale", offsetof(TracerDef, fadeScale), CSPFT_FLOAT},
|
{"fadeScale", offsetof(TracerDef, fadeScale), CSPFT_FLOAT },
|
||||||
{"texRepeatRate", offsetof(TracerDef, texRepeatRate), CSPFT_FLOAT},
|
{"texRepeatRate", offsetof(TracerDef, texRepeatRate), CSPFT_FLOAT },
|
||||||
{"colorR0", offsetof(TracerDef, colors[0].r), CSPFT_FLOAT},
|
{"colorR0", offsetof(TracerDef, colors[0].r), CSPFT_FLOAT },
|
||||||
{"colorG0", offsetof(TracerDef, colors[0].g), CSPFT_FLOAT},
|
{"colorG0", offsetof(TracerDef, colors[0].g), CSPFT_FLOAT },
|
||||||
{"colorB0", offsetof(TracerDef, colors[0].b), CSPFT_FLOAT},
|
{"colorB0", offsetof(TracerDef, colors[0].b), CSPFT_FLOAT },
|
||||||
{"colorA0", offsetof(TracerDef, colors[0].a), CSPFT_FLOAT},
|
{"colorA0", offsetof(TracerDef, colors[0].a), CSPFT_FLOAT },
|
||||||
{"colorR1", offsetof(TracerDef, colors[1].r), CSPFT_FLOAT},
|
{"colorR1", offsetof(TracerDef, colors[1].r), CSPFT_FLOAT },
|
||||||
{"colorG1", offsetof(TracerDef, colors[1].g), CSPFT_FLOAT},
|
{"colorG1", offsetof(TracerDef, colors[1].g), CSPFT_FLOAT },
|
||||||
{"colorB1", offsetof(TracerDef, colors[1].b), CSPFT_FLOAT},
|
{"colorB1", offsetof(TracerDef, colors[1].b), CSPFT_FLOAT },
|
||||||
{"colorA1", offsetof(TracerDef, colors[1].a), CSPFT_FLOAT},
|
{"colorA1", offsetof(TracerDef, colors[1].a), CSPFT_FLOAT },
|
||||||
{"colorR2", offsetof(TracerDef, colors[2].r), CSPFT_FLOAT},
|
{"colorR2", offsetof(TracerDef, colors[2].r), CSPFT_FLOAT },
|
||||||
{"colorG2", offsetof(TracerDef, colors[2].g), CSPFT_FLOAT},
|
{"colorG2", offsetof(TracerDef, colors[2].g), CSPFT_FLOAT },
|
||||||
{"colorB2", offsetof(TracerDef, colors[2].b), CSPFT_FLOAT},
|
{"colorB2", offsetof(TracerDef, colors[2].b), CSPFT_FLOAT },
|
||||||
{"colorA2", offsetof(TracerDef, colors[2].a), CSPFT_FLOAT},
|
{"colorA2", offsetof(TracerDef, colors[2].a), CSPFT_FLOAT },
|
||||||
{"colorR3", offsetof(TracerDef, colors[3].r), CSPFT_FLOAT},
|
{"colorR3", offsetof(TracerDef, colors[3].r), CSPFT_FLOAT },
|
||||||
{"colorG3", offsetof(TracerDef, colors[3].g), CSPFT_FLOAT},
|
{"colorG3", offsetof(TracerDef, colors[3].g), CSPFT_FLOAT },
|
||||||
{"colorB3", offsetof(TracerDef, colors[3].b), CSPFT_FLOAT},
|
{"colorB3", offsetof(TracerDef, colors[3].b), CSPFT_FLOAT },
|
||||||
{"colorA3", offsetof(TracerDef, colors[3].a), CSPFT_FLOAT},
|
{"colorA3", offsetof(TracerDef, colors[3].a), CSPFT_FLOAT },
|
||||||
{"colorR4", offsetof(TracerDef, colors[4].r), CSPFT_FLOAT},
|
{"colorR4", offsetof(TracerDef, colors[4].r), CSPFT_FLOAT },
|
||||||
{"colorG4", offsetof(TracerDef, colors[4].g), CSPFT_FLOAT},
|
{"colorG4", offsetof(TracerDef, colors[4].g), CSPFT_FLOAT },
|
||||||
{"colorB4", offsetof(TracerDef, colors[4].b), CSPFT_FLOAT},
|
{"colorB4", offsetof(TracerDef, colors[4].b), CSPFT_FLOAT },
|
||||||
{"colorA4", offsetof(TracerDef, colors[4].a), CSPFT_FLOAT}
|
{"colorA4", offsetof(TracerDef, colors[4].a), CSPFT_FLOAT },
|
||||||
};
|
};
|
||||||
}
|
}
|
File diff suppressed because it is too large
Load Diff
@ -3,83 +3,82 @@
|
|||||||
|
|
||||||
namespace T6
|
namespace T6
|
||||||
{
|
{
|
||||||
inline cspField_t attachment_fields[]
|
inline cspField_t attachment_fields[]{
|
||||||
{
|
{"displayName", offsetof(WeaponAttachment, szDisplayName), CSPFT_STRING },
|
||||||
{"displayName", offsetof(WeaponAttachment, szDisplayName), CSPFT_STRING},
|
|
||||||
{"attachmentType", offsetof(WeaponAttachment, attachmentType), AFT_ATTACHMENTTYPE},
|
{"attachmentType", offsetof(WeaponAttachment, attachmentType), AFT_ATTACHMENTTYPE},
|
||||||
{"penetrateType", offsetof(WeaponAttachment, penetrateType), AFT_PENETRATE_TYPE},
|
{"penetrateType", offsetof(WeaponAttachment, penetrateType), AFT_PENETRATE_TYPE},
|
||||||
{"firstRaisePriority", offsetof(WeaponAttachment, firstRaisePriority), CSPFT_INT},
|
{"firstRaisePriority", offsetof(WeaponAttachment, firstRaisePriority), CSPFT_INT },
|
||||||
{"hipIdleAmount", offsetof(WeaponAttachment, fHipIdleAmount), CSPFT_FLOAT},
|
{"hipIdleAmount", offsetof(WeaponAttachment, fHipIdleAmount), CSPFT_FLOAT },
|
||||||
{"fireType", offsetof(WeaponAttachment, fireType), AFT_FIRETYPE},
|
{"fireType", offsetof(WeaponAttachment, fireType), AFT_FIRETYPE },
|
||||||
{"damageRangeScale", offsetof(WeaponAttachment, fDamageRangeScale), CSPFT_FLOAT},
|
{"damageRangeScale", offsetof(WeaponAttachment, fDamageRangeScale), CSPFT_FLOAT },
|
||||||
{"adsZoomFov1", offsetof(WeaponAttachment, fAdsZoomFov1), CSPFT_FLOAT},
|
{"adsZoomFov1", offsetof(WeaponAttachment, fAdsZoomFov1), CSPFT_FLOAT },
|
||||||
{"adsZoomFov2", offsetof(WeaponAttachment, fAdsZoomFov2), CSPFT_FLOAT},
|
{"adsZoomFov2", offsetof(WeaponAttachment, fAdsZoomFov2), CSPFT_FLOAT },
|
||||||
{"adsZoomFov3", offsetof(WeaponAttachment, fAdsZoomFov3), CSPFT_FLOAT},
|
{"adsZoomFov3", offsetof(WeaponAttachment, fAdsZoomFov3), CSPFT_FLOAT },
|
||||||
{"adsZoomInFrac", offsetof(WeaponAttachment, fAdsZoomInFrac), CSPFT_FLOAT},
|
{"adsZoomInFrac", offsetof(WeaponAttachment, fAdsZoomInFrac), CSPFT_FLOAT },
|
||||||
{"adsZoomOutFrac", offsetof(WeaponAttachment, fAdsZoomOutFrac), CSPFT_FLOAT},
|
{"adsZoomOutFrac", offsetof(WeaponAttachment, fAdsZoomOutFrac), CSPFT_FLOAT },
|
||||||
{"adsTransInTimeScale", offsetof(WeaponAttachment, fAdsTransInTimeScale), CSPFT_FLOAT},
|
{"adsTransInTimeScale", offsetof(WeaponAttachment, fAdsTransInTimeScale), CSPFT_FLOAT },
|
||||||
{"adsTransOutTimeScale", offsetof(WeaponAttachment, fAdsTransOutTimeScale), CSPFT_FLOAT},
|
{"adsTransOutTimeScale", offsetof(WeaponAttachment, fAdsTransOutTimeScale), CSPFT_FLOAT },
|
||||||
{"adsRecoilReductionRate", offsetof(WeaponAttachment, fAdsRecoilReductionRate), CSPFT_FLOAT},
|
{"adsRecoilReductionRate", offsetof(WeaponAttachment, fAdsRecoilReductionRate), CSPFT_FLOAT },
|
||||||
{"adsRecoilReductionLimit", offsetof(WeaponAttachment, fAdsRecoilReductionLimit), CSPFT_FLOAT},
|
{"adsRecoilReductionLimit", offsetof(WeaponAttachment, fAdsRecoilReductionLimit), CSPFT_FLOAT },
|
||||||
{"adsViewKickCenterSpeedScale", offsetof(WeaponAttachment, fAdsViewKickCenterSpeedScale), CSPFT_FLOAT},
|
{"adsViewKickCenterSpeedScale", offsetof(WeaponAttachment, fAdsViewKickCenterSpeedScale), CSPFT_FLOAT },
|
||||||
{"adsIdleAmountScale", offsetof(WeaponAttachment, fAdsIdleAmountScale), CSPFT_FLOAT},
|
{"adsIdleAmountScale", offsetof(WeaponAttachment, fAdsIdleAmountScale), CSPFT_FLOAT },
|
||||||
{"swayOverride", offsetof(WeaponAttachment, swayOverride), CSPFT_BOOL},
|
{"swayOverride", offsetof(WeaponAttachment, swayOverride), CSPFT_BOOL },
|
||||||
{"swayMaxAngle", offsetof(WeaponAttachment, swayMaxAngle), CSPFT_FLOAT},
|
{"swayMaxAngle", offsetof(WeaponAttachment, swayMaxAngle), CSPFT_FLOAT },
|
||||||
{"swayLerpSpeed", offsetof(WeaponAttachment, swayLerpSpeed), CSPFT_FLOAT},
|
{"swayLerpSpeed", offsetof(WeaponAttachment, swayLerpSpeed), CSPFT_FLOAT },
|
||||||
{"swayPitchScale", offsetof(WeaponAttachment, swayPitchScale), CSPFT_FLOAT},
|
{"swayPitchScale", offsetof(WeaponAttachment, swayPitchScale), CSPFT_FLOAT },
|
||||||
{"swayYawScale", offsetof(WeaponAttachment, swayYawScale), CSPFT_FLOAT},
|
{"swayYawScale", offsetof(WeaponAttachment, swayYawScale), CSPFT_FLOAT },
|
||||||
{"swayHorizScale", offsetof(WeaponAttachment, swayHorizScale), CSPFT_FLOAT},
|
{"swayHorizScale", offsetof(WeaponAttachment, swayHorizScale), CSPFT_FLOAT },
|
||||||
{"swayVertScale", offsetof(WeaponAttachment, swayVertScale), CSPFT_FLOAT},
|
{"swayVertScale", offsetof(WeaponAttachment, swayVertScale), CSPFT_FLOAT },
|
||||||
{"adsSwayOverride", offsetof(WeaponAttachment, adsSwayOverride), CSPFT_BOOL},
|
{"adsSwayOverride", offsetof(WeaponAttachment, adsSwayOverride), CSPFT_BOOL },
|
||||||
{"adsSwayMaxAngle", offsetof(WeaponAttachment, adsSwayMaxAngle), CSPFT_FLOAT},
|
{"adsSwayMaxAngle", offsetof(WeaponAttachment, adsSwayMaxAngle), CSPFT_FLOAT },
|
||||||
{"adsSwayLerpSpeed", offsetof(WeaponAttachment, adsSwayLerpSpeed), CSPFT_FLOAT},
|
{"adsSwayLerpSpeed", offsetof(WeaponAttachment, adsSwayLerpSpeed), CSPFT_FLOAT },
|
||||||
{"adsSwayPitchScale", offsetof(WeaponAttachment, adsSwayPitchScale), CSPFT_FLOAT},
|
{"adsSwayPitchScale", offsetof(WeaponAttachment, adsSwayPitchScale), CSPFT_FLOAT },
|
||||||
{"adsSwayYawScale", offsetof(WeaponAttachment, adsSwayYawScale), CSPFT_FLOAT},
|
{"adsSwayYawScale", offsetof(WeaponAttachment, adsSwayYawScale), CSPFT_FLOAT },
|
||||||
{"adsSwayHorizScale", offsetof(WeaponAttachment, fAdsSwayHorizScale), CSPFT_FLOAT},
|
{"adsSwayHorizScale", offsetof(WeaponAttachment, fAdsSwayHorizScale), CSPFT_FLOAT },
|
||||||
{"adsSwayVertScale", offsetof(WeaponAttachment, fAdsSwayVertScale), CSPFT_FLOAT},
|
{"adsSwayVertScale", offsetof(WeaponAttachment, fAdsSwayVertScale), CSPFT_FLOAT },
|
||||||
{"adsMoveSpeedScale", offsetof(WeaponAttachment, adsMoveSpeedScale), CSPFT_FLOAT},
|
{"adsMoveSpeedScale", offsetof(WeaponAttachment, adsMoveSpeedScale), CSPFT_FLOAT },
|
||||||
{"hipSpreadMinScale", offsetof(WeaponAttachment, fHipSpreadMinScale), CSPFT_FLOAT},
|
{"hipSpreadMinScale", offsetof(WeaponAttachment, fHipSpreadMinScale), CSPFT_FLOAT },
|
||||||
{"hipSpreadMaxScale", offsetof(WeaponAttachment, fHipSpreadMaxScale), CSPFT_FLOAT},
|
{"hipSpreadMaxScale", offsetof(WeaponAttachment, fHipSpreadMaxScale), CSPFT_FLOAT },
|
||||||
{"strafeRotR", offsetof(WeaponAttachment, strafeRotR), CSPFT_FLOAT},
|
{"strafeRotR", offsetof(WeaponAttachment, strafeRotR), CSPFT_FLOAT },
|
||||||
{"standMoveF", offsetof(WeaponAttachment, standMoveF), CSPFT_FLOAT},
|
{"standMoveF", offsetof(WeaponAttachment, standMoveF), CSPFT_FLOAT },
|
||||||
{"standRotP", offsetof(WeaponAttachment, vStandRot.x), CSPFT_FLOAT},
|
{"standRotP", offsetof(WeaponAttachment, vStandRot.x), CSPFT_FLOAT },
|
||||||
{"standRotY", offsetof(WeaponAttachment, vStandRot.y), CSPFT_FLOAT},
|
{"standRotY", offsetof(WeaponAttachment, vStandRot.y), CSPFT_FLOAT },
|
||||||
{"standRotR", offsetof(WeaponAttachment, vStandRot.z), CSPFT_FLOAT},
|
{"standRotR", offsetof(WeaponAttachment, vStandRot.z), CSPFT_FLOAT },
|
||||||
{"fireTimeScale", offsetof(WeaponAttachment, fFireTimeScale), CSPFT_FLOAT},
|
{"fireTimeScale", offsetof(WeaponAttachment, fFireTimeScale), CSPFT_FLOAT },
|
||||||
{"reloadTimeScale", offsetof(WeaponAttachment, fReloadTimeScale), CSPFT_FLOAT},
|
{"reloadTimeScale", offsetof(WeaponAttachment, fReloadTimeScale), CSPFT_FLOAT },
|
||||||
{"reloadEmptyTimeScale", offsetof(WeaponAttachment, fReloadEmptyTimeScale), CSPFT_FLOAT},
|
{"reloadEmptyTimeScale", offsetof(WeaponAttachment, fReloadEmptyTimeScale), CSPFT_FLOAT },
|
||||||
{"reloadAddTimeScale", offsetof(WeaponAttachment, fReloadAddTimeScale), CSPFT_FLOAT},
|
{"reloadAddTimeScale", offsetof(WeaponAttachment, fReloadAddTimeScale), CSPFT_FLOAT },
|
||||||
{"reloadQuickTimeScale", offsetof(WeaponAttachment, fReloadQuickTimeScale), CSPFT_FLOAT},
|
{"reloadQuickTimeScale", offsetof(WeaponAttachment, fReloadQuickTimeScale), CSPFT_FLOAT },
|
||||||
{"reloadQuickEmptyTimeScale", offsetof(WeaponAttachment, fReloadQuickEmptyTimeScale), CSPFT_FLOAT},
|
{"reloadQuickEmptyTimeScale", offsetof(WeaponAttachment, fReloadQuickEmptyTimeScale), CSPFT_FLOAT },
|
||||||
{"reloadQuickAddTimeScale", offsetof(WeaponAttachment, fReloadQuickAddTimeScale), CSPFT_FLOAT},
|
{"reloadQuickAddTimeScale", offsetof(WeaponAttachment, fReloadQuickAddTimeScale), CSPFT_FLOAT },
|
||||||
{"perks1", offsetof(WeaponAttachment, perks[0]), CSPFT_UINT},
|
{"perks1", offsetof(WeaponAttachment, perks[0]), CSPFT_UINT },
|
||||||
{"perks0", offsetof(WeaponAttachment, perks[1]), CSPFT_UINT},
|
{"perks0", offsetof(WeaponAttachment, perks[1]), CSPFT_UINT },
|
||||||
{"altWeaponAdsOnly", offsetof(WeaponAttachment, bAltWeaponAdsOnly), CSPFT_BOOL},
|
{"altWeaponAdsOnly", offsetof(WeaponAttachment, bAltWeaponAdsOnly), CSPFT_BOOL },
|
||||||
{"altWeaponDisableSwitching", offsetof(WeaponAttachment, bAltWeaponDisableSwitching), CSPFT_BOOL},
|
{"altWeaponDisableSwitching", offsetof(WeaponAttachment, bAltWeaponDisableSwitching), CSPFT_BOOL },
|
||||||
{"altScopeADSTransInTime", offsetof(WeaponAttachment, altScopeADSTransInTime), CSPFT_FLOAT},
|
{"altScopeADSTransInTime", offsetof(WeaponAttachment, altScopeADSTransInTime), CSPFT_FLOAT },
|
||||||
{"altScopeADSTransOutTime", offsetof(WeaponAttachment, altScopeADSTransOutTime), CSPFT_FLOAT},
|
{"altScopeADSTransOutTime", offsetof(WeaponAttachment, altScopeADSTransOutTime), CSPFT_FLOAT },
|
||||||
{"silenced", offsetof(WeaponAttachment, bSilenced), CSPFT_BOOL},
|
{"silenced", offsetof(WeaponAttachment, bSilenced), CSPFT_BOOL },
|
||||||
{"dualMag", offsetof(WeaponAttachment, bDualMag), CSPFT_BOOL},
|
{"dualMag", offsetof(WeaponAttachment, bDualMag), CSPFT_BOOL },
|
||||||
{"laserSight", offsetof(WeaponAttachment, laserSight), CSPFT_BOOL},
|
{"laserSight", offsetof(WeaponAttachment, laserSight), CSPFT_BOOL },
|
||||||
{"infrared", offsetof(WeaponAttachment, bInfraRed), CSPFT_BOOL},
|
{"infrared", offsetof(WeaponAttachment, bInfraRed), CSPFT_BOOL },
|
||||||
{"useAsMelee", offsetof(WeaponAttachment, bUseAsMelee), CSPFT_BOOL},
|
{"useAsMelee", offsetof(WeaponAttachment, bUseAsMelee), CSPFT_BOOL },
|
||||||
{"dualWield", offsetof(WeaponAttachment, bDualWield), CSPFT_BOOL},
|
{"dualWield", offsetof(WeaponAttachment, bDualWield), CSPFT_BOOL },
|
||||||
{"sharedAmmo", offsetof(WeaponAttachment, sharedAmmo), CSPFT_BOOL},
|
{"sharedAmmo", offsetof(WeaponAttachment, sharedAmmo), CSPFT_BOOL },
|
||||||
{"mmsWeapon", offsetof(WeaponAttachment, mmsWeapon), CSPFT_BOOL},
|
{"mmsWeapon", offsetof(WeaponAttachment, mmsWeapon), CSPFT_BOOL },
|
||||||
{"mmsInScope", offsetof(WeaponAttachment, mmsInScope), CSPFT_BOOL},
|
{"mmsInScope", offsetof(WeaponAttachment, mmsInScope), CSPFT_BOOL },
|
||||||
{"mmsFOV", offsetof(WeaponAttachment, mmsFOV), CSPFT_FLOAT},
|
{"mmsFOV", offsetof(WeaponAttachment, mmsFOV), CSPFT_FLOAT },
|
||||||
{"mmsAspect", offsetof(WeaponAttachment, mmsAspect), CSPFT_FLOAT},
|
{"mmsAspect", offsetof(WeaponAttachment, mmsAspect), CSPFT_FLOAT },
|
||||||
{"mmsMaxDist", offsetof(WeaponAttachment, mmsMaxDist), CSPFT_FLOAT},
|
{"mmsMaxDist", offsetof(WeaponAttachment, mmsMaxDist), CSPFT_FLOAT },
|
||||||
{"clipSizeScale", offsetof(WeaponAttachment, clipSizeScale), CSPFT_FLOAT},
|
{"clipSizeScale", offsetof(WeaponAttachment, clipSizeScale), CSPFT_FLOAT },
|
||||||
{"clipSize", offsetof(WeaponAttachment, iClipSize), CSPFT_INT},
|
{"clipSize", offsetof(WeaponAttachment, iClipSize), CSPFT_INT },
|
||||||
{"stackFire", offsetof(WeaponAttachment, stackFire), CSPFT_FLOAT},
|
{"stackFire", offsetof(WeaponAttachment, stackFire), CSPFT_FLOAT },
|
||||||
{"stackFireSpread", offsetof(WeaponAttachment, stackFireSpread), CSPFT_FLOAT},
|
{"stackFireSpread", offsetof(WeaponAttachment, stackFireSpread), CSPFT_FLOAT },
|
||||||
{"stackFireAccuracyDecay", offsetof(WeaponAttachment, stackFireAccuracyDecay), CSPFT_FLOAT},
|
{"stackFireAccuracyDecay", offsetof(WeaponAttachment, stackFireAccuracyDecay), CSPFT_FLOAT },
|
||||||
{"customFloat0", offsetof(WeaponAttachment, customFloat0), CSPFT_FLOAT},
|
{"customFloat0", offsetof(WeaponAttachment, customFloat0), CSPFT_FLOAT },
|
||||||
{"customFloat1", offsetof(WeaponAttachment, customFloat1), CSPFT_FLOAT},
|
{"customFloat1", offsetof(WeaponAttachment, customFloat1), CSPFT_FLOAT },
|
||||||
{"customFloat2", offsetof(WeaponAttachment, customFloat2), CSPFT_FLOAT},
|
{"customFloat2", offsetof(WeaponAttachment, customFloat2), CSPFT_FLOAT },
|
||||||
{"customBool0", offsetof(WeaponAttachment, customBool0), CSPFT_BOOL},
|
{"customBool0", offsetof(WeaponAttachment, customBool0), CSPFT_BOOL },
|
||||||
{"customBool1", offsetof(WeaponAttachment, customBool1), CSPFT_BOOL},
|
{"customBool1", offsetof(WeaponAttachment, customBool1), CSPFT_BOOL },
|
||||||
{"customBool2", offsetof(WeaponAttachment, customBool2), CSPFT_BOOL},
|
{"customBool2", offsetof(WeaponAttachment, customBool2), CSPFT_BOOL },
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -3,208 +3,207 @@
|
|||||||
|
|
||||||
namespace T6
|
namespace T6
|
||||||
{
|
{
|
||||||
inline cspField_t attachment_unique_fields[]
|
inline cspField_t attachment_unique_fields[]{
|
||||||
{
|
{"attachmentType", offsetof(WeaponAttachmentUniqueFull, attachment.attachmentType), AUFT_ATTACHMENTTYPE },
|
||||||
{"attachmentType", offsetof(WeaponAttachmentUniqueFull, attachment.attachmentType), AUFT_ATTACHMENTTYPE},
|
{"locNone", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_NONE]), CSPFT_FLOAT },
|
||||||
{"locNone", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_NONE]), CSPFT_FLOAT},
|
{"locHelmet", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_HELMET]), CSPFT_FLOAT },
|
||||||
{"locHelmet", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_HELMET]), CSPFT_FLOAT},
|
{"locHead", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_HEAD]), CSPFT_FLOAT },
|
||||||
{"locHead", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_HEAD]), CSPFT_FLOAT},
|
{"locNeck", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_NECK]), CSPFT_FLOAT },
|
||||||
{"locNeck", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_NECK]), CSPFT_FLOAT},
|
{"locTorsoUpper", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_TORSO_UPR]), CSPFT_FLOAT },
|
||||||
{"locTorsoUpper", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_TORSO_UPR]), CSPFT_FLOAT},
|
{"locTorsoMid", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_TORSO_MID]), CSPFT_FLOAT },
|
||||||
{"locTorsoMid", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_TORSO_MID]), CSPFT_FLOAT},
|
{"locTorsoLower", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_TORSO_LWR]), CSPFT_FLOAT },
|
||||||
{"locTorsoLower", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_TORSO_LWR]), CSPFT_FLOAT},
|
{"locRightArmUpper", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_R_ARM_UPR]), CSPFT_FLOAT },
|
||||||
{"locRightArmUpper", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_R_ARM_UPR]), CSPFT_FLOAT},
|
{"locRightArmLower", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_R_ARM_LWR]), CSPFT_FLOAT },
|
||||||
{"locRightArmLower", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_R_ARM_LWR]), CSPFT_FLOAT},
|
{"locRightHand", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_R_HAND]), CSPFT_FLOAT },
|
||||||
{"locRightHand", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_R_HAND]), CSPFT_FLOAT},
|
{"locLeftArmUpper", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_L_ARM_UPR]), CSPFT_FLOAT },
|
||||||
{"locLeftArmUpper", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_L_ARM_UPR]), CSPFT_FLOAT},
|
{"locLeftArmLower", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_L_ARM_LWR]), CSPFT_FLOAT },
|
||||||
{"locLeftArmLower", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_L_ARM_LWR]), CSPFT_FLOAT},
|
{"locLeftHand", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_L_HAND]), CSPFT_FLOAT },
|
||||||
{"locLeftHand", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_L_HAND]), CSPFT_FLOAT},
|
{"locRightLegUpper", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_R_LEG_UPR]), CSPFT_FLOAT },
|
||||||
{"locRightLegUpper", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_R_LEG_UPR]), CSPFT_FLOAT},
|
{"locRightLegLower", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_R_LEG_LWR]), CSPFT_FLOAT },
|
||||||
{"locRightLegLower", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_R_LEG_LWR]), CSPFT_FLOAT},
|
{"locRightFoot", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_R_FOOT]), CSPFT_FLOAT },
|
||||||
{"locRightFoot", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_R_FOOT]), CSPFT_FLOAT},
|
{"locLeftLegUpper", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_L_LEG_UPR]), CSPFT_FLOAT },
|
||||||
{"locLeftLegUpper", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_L_LEG_UPR]), CSPFT_FLOAT},
|
{"locLeftLegLower", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_L_LEG_LWR]), CSPFT_FLOAT },
|
||||||
{"locLeftLegLower", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_L_LEG_LWR]), CSPFT_FLOAT},
|
{"locLeftFoot", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_L_FOOT]), CSPFT_FLOAT },
|
||||||
{"locLeftFoot", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_L_FOOT]), CSPFT_FLOAT},
|
{"locGun", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_GUN]), CSPFT_FLOAT },
|
||||||
{"locGun", offsetof(WeaponAttachmentUniqueFull, locationDamageMultipliers[HITLOC_GUN]), CSPFT_FLOAT},
|
{"viewModel", offsetof(WeaponAttachmentUniqueFull, attachment.viewModel), CSPFT_XMODEL },
|
||||||
{"viewModel", offsetof(WeaponAttachmentUniqueFull, attachment.viewModel), CSPFT_XMODEL},
|
{"viewModelAdditional", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelAdditional), CSPFT_XMODEL },
|
||||||
{"viewModelAdditional", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelAdditional), CSPFT_XMODEL},
|
{"viewModelADS", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelADS), CSPFT_XMODEL },
|
||||||
{"viewModelADS", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelADS), CSPFT_XMODEL},
|
{"worldModel", offsetof(WeaponAttachmentUniqueFull, attachment.worldModel), CSPFT_XMODEL },
|
||||||
{"worldModel", offsetof(WeaponAttachmentUniqueFull, attachment.worldModel), CSPFT_XMODEL},
|
{"worldModelAdditional", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelAdditional), CSPFT_XMODEL },
|
||||||
{"worldModelAdditional", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelAdditional), CSPFT_XMODEL},
|
{"viewModelTag", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelTag), CSPFT_STRING },
|
||||||
{"viewModelTag", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelTag), CSPFT_STRING},
|
{"worldModelTag", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelTag), CSPFT_STRING },
|
||||||
{"worldModelTag", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelTag), CSPFT_STRING},
|
{"viewModelOffsetX", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelOffsets.x), CSPFT_FLOAT },
|
||||||
{"viewModelOffsetX", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelOffsets.x), CSPFT_FLOAT},
|
{"viewModelOffsetY", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelOffsets.y), CSPFT_FLOAT },
|
||||||
{"viewModelOffsetY", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelOffsets.y), CSPFT_FLOAT},
|
{"viewModelOffsetZ", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelOffsets.z), CSPFT_FLOAT },
|
||||||
{"viewModelOffsetZ", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelOffsets.z), CSPFT_FLOAT},
|
{"viewModelOffsetPitch", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelRotations.x), CSPFT_FLOAT },
|
||||||
{"viewModelOffsetPitch", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelRotations.x), CSPFT_FLOAT},
|
{"viewModelOffsetYaw", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelRotations.y), CSPFT_FLOAT },
|
||||||
{"viewModelOffsetYaw", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelRotations.y), CSPFT_FLOAT},
|
{"viewModelOffsetRoll", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelRotations.z), CSPFT_FLOAT },
|
||||||
{"viewModelOffsetRoll", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelRotations.z), CSPFT_FLOAT},
|
{"worldModelOffsetX", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelOffsets.x), CSPFT_FLOAT },
|
||||||
{"worldModelOffsetX", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelOffsets.x), CSPFT_FLOAT},
|
{"worldModelOffsetY", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelOffsets.y), CSPFT_FLOAT },
|
||||||
{"worldModelOffsetY", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelOffsets.y), CSPFT_FLOAT},
|
{"worldModelOffsetZ", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelOffsets.z), CSPFT_FLOAT },
|
||||||
{"worldModelOffsetZ", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelOffsets.z), CSPFT_FLOAT},
|
{"worldModelOffsetPitch", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelRotations.x), CSPFT_FLOAT },
|
||||||
{"worldModelOffsetPitch", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelRotations.x), CSPFT_FLOAT},
|
{"worldModelOffsetYaw", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelRotations.y), CSPFT_FLOAT },
|
||||||
{"worldModelOffsetYaw", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelRotations.y), CSPFT_FLOAT},
|
{"worldModelOffsetRoll", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelRotations.z), CSPFT_FLOAT },
|
||||||
{"worldModelOffsetRoll", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelRotations.z), CSPFT_FLOAT},
|
{"viewModelAddOffsetX", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelAddOffsets.x), CSPFT_FLOAT },
|
||||||
{"viewModelAddOffsetX", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelAddOffsets.x), CSPFT_FLOAT},
|
{"viewModelAddOffsetY", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelAddOffsets.y), CSPFT_FLOAT },
|
||||||
{"viewModelAddOffsetY", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelAddOffsets.y), CSPFT_FLOAT},
|
{"viewModelAddOffsetZ", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelAddOffsets.z), CSPFT_FLOAT },
|
||||||
{"viewModelAddOffsetZ", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelAddOffsets.z), CSPFT_FLOAT},
|
{"viewModelAddOffsetPitch", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelAddRotations.x), CSPFT_FLOAT },
|
||||||
{"viewModelAddOffsetPitch", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelAddRotations.x), CSPFT_FLOAT},
|
{"viewModelAddOffsetYaw", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelAddRotations.y), CSPFT_FLOAT },
|
||||||
{"viewModelAddOffsetYaw", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelAddRotations.y), CSPFT_FLOAT},
|
{"viewModelAddOffsetRoll", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelAddRotations.z), CSPFT_FLOAT },
|
||||||
{"viewModelAddOffsetRoll", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelAddRotations.z), CSPFT_FLOAT},
|
{"worldModelAddOffsetX", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelAddOffsets.x), CSPFT_FLOAT },
|
||||||
{"worldModelAddOffsetX", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelAddOffsets.x), CSPFT_FLOAT},
|
{"worldModelAddOffsetY", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelAddOffsets.y), CSPFT_FLOAT },
|
||||||
{"worldModelAddOffsetY", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelAddOffsets.y), CSPFT_FLOAT},
|
{"worldModelAddOffsetZ", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelAddOffsets.z), CSPFT_FLOAT },
|
||||||
{"worldModelAddOffsetZ", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelAddOffsets.z), CSPFT_FLOAT},
|
{"worldModelAddOffsetPitch", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelAddRotations.x), CSPFT_FLOAT },
|
||||||
{"worldModelAddOffsetPitch", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelAddRotations.x), CSPFT_FLOAT},
|
{"worldModelAddOffsetYaw", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelAddRotations.y), CSPFT_FLOAT },
|
||||||
{"worldModelAddOffsetYaw", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelAddRotations.y), CSPFT_FLOAT},
|
{"worldModelAddOffsetRoll", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelAddRotations.z), CSPFT_FLOAT },
|
||||||
{"worldModelAddOffsetRoll", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelAddRotations.z), CSPFT_FLOAT},
|
{"hideTags", offsetof(WeaponAttachmentUniqueFull, hideTags), AUFT_HIDETAGS },
|
||||||
{"hideTags", offsetof(WeaponAttachmentUniqueFull, hideTags), AUFT_HIDETAGS},
|
{"camo", offsetof(WeaponAttachmentUniqueFull, attachment.weaponCamo), AUFT_CAMO },
|
||||||
{"camo", offsetof(WeaponAttachmentUniqueFull, attachment.weaponCamo), AUFT_CAMO},
|
{"disableBaseWeaponAttachment", offsetof(WeaponAttachmentUniqueFull, attachment.disableBaseWeaponAttachment), CSPFT_BOOL },
|
||||||
{"disableBaseWeaponAttachment", offsetof(WeaponAttachmentUniqueFull, attachment.disableBaseWeaponAttachment), CSPFT_BOOL},
|
{"disableBaseWeaponClip", offsetof(WeaponAttachmentUniqueFull, attachment.disableBaseWeaponClip), CSPFT_BOOL },
|
||||||
{"disableBaseWeaponClip", offsetof(WeaponAttachmentUniqueFull, attachment.disableBaseWeaponClip), CSPFT_BOOL},
|
{"overrideBaseWeaponAttachmentOffsets", offsetof(WeaponAttachmentUniqueFull, attachment.overrideBaseWeaponAttachmentOffsets), CSPFT_BOOL },
|
||||||
{"overrideBaseWeaponAttachmentOffsets", offsetof(WeaponAttachmentUniqueFull, attachment.overrideBaseWeaponAttachmentOffsets), CSPFT_BOOL},
|
{"viewModelOffsetBaseAttachmentX", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelOffsetBaseAttachment.x), CSPFT_FLOAT },
|
||||||
{"viewModelOffsetBaseAttachmentX", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelOffsetBaseAttachment.x), CSPFT_FLOAT},
|
{"viewModelOffsetBaseAttachmentY", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelOffsetBaseAttachment.y), CSPFT_FLOAT },
|
||||||
{"viewModelOffsetBaseAttachmentY", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelOffsetBaseAttachment.y), CSPFT_FLOAT},
|
{"viewModelOffsetBaseAttachmentZ", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelOffsetBaseAttachment.z), CSPFT_FLOAT },
|
||||||
{"viewModelOffsetBaseAttachmentZ", offsetof(WeaponAttachmentUniqueFull, attachment.viewModelOffsetBaseAttachment.z), CSPFT_FLOAT},
|
{"worldModelOffsetBaseAttachmentX", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelOffsetBaseAttachment.x), CSPFT_FLOAT },
|
||||||
{"worldModelOffsetBaseAttachmentX", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelOffsetBaseAttachment.x), CSPFT_FLOAT},
|
{"worldModelOffsetBaseAttachmentY", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelOffsetBaseAttachment.y), CSPFT_FLOAT },
|
||||||
{"worldModelOffsetBaseAttachmentY", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelOffsetBaseAttachment.y), CSPFT_FLOAT},
|
{"worldModelOffsetBaseAttachmentZ", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelOffsetBaseAttachment.z), CSPFT_FLOAT },
|
||||||
{"worldModelOffsetBaseAttachmentZ", offsetof(WeaponAttachmentUniqueFull, attachment.worldModelOffsetBaseAttachment.z), CSPFT_FLOAT},
|
{"altWeapon", offsetof(WeaponAttachmentUniqueFull, attachment.szAltWeaponName), CSPFT_STRING },
|
||||||
{"altWeapon", offsetof(WeaponAttachmentUniqueFull, attachment.szAltWeaponName), CSPFT_STRING},
|
{"DualWieldWeapon", offsetof(WeaponAttachmentUniqueFull, attachment.szDualWieldWeaponName), CSPFT_STRING },
|
||||||
{"DualWieldWeapon", offsetof(WeaponAttachmentUniqueFull, attachment.szDualWieldWeaponName), CSPFT_STRING},
|
|
||||||
{"adsOverlayShader", offsetof(WeaponAttachmentUniqueFull, attachment.overlayMaterial), CSPFT_MATERIAL_STREAM},
|
{"adsOverlayShader", offsetof(WeaponAttachmentUniqueFull, attachment.overlayMaterial), CSPFT_MATERIAL_STREAM},
|
||||||
{"adsOverlayShaderLowRes", offsetof(WeaponAttachmentUniqueFull, attachment.overlayMaterialLowRes), CSPFT_MATERIAL_STREAM},
|
{"adsOverlayShaderLowRes", offsetof(WeaponAttachmentUniqueFull, attachment.overlayMaterialLowRes), CSPFT_MATERIAL_STREAM},
|
||||||
{"adsOverlayReticle", offsetof(WeaponAttachmentUniqueFull, attachment.overlayReticle), AUFT_OVERLAYRETICLE},
|
{"adsOverlayReticle", offsetof(WeaponAttachmentUniqueFull, attachment.overlayReticle), AUFT_OVERLAYRETICLE },
|
||||||
{"firstRaiseTime", offsetof(WeaponAttachmentUniqueFull, attachment.iFirstRaiseTime), CSPFT_MILLISECONDS},
|
{"firstRaiseTime", offsetof(WeaponAttachmentUniqueFull, attachment.iFirstRaiseTime), CSPFT_MILLISECONDS },
|
||||||
{"altRaiseTime", offsetof(WeaponAttachmentUniqueFull, attachment.iAltRaiseTime), CSPFT_MILLISECONDS},
|
{"altRaiseTime", offsetof(WeaponAttachmentUniqueFull, attachment.iAltRaiseTime), CSPFT_MILLISECONDS },
|
||||||
{"altDropTime", offsetof(WeaponAttachmentUniqueFull, attachment.iAltDropTime), CSPFT_MILLISECONDS},
|
{"altDropTime", offsetof(WeaponAttachmentUniqueFull, attachment.iAltDropTime), CSPFT_MILLISECONDS },
|
||||||
{"reloadAmmoAdd", offsetof(WeaponAttachmentUniqueFull, attachment.iReloadAmmoAdd), CSPFT_INT},
|
{"reloadAmmoAdd", offsetof(WeaponAttachmentUniqueFull, attachment.iReloadAmmoAdd), CSPFT_INT },
|
||||||
{"reloadStartAdd", offsetof(WeaponAttachmentUniqueFull, attachment.iReloadStartAdd), CSPFT_INT},
|
{"reloadStartAdd", offsetof(WeaponAttachmentUniqueFull, attachment.iReloadStartAdd), CSPFT_INT },
|
||||||
{"segmentedReload", offsetof(WeaponAttachmentUniqueFull, attachment.bSegmentedReload), CSPFT_BOOL},
|
{"segmentedReload", offsetof(WeaponAttachmentUniqueFull, attachment.bSegmentedReload), CSPFT_BOOL },
|
||||||
{"idleAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_IDLE]), CSPFT_STRING},
|
{"idleAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_IDLE]), CSPFT_STRING },
|
||||||
{"idleAnimLeft", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_IDLE_LEFT]), CSPFT_STRING},
|
{"idleAnimLeft", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_IDLE_LEFT]), CSPFT_STRING },
|
||||||
{"emptyIdleAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_EMPTY_IDLE]), CSPFT_STRING},
|
{"emptyIdleAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_EMPTY_IDLE]), CSPFT_STRING },
|
||||||
{"emptyIdleAnimLeft", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_EMPTY_IDLE_LEFT]), CSPFT_STRING},
|
{"emptyIdleAnimLeft", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_EMPTY_IDLE_LEFT]), CSPFT_STRING },
|
||||||
{"fireIntroAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_FIRE_INTRO]), CSPFT_STRING},
|
{"fireIntroAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_FIRE_INTRO]), CSPFT_STRING },
|
||||||
{"fireAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_FIRE]), CSPFT_STRING},
|
{"fireAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_FIRE]), CSPFT_STRING },
|
||||||
{"fireAnimLeft", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_FIRE_LEFT]), CSPFT_STRING},
|
{"fireAnimLeft", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_FIRE_LEFT]), CSPFT_STRING },
|
||||||
{"holdFireAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_HOLD_FIRE]), CSPFT_STRING},
|
{"holdFireAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_HOLD_FIRE]), CSPFT_STRING },
|
||||||
{"lastShotAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_LASTSHOT]), CSPFT_STRING},
|
{"lastShotAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_LASTSHOT]), CSPFT_STRING },
|
||||||
{"lastShotAnimLeft", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_LASTSHOT_LEFT]), CSPFT_STRING},
|
{"lastShotAnimLeft", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_LASTSHOT_LEFT]), CSPFT_STRING },
|
||||||
{"flourishAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_FINALSHOT]), CSPFT_STRING},
|
{"flourishAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_FINALSHOT]), CSPFT_STRING },
|
||||||
{"flourishAnimLeft", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_FINALSHOT_LEFT]), CSPFT_STRING},
|
{"flourishAnimLeft", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_FINALSHOT_LEFT]), CSPFT_STRING },
|
||||||
{"detonateAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_DETONATE]), CSPFT_STRING},
|
{"detonateAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_DETONATE]), CSPFT_STRING },
|
||||||
{"rechamberAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RECHAMBER]), CSPFT_STRING},
|
{"rechamberAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RECHAMBER]), CSPFT_STRING },
|
||||||
{"meleeAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_MELEE]), CSPFT_STRING},
|
{"meleeAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_MELEE]), CSPFT_STRING },
|
||||||
{"meleeAnimEmpty", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_MELEE_EMPTY]), CSPFT_STRING},
|
{"meleeAnimEmpty", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_MELEE_EMPTY]), CSPFT_STRING },
|
||||||
{"meleeAnim1", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_MELEE1]), CSPFT_STRING},
|
{"meleeAnim1", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_MELEE1]), CSPFT_STRING },
|
||||||
{"meleeAnim2", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_MELEE2]), CSPFT_STRING},
|
{"meleeAnim2", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_MELEE2]), CSPFT_STRING },
|
||||||
{"meleeAnim3", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_MELEE3]), CSPFT_STRING},
|
{"meleeAnim3", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_MELEE3]), CSPFT_STRING },
|
||||||
{"meleeChargeAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_MELEE_CHARGE]), CSPFT_STRING},
|
{"meleeChargeAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_MELEE_CHARGE]), CSPFT_STRING },
|
||||||
{"meleeChargeAnimEmpty", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_MELEE_CHARGE_EMPTY]), CSPFT_STRING},
|
{"meleeChargeAnimEmpty", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_MELEE_CHARGE_EMPTY]), CSPFT_STRING },
|
||||||
{"reloadAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RELOAD]), CSPFT_STRING},
|
{"reloadAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RELOAD]), CSPFT_STRING },
|
||||||
{"reloadAnimRight", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RELOAD_RIGHT]), CSPFT_STRING},
|
{"reloadAnimRight", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RELOAD_RIGHT]), CSPFT_STRING },
|
||||||
{"reloadAnimLeft", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RELOAD_LEFT]), CSPFT_STRING},
|
{"reloadAnimLeft", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RELOAD_LEFT]), CSPFT_STRING },
|
||||||
{"reloadEmptyAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RELOAD_EMPTY]), CSPFT_STRING},
|
{"reloadEmptyAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RELOAD_EMPTY]), CSPFT_STRING },
|
||||||
{"reloadEmptyAnimLeft", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RELOAD_EMPTY_LEFT]), CSPFT_STRING},
|
{"reloadEmptyAnimLeft", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RELOAD_EMPTY_LEFT]), CSPFT_STRING },
|
||||||
{"reloadStartAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RELOAD_START]), CSPFT_STRING},
|
{"reloadStartAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RELOAD_START]), CSPFT_STRING },
|
||||||
{"reloadEndAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RELOAD_END]), CSPFT_STRING},
|
{"reloadEndAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RELOAD_END]), CSPFT_STRING },
|
||||||
{"reloadQuickAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RELOAD_QUICK]), CSPFT_STRING},
|
{"reloadQuickAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RELOAD_QUICK]), CSPFT_STRING },
|
||||||
{"reloadQuickEmptyAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RELOAD_QUICK_EMPTY]), CSPFT_STRING},
|
{"reloadQuickEmptyAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RELOAD_QUICK_EMPTY]), CSPFT_STRING },
|
||||||
{"raiseAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RAISE]), CSPFT_STRING},
|
{"raiseAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_RAISE]), CSPFT_STRING },
|
||||||
{"dropAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_DROP]), CSPFT_STRING},
|
{"dropAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_DROP]), CSPFT_STRING },
|
||||||
{"firstRaiseAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_FIRST_RAISE]), CSPFT_STRING},
|
{"firstRaiseAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_FIRST_RAISE]), CSPFT_STRING },
|
||||||
{"altRaiseAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_ALT_RAISE]), CSPFT_STRING},
|
{"altRaiseAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_ALT_RAISE]), CSPFT_STRING },
|
||||||
{"altDropAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_ALT_DROP]), CSPFT_STRING},
|
{"altDropAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_ALT_DROP]), CSPFT_STRING },
|
||||||
{"quickRaiseAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_QUICK_RAISE]), CSPFT_STRING},
|
{"quickRaiseAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_QUICK_RAISE]), CSPFT_STRING },
|
||||||
{"quickDropAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_QUICK_DROP]), CSPFT_STRING},
|
{"quickDropAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_QUICK_DROP]), CSPFT_STRING },
|
||||||
{"emptyRaiseAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_EMPTY_RAISE]), CSPFT_STRING},
|
{"emptyRaiseAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_EMPTY_RAISE]), CSPFT_STRING },
|
||||||
{"emptyDropAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_EMPTY_DROP]), CSPFT_STRING},
|
{"emptyDropAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_EMPTY_DROP]), CSPFT_STRING },
|
||||||
{"sprintInAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_SPRINT_IN]), CSPFT_STRING},
|
{"sprintInAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_SPRINT_IN]), CSPFT_STRING },
|
||||||
{"sprintLoopAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_SPRINT_LOOP]), CSPFT_STRING},
|
{"sprintLoopAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_SPRINT_LOOP]), CSPFT_STRING },
|
||||||
{"sprintOutAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_SPRINT_OUT]), CSPFT_STRING},
|
{"sprintOutAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_SPRINT_OUT]), CSPFT_STRING },
|
||||||
{"sprintInEmptyAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_SPRINT_EMPTY_IN]), CSPFT_STRING},
|
{"sprintInEmptyAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_SPRINT_EMPTY_IN]), CSPFT_STRING },
|
||||||
{"sprintLoopEmptyAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_SPRINT_EMPTY_LOOP]), CSPFT_STRING},
|
{"sprintLoopEmptyAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_SPRINT_EMPTY_LOOP]), CSPFT_STRING },
|
||||||
{"sprintOutEmptyAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_SPRINT_EMPTY_OUT]), CSPFT_STRING},
|
{"sprintOutEmptyAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_SPRINT_EMPTY_OUT]), CSPFT_STRING },
|
||||||
{"lowReadyInAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_LOWREADY_IN]), CSPFT_STRING},
|
{"lowReadyInAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_LOWREADY_IN]), CSPFT_STRING },
|
||||||
{"lowReadyLoopAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_LOWREADY_LOOP]), CSPFT_STRING},
|
{"lowReadyLoopAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_LOWREADY_LOOP]), CSPFT_STRING },
|
||||||
{"lowReadyOutAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_LOWREADY_OUT]), CSPFT_STRING},
|
{"lowReadyOutAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_LOWREADY_OUT]), CSPFT_STRING },
|
||||||
{"contFireInAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CONT_FIRE_IN]), CSPFT_STRING},
|
{"contFireInAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CONT_FIRE_IN]), CSPFT_STRING },
|
||||||
{"contFireLoopAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CONT_FIRE_LOOP]), CSPFT_STRING},
|
{"contFireLoopAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CONT_FIRE_LOOP]), CSPFT_STRING },
|
||||||
{"contFireOutAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CONT_FIRE_OUT]), CSPFT_STRING},
|
{"contFireOutAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CONT_FIRE_OUT]), CSPFT_STRING },
|
||||||
{"crawlInAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_IN]), CSPFT_STRING},
|
{"crawlInAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_IN]), CSPFT_STRING },
|
||||||
{"crawlForwardAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_FORWARD]), CSPFT_STRING},
|
{"crawlForwardAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_FORWARD]), CSPFT_STRING },
|
||||||
{"crawlBackAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_BACK]), CSPFT_STRING},
|
{"crawlBackAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_BACK]), CSPFT_STRING },
|
||||||
{"crawlRightAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_RIGHT]), CSPFT_STRING},
|
{"crawlRightAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_RIGHT]), CSPFT_STRING },
|
||||||
{"crawlLeftAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_LEFT]), CSPFT_STRING},
|
{"crawlLeftAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_LEFT]), CSPFT_STRING },
|
||||||
{"crawlOutAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_OUT]), CSPFT_STRING},
|
{"crawlOutAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_OUT]), CSPFT_STRING },
|
||||||
{"crawlEmptyInAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_EMPTY_IN]), CSPFT_STRING},
|
{"crawlEmptyInAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_EMPTY_IN]), CSPFT_STRING },
|
||||||
{"crawlEmptyForwardAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_EMPTY_FORWARD]), CSPFT_STRING},
|
{"crawlEmptyForwardAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_EMPTY_FORWARD]), CSPFT_STRING },
|
||||||
{"crawlEmptyBackAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_EMPTY_BACK]), CSPFT_STRING},
|
{"crawlEmptyBackAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_EMPTY_BACK]), CSPFT_STRING },
|
||||||
{"crawlEmptyRightAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_EMPTY_RIGHT]), CSPFT_STRING},
|
{"crawlEmptyRightAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_EMPTY_RIGHT]), CSPFT_STRING },
|
||||||
{"crawlEmptyLeftAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_EMPTY_LEFT]), CSPFT_STRING},
|
{"crawlEmptyLeftAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_EMPTY_LEFT]), CSPFT_STRING },
|
||||||
{"crawlEmptyOutAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_EMPTY_OUT]), CSPFT_STRING},
|
{"crawlEmptyOutAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CRAWL_EMPTY_OUT]), CSPFT_STRING },
|
||||||
{"deployAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_DEPLOY]), CSPFT_STRING},
|
{"deployAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_DEPLOY]), CSPFT_STRING },
|
||||||
{"breakdownAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_BREAKDOWN]), CSPFT_STRING},
|
{"breakdownAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_BREAKDOWN]), CSPFT_STRING },
|
||||||
{"nightVisionWearAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_NIGHTVISION_WEAR]), CSPFT_STRING},
|
{"nightVisionWearAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_NIGHTVISION_WEAR]), CSPFT_STRING },
|
||||||
{"nightVisionRemoveAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_NIGHTVISION_REMOVE]), CSPFT_STRING},
|
{"nightVisionRemoveAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_NIGHTVISION_REMOVE]), CSPFT_STRING },
|
||||||
{"adsFireAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_ADS_FIRE]), CSPFT_STRING},
|
{"adsFireAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_ADS_FIRE]), CSPFT_STRING },
|
||||||
{"adsLastShotAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_ADS_LASTSHOT]), CSPFT_STRING},
|
{"adsLastShotAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_ADS_LASTSHOT]), CSPFT_STRING },
|
||||||
{"adsRechamberAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_ADS_RECHAMBER]), CSPFT_STRING},
|
{"adsRechamberAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_ADS_RECHAMBER]), CSPFT_STRING },
|
||||||
{"adsUpAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_ADS_UP]), CSPFT_STRING},
|
{"adsUpAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_ADS_UP]), CSPFT_STRING },
|
||||||
{"adsDownAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_ADS_DOWN]), CSPFT_STRING},
|
{"adsDownAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_ADS_DOWN]), CSPFT_STRING },
|
||||||
{"adsUpOtherScopeAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_ADS_UP_OTHER_SCOPE]), CSPFT_STRING},
|
{"adsUpOtherScopeAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_ADS_UP_OTHER_SCOPE]), CSPFT_STRING },
|
||||||
{"adsFireIntroAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_ADS_FIRE_INTRO]), CSPFT_STRING},
|
{"adsFireIntroAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_ADS_FIRE_INTRO]), CSPFT_STRING },
|
||||||
{"dtp_in", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_DTP_IN]), CSPFT_STRING},
|
{"dtp_in", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_DTP_IN]), CSPFT_STRING },
|
||||||
{"dtp_loop", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_DTP_LOOP]), CSPFT_STRING},
|
{"dtp_loop", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_DTP_LOOP]), CSPFT_STRING },
|
||||||
{"dtp_out", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_DTP_OUT]), CSPFT_STRING},
|
{"dtp_out", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_DTP_OUT]), CSPFT_STRING },
|
||||||
{"dtp_empty_in", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_DTP_EMPTY_IN]), CSPFT_STRING},
|
{"dtp_empty_in", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_DTP_EMPTY_IN]), CSPFT_STRING },
|
||||||
{"dtp_empty_loop", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_DTP_EMPTY_LOOP]), CSPFT_STRING},
|
{"dtp_empty_loop", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_DTP_EMPTY_LOOP]), CSPFT_STRING },
|
||||||
{"dtp_empty_out", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_DTP_EMPTY_OUT]), CSPFT_STRING},
|
{"dtp_empty_out", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_DTP_EMPTY_OUT]), CSPFT_STRING },
|
||||||
{"slide_in", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_SLIDE_IN]), CSPFT_STRING},
|
{"slide_in", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_SLIDE_IN]), CSPFT_STRING },
|
||||||
{"mantleAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_MANTLE]), CSPFT_STRING},
|
{"mantleAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_MANTLE]), CSPFT_STRING },
|
||||||
{"sprintCameraAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CAMERA_SPRINT_LOOP]), CSPFT_STRING},
|
{"sprintCameraAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CAMERA_SPRINT_LOOP]), CSPFT_STRING },
|
||||||
{"dtpInCameraAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CAMERA_DTP_IN]), CSPFT_STRING},
|
{"dtpInCameraAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CAMERA_DTP_IN]), CSPFT_STRING },
|
||||||
{"dtpLoopCameraAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CAMERA_DTP_LOOP]), CSPFT_STRING},
|
{"dtpLoopCameraAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CAMERA_DTP_LOOP]), CSPFT_STRING },
|
||||||
{"dtpOutCameraAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CAMERA_DTP_OUT]), CSPFT_STRING},
|
{"dtpOutCameraAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CAMERA_DTP_OUT]), CSPFT_STRING },
|
||||||
{"mantleCameraAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CAMERA_MANTLE]), CSPFT_STRING},
|
{"mantleCameraAnim", offsetof(WeaponAttachmentUniqueFull, szXAnims[WEAP_ANIM_CAMERA_MANTLE]), CSPFT_STRING },
|
||||||
{"fireSound", offsetof(WeaponAttachmentUniqueFull, attachment.fireSound), CSPFT_STRING},
|
{"fireSound", offsetof(WeaponAttachmentUniqueFull, attachment.fireSound), CSPFT_STRING },
|
||||||
{"fireSoundPlayer", offsetof(WeaponAttachmentUniqueFull, attachment.fireSoundPlayer), CSPFT_STRING},
|
{"fireSoundPlayer", offsetof(WeaponAttachmentUniqueFull, attachment.fireSoundPlayer), CSPFT_STRING },
|
||||||
{"loopFireSound", offsetof(WeaponAttachmentUniqueFull, attachment.fireLoopSound), CSPFT_STRING},
|
{"loopFireSound", offsetof(WeaponAttachmentUniqueFull, attachment.fireLoopSound), CSPFT_STRING },
|
||||||
{"loopFireSoundPlayer", offsetof(WeaponAttachmentUniqueFull, attachment.fireLoopSoundPlayer), CSPFT_STRING},
|
{"loopFireSoundPlayer", offsetof(WeaponAttachmentUniqueFull, attachment.fireLoopSoundPlayer), CSPFT_STRING },
|
||||||
{"loopFireEndSound", offsetof(WeaponAttachmentUniqueFull, attachment.fireLoopEndSound), CSPFT_STRING},
|
{"loopFireEndSound", offsetof(WeaponAttachmentUniqueFull, attachment.fireLoopEndSound), CSPFT_STRING },
|
||||||
{"loopFireEndSoundPlayer", offsetof(WeaponAttachmentUniqueFull, attachment.fireLoopEndSoundPlayer), CSPFT_STRING},
|
{"loopFireEndSoundPlayer", offsetof(WeaponAttachmentUniqueFull, attachment.fireLoopEndSoundPlayer), CSPFT_STRING },
|
||||||
{"startFireSound", offsetof(WeaponAttachmentUniqueFull, attachment.fireStartSound), CSPFT_STRING},
|
{"startFireSound", offsetof(WeaponAttachmentUniqueFull, attachment.fireStartSound), CSPFT_STRING },
|
||||||
{"stopFireSound", offsetof(WeaponAttachmentUniqueFull, attachment.fireStopSound), CSPFT_STRING},
|
{"stopFireSound", offsetof(WeaponAttachmentUniqueFull, attachment.fireStopSound), CSPFT_STRING },
|
||||||
{"startFireSoundPlayer", offsetof(WeaponAttachmentUniqueFull, attachment.fireStartSoundPlayer), CSPFT_STRING},
|
{"startFireSoundPlayer", offsetof(WeaponAttachmentUniqueFull, attachment.fireStartSoundPlayer), CSPFT_STRING },
|
||||||
{"stopFireSoundPlayer", offsetof(WeaponAttachmentUniqueFull, attachment.fireStopSoundPlayer), CSPFT_STRING},
|
{"stopFireSoundPlayer", offsetof(WeaponAttachmentUniqueFull, attachment.fireStopSoundPlayer), CSPFT_STRING },
|
||||||
{"lastShotSound", offsetof(WeaponAttachmentUniqueFull, attachment.fireLastSound), CSPFT_STRING},
|
{"lastShotSound", offsetof(WeaponAttachmentUniqueFull, attachment.fireLastSound), CSPFT_STRING },
|
||||||
{"lastShotSoundPlayer", offsetof(WeaponAttachmentUniqueFull, attachment.fireLastSoundPlayer), CSPFT_STRING},
|
{"lastShotSoundPlayer", offsetof(WeaponAttachmentUniqueFull, attachment.fireLastSoundPlayer), CSPFT_STRING },
|
||||||
{"killcamStartFireSound", offsetof(WeaponAttachmentUniqueFull, attachment.fireKillcamSound), CSPFT_STRING},
|
{"killcamStartFireSound", offsetof(WeaponAttachmentUniqueFull, attachment.fireKillcamSound), CSPFT_STRING },
|
||||||
{"killcamStartFireSoundPlayer", offsetof(WeaponAttachmentUniqueFull, attachment.fireKillcamSoundPlayer), CSPFT_STRING},
|
{"killcamStartFireSoundPlayer", offsetof(WeaponAttachmentUniqueFull, attachment.fireKillcamSoundPlayer), CSPFT_STRING },
|
||||||
{"viewFlashEffect", offsetof(WeaponAttachmentUniqueFull, attachment.viewFlashEffect), CSPFT_FX},
|
{"viewFlashEffect", offsetof(WeaponAttachmentUniqueFull, attachment.viewFlashEffect), CSPFT_FX },
|
||||||
{"worldFlashEffect", offsetof(WeaponAttachmentUniqueFull, attachment.worldFlashEffect), CSPFT_FX},
|
{"worldFlashEffect", offsetof(WeaponAttachmentUniqueFull, attachment.worldFlashEffect), CSPFT_FX },
|
||||||
{"tracerType", offsetof(WeaponAttachmentUniqueFull, attachment.tracerType), CSPFT_TRACER},
|
{"tracerType", offsetof(WeaponAttachmentUniqueFull, attachment.tracerType), CSPFT_TRACER },
|
||||||
{"enemyTracerType", offsetof(WeaponAttachmentUniqueFull, attachment.enemyTracerType), CSPFT_TRACER},
|
{"enemyTracerType", offsetof(WeaponAttachmentUniqueFull, attachment.enemyTracerType), CSPFT_TRACER },
|
||||||
{"adsDofStart", offsetof(WeaponAttachmentUniqueFull, attachment.adsDofStart), CSPFT_FLOAT},
|
{"adsDofStart", offsetof(WeaponAttachmentUniqueFull, attachment.adsDofStart), CSPFT_FLOAT },
|
||||||
{"adsDofEnd", offsetof(WeaponAttachmentUniqueFull, attachment.adsDofEnd), CSPFT_FLOAT},
|
{"adsDofEnd", offsetof(WeaponAttachmentUniqueFull, attachment.adsDofEnd), CSPFT_FLOAT },
|
||||||
{"overrideLeftHandIK", offsetof(WeaponAttachmentUniqueFull, attachment.bOverrideLeftHandIK), CSPFT_BOOL},
|
{"overrideLeftHandIK", offsetof(WeaponAttachmentUniqueFull, attachment.bOverrideLeftHandIK), CSPFT_BOOL },
|
||||||
{"overrideLeftHandProneIK", offsetof(WeaponAttachmentUniqueFull, attachment.bOverrideLeftHandProneIK), CSPFT_BOOL},
|
{"overrideLeftHandProneIK", offsetof(WeaponAttachmentUniqueFull, attachment.bOverrideLeftHandProneIK), CSPFT_BOOL },
|
||||||
{"ikLeftHandOffsetF", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandOffset.x), CSPFT_FLOAT},
|
{"ikLeftHandOffsetF", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandOffset.x), CSPFT_FLOAT },
|
||||||
{"ikLeftHandOffsetR", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandOffset.y), CSPFT_FLOAT},
|
{"ikLeftHandOffsetR", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandOffset.y), CSPFT_FLOAT },
|
||||||
{"ikLeftHandOffsetU", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandOffset.z), CSPFT_FLOAT},
|
{"ikLeftHandOffsetU", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandOffset.z), CSPFT_FLOAT },
|
||||||
{"ikLeftHandRotationP", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandRotation.x), CSPFT_FLOAT},
|
{"ikLeftHandRotationP", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandRotation.x), CSPFT_FLOAT },
|
||||||
{"ikLeftHandRotationY", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandRotation.y), CSPFT_FLOAT},
|
{"ikLeftHandRotationY", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandRotation.y), CSPFT_FLOAT },
|
||||||
{"ikLeftHandRotationR", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandRotation.z), CSPFT_FLOAT},
|
{"ikLeftHandRotationR", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandRotation.z), CSPFT_FLOAT },
|
||||||
{"ikLeftHandProneOffsetF", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandProneOffset.x), CSPFT_FLOAT},
|
{"ikLeftHandProneOffsetF", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandProneOffset.x), CSPFT_FLOAT },
|
||||||
{"ikLeftHandProneOffsetR", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandProneOffset.y), CSPFT_FLOAT},
|
{"ikLeftHandProneOffsetR", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandProneOffset.y), CSPFT_FLOAT },
|
||||||
{"ikLeftHandProneOffsetU", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandProneOffset.z), CSPFT_FLOAT},
|
{"ikLeftHandProneOffsetU", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandProneOffset.z), CSPFT_FLOAT },
|
||||||
{"ikLeftHandProneRotationP", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandProneRotation.x), CSPFT_FLOAT},
|
{"ikLeftHandProneRotationP", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandProneRotation.x), CSPFT_FLOAT },
|
||||||
{"ikLeftHandProneRotationY", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandProneRotation.y), CSPFT_FLOAT},
|
{"ikLeftHandProneRotationY", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandProneRotation.y), CSPFT_FLOAT },
|
||||||
{"ikLeftHandProneRotationR", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandProneRotation.z), CSPFT_FLOAT},
|
{"ikLeftHandProneRotationR", offsetof(WeaponAttachmentUniqueFull, attachment.ikLeftHandProneRotation.z), CSPFT_FLOAT },
|
||||||
{"customFloat0", offsetof(WeaponAttachmentUniqueFull, attachment.customFloat0), CSPFT_FLOAT},
|
{"customFloat0", offsetof(WeaponAttachmentUniqueFull, attachment.customFloat0), CSPFT_FLOAT },
|
||||||
{"customFloat1", offsetof(WeaponAttachmentUniqueFull, attachment.customFloat1), CSPFT_FLOAT},
|
{"customFloat1", offsetof(WeaponAttachmentUniqueFull, attachment.customFloat1), CSPFT_FLOAT },
|
||||||
{"customFloat2", offsetof(WeaponAttachmentUniqueFull, attachment.customFloat2), CSPFT_FLOAT},
|
{"customFloat2", offsetof(WeaponAttachmentUniqueFull, attachment.customFloat2), CSPFT_FLOAT },
|
||||||
{"customBool0", offsetof(WeaponAttachmentUniqueFull, attachment.customBool0), CSPFT_BOOL},
|
{"customBool0", offsetof(WeaponAttachmentUniqueFull, attachment.customBool0), CSPFT_BOOL },
|
||||||
{"customBool1", offsetof(WeaponAttachmentUniqueFull, attachment.customBool1), CSPFT_BOOL},
|
{"customBool1", offsetof(WeaponAttachmentUniqueFull, attachment.customBool1), CSPFT_BOOL },
|
||||||
{"customBool2", offsetof(WeaponAttachmentUniqueFull, attachment.customBool2), CSPFT_BOOL}
|
{"customBool2", offsetof(WeaponAttachmentUniqueFull, attachment.customBool2), CSPFT_BOOL },
|
||||||
};
|
};
|
||||||
}
|
}
|
File diff suppressed because it is too large
Load Diff
@ -3,152 +3,151 @@
|
|||||||
|
|
||||||
namespace T6
|
namespace T6
|
||||||
{
|
{
|
||||||
inline cspField_t zbarrier_fields[]
|
inline cspField_t zbarrier_fields[]{
|
||||||
{
|
{"delayBetweenGeneralRepSounds", offsetof(ZBarrierDef, delayBetweenRepSoundsDuration), CSPFT_FLOAT },
|
||||||
{"delayBetweenGeneralRepSounds", offsetof(ZBarrierDef, delayBetweenRepSoundsDuration), CSPFT_FLOAT},
|
{"earthquakeMaxDuration", offsetof(ZBarrierDef, earthquakeMaxDuration), CSPFT_FLOAT },
|
||||||
{"earthquakeMaxDuration", offsetof(ZBarrierDef, earthquakeMaxDuration), CSPFT_FLOAT},
|
{"earthquakeMaxScale", offsetof(ZBarrierDef, earthquakeMaxScale), CSPFT_FLOAT },
|
||||||
{"earthquakeMaxScale", offsetof(ZBarrierDef, earthquakeMaxScale), CSPFT_FLOAT},
|
{"earthquakeMinDuration", offsetof(ZBarrierDef, earthquakeMinDuration), CSPFT_FLOAT },
|
||||||
{"earthquakeMinDuration", offsetof(ZBarrierDef, earthquakeMinDuration), CSPFT_FLOAT},
|
{"earthquakeMinScale", offsetof(ZBarrierDef, earthquakeMinScale), CSPFT_FLOAT },
|
||||||
{"earthquakeMinScale", offsetof(ZBarrierDef, earthquakeMinScale), CSPFT_FLOAT},
|
{"earthquakeOnRepair", offsetof(ZBarrierDef, earthquakeOnRepair), CSPFT_UINT },
|
||||||
{"earthquakeOnRepair", offsetof(ZBarrierDef, earthquakeOnRepair), CSPFT_UINT},
|
{"earthquakeRadius", offsetof(ZBarrierDef, earthquakeRadius), CSPFT_FLOAT },
|
||||||
{"earthquakeRadius", offsetof(ZBarrierDef, earthquakeRadius), CSPFT_FLOAT},
|
|
||||||
{"generalRepairSound0", offsetof(ZBarrierDef, generalRepairSound1), CSPFT_SOUND_ALIAS_ID},
|
{"generalRepairSound0", offsetof(ZBarrierDef, generalRepairSound1), CSPFT_SOUND_ALIAS_ID},
|
||||||
{"generalRepairSound1", offsetof(ZBarrierDef, generalRepairSound2), CSPFT_SOUND_ALIAS_ID},
|
{"generalRepairSound1", offsetof(ZBarrierDef, generalRepairSound2), CSPFT_SOUND_ALIAS_ID},
|
||||||
{"upgradedGeneralRepairSound0", offsetof(ZBarrierDef, upgradedGeneralRepairSound1), CSPFT_SOUND_ALIAS_ID},
|
{"upgradedGeneralRepairSound0", offsetof(ZBarrierDef, upgradedGeneralRepairSound1), CSPFT_SOUND_ALIAS_ID},
|
||||||
{"upgradedGeneralRepairSound1", offsetof(ZBarrierDef, upgradedGeneralRepairSound2), CSPFT_SOUND_ALIAS_ID},
|
{"upgradedGeneralRepairSound1", offsetof(ZBarrierDef, upgradedGeneralRepairSound2), CSPFT_SOUND_ALIAS_ID},
|
||||||
{"useDelayBetweenGeneralRepSounds", offsetof(ZBarrierDef, delayBetweenRepSounds), CSPFT_UINT},
|
{"useDelayBetweenGeneralRepSounds", offsetof(ZBarrierDef, delayBetweenRepSounds), CSPFT_UINT },
|
||||||
{"taunts", offsetof(ZBarrierDef, taunts), CSPFT_UINT},
|
{"taunts", offsetof(ZBarrierDef, taunts), CSPFT_UINT },
|
||||||
{"reachThroughAttacks", offsetof(ZBarrierDef, reachThroughAttacks), CSPFT_UINT},
|
{"reachThroughAttacks", offsetof(ZBarrierDef, reachThroughAttacks), CSPFT_UINT },
|
||||||
{"zombieTauntAnimState", offsetof(ZBarrierDef, zombieTauntAnimState), CSPFT_SCRIPT_STRING},
|
{"zombieTauntAnimState", offsetof(ZBarrierDef, zombieTauntAnimState), CSPFT_SCRIPT_STRING },
|
||||||
{"zombieReachThroughAnimState", offsetof(ZBarrierDef, zombieReachThroughAnimState), CSPFT_SCRIPT_STRING},
|
{"zombieReachThroughAnimState", offsetof(ZBarrierDef, zombieReachThroughAnimState), CSPFT_SCRIPT_STRING },
|
||||||
{"numAttackSlots", offsetof(ZBarrierDef, numAttackSlots), CSPFT_UINT},
|
{"numAttackSlots", offsetof(ZBarrierDef, numAttackSlots), CSPFT_UINT },
|
||||||
{"attackSpotHorzOffset", offsetof(ZBarrierDef, attackSpotHorzOffset), CSPFT_FLOAT},
|
{"attackSpotHorzOffset", offsetof(ZBarrierDef, attackSpotHorzOffset), CSPFT_FLOAT },
|
||||||
{"autoHideOpenPieces", offsetof(ZBarrierDef, autoHideOpenPieces), CSPFT_UINT},
|
{"autoHideOpenPieces", offsetof(ZBarrierDef, autoHideOpenPieces), CSPFT_UINT },
|
||||||
{"alternateBoardModel1", offsetof(ZBarrierDef, boards[0].pAlternateBoardModel), CSPFT_XMODEL},
|
{"alternateBoardModel1", offsetof(ZBarrierDef, boards[0].pAlternateBoardModel), CSPFT_XMODEL },
|
||||||
{"boardAnim1", offsetof(ZBarrierDef, boards[0].pBoardAnim), CSPFT_STRING},
|
{"boardAnim1", offsetof(ZBarrierDef, boards[0].pBoardAnim), CSPFT_STRING },
|
||||||
{"boardModel1", offsetof(ZBarrierDef, boards[0].pBoardModel), CSPFT_XMODEL},
|
{"boardModel1", offsetof(ZBarrierDef, boards[0].pBoardModel), CSPFT_XMODEL },
|
||||||
{"boardRepairSound1", offsetof(ZBarrierDef, boards[0].boardRepairSound), CSPFT_SOUND_ALIAS_ID},
|
{"boardRepairSound1", offsetof(ZBarrierDef, boards[0].boardRepairSound), CSPFT_SOUND_ALIAS_ID},
|
||||||
{"boardRepairHoverSound1", offsetof(ZBarrierDef, boards[0].boardRepairHoverSound), CSPFT_SOUND_ALIAS_ID},
|
{"boardRepairHoverSound1", offsetof(ZBarrierDef, boards[0].boardRepairHoverSound), CSPFT_SOUND_ALIAS_ID},
|
||||||
{"OffsetRepairFxX10", offsetof(ZBarrierDef, boards[0].repairEffect1Offset.x), CSPFT_FLOAT},
|
{"OffsetRepairFxX10", offsetof(ZBarrierDef, boards[0].repairEffect1Offset.x), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxX11", offsetof(ZBarrierDef, boards[0].repairEffect2Offset.x), CSPFT_FLOAT},
|
{"OffsetRepairFxX11", offsetof(ZBarrierDef, boards[0].repairEffect2Offset.x), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxY10", offsetof(ZBarrierDef, boards[0].repairEffect1Offset.y), CSPFT_FLOAT},
|
{"OffsetRepairFxY10", offsetof(ZBarrierDef, boards[0].repairEffect1Offset.y), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxY11", offsetof(ZBarrierDef, boards[0].repairEffect2Offset.y), CSPFT_FLOAT},
|
{"OffsetRepairFxY11", offsetof(ZBarrierDef, boards[0].repairEffect2Offset.y), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxZ10", offsetof(ZBarrierDef, boards[0].repairEffect1Offset.z), CSPFT_FLOAT},
|
{"OffsetRepairFxZ10", offsetof(ZBarrierDef, boards[0].repairEffect1Offset.z), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxZ11", offsetof(ZBarrierDef, boards[0].repairEffect2Offset.z), CSPFT_FLOAT},
|
{"OffsetRepairFxZ11", offsetof(ZBarrierDef, boards[0].repairEffect2Offset.z), CSPFT_FLOAT },
|
||||||
{"pauseAndRepeatBoardRepairSound1", offsetof(ZBarrierDef, boards[0].pauseAndRepeatRepSound), CSPFT_UINT},
|
{"pauseAndRepeatBoardRepairSound1", offsetof(ZBarrierDef, boards[0].pauseAndRepeatRepSound), CSPFT_UINT },
|
||||||
{"pauseBetweenRepSoundsMax1", offsetof(ZBarrierDef, boards[0].maxPause), CSPFT_FLOAT},
|
{"pauseBetweenRepSoundsMax1", offsetof(ZBarrierDef, boards[0].maxPause), CSPFT_FLOAT },
|
||||||
{"pauseBetweenRepSoundsMin1", offsetof(ZBarrierDef, boards[0].minPause), CSPFT_FLOAT},
|
{"pauseBetweenRepSoundsMin1", offsetof(ZBarrierDef, boards[0].minPause), CSPFT_FLOAT },
|
||||||
{"proBoardNumRepsToTear1", offsetof(ZBarrierDef, boards[0].numRepsToPullProBoard), CSPFT_UINT},
|
{"proBoardNumRepsToTear1", offsetof(ZBarrierDef, boards[0].numRepsToPullProBoard), CSPFT_UINT },
|
||||||
{"repairFx10", offsetof(ZBarrierDef, boards[0].repairEffect1), CSPFT_FX},
|
{"repairFx10", offsetof(ZBarrierDef, boards[0].repairEffect1), CSPFT_FX },
|
||||||
{"repairFx11", offsetof(ZBarrierDef, boards[0].repairEffect2), CSPFT_FX},
|
{"repairFx11", offsetof(ZBarrierDef, boards[0].repairEffect2), CSPFT_FX },
|
||||||
{"tearAnim1", offsetof(ZBarrierDef, boards[0].pTearAnim), CSPFT_STRING},
|
{"tearAnim1", offsetof(ZBarrierDef, boards[0].pTearAnim), CSPFT_STRING },
|
||||||
{"upgradedBoardModel1", offsetof(ZBarrierDef, boards[0].pUpgradedBoardModel), CSPFT_XMODEL},
|
{"upgradedBoardModel1", offsetof(ZBarrierDef, boards[0].pUpgradedBoardModel), CSPFT_XMODEL },
|
||||||
{"zombieBoardTearAnimState1", offsetof(ZBarrierDef, boards[0].zombieBoardTearStateName), CSPFT_SCRIPT_STRING},
|
{"zombieBoardTearAnimState1", offsetof(ZBarrierDef, boards[0].zombieBoardTearStateName), CSPFT_SCRIPT_STRING },
|
||||||
{"zombieBoardTearAnimSubState1", offsetof(ZBarrierDef, boards[0].zombieBoardTearSubStateName), CSPFT_SCRIPT_STRING},
|
{"zombieBoardTearAnimSubState1", offsetof(ZBarrierDef, boards[0].zombieBoardTearSubStateName), CSPFT_SCRIPT_STRING },
|
||||||
{"alternateBoardModel2", offsetof(ZBarrierDef, boards[1].pAlternateBoardModel), CSPFT_XMODEL},
|
{"alternateBoardModel2", offsetof(ZBarrierDef, boards[1].pAlternateBoardModel), CSPFT_XMODEL },
|
||||||
{"boardAnim2", offsetof(ZBarrierDef, boards[1].pBoardAnim), CSPFT_STRING},
|
{"boardAnim2", offsetof(ZBarrierDef, boards[1].pBoardAnim), CSPFT_STRING },
|
||||||
{"boardModel2", offsetof(ZBarrierDef, boards[1].pBoardModel), CSPFT_XMODEL},
|
{"boardModel2", offsetof(ZBarrierDef, boards[1].pBoardModel), CSPFT_XMODEL },
|
||||||
{"boardRepairSound2", offsetof(ZBarrierDef, boards[1].boardRepairSound), CSPFT_SOUND_ALIAS_ID},
|
{"boardRepairSound2", offsetof(ZBarrierDef, boards[1].boardRepairSound), CSPFT_SOUND_ALIAS_ID},
|
||||||
{"boardRepairHoverSound2", offsetof(ZBarrierDef, boards[1].boardRepairHoverSound), CSPFT_SOUND_ALIAS_ID},
|
{"boardRepairHoverSound2", offsetof(ZBarrierDef, boards[1].boardRepairHoverSound), CSPFT_SOUND_ALIAS_ID},
|
||||||
{"OffsetRepairFxX20", offsetof(ZBarrierDef, boards[1].repairEffect1Offset.x), CSPFT_FLOAT},
|
{"OffsetRepairFxX20", offsetof(ZBarrierDef, boards[1].repairEffect1Offset.x), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxX21", offsetof(ZBarrierDef, boards[1].repairEffect2Offset.x), CSPFT_FLOAT},
|
{"OffsetRepairFxX21", offsetof(ZBarrierDef, boards[1].repairEffect2Offset.x), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxY20", offsetof(ZBarrierDef, boards[1].repairEffect1Offset.y), CSPFT_FLOAT},
|
{"OffsetRepairFxY20", offsetof(ZBarrierDef, boards[1].repairEffect1Offset.y), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxY21", offsetof(ZBarrierDef, boards[1].repairEffect2Offset.y), CSPFT_FLOAT},
|
{"OffsetRepairFxY21", offsetof(ZBarrierDef, boards[1].repairEffect2Offset.y), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxZ20", offsetof(ZBarrierDef, boards[1].repairEffect1Offset.z), CSPFT_FLOAT},
|
{"OffsetRepairFxZ20", offsetof(ZBarrierDef, boards[1].repairEffect1Offset.z), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxZ21", offsetof(ZBarrierDef, boards[1].repairEffect2Offset.z), CSPFT_FLOAT},
|
{"OffsetRepairFxZ21", offsetof(ZBarrierDef, boards[1].repairEffect2Offset.z), CSPFT_FLOAT },
|
||||||
{"pauseAndRepeatBoardRepairSound2", offsetof(ZBarrierDef, boards[1].pauseAndRepeatRepSound), CSPFT_UINT},
|
{"pauseAndRepeatBoardRepairSound2", offsetof(ZBarrierDef, boards[1].pauseAndRepeatRepSound), CSPFT_UINT },
|
||||||
{"pauseBetweenRepSoundsMax2", offsetof(ZBarrierDef, boards[1].maxPause), CSPFT_FLOAT},
|
{"pauseBetweenRepSoundsMax2", offsetof(ZBarrierDef, boards[1].maxPause), CSPFT_FLOAT },
|
||||||
{"pauseBetweenRepSoundsMin2", offsetof(ZBarrierDef, boards[1].minPause), CSPFT_FLOAT},
|
{"pauseBetweenRepSoundsMin2", offsetof(ZBarrierDef, boards[1].minPause), CSPFT_FLOAT },
|
||||||
{"proBoardNumRepsToTear2", offsetof(ZBarrierDef, boards[1].numRepsToPullProBoard), CSPFT_UINT},
|
{"proBoardNumRepsToTear2", offsetof(ZBarrierDef, boards[1].numRepsToPullProBoard), CSPFT_UINT },
|
||||||
{"repairFx20", offsetof(ZBarrierDef, boards[1].repairEffect1), CSPFT_FX},
|
{"repairFx20", offsetof(ZBarrierDef, boards[1].repairEffect1), CSPFT_FX },
|
||||||
{"repairFx21", offsetof(ZBarrierDef, boards[1].repairEffect2), CSPFT_FX},
|
{"repairFx21", offsetof(ZBarrierDef, boards[1].repairEffect2), CSPFT_FX },
|
||||||
{"tearAnim2", offsetof(ZBarrierDef, boards[1].pTearAnim), CSPFT_STRING},
|
{"tearAnim2", offsetof(ZBarrierDef, boards[1].pTearAnim), CSPFT_STRING },
|
||||||
{"upgradedBoardModel2", offsetof(ZBarrierDef, boards[1].pUpgradedBoardModel), CSPFT_XMODEL},
|
{"upgradedBoardModel2", offsetof(ZBarrierDef, boards[1].pUpgradedBoardModel), CSPFT_XMODEL },
|
||||||
{"zombieBoardTearAnimState2", offsetof(ZBarrierDef, boards[1].zombieBoardTearStateName), CSPFT_SCRIPT_STRING},
|
{"zombieBoardTearAnimState2", offsetof(ZBarrierDef, boards[1].zombieBoardTearStateName), CSPFT_SCRIPT_STRING },
|
||||||
{"zombieBoardTearAnimSubState2", offsetof(ZBarrierDef, boards[1].zombieBoardTearSubStateName), CSPFT_SCRIPT_STRING},
|
{"zombieBoardTearAnimSubState2", offsetof(ZBarrierDef, boards[1].zombieBoardTearSubStateName), CSPFT_SCRIPT_STRING },
|
||||||
{"alternateBoardModel3", offsetof(ZBarrierDef, boards[2].pAlternateBoardModel), CSPFT_XMODEL},
|
{"alternateBoardModel3", offsetof(ZBarrierDef, boards[2].pAlternateBoardModel), CSPFT_XMODEL },
|
||||||
{"boardAnim3", offsetof(ZBarrierDef, boards[2].pBoardAnim), CSPFT_STRING},
|
{"boardAnim3", offsetof(ZBarrierDef, boards[2].pBoardAnim), CSPFT_STRING },
|
||||||
{"boardModel3", offsetof(ZBarrierDef, boards[2].pBoardModel), CSPFT_XMODEL},
|
{"boardModel3", offsetof(ZBarrierDef, boards[2].pBoardModel), CSPFT_XMODEL },
|
||||||
{"boardRepairSound3", offsetof(ZBarrierDef, boards[2].boardRepairSound), CSPFT_SOUND_ALIAS_ID},
|
{"boardRepairSound3", offsetof(ZBarrierDef, boards[2].boardRepairSound), CSPFT_SOUND_ALIAS_ID},
|
||||||
{"boardRepairHoverSound3", offsetof(ZBarrierDef, boards[2].boardRepairHoverSound), CSPFT_SOUND_ALIAS_ID},
|
{"boardRepairHoverSound3", offsetof(ZBarrierDef, boards[2].boardRepairHoverSound), CSPFT_SOUND_ALIAS_ID},
|
||||||
{"OffsetRepairFxX30", offsetof(ZBarrierDef, boards[2].repairEffect1Offset.x), CSPFT_FLOAT},
|
{"OffsetRepairFxX30", offsetof(ZBarrierDef, boards[2].repairEffect1Offset.x), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxX31", offsetof(ZBarrierDef, boards[2].repairEffect2Offset.x), CSPFT_FLOAT},
|
{"OffsetRepairFxX31", offsetof(ZBarrierDef, boards[2].repairEffect2Offset.x), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxY30", offsetof(ZBarrierDef, boards[2].repairEffect1Offset.y), CSPFT_FLOAT},
|
{"OffsetRepairFxY30", offsetof(ZBarrierDef, boards[2].repairEffect1Offset.y), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxY31", offsetof(ZBarrierDef, boards[2].repairEffect2Offset.y), CSPFT_FLOAT},
|
{"OffsetRepairFxY31", offsetof(ZBarrierDef, boards[2].repairEffect2Offset.y), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxZ30", offsetof(ZBarrierDef, boards[2].repairEffect1Offset.z), CSPFT_FLOAT},
|
{"OffsetRepairFxZ30", offsetof(ZBarrierDef, boards[2].repairEffect1Offset.z), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxZ31", offsetof(ZBarrierDef, boards[2].repairEffect2Offset.z), CSPFT_FLOAT},
|
{"OffsetRepairFxZ31", offsetof(ZBarrierDef, boards[2].repairEffect2Offset.z), CSPFT_FLOAT },
|
||||||
{"pauseAndRepeatBoardRepairSound3", offsetof(ZBarrierDef, boards[2].pauseAndRepeatRepSound), CSPFT_UINT},
|
{"pauseAndRepeatBoardRepairSound3", offsetof(ZBarrierDef, boards[2].pauseAndRepeatRepSound), CSPFT_UINT },
|
||||||
{"pauseBetweenRepSoundsMax3", offsetof(ZBarrierDef, boards[2].maxPause), CSPFT_FLOAT},
|
{"pauseBetweenRepSoundsMax3", offsetof(ZBarrierDef, boards[2].maxPause), CSPFT_FLOAT },
|
||||||
{"pauseBetweenRepSoundsMin3", offsetof(ZBarrierDef, boards[2].minPause), CSPFT_FLOAT},
|
{"pauseBetweenRepSoundsMin3", offsetof(ZBarrierDef, boards[2].minPause), CSPFT_FLOAT },
|
||||||
{"proBoardNumRepsToTear3", offsetof(ZBarrierDef, boards[2].numRepsToPullProBoard), CSPFT_UINT},
|
{"proBoardNumRepsToTear3", offsetof(ZBarrierDef, boards[2].numRepsToPullProBoard), CSPFT_UINT },
|
||||||
{"repairFx30", offsetof(ZBarrierDef, boards[2].repairEffect1), CSPFT_FX},
|
{"repairFx30", offsetof(ZBarrierDef, boards[2].repairEffect1), CSPFT_FX },
|
||||||
{"repairFx31", offsetof(ZBarrierDef, boards[2].repairEffect2), CSPFT_FX},
|
{"repairFx31", offsetof(ZBarrierDef, boards[2].repairEffect2), CSPFT_FX },
|
||||||
{"tearAnim3", offsetof(ZBarrierDef, boards[2].pTearAnim), CSPFT_STRING},
|
{"tearAnim3", offsetof(ZBarrierDef, boards[2].pTearAnim), CSPFT_STRING },
|
||||||
{"upgradedBoardModel3", offsetof(ZBarrierDef, boards[2].pUpgradedBoardModel), CSPFT_XMODEL},
|
{"upgradedBoardModel3", offsetof(ZBarrierDef, boards[2].pUpgradedBoardModel), CSPFT_XMODEL },
|
||||||
{"zombieBoardTearAnimState3", offsetof(ZBarrierDef, boards[2].zombieBoardTearStateName), CSPFT_SCRIPT_STRING},
|
{"zombieBoardTearAnimState3", offsetof(ZBarrierDef, boards[2].zombieBoardTearStateName), CSPFT_SCRIPT_STRING },
|
||||||
{"zombieBoardTearAnimSubState3", offsetof(ZBarrierDef, boards[2].zombieBoardTearSubStateName), CSPFT_SCRIPT_STRING},
|
{"zombieBoardTearAnimSubState3", offsetof(ZBarrierDef, boards[2].zombieBoardTearSubStateName), CSPFT_SCRIPT_STRING },
|
||||||
{"alternateBoardModel4", offsetof(ZBarrierDef, boards[3].pAlternateBoardModel), CSPFT_XMODEL},
|
{"alternateBoardModel4", offsetof(ZBarrierDef, boards[3].pAlternateBoardModel), CSPFT_XMODEL },
|
||||||
{"boardAnim4", offsetof(ZBarrierDef, boards[3].pBoardAnim), CSPFT_STRING},
|
{"boardAnim4", offsetof(ZBarrierDef, boards[3].pBoardAnim), CSPFT_STRING },
|
||||||
{"boardModel4", offsetof(ZBarrierDef, boards[3].pBoardModel), CSPFT_XMODEL},
|
{"boardModel4", offsetof(ZBarrierDef, boards[3].pBoardModel), CSPFT_XMODEL },
|
||||||
{"boardRepairSound4", offsetof(ZBarrierDef, boards[3].boardRepairSound), CSPFT_SOUND_ALIAS_ID},
|
{"boardRepairSound4", offsetof(ZBarrierDef, boards[3].boardRepairSound), CSPFT_SOUND_ALIAS_ID},
|
||||||
{"boardRepairHoverSound4", offsetof(ZBarrierDef, boards[3].boardRepairHoverSound), CSPFT_SOUND_ALIAS_ID},
|
{"boardRepairHoverSound4", offsetof(ZBarrierDef, boards[3].boardRepairHoverSound), CSPFT_SOUND_ALIAS_ID},
|
||||||
{"OffsetRepairFxX40", offsetof(ZBarrierDef, boards[3].repairEffect1Offset.x), CSPFT_FLOAT},
|
{"OffsetRepairFxX40", offsetof(ZBarrierDef, boards[3].repairEffect1Offset.x), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxX41", offsetof(ZBarrierDef, boards[3].repairEffect2Offset.x), CSPFT_FLOAT},
|
{"OffsetRepairFxX41", offsetof(ZBarrierDef, boards[3].repairEffect2Offset.x), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxY40", offsetof(ZBarrierDef, boards[3].repairEffect1Offset.y), CSPFT_FLOAT},
|
{"OffsetRepairFxY40", offsetof(ZBarrierDef, boards[3].repairEffect1Offset.y), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxY41", offsetof(ZBarrierDef, boards[3].repairEffect2Offset.y), CSPFT_FLOAT},
|
{"OffsetRepairFxY41", offsetof(ZBarrierDef, boards[3].repairEffect2Offset.y), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxZ40", offsetof(ZBarrierDef, boards[3].repairEffect1Offset.z), CSPFT_FLOAT},
|
{"OffsetRepairFxZ40", offsetof(ZBarrierDef, boards[3].repairEffect1Offset.z), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxZ41", offsetof(ZBarrierDef, boards[3].repairEffect2Offset.z), CSPFT_FLOAT},
|
{"OffsetRepairFxZ41", offsetof(ZBarrierDef, boards[3].repairEffect2Offset.z), CSPFT_FLOAT },
|
||||||
{"pauseAndRepeatBoardRepairSound4", offsetof(ZBarrierDef, boards[3].pauseAndRepeatRepSound), CSPFT_UINT},
|
{"pauseAndRepeatBoardRepairSound4", offsetof(ZBarrierDef, boards[3].pauseAndRepeatRepSound), CSPFT_UINT },
|
||||||
{"pauseBetweenRepSoundsMax4", offsetof(ZBarrierDef, boards[3].maxPause), CSPFT_FLOAT},
|
{"pauseBetweenRepSoundsMax4", offsetof(ZBarrierDef, boards[3].maxPause), CSPFT_FLOAT },
|
||||||
{"pauseBetweenRepSoundsMin4", offsetof(ZBarrierDef, boards[3].minPause), CSPFT_FLOAT},
|
{"pauseBetweenRepSoundsMin4", offsetof(ZBarrierDef, boards[3].minPause), CSPFT_FLOAT },
|
||||||
{"proBoardNumRepsToTear4", offsetof(ZBarrierDef, boards[3].numRepsToPullProBoard), CSPFT_UINT},
|
{"proBoardNumRepsToTear4", offsetof(ZBarrierDef, boards[3].numRepsToPullProBoard), CSPFT_UINT },
|
||||||
{"repairFx40", offsetof(ZBarrierDef, boards[3].repairEffect1), CSPFT_FX},
|
{"repairFx40", offsetof(ZBarrierDef, boards[3].repairEffect1), CSPFT_FX },
|
||||||
{"repairFx41", offsetof(ZBarrierDef, boards[3].repairEffect2), CSPFT_FX},
|
{"repairFx41", offsetof(ZBarrierDef, boards[3].repairEffect2), CSPFT_FX },
|
||||||
{"tearAnim4", offsetof(ZBarrierDef, boards[3].pTearAnim), CSPFT_STRING},
|
{"tearAnim4", offsetof(ZBarrierDef, boards[3].pTearAnim), CSPFT_STRING },
|
||||||
{"upgradedBoardModel4", offsetof(ZBarrierDef, boards[3].pUpgradedBoardModel), CSPFT_XMODEL},
|
{"upgradedBoardModel4", offsetof(ZBarrierDef, boards[3].pUpgradedBoardModel), CSPFT_XMODEL },
|
||||||
{"zombieBoardTearAnimState4", offsetof(ZBarrierDef, boards[3].zombieBoardTearStateName), CSPFT_SCRIPT_STRING},
|
{"zombieBoardTearAnimState4", offsetof(ZBarrierDef, boards[3].zombieBoardTearStateName), CSPFT_SCRIPT_STRING },
|
||||||
{"zombieBoardTearAnimSubState4", offsetof(ZBarrierDef, boards[3].zombieBoardTearSubStateName), CSPFT_SCRIPT_STRING},
|
{"zombieBoardTearAnimSubState4", offsetof(ZBarrierDef, boards[3].zombieBoardTearSubStateName), CSPFT_SCRIPT_STRING },
|
||||||
{"alternateBoardModel5", offsetof(ZBarrierDef, boards[4].pAlternateBoardModel), CSPFT_XMODEL},
|
{"alternateBoardModel5", offsetof(ZBarrierDef, boards[4].pAlternateBoardModel), CSPFT_XMODEL },
|
||||||
{"boardAnim5", offsetof(ZBarrierDef, boards[4].pBoardAnim), CSPFT_STRING},
|
{"boardAnim5", offsetof(ZBarrierDef, boards[4].pBoardAnim), CSPFT_STRING },
|
||||||
{"boardModel5", offsetof(ZBarrierDef, boards[4].pBoardModel), CSPFT_XMODEL},
|
{"boardModel5", offsetof(ZBarrierDef, boards[4].pBoardModel), CSPFT_XMODEL },
|
||||||
{"boardRepairSound5", offsetof(ZBarrierDef, boards[4].boardRepairSound), CSPFT_SOUND_ALIAS_ID},
|
{"boardRepairSound5", offsetof(ZBarrierDef, boards[4].boardRepairSound), CSPFT_SOUND_ALIAS_ID},
|
||||||
{"boardRepairHoverSound5", offsetof(ZBarrierDef, boards[4].boardRepairHoverSound), CSPFT_SOUND_ALIAS_ID},
|
{"boardRepairHoverSound5", offsetof(ZBarrierDef, boards[4].boardRepairHoverSound), CSPFT_SOUND_ALIAS_ID},
|
||||||
{"OffsetRepairFxX50", offsetof(ZBarrierDef, boards[4].repairEffect1Offset.x), CSPFT_FLOAT},
|
{"OffsetRepairFxX50", offsetof(ZBarrierDef, boards[4].repairEffect1Offset.x), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxX51", offsetof(ZBarrierDef, boards[4].repairEffect2Offset.x), CSPFT_FLOAT},
|
{"OffsetRepairFxX51", offsetof(ZBarrierDef, boards[4].repairEffect2Offset.x), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxY50", offsetof(ZBarrierDef, boards[4].repairEffect1Offset.y), CSPFT_FLOAT},
|
{"OffsetRepairFxY50", offsetof(ZBarrierDef, boards[4].repairEffect1Offset.y), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxY51", offsetof(ZBarrierDef, boards[4].repairEffect2Offset.y), CSPFT_FLOAT},
|
{"OffsetRepairFxY51", offsetof(ZBarrierDef, boards[4].repairEffect2Offset.y), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxZ50", offsetof(ZBarrierDef, boards[4].repairEffect1Offset.z), CSPFT_FLOAT},
|
{"OffsetRepairFxZ50", offsetof(ZBarrierDef, boards[4].repairEffect1Offset.z), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxZ51", offsetof(ZBarrierDef, boards[4].repairEffect2Offset.z), CSPFT_FLOAT},
|
{"OffsetRepairFxZ51", offsetof(ZBarrierDef, boards[4].repairEffect2Offset.z), CSPFT_FLOAT },
|
||||||
{"pauseAndRepeatBoardRepairSound5", offsetof(ZBarrierDef, boards[4].pauseAndRepeatRepSound), CSPFT_UINT},
|
{"pauseAndRepeatBoardRepairSound5", offsetof(ZBarrierDef, boards[4].pauseAndRepeatRepSound), CSPFT_UINT },
|
||||||
{"pauseBetweenRepSoundsMax5", offsetof(ZBarrierDef, boards[4].maxPause), CSPFT_FLOAT},
|
{"pauseBetweenRepSoundsMax5", offsetof(ZBarrierDef, boards[4].maxPause), CSPFT_FLOAT },
|
||||||
{"pauseBetweenRepSoundsMin5", offsetof(ZBarrierDef, boards[4].minPause), CSPFT_FLOAT},
|
{"pauseBetweenRepSoundsMin5", offsetof(ZBarrierDef, boards[4].minPause), CSPFT_FLOAT },
|
||||||
{"proBoardNumRepsToTear5", offsetof(ZBarrierDef, boards[4].numRepsToPullProBoard), CSPFT_UINT},
|
{"proBoardNumRepsToTear5", offsetof(ZBarrierDef, boards[4].numRepsToPullProBoard), CSPFT_UINT },
|
||||||
{"repairFx50", offsetof(ZBarrierDef, boards[4].repairEffect1), CSPFT_FX},
|
{"repairFx50", offsetof(ZBarrierDef, boards[4].repairEffect1), CSPFT_FX },
|
||||||
{"repairFx51", offsetof(ZBarrierDef, boards[4].repairEffect2), CSPFT_FX},
|
{"repairFx51", offsetof(ZBarrierDef, boards[4].repairEffect2), CSPFT_FX },
|
||||||
{"tearAnim5", offsetof(ZBarrierDef, boards[4].pTearAnim), CSPFT_STRING},
|
{"tearAnim5", offsetof(ZBarrierDef, boards[4].pTearAnim), CSPFT_STRING },
|
||||||
{"upgradedBoardModel5", offsetof(ZBarrierDef, boards[4].pUpgradedBoardModel), CSPFT_XMODEL},
|
{"upgradedBoardModel5", offsetof(ZBarrierDef, boards[4].pUpgradedBoardModel), CSPFT_XMODEL },
|
||||||
{"zombieBoardTearAnimState5", offsetof(ZBarrierDef, boards[4].zombieBoardTearStateName), CSPFT_SCRIPT_STRING},
|
{"zombieBoardTearAnimState5", offsetof(ZBarrierDef, boards[4].zombieBoardTearStateName), CSPFT_SCRIPT_STRING },
|
||||||
{"zombieBoardTearAnimSubState5", offsetof(ZBarrierDef, boards[4].zombieBoardTearSubStateName), CSPFT_SCRIPT_STRING},
|
{"zombieBoardTearAnimSubState5", offsetof(ZBarrierDef, boards[4].zombieBoardTearSubStateName), CSPFT_SCRIPT_STRING },
|
||||||
{"alternateBoardModel6", offsetof(ZBarrierDef, boards[5].pAlternateBoardModel), CSPFT_XMODEL},
|
{"alternateBoardModel6", offsetof(ZBarrierDef, boards[5].pAlternateBoardModel), CSPFT_XMODEL },
|
||||||
{"boardAnim6", offsetof(ZBarrierDef, boards[5].pBoardAnim), CSPFT_STRING},
|
{"boardAnim6", offsetof(ZBarrierDef, boards[5].pBoardAnim), CSPFT_STRING },
|
||||||
{"boardModel6", offsetof(ZBarrierDef, boards[5].pBoardModel), CSPFT_XMODEL},
|
{"boardModel6", offsetof(ZBarrierDef, boards[5].pBoardModel), CSPFT_XMODEL },
|
||||||
{"boardRepairSound6", offsetof(ZBarrierDef, boards[5].boardRepairSound), CSPFT_SOUND_ALIAS_ID},
|
{"boardRepairSound6", offsetof(ZBarrierDef, boards[5].boardRepairSound), CSPFT_SOUND_ALIAS_ID},
|
||||||
{"boardRepairHoverSound6", offsetof(ZBarrierDef, boards[5].boardRepairHoverSound), CSPFT_SOUND_ALIAS_ID},
|
{"boardRepairHoverSound6", offsetof(ZBarrierDef, boards[5].boardRepairHoverSound), CSPFT_SOUND_ALIAS_ID},
|
||||||
{"OffsetRepairFxX60", offsetof(ZBarrierDef, boards[5].repairEffect1Offset.x), CSPFT_FLOAT},
|
{"OffsetRepairFxX60", offsetof(ZBarrierDef, boards[5].repairEffect1Offset.x), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxX61", offsetof(ZBarrierDef, boards[5].repairEffect2Offset.x), CSPFT_FLOAT},
|
{"OffsetRepairFxX61", offsetof(ZBarrierDef, boards[5].repairEffect2Offset.x), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxY60", offsetof(ZBarrierDef, boards[5].repairEffect1Offset.y), CSPFT_FLOAT},
|
{"OffsetRepairFxY60", offsetof(ZBarrierDef, boards[5].repairEffect1Offset.y), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxY61", offsetof(ZBarrierDef, boards[5].repairEffect2Offset.y), CSPFT_FLOAT},
|
{"OffsetRepairFxY61", offsetof(ZBarrierDef, boards[5].repairEffect2Offset.y), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxZ60", offsetof(ZBarrierDef, boards[5].repairEffect1Offset.z), CSPFT_FLOAT},
|
{"OffsetRepairFxZ60", offsetof(ZBarrierDef, boards[5].repairEffect1Offset.z), CSPFT_FLOAT },
|
||||||
{"OffsetRepairFxZ61", offsetof(ZBarrierDef, boards[5].repairEffect2Offset.z), CSPFT_FLOAT},
|
{"OffsetRepairFxZ61", offsetof(ZBarrierDef, boards[5].repairEffect2Offset.z), CSPFT_FLOAT },
|
||||||
{"pauseAndRepeatBoardRepairSound6", offsetof(ZBarrierDef, boards[5].pauseAndRepeatRepSound), CSPFT_UINT},
|
{"pauseAndRepeatBoardRepairSound6", offsetof(ZBarrierDef, boards[5].pauseAndRepeatRepSound), CSPFT_UINT },
|
||||||
{"pauseBetweenRepSoundsMax6", offsetof(ZBarrierDef, boards[5].maxPause), CSPFT_FLOAT},
|
{"pauseBetweenRepSoundsMax6", offsetof(ZBarrierDef, boards[5].maxPause), CSPFT_FLOAT },
|
||||||
{"pauseBetweenRepSoundsMin6", offsetof(ZBarrierDef, boards[5].minPause), CSPFT_FLOAT},
|
{"pauseBetweenRepSoundsMin6", offsetof(ZBarrierDef, boards[5].minPause), CSPFT_FLOAT },
|
||||||
{"proBoardNumRepsToTear6", offsetof(ZBarrierDef, boards[5].numRepsToPullProBoard), CSPFT_UINT},
|
{"proBoardNumRepsToTear6", offsetof(ZBarrierDef, boards[5].numRepsToPullProBoard), CSPFT_UINT },
|
||||||
{"repairFx60", offsetof(ZBarrierDef, boards[5].repairEffect1), CSPFT_FX},
|
{"repairFx60", offsetof(ZBarrierDef, boards[5].repairEffect1), CSPFT_FX },
|
||||||
{"repairFx61", offsetof(ZBarrierDef, boards[5].repairEffect2), CSPFT_FX},
|
{"repairFx61", offsetof(ZBarrierDef, boards[5].repairEffect2), CSPFT_FX },
|
||||||
{"tearAnim6", offsetof(ZBarrierDef, boards[5].pTearAnim), CSPFT_STRING},
|
{"tearAnim6", offsetof(ZBarrierDef, boards[5].pTearAnim), CSPFT_STRING },
|
||||||
{"upgradedBoardModel6", offsetof(ZBarrierDef, boards[5].pUpgradedBoardModel), CSPFT_XMODEL},
|
{"upgradedBoardModel6", offsetof(ZBarrierDef, boards[5].pUpgradedBoardModel), CSPFT_XMODEL },
|
||||||
{"zombieBoardTearAnimState6", offsetof(ZBarrierDef, boards[5].zombieBoardTearStateName), CSPFT_SCRIPT_STRING},
|
{"zombieBoardTearAnimState6", offsetof(ZBarrierDef, boards[5].zombieBoardTearStateName), CSPFT_SCRIPT_STRING },
|
||||||
{"zombieBoardTearAnimSubState6", offsetof(ZBarrierDef, boards[5].zombieBoardTearSubStateName), CSPFT_SCRIPT_STRING},
|
{"zombieBoardTearAnimSubState6", offsetof(ZBarrierDef, boards[5].zombieBoardTearSubStateName), CSPFT_SCRIPT_STRING },
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -25,4 +25,4 @@ namespace T6
|
|||||||
static constexpr const char* GDF_FILENAME_WEAPON_ATTACHMENT_UNIQUE = "attachmentunique.gdf";
|
static constexpr const char* GDF_FILENAME_WEAPON_ATTACHMENT_UNIQUE = "attachmentunique.gdf";
|
||||||
static constexpr const char* GDF_FILENAME_ZBARRIER = "zbarrier.gdf";
|
static constexpr const char* GDF_FILENAME_ZBARRIER = "zbarrier.gdf";
|
||||||
};
|
};
|
||||||
}
|
} // namespace T6
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#include "InfoString.h"
|
#include "InfoString.h"
|
||||||
|
|
||||||
#include <sstream>
|
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
#include <sstream>
|
||||||
#include <stack>
|
#include <stack>
|
||||||
|
|
||||||
const std::string InfoString::EMPTY_VALUE;
|
const std::string InfoString::EMPTY_VALUE;
|
||||||
@ -116,7 +116,7 @@ public:
|
|||||||
auto c = m_stream.get();
|
auto c = m_stream.get();
|
||||||
if (c == EOF)
|
if (c == EOF)
|
||||||
{
|
{
|
||||||
if(m_last_separator != EOF)
|
if (m_last_separator != EOF)
|
||||||
{
|
{
|
||||||
m_last_separator = EOF;
|
m_last_separator = EOF;
|
||||||
value = std::string();
|
value = std::string();
|
||||||
@ -210,7 +210,7 @@ bool InfoString::FromGdtProperties(const GdtEntry& gdtEntry)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
while(!entryStack.empty())
|
while (!entryStack.empty())
|
||||||
{
|
{
|
||||||
const auto* currentEntry = entryStack.top();
|
const auto* currentEntry = entryStack.top();
|
||||||
entryStack.pop();
|
entryStack.pop();
|
||||||
@ -218,7 +218,7 @@ bool InfoString::FromGdtProperties(const GdtEntry& gdtEntry)
|
|||||||
for (const auto& [key, value] : currentEntry->m_properties)
|
for (const auto& [key, value] : currentEntry->m_properties)
|
||||||
{
|
{
|
||||||
auto existingEntry = m_values.find(key);
|
auto existingEntry = m_values.find(key);
|
||||||
if(existingEntry == m_values.end())
|
if (existingEntry == m_values.end())
|
||||||
{
|
{
|
||||||
m_keys_by_insertion.push_back(key);
|
m_keys_by_insertion.push_back(key);
|
||||||
m_values.emplace(std::make_pair(key, value));
|
m_values.emplace(std::make_pair(key, value));
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <istream>
|
|
||||||
#include <unordered_map>
|
|
||||||
#include <string>
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
#include "Utils/ClassUtils.h"
|
|
||||||
#include "Obj/Gdt/GdtEntry.h"
|
#include "Obj/Gdt/GdtEntry.h"
|
||||||
|
#include "Utils/ClassUtils.h"
|
||||||
|
|
||||||
|
#include <istream>
|
||||||
|
#include <string>
|
||||||
|
#include <unordered_map>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
class InfoString
|
class InfoString
|
||||||
{
|
{
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
#include "Game/GameLanguage.h"
|
#include "Game/GameLanguage.h"
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
class LocalizeCommon
|
class LocalizeCommon
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
#include "LocalizeFile.h"
|
#include "LocalizeFile.h"
|
||||||
|
|
||||||
LocalizeFileEntry::LocalizeFileEntry()
|
LocalizeFileEntry::LocalizeFileEntry() = default;
|
||||||
= default;
|
|
||||||
|
|
||||||
LocalizeFileEntry::LocalizeFileEntry(std::string key, std::string value)
|
LocalizeFileEntry::LocalizeFileEntry(std::string key, std::string value)
|
||||||
: m_key(std::move(key)),
|
: m_key(std::move(key)),
|
||||||
|
@ -40,8 +40,7 @@ bool operator<(const ObjNormal& lhs, const ObjNormal& rhs)
|
|||||||
|
|
||||||
bool operator==(const ObjUv& lhs, const ObjUv& rhs)
|
bool operator==(const ObjUv& lhs, const ObjUv& rhs)
|
||||||
{
|
{
|
||||||
return std::fabs(lhs.uv[0] - rhs.uv[0]) < std::numeric_limits<float>::epsilon()
|
return std::fabs(lhs.uv[0] - rhs.uv[0]) < std::numeric_limits<float>::epsilon() && std::fabs(lhs.uv[1] - rhs.uv[1]) < std::numeric_limits<float>::epsilon();
|
||||||
&& std::fabs(lhs.uv[1] - rhs.uv[1]) < std::numeric_limits<float>::epsilon();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator!=(const ObjUv& lhs, const ObjUv& rhs)
|
bool operator!=(const ObjUv& lhs, const ObjUv& rhs)
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <string>
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
#include "Utils/DistinctMapper.h"
|
|
||||||
#include "Math/Quaternion.h"
|
#include "Math/Quaternion.h"
|
||||||
|
#include "Utils/DistinctMapper.h"
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
struct XModelObject
|
struct XModelObject
|
||||||
{
|
{
|
||||||
@ -64,22 +64,28 @@ struct XModelMaterial
|
|||||||
float ambientColor[4];
|
float ambientColor[4];
|
||||||
float incandescence[4];
|
float incandescence[4];
|
||||||
float coeffs[2];
|
float coeffs[2];
|
||||||
struct {
|
|
||||||
|
struct
|
||||||
|
{
|
||||||
float x;
|
float x;
|
||||||
int y;
|
int y;
|
||||||
} glow;
|
} glow;
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
int x;
|
int x;
|
||||||
float y;
|
float y;
|
||||||
} refractive;
|
} refractive;
|
||||||
|
|
||||||
float specularColor[4];
|
float specularColor[4];
|
||||||
float reflectiveColor[4];
|
float reflectiveColor[4];
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
int x;
|
int x;
|
||||||
float y;
|
float y;
|
||||||
} reflective;
|
} reflective;
|
||||||
|
|
||||||
float blinn[2];
|
float blinn[2];
|
||||||
float phong;
|
float phong;
|
||||||
std::string colorMapName;
|
std::string colorMapName;
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
#include "Gdt.h"
|
#include "Gdt.h"
|
||||||
|
|
||||||
Gdt::Gdt()
|
Gdt::Gdt() = default;
|
||||||
= default;
|
|
||||||
|
|
||||||
Gdt::Gdt(GdtVersion version)
|
Gdt::Gdt(GdtVersion version)
|
||||||
: m_version(std::move(version))
|
: m_version(std::move(version))
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <memory>
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
#include "GdtEntry.h"
|
#include "GdtEntry.h"
|
||||||
#include "GdtVersion.h"
|
#include "GdtVersion.h"
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
class Gdt
|
class Gdt
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user