mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-12 07:48:16 -05:00
Reformat code with clang format
This commit is contained in:
@ -1,7 +1,8 @@
|
||||
#pragma once
|
||||
#include <vector>
|
||||
#include "GameLanguage.h"
|
||||
|
||||
#include <vector>
|
||||
|
||||
class Zone;
|
||||
|
||||
class IGame
|
||||
@ -20,4 +21,4 @@ public:
|
||||
virtual void RemoveZone(Zone* zone) = 0;
|
||||
virtual std::vector<Zone*> GetZones() = 0;
|
||||
virtual std::vector<GameLanguagePrefix> GetLanguagePrefixes() = 0;
|
||||
};
|
||||
};
|
||||
|
@ -10,7 +10,7 @@ namespace IW3
|
||||
static constexpr uint32_t R_HashString(const char* string, const uint32_t hash)
|
||||
{
|
||||
const char* v2 = string; // edx@1
|
||||
char v3 = *string; // cl@1
|
||||
char v3 = *string; // cl@1
|
||||
uint32_t result = hash;
|
||||
|
||||
for (; *v2; v3 = *v2)
|
||||
@ -28,4 +28,4 @@ namespace IW3
|
||||
static void Vec3UnpackUnitVec(const PackedUnitVec& in, vec3_t* out);
|
||||
static void Vec4UnpackGfxColor(const GfxColor& in, vec4_t* out);
|
||||
};
|
||||
}
|
||||
} // namespace IW3
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include "GameIW3.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#include "IW3.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
using namespace IW3;
|
||||
|
||||
GameIW3 g_GameIW3;
|
||||
|
@ -14,4 +14,4 @@ public:
|
||||
std::vector<GameLanguagePrefix> GetLanguagePrefixes() override;
|
||||
};
|
||||
|
||||
extern GameIW3 g_GameIW3;
|
||||
extern GameIW3 g_GameIW3;
|
||||
|
@ -1,10 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
//#include <d3d11.h>
|
||||
// clang-format off: Order of includes matters here
|
||||
|
||||
// #include <d3d9.h>
|
||||
#include "Image/Texture.h"
|
||||
|
||||
#include "IW3_Assets.h"
|
||||
|
||||
// clang-format on
|
||||
|
||||
namespace IW3
|
||||
{
|
||||
struct ScriptStringList
|
||||
@ -79,4 +83,4 @@ namespace IW3
|
||||
|
||||
WFT_NUM_FIELD_TYPES
|
||||
};
|
||||
}
|
||||
} // namespace IW3
|
||||
|
@ -45,7 +45,7 @@ namespace IW3
|
||||
ASSET_TYPE_RAWFILE = 0x1F,
|
||||
ASSET_TYPE_STRINGTABLE = 0x20,
|
||||
ASSET_TYPE_COUNT,
|
||||
|
||||
|
||||
ASSET_TYPE_STRING = ASSET_TYPE_COUNT,
|
||||
ASSET_TYPE_ASSETLIST,
|
||||
|
||||
@ -100,35 +100,35 @@ namespace IW3
|
||||
union XAssetHeader
|
||||
{
|
||||
// XModelPieces *xmodelPieces; // NOT AN ASSET
|
||||
PhysPreset *physPreset;
|
||||
XAnimParts *parts;
|
||||
XModel *model;
|
||||
Material *material;
|
||||
MaterialPixelShader *pixelShader;
|
||||
MaterialVertexShader *vertexShader;
|
||||
MaterialTechniqueSet *techniqueSet;
|
||||
GfxImage *image;
|
||||
snd_alias_list_t *sound;
|
||||
SndCurve *sndCurve;
|
||||
LoadedSound *loadSnd;
|
||||
clipMap_t *clipMap;
|
||||
ComWorld *comWorld;
|
||||
GameWorldSp *gameWorldSp;
|
||||
GameWorldMp *gameWorldMp;
|
||||
MapEnts *mapEnts;
|
||||
GfxWorld *gfxWorld;
|
||||
GfxLightDef *lightDef;
|
||||
Font_s *font;
|
||||
MenuList *menuList;
|
||||
menuDef_t *menu;
|
||||
LocalizeEntry *localize;
|
||||
WeaponDef *weapon;
|
||||
SndDriverGlobals *sndDriverGlobals;
|
||||
FxEffectDef *fx;
|
||||
FxImpactTable *impactFx;
|
||||
RawFile *rawfile;
|
||||
StringTable *stringTable;
|
||||
void *data;
|
||||
PhysPreset* physPreset;
|
||||
XAnimParts* parts;
|
||||
XModel* model;
|
||||
Material* material;
|
||||
MaterialPixelShader* pixelShader;
|
||||
MaterialVertexShader* vertexShader;
|
||||
MaterialTechniqueSet* techniqueSet;
|
||||
GfxImage* image;
|
||||
snd_alias_list_t* sound;
|
||||
SndCurve* sndCurve;
|
||||
LoadedSound* loadSnd;
|
||||
clipMap_t* clipMap;
|
||||
ComWorld* comWorld;
|
||||
GameWorldSp* gameWorldSp;
|
||||
GameWorldMp* gameWorldMp;
|
||||
MapEnts* mapEnts;
|
||||
GfxWorld* gfxWorld;
|
||||
GfxLightDef* lightDef;
|
||||
Font_s* font;
|
||||
MenuList* menuList;
|
||||
menuDef_t* menu;
|
||||
LocalizeEntry* localize;
|
||||
WeaponDef* weapon;
|
||||
SndDriverGlobals* sndDriverGlobals;
|
||||
FxEffectDef* fx;
|
||||
FxImpactTable* impactFx;
|
||||
RawFile* rawfile;
|
||||
StringTable* stringTable;
|
||||
void* data;
|
||||
};
|
||||
|
||||
typedef char cbrushedge_t;
|
||||
@ -142,7 +142,7 @@ namespace IW3
|
||||
XModel* model;
|
||||
float offset[3];
|
||||
};
|
||||
|
||||
|
||||
struct XModelPieces
|
||||
{
|
||||
const char* name;
|
||||
@ -152,14 +152,14 @@ namespace IW3
|
||||
|
||||
struct PhysPreset
|
||||
{
|
||||
const char *name;
|
||||
const char* name;
|
||||
int type;
|
||||
float mass;
|
||||
float bounce;
|
||||
float friction;
|
||||
float bulletForceScale;
|
||||
float explosiveForceScale;
|
||||
const char *sndAliasPrefix;
|
||||
const char* sndAliasPrefix;
|
||||
float piecesSpreadFraction;
|
||||
float piecesUpwardVelocity;
|
||||
bool tempDefaultToCylinder;
|
||||
@ -224,7 +224,7 @@ namespace IW3
|
||||
|
||||
struct XAnimDeltaPartQuatDataFrames
|
||||
{
|
||||
XQuat *frames;
|
||||
XQuat* frames;
|
||||
XAnimDynamicIndicesQuat indices;
|
||||
};
|
||||
|
||||
@ -371,7 +371,7 @@ namespace IW3
|
||||
char zoneHandle;
|
||||
uint16_t baseTriIndex;
|
||||
uint16_t baseVertIndex;
|
||||
r_index16_t(*triIndices)[3];
|
||||
r_index16_t (*triIndices)[3];
|
||||
XSurfaceVertexInfo vertInfo;
|
||||
GfxPackedVertex* verts0;
|
||||
unsigned int vertListCount;
|
||||
@ -485,8 +485,8 @@ namespace IW3
|
||||
char lodRampType;
|
||||
uint16_t* boneNames;
|
||||
char* parentList;
|
||||
int16_t(*quats)[4];
|
||||
float(*trans)[4];
|
||||
int16_t (*quats)[4];
|
||||
float (*trans)[4];
|
||||
char* partClassification;
|
||||
DObjAnimMat* baseMat;
|
||||
XSurface* surfs;
|
||||
@ -705,7 +705,7 @@ namespace IW3
|
||||
char nameStart;
|
||||
char nameEnd;
|
||||
unsigned char samplerState; // SamplerStateBits_e
|
||||
unsigned char semantic; // TextureSemantic
|
||||
unsigned char semantic; // TextureSemantic
|
||||
MaterialTextureDefInfo u;
|
||||
};
|
||||
|
||||
@ -820,7 +820,7 @@ namespace IW3
|
||||
|
||||
union MaterialArgumentDef
|
||||
{
|
||||
const float(*literalConst)[4];
|
||||
const float (*literalConst)[4];
|
||||
MaterialArgumentCodeConst codeConst;
|
||||
unsigned int codeSampler;
|
||||
unsigned int nameHash;
|
||||
@ -1156,7 +1156,7 @@ namespace IW3
|
||||
struct MaterialVertexStreamRouting
|
||||
{
|
||||
MaterialStreamRouting data[16];
|
||||
void/*IDirect3DVertexDeclaration9*/* decl[16];
|
||||
void /*IDirect3DVertexDeclaration9*/* decl[16];
|
||||
};
|
||||
|
||||
struct MaterialVertexDeclaration
|
||||
@ -1176,7 +1176,7 @@ namespace IW3
|
||||
|
||||
struct MaterialVertexShaderProgram
|
||||
{
|
||||
void/*IDirect3DVertexShader9*/* vs;
|
||||
void /*IDirect3DVertexShader9*/* vs;
|
||||
GfxVertexShaderLoadDef loadDef;
|
||||
};
|
||||
|
||||
@ -1195,7 +1195,7 @@ namespace IW3
|
||||
|
||||
struct MaterialPixelShaderProgram
|
||||
{
|
||||
void/*IDirect3DPixelShader9*/* ps;
|
||||
void /*IDirect3DPixelShader9*/* ps;
|
||||
GfxPixelShaderLoadDef loadDef;
|
||||
};
|
||||
|
||||
@ -1304,10 +1304,10 @@ namespace IW3
|
||||
|
||||
union GfxTexture
|
||||
{
|
||||
//void/*IDirect3DBaseTexture9*/* basemap;
|
||||
//void/*IDirect3DTexture9*/* map;
|
||||
//void/*IDirect3DVolumeTexture9*/* volmap;
|
||||
//void/*IDirect3DCubeTexture9*/* cubemap;
|
||||
// void/*IDirect3DBaseTexture9*/* basemap;
|
||||
// void/*IDirect3DTexture9*/* map;
|
||||
// void/*IDirect3DVolumeTexture9*/* volmap;
|
||||
// void/*IDirect3DCubeTexture9*/* cubemap;
|
||||
Texture* texture;
|
||||
GfxImageLoadDef* loadDef;
|
||||
};
|
||||
@ -1681,7 +1681,7 @@ namespace IW3
|
||||
unsigned int numLeafSurfaces;
|
||||
unsigned int* leafsurfaces;
|
||||
unsigned int vertCount;
|
||||
vec3_t *verts;
|
||||
vec3_t* verts;
|
||||
int triCount;
|
||||
uint16_t* triIndices;
|
||||
char* triEdgeIsWalkable;
|
||||
@ -1898,13 +1898,13 @@ namespace IW3
|
||||
struct GfxWorldVertexData
|
||||
{
|
||||
GfxWorldVertex* vertices;
|
||||
void/*IDirect3DVertexBuffer9*/* worldVb;
|
||||
void /*IDirect3DVertexBuffer9*/* worldVb;
|
||||
};
|
||||
|
||||
struct GfxWorldVertexLayerData
|
||||
{
|
||||
char* data;
|
||||
void/*IDirect3DVertexBuffer9*/* layerVb;
|
||||
void /*IDirect3DVertexBuffer9*/* layerVb;
|
||||
};
|
||||
|
||||
struct SunLightParseParams
|
||||
@ -1979,7 +1979,7 @@ namespace IW3
|
||||
bool isAncestor;
|
||||
char recursionDepth;
|
||||
char hullPointCount;
|
||||
float(*hullPoints)[2];
|
||||
float (*hullPoints)[2];
|
||||
GfxPortal* queuedParent;
|
||||
};
|
||||
|
||||
@ -3076,13 +3076,13 @@ namespace IW3
|
||||
// TODO: Order is accuracyGraphName[0] -> originalAccuracyGraphKnots[0] -> accuracyGraphName[1] -> ...
|
||||
// Which is currently not possible to do in code generation. Afaik this is the only place where this is the case.
|
||||
// So might be something to fix but on the other hand it might be too much work for this little inconvenience.
|
||||
//const char* accuracyGraphName[2];
|
||||
// const char* accuracyGraphName[2];
|
||||
const char* accuracyGraphName0;
|
||||
const char* accuracyGraphName1;
|
||||
//float(*accuracyGraphKnots[2])[2];
|
||||
// float(*accuracyGraphKnots[2])[2];
|
||||
vec2_t* accuracyGraphKnots0;
|
||||
vec2_t* accuracyGraphKnots1;
|
||||
//float(*originalAccuracyGraphKnots[2])[2];
|
||||
// float(*originalAccuracyGraphKnots[2])[2];
|
||||
vec2_t* originalAccuracyGraphKnots0;
|
||||
vec2_t* originalAccuracyGraphKnots1;
|
||||
int accuracyGraphKnotCount[2];
|
||||
|
@ -10,7 +10,7 @@ namespace IW4
|
||||
static constexpr uint32_t R_HashString(const char* string, const uint32_t hash)
|
||||
{
|
||||
const char* v2 = string; // edx@1
|
||||
char v3 = *string; // cl@1
|
||||
char v3 = *string; // cl@1
|
||||
uint32_t result = hash;
|
||||
|
||||
for (; *v2; v3 = *v2)
|
||||
@ -35,4 +35,4 @@ namespace IW4
|
||||
static void Vec3UnpackUnitVec(const PackedUnitVec& in, vec3_t* out);
|
||||
static void Vec4UnpackGfxColor(const GfxColor& in, vec4_t* out);
|
||||
};
|
||||
}
|
||||
} // namespace IW4
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include "GameIW4.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#include "IW4.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
using namespace IW4;
|
||||
|
||||
GameIW4 g_GameIW4;
|
||||
|
@ -14,4 +14,4 @@ public:
|
||||
std::vector<GameLanguagePrefix> GetLanguagePrefixes() override;
|
||||
};
|
||||
|
||||
extern GameIW4 g_GameIW4;
|
||||
extern GameIW4 g_GameIW4;
|
||||
|
@ -1,10 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
//#include <d3d11.h>
|
||||
// clang-format off: Order of includes matters here
|
||||
|
||||
// #include <d3d9.h>
|
||||
#include "Image/Texture.h"
|
||||
|
||||
#include "IW4_Assets.h"
|
||||
|
||||
// clang-format on
|
||||
|
||||
namespace IW4
|
||||
{
|
||||
struct DB_AuthHash
|
||||
@ -26,11 +30,11 @@ namespace IW4
|
||||
|
||||
struct DB_AuthHeader
|
||||
{
|
||||
char magic[8]; // + 0
|
||||
unsigned int reserved; // + 8
|
||||
DB_AuthHash subheaderHash; // + 12
|
||||
DB_AuthSignature signedSubheaderHash; // + 44
|
||||
DB_AuthSubHeader subheader; // + 300
|
||||
char magic[8]; // + 0
|
||||
unsigned int reserved; // + 8
|
||||
DB_AuthHash subheaderHash; // + 12
|
||||
DB_AuthSignature signedSubheaderHash; // + 44
|
||||
DB_AuthSubHeader subheader; // + 300
|
||||
};
|
||||
|
||||
struct ScriptStringList
|
||||
@ -122,4 +126,4 @@ namespace IW4
|
||||
|
||||
VFT_NUM,
|
||||
};
|
||||
}
|
||||
} // namespace IW4
|
||||
|
@ -571,8 +571,8 @@ namespace IW4
|
||||
unsigned int noScalePartBits[6];
|
||||
uint16_t* boneNames;
|
||||
unsigned char* parentList;
|
||||
int16_t(*quats)[4];
|
||||
float(*trans)[3];
|
||||
int16_t (*quats)[4];
|
||||
float (*trans)[3];
|
||||
unsigned char* partClassification;
|
||||
DObjAnimMat* baseMat;
|
||||
Material** materialHandles;
|
||||
@ -669,7 +669,7 @@ namespace IW4
|
||||
char nameStart;
|
||||
char nameEnd;
|
||||
unsigned char samplerState; // SamplerStateBits_e
|
||||
unsigned char semantic; // TextureSemantic
|
||||
unsigned char semantic; // TextureSemantic
|
||||
MaterialTextureDefInfo u;
|
||||
};
|
||||
|
||||
@ -878,13 +878,13 @@ namespace IW4
|
||||
|
||||
SORTKEY_TRANS_START = 6,
|
||||
|
||||
SORTKEY_DECAL_BOTTOM_1 = 6, // prob decal - bottom 1
|
||||
SORTKEY_DECAL_BOTTOM_2 = 7, // prob decal - bottom 2
|
||||
SORTKEY_DECAL_BOTTOM_3 = 8, // prob decal - bottom 3
|
||||
SORTKEY_DECAL_STATIC_DECAL = 9, // prob decal - static decal
|
||||
SORTKEY_DECAL_MIDDLE_1 = 10, // prob decal - middle 1
|
||||
SORTKEY_DECAL_MIDDLE_2 = 11, // prob decal - middle 2
|
||||
SORTKEY_DECAL_MIDDLE_3 = 12, // prob decal - middle 3
|
||||
SORTKEY_DECAL_BOTTOM_1 = 6, // prob decal - bottom 1
|
||||
SORTKEY_DECAL_BOTTOM_2 = 7, // prob decal - bottom 2
|
||||
SORTKEY_DECAL_BOTTOM_3 = 8, // prob decal - bottom 3
|
||||
SORTKEY_DECAL_STATIC_DECAL = 9, // prob decal - static decal
|
||||
SORTKEY_DECAL_MIDDLE_1 = 10, // prob decal - middle 1
|
||||
SORTKEY_DECAL_MIDDLE_2 = 11, // prob decal - middle 2
|
||||
SORTKEY_DECAL_MIDDLE_3 = 12, // prob decal - middle 3
|
||||
SORTKEY_DECAL_WEAPON_IMPACT = 13, // prob decal - weapon impact
|
||||
// ? = 14, // prob decal - top 1
|
||||
// some decal = 15, // prob decal - top 2 or decal - top 3
|
||||
@ -896,7 +896,7 @@ namespace IW4
|
||||
// ? = 21,
|
||||
// - = 22,
|
||||
// - = 23,
|
||||
SORTKEY_WINDOW_INSIDE = 24, // prob window inside
|
||||
SORTKEY_WINDOW_INSIDE = 24, // prob window inside
|
||||
SORTKEY_WINDOW_OUTSIDE = 25, // prob window outside
|
||||
// ? = 26, // includes motiontracker3d, impact fx, atmos
|
||||
// ? = 27,
|
||||
@ -919,11 +919,11 @@ namespace IW4
|
||||
// ? = 44,
|
||||
// ? = 45,
|
||||
// - = 46,
|
||||
SORTKEY_BLEND_ADDITIVE = 47, // most likely blend / additive
|
||||
SORTKEY_BLEND_ADDITIVE = 47, // most likely blend / additive
|
||||
SORTKEY_EFFECT_AUTO_SORT = 48, // most likely effect - auto sort
|
||||
SORTKEY_AFTER_EFFECTS_BOTTOM = 49,
|
||||
SORTKEY_AFTER_EFFECTS_MIDDLE = 50, // prob after effects - middle
|
||||
SORTKEY_AFTER_EFFECTS_TOP = 51, // prob after effects - top
|
||||
SORTKEY_AFTER_EFFECTS_TOP = 51, // prob after effects - top
|
||||
// - = 52,
|
||||
SORTKEY_VIEWMODEL_EFFECT = 53, // maybe viewmodel effect
|
||||
|
||||
@ -1087,7 +1087,7 @@ namespace IW4
|
||||
|
||||
STREAM_SRC_COUNT
|
||||
};
|
||||
|
||||
|
||||
enum MaterialStreamDestination_e
|
||||
{
|
||||
STREAM_DST_POSITION = 0x0,
|
||||
@ -1116,7 +1116,7 @@ namespace IW4
|
||||
struct MaterialVertexStreamRouting
|
||||
{
|
||||
MaterialStreamRouting data[13];
|
||||
void/*IDirect3DVertexDeclaration9*/* decl[16];
|
||||
void /*IDirect3DVertexDeclaration9*/* decl[16];
|
||||
};
|
||||
|
||||
struct MaterialVertexDeclaration
|
||||
@ -1129,7 +1129,7 @@ namespace IW4
|
||||
|
||||
struct MaterialVertexShaderProgram
|
||||
{
|
||||
void/*IDirect3DVertexShader9*/* vs;
|
||||
void /*IDirect3DVertexShader9*/* vs;
|
||||
GfxVertexShaderLoadDef loadDef;
|
||||
};
|
||||
|
||||
@ -1141,7 +1141,7 @@ namespace IW4
|
||||
|
||||
struct MaterialPixelShaderProgram
|
||||
{
|
||||
void/*IDirect3DPixelShader9*/* ps;
|
||||
void /*IDirect3DPixelShader9*/* ps;
|
||||
GfxPixelShaderLoadDef loadDef;
|
||||
};
|
||||
|
||||
@ -1205,11 +1205,11 @@ namespace IW4
|
||||
enum MaterialType
|
||||
{
|
||||
MTL_TYPE_DEFAULT = 0x0,
|
||||
MTL_TYPE_MODEL = 0x1, // m_
|
||||
MTL_TYPE_MODEL_VERTCOL = 0x2, // mc_
|
||||
MTL_TYPE_MODEL = 0x1, // m_
|
||||
MTL_TYPE_MODEL_VERTCOL = 0x2, // mc_
|
||||
MTL_TYPE_MODEL_VERTCOL_GREY = 0x3, // mg_
|
||||
MTL_TYPE_WORLD = 0x4, // w_
|
||||
MTL_TYPE_WORLD_VERTCOL = 0x5, // wc_
|
||||
MTL_TYPE_WORLD = 0x4, // w_
|
||||
MTL_TYPE_WORLD_VERTCOL = 0x5, // wc_
|
||||
|
||||
MTL_TYPE_COUNT,
|
||||
};
|
||||
@ -1409,20 +1409,20 @@ namespace IW4
|
||||
|
||||
enum MaterialShaderArgumentType
|
||||
{
|
||||
MTL_ARG_MATERIAL_VERTEX_CONST = 0x0, // stable
|
||||
MTL_ARG_LITERAL_VERTEX_CONST = 0x1, // stable
|
||||
MTL_ARG_MATERIAL_VERTEX_CONST = 0x0, // stable
|
||||
MTL_ARG_LITERAL_VERTEX_CONST = 0x1, // stable
|
||||
MTL_ARG_MATERIAL_PIXEL_SAMPLER = 0x2, // stable
|
||||
|
||||
MTL_ARG_CODE_PRIM_BEGIN = 0x3,
|
||||
|
||||
MTL_ARG_CODE_VERTEX_CONST = 0x3, // stable object prim
|
||||
MTL_ARG_CODE_VERTEX_CONST = 0x3, // stable object prim
|
||||
MTL_ARG_CODE_PIXEL_SAMPLER = 0x4, // stable object
|
||||
MTL_ARG_CODE_PIXEL_CONST = 0x5, // stable
|
||||
MTL_ARG_CODE_PIXEL_CONST = 0x5, // stable
|
||||
|
||||
MTL_ARG_CODE_PRIM_END = 0x6,
|
||||
|
||||
MTL_ARG_MATERIAL_PIXEL_CONST = 0x6, // stable
|
||||
MTL_ARG_LITERAL_PIXEL_CONST = 0x7, // stable
|
||||
MTL_ARG_LITERAL_PIXEL_CONST = 0x7, // stable
|
||||
|
||||
MTL_ARG_COUNT
|
||||
};
|
||||
@ -1457,14 +1457,15 @@ namespace IW4
|
||||
enum TechniqueFlags
|
||||
{
|
||||
// Guesses purely based on data analysis:
|
||||
TECHNIQUE_FLAG_1 = 0x1, // uses resolvedPostSun code sampler // MTL_TECHFLAG_NEEDS_RESOLVED_POST_SUN
|
||||
TECHNIQUE_FLAG_2 = 0x2, // uses resolvedScene code sampler MTL_TECHFLAG_NEEDS_RESOLVED_SCENE
|
||||
TECHNIQUE_FLAG_4 = 0x4, // zprepass only
|
||||
TECHNIQUE_FLAG_8 = 0x8, // build_floatz only
|
||||
TECHNIQUE_FLAG_1 = 0x1, // uses resolvedPostSun code sampler // MTL_TECHFLAG_NEEDS_RESOLVED_POST_SUN
|
||||
TECHNIQUE_FLAG_2 = 0x2, // uses resolvedScene code sampler MTL_TECHFLAG_NEEDS_RESOLVED_SCENE
|
||||
TECHNIQUE_FLAG_4 = 0x4, // zprepass only
|
||||
TECHNIQUE_FLAG_8 = 0x8, // build_floatz 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_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_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_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_200 = 0x200, // ?
|
||||
};
|
||||
@ -1758,7 +1759,7 @@ namespace IW4
|
||||
DvarValue latched;
|
||||
DvarValue reset;
|
||||
DvarLimits domain;
|
||||
//bool (__cdecl* domainFunc)(dvar_t*, DvarValue);
|
||||
// bool (__cdecl* domainFunc)(dvar_t*, DvarValue);
|
||||
void* domainFunc;
|
||||
dvar_t* hashNext;
|
||||
};
|
||||
@ -3065,11 +3066,13 @@ namespace IW4
|
||||
float fAngle;
|
||||
float forward[2];
|
||||
float fRadius;
|
||||
|
||||
union
|
||||
{
|
||||
float minUseDistSq;
|
||||
PathNodeErrorCode error;
|
||||
};
|
||||
|
||||
int16_t wOverlapNode[2];
|
||||
uint16_t totalLinkCount;
|
||||
pathlink_s* Links;
|
||||
@ -3097,6 +3100,7 @@ namespace IW4
|
||||
pathnode_t* pParent;
|
||||
float fCost;
|
||||
float fHeuristic;
|
||||
|
||||
union
|
||||
{
|
||||
float nodeCost;
|
||||
@ -3259,6 +3263,7 @@ namespace IW4
|
||||
FxSpatialFrame frame;
|
||||
float radius;
|
||||
};
|
||||
|
||||
unsigned int nextFree;
|
||||
};
|
||||
|
||||
@ -3417,7 +3422,7 @@ namespace IW4
|
||||
bool isAncestor;
|
||||
char recursionDepth;
|
||||
char hullPointCount;
|
||||
float(*hullPoints)[2];
|
||||
float (*hullPoints)[2];
|
||||
GfxPortal* queuedParent;
|
||||
};
|
||||
|
||||
@ -3470,13 +3475,13 @@ namespace IW4
|
||||
struct GfxWorldVertexData
|
||||
{
|
||||
GfxWorldVertex* vertices;
|
||||
void/*IDirect3DVertexBuffer9*/* worldVb;
|
||||
void /*IDirect3DVertexBuffer9*/* worldVb;
|
||||
};
|
||||
|
||||
struct GfxWorldVertexLayerData
|
||||
{
|
||||
char* data;
|
||||
void/*IDirect3DVertexBuffer9*/* layerVb;
|
||||
void /*IDirect3DVertexBuffer9*/* layerVb;
|
||||
};
|
||||
|
||||
struct GfxWorldDraw
|
||||
@ -3757,7 +3762,7 @@ namespace IW4
|
||||
unsigned int sortKeyEffectAuto;
|
||||
unsigned int sortKeyDistortion;
|
||||
GfxWorldDpvsPlanes dpvsPlanes;
|
||||
int/*GfxCellTreeCount*/* aabbTreeCounts;
|
||||
int /*GfxCellTreeCount*/* aabbTreeCounts;
|
||||
GfxCellTree128* aabbTrees;
|
||||
GfxCell* cells;
|
||||
GfxWorldDraw draw;
|
||||
@ -4639,7 +4644,6 @@ namespace IW4
|
||||
VEH_TYPE_COUNT = 0x7,
|
||||
};
|
||||
|
||||
|
||||
struct VehicleDef
|
||||
{
|
||||
const char* name;
|
||||
|
@ -22,17 +22,17 @@ int Common::StringTable_HashString(const char* str)
|
||||
|
||||
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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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)
|
||||
|
@ -16,4 +16,4 @@ namespace IW5
|
||||
static void Vec3UnpackUnitVec(const PackedUnitVec& in, vec3_t* out);
|
||||
static void Vec4UnpackGfxColor(const GfxColor& in, vec4_t* out);
|
||||
};
|
||||
}
|
||||
} // namespace IW5
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include "GameIW5.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#include "IW5.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
using namespace IW5;
|
||||
|
||||
GameIW5 g_GameIW5;
|
||||
|
@ -14,4 +14,4 @@ public:
|
||||
std::vector<GameLanguagePrefix> GetLanguagePrefixes() override;
|
||||
};
|
||||
|
||||
extern GameIW5 g_GameIW5;
|
||||
extern GameIW5 g_GameIW5;
|
||||
|
@ -1,10 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
//#include <d3d11.h>
|
||||
// clang-format off: Order of includes matters here
|
||||
|
||||
// #include <d3d9.h>
|
||||
#include "Image/Texture.h"
|
||||
|
||||
#include "IW5_Assets.h"
|
||||
|
||||
// clang-format on
|
||||
|
||||
namespace IW5
|
||||
{
|
||||
struct DB_AuthHash
|
||||
@ -26,11 +30,11 @@ namespace IW5
|
||||
|
||||
struct DB_AuthHeader
|
||||
{
|
||||
char magic[8]; // + 0
|
||||
unsigned int reserved; // + 8
|
||||
DB_AuthHash subheaderHash; // + 12
|
||||
DB_AuthSignature signedSubheaderHash; // + 44
|
||||
DB_AuthSubHeader subheader; // + 300
|
||||
char magic[8]; // + 0
|
||||
unsigned int reserved; // + 8
|
||||
DB_AuthHash subheaderHash; // + 12
|
||||
DB_AuthSignature signedSubheaderHash; // + 44
|
||||
DB_AuthSubHeader subheader; // + 300
|
||||
};
|
||||
|
||||
struct ScriptStringList
|
||||
@ -79,4 +83,4 @@ namespace IW5
|
||||
|
||||
CSPFT_NUM_BASE_FIELD_TYPES,
|
||||
};
|
||||
}
|
||||
} // namespace IW5
|
||||
|
@ -536,7 +536,7 @@ namespace IW5
|
||||
uint16_t baseTriIndex;
|
||||
uint16_t baseVertIndex;
|
||||
float quantizeScale;
|
||||
r_index16_t(*triIndices)[3];
|
||||
r_index16_t (*triIndices)[3];
|
||||
XSurfaceVertexInfo vertInfo;
|
||||
GfxVertexUnion0 verts0;
|
||||
unsigned int vertListCount;
|
||||
@ -606,8 +606,8 @@ namespace IW5
|
||||
unsigned int noScalePartBits[6];
|
||||
ScriptString* boneNames;
|
||||
unsigned char* parentList;
|
||||
short(*quats)[4];
|
||||
float(*trans)[3];
|
||||
short (*quats)[4];
|
||||
float (*trans)[3];
|
||||
unsigned char* partClassification;
|
||||
DObjAnimMat* baseMat;
|
||||
Material** materialHandles;
|
||||
@ -802,13 +802,13 @@ namespace IW5
|
||||
char source;
|
||||
char dest;
|
||||
};
|
||||
|
||||
|
||||
struct MaterialVertexStreamRouting
|
||||
{
|
||||
MaterialStreamRouting data[13];
|
||||
void* decl[16];
|
||||
};
|
||||
|
||||
|
||||
struct MaterialVertexDeclaration
|
||||
{
|
||||
const char* name;
|
||||
@ -843,7 +843,7 @@ namespace IW5
|
||||
|
||||
union MaterialArgumentDef
|
||||
{
|
||||
const float(*literalConst)[4];
|
||||
const float (*literalConst)[4];
|
||||
MaterialArgumentCodeConst codeConst;
|
||||
unsigned int codeSampler;
|
||||
unsigned int nameHash;
|
||||
@ -1507,6 +1507,7 @@ namespace IW5
|
||||
pathnode_t* pParent;
|
||||
float fCost;
|
||||
float fHeuristic;
|
||||
|
||||
union
|
||||
{
|
||||
float nodeCost;
|
||||
@ -1659,6 +1660,7 @@ namespace IW5
|
||||
FxSpatialFrame frame;
|
||||
float radius;
|
||||
};
|
||||
|
||||
unsigned int nextFree;
|
||||
};
|
||||
|
||||
@ -1817,7 +1819,7 @@ namespace IW5
|
||||
bool isAncestor;
|
||||
unsigned char recursionDepth;
|
||||
unsigned char hullPointCount;
|
||||
float(*hullPoints)[2];
|
||||
float (*hullPoints)[2];
|
||||
GfxPortal* queuedParent;
|
||||
};
|
||||
|
||||
@ -2173,7 +2175,7 @@ namespace IW5
|
||||
unsigned int sortKeyEffectAuto;
|
||||
unsigned int sortKeyDistortion;
|
||||
GfxWorldDpvsPlanes dpvsPlanes;
|
||||
int/*GfxCellTreeCount*/* aabbTreeCounts;
|
||||
int /*GfxCellTreeCount*/* aabbTreeCounts;
|
||||
GfxCellTree128* aabbTrees;
|
||||
GfxCell* cells;
|
||||
GfxWorldDraw draw;
|
||||
@ -2569,8 +2571,8 @@ namespace IW5
|
||||
WINDOW_FLAG_POPUP = 0x1000000,
|
||||
WINDOW_FLAG_LEGACY_SPLIT_SCREEN_SCALE = 0x4000000,
|
||||
WINDOW_FLAG_HIDDEN_DURING_FLASH_BANG = 0x10000000, // confirmed
|
||||
WINDOW_FLAG_HIDDEN_DURING_SCOPE = 0x20000000, // confirmed
|
||||
WINDOW_FLAG_HIDDEN_DURING_UI = 0x40000000, // confirmed
|
||||
WINDOW_FLAG_HIDDEN_DURING_SCOPE = 0x20000000, // confirmed
|
||||
WINDOW_FLAG_HIDDEN_DURING_UI = 0x40000000, // confirmed
|
||||
WINDOW_FLAG_TEXT_ONLY_FOCUS = 0x80000000,
|
||||
};
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include "CommonT5.h"
|
||||
|
||||
#include <cctype>
|
||||
|
||||
#include "Utils/Pack.h"
|
||||
|
||||
#include <cctype>
|
||||
|
||||
using namespace T5;
|
||||
|
||||
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 Vec4UnpackGfxColor(const GfxColor& in, vec4_t* out);
|
||||
};
|
||||
}
|
||||
} // namespace T5
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include "GameT5.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#include "T5.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
using namespace T5;
|
||||
|
||||
GameT5 g_GameT5;
|
||||
|
@ -14,4 +14,4 @@ public:
|
||||
std::vector<GameLanguagePrefix> GetLanguagePrefixes() override;
|
||||
};
|
||||
|
||||
extern GameT5 g_GameT5;
|
||||
extern GameT5 g_GameT5;
|
||||
|
@ -1,10 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
//#include <d3d9.h>
|
||||
// clang-format off: Order of includes matters here
|
||||
|
||||
// #include <d3d9.h>
|
||||
#include "Image/Texture.h"
|
||||
|
||||
#include "T5_Assets.h"
|
||||
|
||||
// clang-format on
|
||||
|
||||
namespace T5
|
||||
{
|
||||
struct ScriptStringList
|
||||
@ -110,4 +114,4 @@ namespace T5
|
||||
|
||||
CFT_NUM_FIELD_TYPES
|
||||
};
|
||||
}
|
||||
} // namespace T5
|
||||
|
@ -114,43 +114,43 @@ namespace T5
|
||||
|
||||
union XAssetHeader
|
||||
{
|
||||
//XModelPieces *xmodelPieces; // Not an asset
|
||||
PhysPreset *physPreset;
|
||||
PhysConstraints *physConstraints;
|
||||
DestructibleDef *destructibleDef;
|
||||
XAnimParts *parts;
|
||||
XModel *model;
|
||||
Material *material;
|
||||
//MaterialPixelShader *pixelShader; // Not an asset
|
||||
//MaterialVertexShader *vertexShader; // Not an asset
|
||||
MaterialTechniqueSet *techniqueSet;
|
||||
GfxImage *image;
|
||||
SndBank *sound;
|
||||
SndPatch *soundPatch;
|
||||
clipMap_t *clipMap;
|
||||
ComWorld *comWorld;
|
||||
GameWorldSp *gameWorldSp;
|
||||
GameWorldMp *gameWorldMp;
|
||||
MapEnts *mapEnts;
|
||||
GfxWorld *gfxWorld;
|
||||
GfxLightDef *lightDef;
|
||||
Font_s *font;
|
||||
MenuList *menuList;
|
||||
menuDef_t *menu;
|
||||
LocalizeEntry *localize;
|
||||
WeaponVariantDef *weapon;
|
||||
SndDriverGlobals *sndDriverGlobals;
|
||||
FxEffectDef *fx;
|
||||
FxImpactTable *impactFx;
|
||||
RawFile *rawfile;
|
||||
StringTable *stringTable;
|
||||
PackIndex *packIndex;
|
||||
XGlobals *xGlobals;
|
||||
ddlRoot_t *ddlRoot;
|
||||
Glasses *glasses;
|
||||
//TextureList *textureList; // Not an asset
|
||||
EmblemSet *emblemSet;
|
||||
void *data;
|
||||
// XModelPieces *xmodelPieces; // Not an asset
|
||||
PhysPreset* physPreset;
|
||||
PhysConstraints* physConstraints;
|
||||
DestructibleDef* destructibleDef;
|
||||
XAnimParts* parts;
|
||||
XModel* model;
|
||||
Material* material;
|
||||
// MaterialPixelShader *pixelShader; // Not an asset
|
||||
// MaterialVertexShader *vertexShader; // Not an asset
|
||||
MaterialTechniqueSet* techniqueSet;
|
||||
GfxImage* image;
|
||||
SndBank* sound;
|
||||
SndPatch* soundPatch;
|
||||
clipMap_t* clipMap;
|
||||
ComWorld* comWorld;
|
||||
GameWorldSp* gameWorldSp;
|
||||
GameWorldMp* gameWorldMp;
|
||||
MapEnts* mapEnts;
|
||||
GfxWorld* gfxWorld;
|
||||
GfxLightDef* lightDef;
|
||||
Font_s* font;
|
||||
MenuList* menuList;
|
||||
menuDef_t* menu;
|
||||
LocalizeEntry* localize;
|
||||
WeaponVariantDef* weapon;
|
||||
SndDriverGlobals* sndDriverGlobals;
|
||||
FxEffectDef* fx;
|
||||
FxImpactTable* impactFx;
|
||||
RawFile* rawfile;
|
||||
StringTable* stringTable;
|
||||
PackIndex* packIndex;
|
||||
XGlobals* xGlobals;
|
||||
ddlRoot_t* ddlRoot;
|
||||
Glasses* glasses;
|
||||
// TextureList *textureList; // Not an asset
|
||||
EmblemSet* emblemSet;
|
||||
void* data;
|
||||
};
|
||||
|
||||
typedef tdef_align(16) char char16;
|
||||
@ -508,12 +508,12 @@ namespace T5
|
||||
uint16_t triCount;
|
||||
uint16_t baseTriIndex;
|
||||
uint16_t baseVertIndex;
|
||||
r_index16_t(*triIndices)[3];
|
||||
r_index16_t (*triIndices)[3];
|
||||
XSurfaceVertexInfo vertInfo;
|
||||
GfxPackedVertex* verts0;
|
||||
void/*IDirect3DVertexBuffer9*/* vb0;
|
||||
void /*IDirect3DVertexBuffer9*/* vb0;
|
||||
XRigidVertList* vertList;
|
||||
void/*IDirect3DIndexBuffer9*/* indexBuffer;
|
||||
void /*IDirect3DIndexBuffer9*/* indexBuffer;
|
||||
int partBits[5];
|
||||
};
|
||||
|
||||
@ -628,8 +628,8 @@ namespace T5
|
||||
char lodRampType;
|
||||
uint16_t* boneNames;
|
||||
char* parentList;
|
||||
int16_t(*quats)[4];
|
||||
float(*trans)[4];
|
||||
int16_t (*quats)[4];
|
||||
float (*trans)[4];
|
||||
char* partClassification;
|
||||
DObjAnimMat* baseMat;
|
||||
XSurface* surfs;
|
||||
@ -837,7 +837,7 @@ namespace T5
|
||||
struct MaterialVertexStreamRouting
|
||||
{
|
||||
MaterialStreamRouting data[16];
|
||||
void/*IDirect3DVertexDeclaration9*/* decl[18];
|
||||
void /*IDirect3DVertexDeclaration9*/* decl[18];
|
||||
};
|
||||
|
||||
struct MaterialVertexDeclaration
|
||||
@ -856,7 +856,7 @@ namespace T5
|
||||
|
||||
struct MaterialVertexShaderProgram
|
||||
{
|
||||
void/*IDirect3DVertexShader9*/* vs;
|
||||
void /*IDirect3DVertexShader9*/* vs;
|
||||
GfxVertexShaderLoadDef loadDef;
|
||||
};
|
||||
|
||||
@ -874,7 +874,7 @@ namespace T5
|
||||
|
||||
struct MaterialPixelShaderProgram
|
||||
{
|
||||
void/*IDirect3DPixelShader9*/* ps;
|
||||
void /*IDirect3DPixelShader9*/* ps;
|
||||
GfxPixelShaderLoadDef loadDef;
|
||||
};
|
||||
|
||||
@ -893,7 +893,7 @@ namespace T5
|
||||
|
||||
union MaterialArgumentDef
|
||||
{
|
||||
const float(*literalConst)[4];
|
||||
const float (*literalConst)[4];
|
||||
MaterialArgumentCodeConst codeConst;
|
||||
unsigned int codeSampler;
|
||||
unsigned int nameHash;
|
||||
@ -1963,7 +1963,7 @@ namespace T5
|
||||
bool isAncestor;
|
||||
char recursionDepth;
|
||||
char hullPointCount;
|
||||
float(*hullPoints)[2];
|
||||
float (*hullPoints)[2];
|
||||
GfxPortal* queuedParent;
|
||||
};
|
||||
|
||||
@ -2040,17 +2040,17 @@ namespace T5
|
||||
PackedUnitVec normal;
|
||||
PackedUnitVec tangent;
|
||||
};
|
||||
|
||||
|
||||
struct GfxWorldVertexData
|
||||
{
|
||||
GfxWorldVertex* vertices;
|
||||
void/*IDirect3DVertexBuffer9*/* worldVb;
|
||||
void /*IDirect3DVertexBuffer9*/* worldVb;
|
||||
};
|
||||
|
||||
struct GfxWorldVertexLayerData
|
||||
{
|
||||
char* data;
|
||||
void/*IDirect3DVertexBuffer9*/* layerVb;
|
||||
void /*IDirect3DVertexBuffer9*/* layerVb;
|
||||
};
|
||||
|
||||
struct GfxWorldDraw
|
||||
@ -3861,15 +3861,16 @@ namespace T5
|
||||
float fHipViewScatterMax;
|
||||
float fightDist;
|
||||
float maxDist;
|
||||
//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.
|
||||
// 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]; // 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.
|
||||
// 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* accuracyGraphName1;
|
||||
//vec2_t *accuracyGraphKnots[2];
|
||||
// vec2_t *accuracyGraphKnots[2];
|
||||
vec2_t* accuracyGraphKnots0;
|
||||
vec2_t* accuracyGraphKnots1;
|
||||
//vec2_t *originalAccuracyGraphKnots[2];
|
||||
// vec2_t *originalAccuracyGraphKnots[2];
|
||||
vec2_t* originalAccuracyGraphKnots0;
|
||||
vec2_t* originalAccuracyGraphKnots1;
|
||||
int accuracyGraphKnotCount[2];
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include "CommonT6.h"
|
||||
|
||||
#include <cctype>
|
||||
|
||||
#include "Utils/Pack.h"
|
||||
|
||||
#include <cctype>
|
||||
|
||||
using namespace T6;
|
||||
|
||||
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 offset = 0;
|
||||
while(str[offset])
|
||||
while (str[offset])
|
||||
{
|
||||
const auto c = tolower(str[offset++]);
|
||||
result = c + 33 * result;
|
||||
@ -46,7 +46,7 @@ int Common::Com_HashString(const char* str, const int len)
|
||||
|
||||
int result = 0x1505;
|
||||
int offset = 0;
|
||||
while(str[offset])
|
||||
while (str[offset])
|
||||
{
|
||||
if (len > 0 && offset >= len)
|
||||
break;
|
||||
@ -70,17 +70,17 @@ uint32_t Common::R_HashString(const char* str, uint32_t hash)
|
||||
|
||||
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)
|
||||
{
|
||||
return PackedUnitVec{ Pack32::Vec3PackUnitVec(in->v) };
|
||||
return PackedUnitVec{Pack32::Vec3PackUnitVec(in->v)};
|
||||
}
|
||||
|
||||
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)
|
||||
@ -96,4 +96,4 @@ void Common::Vec3UnpackUnitVec(const PackedUnitVec& in, vec3_t* out)
|
||||
void Common::Vec4UnpackGfxColor(const GfxColor& in, vec4_t* out)
|
||||
{
|
||||
Pack32::Vec4UnpackGfxColor(in.packed, out->v);
|
||||
}
|
||||
}
|
||||
|
@ -19,4 +19,4 @@ namespace T6
|
||||
static void Vec3UnpackUnitVec(const PackedUnitVec& in, vec3_t* out);
|
||||
static void Vec4UnpackGfxColor(const GfxColor& in, vec4_t* out);
|
||||
};
|
||||
}
|
||||
} // namespace T6
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include "GameT6.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#include "T6.h"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
using namespace T6;
|
||||
|
||||
GameT6 g_GameT6;
|
||||
|
@ -14,4 +14,4 @@ public:
|
||||
std::vector<GameLanguagePrefix> GetLanguagePrefixes() override;
|
||||
};
|
||||
|
||||
extern GameT6 g_GameT6;
|
||||
extern GameT6 g_GameT6;
|
||||
|
@ -1,10 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
//#include <d3d11.h>
|
||||
// clang-format off: Order of includes matters here
|
||||
|
||||
// #include <d3d11.h>
|
||||
#include "Image/Texture.h"
|
||||
|
||||
#include "T6_Assets.h"
|
||||
|
||||
// clang-format on
|
||||
|
||||
namespace T6
|
||||
{
|
||||
struct ScriptStringList
|
||||
@ -149,4 +153,4 @@ namespace T6
|
||||
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
|
||||
D3DFMT_A2B10G10R10_XR_BIAS = 119,
|
||||
|
||||
|
||||
// Binary format indicating that the data has no inherent type
|
||||
D3DFMT_BINARYBUFFER = 199,
|
||||
|
||||
|
||||
/* -- D3D9Ex only */
|
||||
|
||||
|
||||
D3DFMT_FORCE_DWORD = 0x7fffffff
|
||||
};
|
||||
};
|
||||
|
@ -4,10 +4,7 @@
|
||||
|
||||
constexpr uint32_t MakeFourCc(const char ch0, const char ch1, const char ch2, const char ch3)
|
||||
{
|
||||
return static_cast<uint32_t>(ch0)
|
||||
| static_cast<uint32_t>(ch1) << 8
|
||||
| static_cast<uint32_t>(ch2) << 16
|
||||
| static_cast<uint32_t>(ch3) << 24;
|
||||
return static_cast<uint32_t>(ch0) | static_cast<uint32_t>(ch1) << 8 | static_cast<uint32_t>(ch2) << 16 | static_cast<uint32_t>(ch3) << 24;
|
||||
}
|
||||
|
||||
enum DDP_FLAGS
|
||||
|
@ -22,126 +22,126 @@ const unsigned int DXGI_FORMAT_DEFINED = 1;
|
||||
|
||||
enum DXGI_FORMAT
|
||||
{
|
||||
DXGI_FORMAT_UNKNOWN = 0x00,
|
||||
DXGI_FORMAT_R32G32B32A32_TYPELESS = 0x01,
|
||||
DXGI_FORMAT_R32G32B32A32_FLOAT = 0x02,
|
||||
DXGI_FORMAT_R32G32B32A32_UINT = 0x03,
|
||||
DXGI_FORMAT_R32G32B32A32_SINT = 0x04,
|
||||
DXGI_FORMAT_R32G32B32_TYPELESS = 0x05,
|
||||
DXGI_FORMAT_R32G32B32_FLOAT = 0x06,
|
||||
DXGI_FORMAT_R32G32B32_UINT = 0x07,
|
||||
DXGI_FORMAT_R32G32B32_SINT = 0x08,
|
||||
DXGI_FORMAT_R16G16B16A16_TYPELESS = 0x09,
|
||||
DXGI_FORMAT_R16G16B16A16_FLOAT = 0x0a,
|
||||
DXGI_FORMAT_R16G16B16A16_UNORM = 0x0b,
|
||||
DXGI_FORMAT_R16G16B16A16_UINT = 0x0c,
|
||||
DXGI_FORMAT_R16G16B16A16_SNORM = 0x0d,
|
||||
DXGI_FORMAT_R16G16B16A16_SINT = 0x0e,
|
||||
DXGI_FORMAT_R32G32_TYPELESS = 0x0f,
|
||||
DXGI_FORMAT_R32G32_FLOAT = 0x10,
|
||||
DXGI_FORMAT_R32G32_UINT = 0x11,
|
||||
DXGI_FORMAT_R32G32_SINT = 0x12,
|
||||
DXGI_FORMAT_R32G8X24_TYPELESS = 0x13,
|
||||
DXGI_FORMAT_D32_FLOAT_S8X24_UINT = 0x14,
|
||||
DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS = 0x15,
|
||||
DXGI_FORMAT_X32_TYPELESS_G8X24_UINT = 0x16,
|
||||
DXGI_FORMAT_R10G10B10A2_TYPELESS = 0x17,
|
||||
DXGI_FORMAT_R10G10B10A2_UNORM = 0x18,
|
||||
DXGI_FORMAT_R10G10B10A2_UINT = 0x19,
|
||||
DXGI_FORMAT_R11G11B10_FLOAT = 0x1a,
|
||||
DXGI_FORMAT_R8G8B8A8_TYPELESS = 0x1b,
|
||||
DXGI_FORMAT_R8G8B8A8_UNORM = 0x1c,
|
||||
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = 0x1d,
|
||||
DXGI_FORMAT_R8G8B8A8_UINT = 0x1e,
|
||||
DXGI_FORMAT_R8G8B8A8_SNORM = 0x1f,
|
||||
DXGI_FORMAT_R8G8B8A8_SINT = 0x20,
|
||||
DXGI_FORMAT_R16G16_TYPELESS = 0x21,
|
||||
DXGI_FORMAT_R16G16_FLOAT = 0x22,
|
||||
DXGI_FORMAT_R16G16_UNORM = 0x23,
|
||||
DXGI_FORMAT_R16G16_UINT = 0x24,
|
||||
DXGI_FORMAT_R16G16_SNORM = 0x25,
|
||||
DXGI_FORMAT_R16G16_SINT = 0x26,
|
||||
DXGI_FORMAT_R32_TYPELESS = 0x27,
|
||||
DXGI_FORMAT_D32_FLOAT = 0x28,
|
||||
DXGI_FORMAT_R32_FLOAT = 0x29,
|
||||
DXGI_FORMAT_R32_UINT = 0x2a,
|
||||
DXGI_FORMAT_R32_SINT = 0x2b,
|
||||
DXGI_FORMAT_R24G8_TYPELESS = 0x2c,
|
||||
DXGI_FORMAT_D24_UNORM_S8_UINT = 0x2d,
|
||||
DXGI_FORMAT_R24_UNORM_X8_TYPELESS = 0x2e,
|
||||
DXGI_FORMAT_X24_TYPELESS_G8_UINT = 0x2f,
|
||||
DXGI_FORMAT_R8G8_TYPELESS = 0x30,
|
||||
DXGI_FORMAT_R8G8_UNORM = 0x31,
|
||||
DXGI_FORMAT_R8G8_UINT = 0x32,
|
||||
DXGI_FORMAT_R8G8_SNORM = 0x33,
|
||||
DXGI_FORMAT_R8G8_SINT = 0x34,
|
||||
DXGI_FORMAT_R16_TYPELESS = 0x35,
|
||||
DXGI_FORMAT_R16_FLOAT = 0x36,
|
||||
DXGI_FORMAT_D16_UNORM = 0x37,
|
||||
DXGI_FORMAT_R16_UNORM = 0x38,
|
||||
DXGI_FORMAT_R16_UINT = 0x39,
|
||||
DXGI_FORMAT_R16_SNORM = 0x3a,
|
||||
DXGI_FORMAT_R16_SINT = 0x3b,
|
||||
DXGI_FORMAT_R8_TYPELESS = 0x3c,
|
||||
DXGI_FORMAT_R8_UNORM = 0x3d,
|
||||
DXGI_FORMAT_R8_UINT = 0x3e,
|
||||
DXGI_FORMAT_R8_SNORM = 0x3f,
|
||||
DXGI_FORMAT_R8_SINT = 0x40,
|
||||
DXGI_FORMAT_A8_UNORM = 0x41,
|
||||
DXGI_FORMAT_R1_UNORM = 0x42,
|
||||
DXGI_FORMAT_R9G9B9E5_SHAREDEXP = 0x43,
|
||||
DXGI_FORMAT_R8G8_B8G8_UNORM = 0x44,
|
||||
DXGI_FORMAT_G8R8_G8B8_UNORM = 0x45,
|
||||
DXGI_FORMAT_BC1_TYPELESS = 0x46,
|
||||
DXGI_FORMAT_BC1_UNORM = 0x47,
|
||||
DXGI_FORMAT_BC1_UNORM_SRGB = 0x48,
|
||||
DXGI_FORMAT_BC2_TYPELESS = 0x49,
|
||||
DXGI_FORMAT_BC2_UNORM = 0x4a,
|
||||
DXGI_FORMAT_BC2_UNORM_SRGB = 0x4b,
|
||||
DXGI_FORMAT_BC3_TYPELESS = 0x4c,
|
||||
DXGI_FORMAT_BC3_UNORM = 0x4d,
|
||||
DXGI_FORMAT_BC3_UNORM_SRGB = 0x4e,
|
||||
DXGI_FORMAT_BC4_TYPELESS = 0x4f,
|
||||
DXGI_FORMAT_BC4_UNORM = 0x50,
|
||||
DXGI_FORMAT_BC4_SNORM = 0x51,
|
||||
DXGI_FORMAT_BC5_TYPELESS = 0x52,
|
||||
DXGI_FORMAT_BC5_UNORM = 0x53,
|
||||
DXGI_FORMAT_BC5_SNORM = 0x54,
|
||||
DXGI_FORMAT_B5G6R5_UNORM = 0x55,
|
||||
DXGI_FORMAT_B5G5R5A1_UNORM = 0x56,
|
||||
DXGI_FORMAT_B8G8R8A8_UNORM = 0x57,
|
||||
DXGI_FORMAT_B8G8R8X8_UNORM = 0x58,
|
||||
DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM = 0x59,
|
||||
DXGI_FORMAT_B8G8R8A8_TYPELESS = 0x5a,
|
||||
DXGI_FORMAT_B8G8R8A8_UNORM_SRGB = 0x5b,
|
||||
DXGI_FORMAT_B8G8R8X8_TYPELESS = 0x5c,
|
||||
DXGI_FORMAT_B8G8R8X8_UNORM_SRGB = 0x5d,
|
||||
DXGI_FORMAT_BC6H_TYPELESS = 0x5e,
|
||||
DXGI_FORMAT_BC6H_UF16 = 0x5f,
|
||||
DXGI_FORMAT_BC6H_SF16 = 0x60,
|
||||
DXGI_FORMAT_BC7_TYPELESS = 0x61,
|
||||
DXGI_FORMAT_BC7_UNORM = 0x62,
|
||||
DXGI_FORMAT_BC7_UNORM_SRGB = 0x63,
|
||||
DXGI_FORMAT_AYUV = 0x64,
|
||||
DXGI_FORMAT_Y410 = 0x65,
|
||||
DXGI_FORMAT_Y416 = 0x66,
|
||||
DXGI_FORMAT_NV12 = 0x67,
|
||||
DXGI_FORMAT_P010 = 0x68,
|
||||
DXGI_FORMAT_P016 = 0x69,
|
||||
DXGI_FORMAT_420_OPAQUE = 0x6a,
|
||||
DXGI_FORMAT_YUY2 = 0x6b,
|
||||
DXGI_FORMAT_Y210 = 0x6c,
|
||||
DXGI_FORMAT_Y216 = 0x6d,
|
||||
DXGI_FORMAT_NV11 = 0x6e,
|
||||
DXGI_FORMAT_AI44 = 0x6f,
|
||||
DXGI_FORMAT_IA44 = 0x70,
|
||||
DXGI_FORMAT_P8 = 0x71,
|
||||
DXGI_FORMAT_A8P8 = 0x72,
|
||||
DXGI_FORMAT_B4G4R4A4_UNORM = 0x73,
|
||||
DXGI_FORMAT_UNKNOWN = 0x00,
|
||||
DXGI_FORMAT_R32G32B32A32_TYPELESS = 0x01,
|
||||
DXGI_FORMAT_R32G32B32A32_FLOAT = 0x02,
|
||||
DXGI_FORMAT_R32G32B32A32_UINT = 0x03,
|
||||
DXGI_FORMAT_R32G32B32A32_SINT = 0x04,
|
||||
DXGI_FORMAT_R32G32B32_TYPELESS = 0x05,
|
||||
DXGI_FORMAT_R32G32B32_FLOAT = 0x06,
|
||||
DXGI_FORMAT_R32G32B32_UINT = 0x07,
|
||||
DXGI_FORMAT_R32G32B32_SINT = 0x08,
|
||||
DXGI_FORMAT_R16G16B16A16_TYPELESS = 0x09,
|
||||
DXGI_FORMAT_R16G16B16A16_FLOAT = 0x0a,
|
||||
DXGI_FORMAT_R16G16B16A16_UNORM = 0x0b,
|
||||
DXGI_FORMAT_R16G16B16A16_UINT = 0x0c,
|
||||
DXGI_FORMAT_R16G16B16A16_SNORM = 0x0d,
|
||||
DXGI_FORMAT_R16G16B16A16_SINT = 0x0e,
|
||||
DXGI_FORMAT_R32G32_TYPELESS = 0x0f,
|
||||
DXGI_FORMAT_R32G32_FLOAT = 0x10,
|
||||
DXGI_FORMAT_R32G32_UINT = 0x11,
|
||||
DXGI_FORMAT_R32G32_SINT = 0x12,
|
||||
DXGI_FORMAT_R32G8X24_TYPELESS = 0x13,
|
||||
DXGI_FORMAT_D32_FLOAT_S8X24_UINT = 0x14,
|
||||
DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS = 0x15,
|
||||
DXGI_FORMAT_X32_TYPELESS_G8X24_UINT = 0x16,
|
||||
DXGI_FORMAT_R10G10B10A2_TYPELESS = 0x17,
|
||||
DXGI_FORMAT_R10G10B10A2_UNORM = 0x18,
|
||||
DXGI_FORMAT_R10G10B10A2_UINT = 0x19,
|
||||
DXGI_FORMAT_R11G11B10_FLOAT = 0x1a,
|
||||
DXGI_FORMAT_R8G8B8A8_TYPELESS = 0x1b,
|
||||
DXGI_FORMAT_R8G8B8A8_UNORM = 0x1c,
|
||||
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = 0x1d,
|
||||
DXGI_FORMAT_R8G8B8A8_UINT = 0x1e,
|
||||
DXGI_FORMAT_R8G8B8A8_SNORM = 0x1f,
|
||||
DXGI_FORMAT_R8G8B8A8_SINT = 0x20,
|
||||
DXGI_FORMAT_R16G16_TYPELESS = 0x21,
|
||||
DXGI_FORMAT_R16G16_FLOAT = 0x22,
|
||||
DXGI_FORMAT_R16G16_UNORM = 0x23,
|
||||
DXGI_FORMAT_R16G16_UINT = 0x24,
|
||||
DXGI_FORMAT_R16G16_SNORM = 0x25,
|
||||
DXGI_FORMAT_R16G16_SINT = 0x26,
|
||||
DXGI_FORMAT_R32_TYPELESS = 0x27,
|
||||
DXGI_FORMAT_D32_FLOAT = 0x28,
|
||||
DXGI_FORMAT_R32_FLOAT = 0x29,
|
||||
DXGI_FORMAT_R32_UINT = 0x2a,
|
||||
DXGI_FORMAT_R32_SINT = 0x2b,
|
||||
DXGI_FORMAT_R24G8_TYPELESS = 0x2c,
|
||||
DXGI_FORMAT_D24_UNORM_S8_UINT = 0x2d,
|
||||
DXGI_FORMAT_R24_UNORM_X8_TYPELESS = 0x2e,
|
||||
DXGI_FORMAT_X24_TYPELESS_G8_UINT = 0x2f,
|
||||
DXGI_FORMAT_R8G8_TYPELESS = 0x30,
|
||||
DXGI_FORMAT_R8G8_UNORM = 0x31,
|
||||
DXGI_FORMAT_R8G8_UINT = 0x32,
|
||||
DXGI_FORMAT_R8G8_SNORM = 0x33,
|
||||
DXGI_FORMAT_R8G8_SINT = 0x34,
|
||||
DXGI_FORMAT_R16_TYPELESS = 0x35,
|
||||
DXGI_FORMAT_R16_FLOAT = 0x36,
|
||||
DXGI_FORMAT_D16_UNORM = 0x37,
|
||||
DXGI_FORMAT_R16_UNORM = 0x38,
|
||||
DXGI_FORMAT_R16_UINT = 0x39,
|
||||
DXGI_FORMAT_R16_SNORM = 0x3a,
|
||||
DXGI_FORMAT_R16_SINT = 0x3b,
|
||||
DXGI_FORMAT_R8_TYPELESS = 0x3c,
|
||||
DXGI_FORMAT_R8_UNORM = 0x3d,
|
||||
DXGI_FORMAT_R8_UINT = 0x3e,
|
||||
DXGI_FORMAT_R8_SNORM = 0x3f,
|
||||
DXGI_FORMAT_R8_SINT = 0x40,
|
||||
DXGI_FORMAT_A8_UNORM = 0x41,
|
||||
DXGI_FORMAT_R1_UNORM = 0x42,
|
||||
DXGI_FORMAT_R9G9B9E5_SHAREDEXP = 0x43,
|
||||
DXGI_FORMAT_R8G8_B8G8_UNORM = 0x44,
|
||||
DXGI_FORMAT_G8R8_G8B8_UNORM = 0x45,
|
||||
DXGI_FORMAT_BC1_TYPELESS = 0x46,
|
||||
DXGI_FORMAT_BC1_UNORM = 0x47,
|
||||
DXGI_FORMAT_BC1_UNORM_SRGB = 0x48,
|
||||
DXGI_FORMAT_BC2_TYPELESS = 0x49,
|
||||
DXGI_FORMAT_BC2_UNORM = 0x4a,
|
||||
DXGI_FORMAT_BC2_UNORM_SRGB = 0x4b,
|
||||
DXGI_FORMAT_BC3_TYPELESS = 0x4c,
|
||||
DXGI_FORMAT_BC3_UNORM = 0x4d,
|
||||
DXGI_FORMAT_BC3_UNORM_SRGB = 0x4e,
|
||||
DXGI_FORMAT_BC4_TYPELESS = 0x4f,
|
||||
DXGI_FORMAT_BC4_UNORM = 0x50,
|
||||
DXGI_FORMAT_BC4_SNORM = 0x51,
|
||||
DXGI_FORMAT_BC5_TYPELESS = 0x52,
|
||||
DXGI_FORMAT_BC5_UNORM = 0x53,
|
||||
DXGI_FORMAT_BC5_SNORM = 0x54,
|
||||
DXGI_FORMAT_B5G6R5_UNORM = 0x55,
|
||||
DXGI_FORMAT_B5G5R5A1_UNORM = 0x56,
|
||||
DXGI_FORMAT_B8G8R8A8_UNORM = 0x57,
|
||||
DXGI_FORMAT_B8G8R8X8_UNORM = 0x58,
|
||||
DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM = 0x59,
|
||||
DXGI_FORMAT_B8G8R8A8_TYPELESS = 0x5a,
|
||||
DXGI_FORMAT_B8G8R8A8_UNORM_SRGB = 0x5b,
|
||||
DXGI_FORMAT_B8G8R8X8_TYPELESS = 0x5c,
|
||||
DXGI_FORMAT_B8G8R8X8_UNORM_SRGB = 0x5d,
|
||||
DXGI_FORMAT_BC6H_TYPELESS = 0x5e,
|
||||
DXGI_FORMAT_BC6H_UF16 = 0x5f,
|
||||
DXGI_FORMAT_BC6H_SF16 = 0x60,
|
||||
DXGI_FORMAT_BC7_TYPELESS = 0x61,
|
||||
DXGI_FORMAT_BC7_UNORM = 0x62,
|
||||
DXGI_FORMAT_BC7_UNORM_SRGB = 0x63,
|
||||
DXGI_FORMAT_AYUV = 0x64,
|
||||
DXGI_FORMAT_Y410 = 0x65,
|
||||
DXGI_FORMAT_Y416 = 0x66,
|
||||
DXGI_FORMAT_NV12 = 0x67,
|
||||
DXGI_FORMAT_P010 = 0x68,
|
||||
DXGI_FORMAT_P016 = 0x69,
|
||||
DXGI_FORMAT_420_OPAQUE = 0x6a,
|
||||
DXGI_FORMAT_YUY2 = 0x6b,
|
||||
DXGI_FORMAT_Y210 = 0x6c,
|
||||
DXGI_FORMAT_Y216 = 0x6d,
|
||||
DXGI_FORMAT_NV11 = 0x6e,
|
||||
DXGI_FORMAT_AI44 = 0x6f,
|
||||
DXGI_FORMAT_IA44 = 0x70,
|
||||
DXGI_FORMAT_P8 = 0x71,
|
||||
DXGI_FORMAT_A8P8 = 0x72,
|
||||
DXGI_FORMAT_B4G4R4A4_UNORM = 0x73,
|
||||
|
||||
DXGI_FORMAT_P208 = 0x82,
|
||||
DXGI_FORMAT_V208 = 0x83,
|
||||
DXGI_FORMAT_V408 = 0x84,
|
||||
DXGI_FORMAT_P208 = 0x82,
|
||||
DXGI_FORMAT_V208 = 0x83,
|
||||
DXGI_FORMAT_V408 = 0x84,
|
||||
|
||||
DXGI_FORMAT_FORCE_UINT = 0xffffffff,
|
||||
};
|
||||
DXGI_FORMAT_FORCE_UINT = 0xffffffff,
|
||||
};
|
||||
|
@ -22,10 +22,18 @@ DXGI_FORMAT ImageFormat::GetDxgiFormat() const
|
||||
return m_dxgi_format;
|
||||
}
|
||||
|
||||
ImageFormatUnsigned::ImageFormatUnsigned(const ImageFormatId id, const D3DFORMAT d3dFormat, const DXGI_FORMAT dxgiFormat,
|
||||
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)
|
||||
ImageFormatUnsigned::ImageFormatUnsigned(const ImageFormatId id,
|
||||
const D3DFORMAT d3dFormat,
|
||||
const DXGI_FORMAT dxgiFormat,
|
||||
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),
|
||||
m_bits_per_pixel(bitsPerPixel),
|
||||
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;
|
||||
}
|
||||
|
||||
size_t ImageFormatUnsigned::GetSizeOfMipLevel(const unsigned mipLevel, const unsigned width, const unsigned height,
|
||||
const unsigned depth) const
|
||||
size_t ImageFormatUnsigned::GetSizeOfMipLevel(const unsigned mipLevel, const unsigned width, const unsigned height, const unsigned depth) const
|
||||
{
|
||||
unsigned mipWidth = width >> 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;
|
||||
}
|
||||
|
||||
ImageFormatBlockCompressed::ImageFormatBlockCompressed(const ImageFormatId id, const D3DFORMAT d3dFormat, const DXGI_FORMAT dxgiFormat,
|
||||
const unsigned blockSize, const unsigned bitsPerBlock)
|
||||
ImageFormatBlockCompressed::ImageFormatBlockCompressed(
|
||||
const ImageFormatId id, const D3DFORMAT d3dFormat, const DXGI_FORMAT dxgiFormat, const unsigned blockSize, const unsigned bitsPerBlock)
|
||||
: ImageFormat(id, d3dFormat, dxgiFormat),
|
||||
m_block_size(blockSize),
|
||||
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;
|
||||
}
|
||||
|
||||
size_t ImageFormatBlockCompressed::GetSizeOfMipLevel(const unsigned mipLevel, const unsigned width,
|
||||
const unsigned height, const unsigned depth) const
|
||||
size_t ImageFormatBlockCompressed::GetSizeOfMipLevel(const unsigned mipLevel, const unsigned width, const unsigned height, const unsigned depth) const
|
||||
{
|
||||
unsigned mipWidth = width >> mipLevel;
|
||||
unsigned mipHeight = height >> mipLevel;
|
||||
@ -109,9 +115,7 @@ size_t ImageFormatBlockCompressed::GetSizeOfMipLevel(const unsigned mipLevel, co
|
||||
if (mipDepth == 0)
|
||||
mipDepth = 1;
|
||||
|
||||
const unsigned blockCount = ((mipWidth + m_block_size - 1) / m_block_size)
|
||||
* ((mipHeight + m_block_size - 1) / m_block_size)
|
||||
* mipDepth;
|
||||
const unsigned blockCount = ((mipWidth + m_block_size - 1) / m_block_size) * ((mipHeight + m_block_size - 1) / m_block_size) * mipDepth;
|
||||
|
||||
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_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 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_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_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_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);
|
||||
@ -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_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_B8_G8_R8_X8,
|
||||
&FORMAT_R8_G8_B8_A8,
|
||||
|
@ -1,10 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include <cstddef>
|
||||
#include "D3DFormat.h"
|
||||
#include "DxgiFormat.h"
|
||||
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
enum class ImageFormatId
|
||||
{
|
||||
UNKNOWN = -1,
|
||||
@ -60,7 +61,7 @@ public:
|
||||
static const ImageFormatUnsigned FORMAT_R8_G8_B8_A8;
|
||||
static const ImageFormatUnsigned FORMAT_B8_G8_R8_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_A8;
|
||||
static const ImageFormatBlockCompressed FORMAT_BC1;
|
||||
@ -84,9 +85,18 @@ public:
|
||||
unsigned m_a_offset;
|
||||
unsigned m_a_size;
|
||||
|
||||
ImageFormatUnsigned(ImageFormatId id, D3DFORMAT d3dFormat, DXGI_FORMAT dxgiFormat, unsigned bitsPerPixel, unsigned rOffset,
|
||||
unsigned rSize, unsigned gOffset, unsigned gSize, unsigned bOffset, unsigned bSize,
|
||||
unsigned aOffset, unsigned aSize);
|
||||
ImageFormatUnsigned(ImageFormatId id,
|
||||
D3DFORMAT d3dFormat,
|
||||
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;
|
||||
size_t GetPitch(unsigned mipLevel, unsigned width) const override;
|
||||
|
@ -54,7 +54,7 @@ namespace iwi6
|
||||
IMG_FLAG_RENDER_TARGET = 1 << 17,
|
||||
IMG_FLAG_SYSTEMMEM = 1 << 18
|
||||
};
|
||||
}
|
||||
} // namespace iwi6
|
||||
|
||||
// IW4
|
||||
namespace iwi8
|
||||
@ -122,7 +122,7 @@ namespace iwi8
|
||||
IMG_FLAG_RENDER_TARGET = 1 << 25,
|
||||
IMG_FLAG_SYSTEMMEM = 1 << 26
|
||||
};
|
||||
}
|
||||
} // namespace iwi8
|
||||
|
||||
// T5
|
||||
namespace iwi13
|
||||
@ -177,7 +177,7 @@ namespace iwi13
|
||||
IMG_FLAG_SYSTEMMEM = 1 << 18,
|
||||
};
|
||||
|
||||
}
|
||||
} // namespace iwi13
|
||||
|
||||
// T6
|
||||
namespace iwi27
|
||||
@ -232,4 +232,4 @@ namespace iwi27
|
||||
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,
|
||||
const bool mipMaps)
|
||||
Texture3D::Texture3D(const ImageFormat* format, const unsigned width, const unsigned height, const unsigned depth, const bool mipMaps)
|
||||
: Texture(format, mipMaps)
|
||||
{
|
||||
m_width = width;
|
||||
|
@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
#include "ImageFormat.h"
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
enum class TextureType
|
||||
@ -123,4 +124,4 @@ public:
|
||||
uint8_t* GetBufferForMipLevel(int mipLevel, int face) override;
|
||||
|
||||
int GetMipMapCount() const override;
|
||||
};
|
||||
};
|
||||
|
@ -44,8 +44,7 @@ void TextureConverter::SetPixelFunctions(const unsigned inBitCount, const unsign
|
||||
|
||||
for (auto pixelOffset = 0u; pixelOffset < bitCount; pixelOffset += 8)
|
||||
{
|
||||
result |= (static_cast<uint64_t>(*(static_cast<const uint8_t*>(offset) + (pixelOffset / 8))) <<
|
||||
pixelOffset);
|
||||
result |= (static_cast<uint64_t>(*(static_cast<const uint8_t*>(offset) + (pixelOffset / 8))) << pixelOffset);
|
||||
}
|
||||
|
||||
return result;
|
||||
@ -99,9 +98,7 @@ void TextureConverter::SetPixelFunctions(const unsigned inBitCount, const unsign
|
||||
else
|
||||
{
|
||||
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;
|
||||
}
|
||||
@ -120,18 +117,16 @@ void TextureConverter::CreateOutputTexture()
|
||||
switch (m_input_texture->GetTextureType())
|
||||
{
|
||||
case TextureType::T_2D:
|
||||
m_output_texture = new Texture2D(m_output_format, m_input_texture->GetWidth(), m_input_texture->GetHeight(),
|
||||
m_input_texture->HasMipMaps());
|
||||
m_output_texture = new Texture2D(m_output_format, m_input_texture->GetWidth(), m_input_texture->GetHeight(), m_input_texture->HasMipMaps());
|
||||
break;
|
||||
|
||||
case TextureType::T_CUBE:
|
||||
m_output_texture = new TextureCube(m_output_format, m_input_texture->GetWidth(), m_input_texture->GetHeight(),
|
||||
m_input_texture->HasMipMaps());
|
||||
m_output_texture = new TextureCube(m_output_format, m_input_texture->GetWidth(), m_input_texture->GetHeight(), m_input_texture->HasMipMaps());
|
||||
break;
|
||||
|
||||
case TextureType::T_3D:
|
||||
m_output_texture = new Texture3D(m_output_format, m_input_texture->GetWidth(), m_input_texture->GetHeight(),
|
||||
m_input_texture->GetDepth(), m_input_texture->HasMipMaps());
|
||||
m_output_texture = new Texture3D(
|
||||
m_output_format, m_input_texture->GetWidth(), m_input_texture->GetHeight(), m_input_texture->GetDepth(), m_input_texture->HasMipMaps());
|
||||
break;
|
||||
default:
|
||||
assert(false);
|
||||
@ -166,8 +161,7 @@ void TextureConverter::ReorderUnsignedToUnsigned() const
|
||||
const auto outputBytePerPixel = outputFormat->m_bits_per_pixel / 8;
|
||||
|
||||
auto outputOffset = 0u;
|
||||
for (auto inputOffset = 0u; inputOffset < mipLevelSize; inputOffset += inputBytePerPixel, outputOffset +=
|
||||
outputBytePerPixel)
|
||||
for (auto inputOffset = 0u; inputOffset < mipLevelSize; inputOffset += inputBytePerPixel, outputOffset += outputBytePerPixel)
|
||||
{
|
||||
uint64_t outPixel = 0;
|
||||
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);
|
||||
|
||||
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
|
||||
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_a_size == outputFormat->m_a_size)
|
||||
{
|
||||
ReorderUnsignedToUnsigned();
|
||||
@ -214,8 +206,7 @@ Texture* TextureConverter::Convert()
|
||||
{
|
||||
CreateOutputTexture();
|
||||
|
||||
if (m_input_format->GetType() == ImageFormatType::UNSIGNED
|
||||
&& m_output_format->GetType() == ImageFormatType::UNSIGNED)
|
||||
if (m_input_format->GetType() == ImageFormatType::UNSIGNED && m_output_format->GetType() == ImageFormatType::UNSIGNED)
|
||||
{
|
||||
ConvertUnsignedToUnsigned();
|
||||
}
|
||||
|
@ -1,9 +1,9 @@
|
||||
#pragma once
|
||||
|
||||
#include <functional>
|
||||
|
||||
#include "Texture.h"
|
||||
|
||||
#include <functional>
|
||||
|
||||
class TextureConverter
|
||||
{
|
||||
Texture* m_input_texture;
|
||||
@ -23,8 +23,7 @@ class TextureConverter
|
||||
void ConvertUnsignedToUnsigned();
|
||||
|
||||
public:
|
||||
|
||||
TextureConverter(Texture* inputTexture, const ImageFormat* targetFormat);
|
||||
|
||||
Texture* Convert();
|
||||
};
|
||||
};
|
||||
|
@ -37,10 +37,12 @@ namespace state_map
|
||||
|
||||
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)
|
||||
{
|
||||
return var.m_name == resultVar;
|
||||
});
|
||||
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;
|
||||
});
|
||||
|
||||
// Has to have a corresponding var
|
||||
assert(correspondingVar != layout.m_var_layout.m_vars.end());
|
||||
@ -48,7 +50,7 @@ namespace state_map
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
} // namespace state_map
|
||||
|
||||
StateMapLayoutEntry::StateMapLayoutEntry(std::string name, const size_t stateBitsIndex, const size_t stateBitsMask, std::vector<std::string> resultVars)
|
||||
: m_name(std::move(name)),
|
||||
|
@ -60,4 +60,4 @@ namespace state_map
|
||||
const StateMapLayoutEntries& m_entry_layout;
|
||||
const StateMapLayoutVars& m_var_layout;
|
||||
};
|
||||
}
|
||||
} // namespace state_map
|
||||
|
@ -10,8 +10,7 @@ float HalfFloat::ToFloat(const half_float_t half)
|
||||
float f;
|
||||
} result{};
|
||||
|
||||
result.u = ((half << 16) & 0x80000000) | (((((half << 14) & 0xFFFC000)
|
||||
- (~(half << 14) & 0x10000000)) ^ 0x80000000) >> 1);
|
||||
result.u = ((half << 16) & 0x80000000) | (((((half << 14) & 0xFFFC000) - (~(half << 14) & 0x10000000)) ^ 0x80000000) >> 1);
|
||||
return result.f;
|
||||
}
|
||||
|
||||
|
@ -11,4 +11,4 @@ class HalfFloat
|
||||
public:
|
||||
static float ToFloat(half_float_t half);
|
||||
static half_float_t ToHalf(float f);
|
||||
};
|
||||
};
|
||||
|
@ -1,10 +1,10 @@
|
||||
#include "Pack.h"
|
||||
|
||||
#include "HalfFloat.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <cassert>
|
||||
|
||||
#include "HalfFloat.h"
|
||||
|
||||
union PackUtil32
|
||||
{
|
||||
uint32_t u;
|
||||
@ -16,8 +16,7 @@ union PackUtil32
|
||||
|
||||
uint32_t Pack32::Vec2PackTexCoords(const float* in)
|
||||
{
|
||||
return static_cast<uint32_t>(HalfFloat::ToHalf(in[0])) << 16
|
||||
| HalfFloat::ToHalf(in[1]);
|
||||
return static_cast<uint32_t>(HalfFloat::ToHalf(in[0])) << 16 | HalfFloat::ToHalf(in[1]);
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
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[2], 0.0f, 1.0f) * 255.0f) << 16
|
||||
| static_cast<uint8_t>(std::clamp(in[3], 0.0f, 1.0f) * 255.0f) << 24;
|
||||
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[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)
|
||||
@ -65,9 +62,9 @@ void Pack32::Vec3UnpackUnitVecScaleBased(const uint32_t in, float* out)
|
||||
|
||||
void Pack32::Vec3UnpackUnitVecThirdBased(const uint32_t in, float* out)
|
||||
{
|
||||
PackUtil32 v0{ (in >> 0) & 0x3FF };
|
||||
PackUtil32 v1{ (in >> 10) & 0x3FF };
|
||||
PackUtil32 v2{ (in >> 20) & 0x3FF };
|
||||
PackUtil32 v0{(in >> 0) & 0x3FF};
|
||||
PackUtil32 v1{(in >> 10) & 0x3FF};
|
||||
PackUtil32 v2{(in >> 20) & 0x3FF};
|
||||
|
||||
v0.u = v0.u - 2 * (v0.u & 0x200) + 0x40400000;
|
||||
v1.u = v1.u - 2 * (v1.u & 0x200) + 0x40400000;
|
||||
|
@ -15,4 +15,4 @@ public:
|
||||
static void Vec3UnpackUnitVecScaleBased(uint32_t in, float* out);
|
||||
static void Vec3UnpackUnitVecThirdBased(uint32_t in, float* out);
|
||||
static void Vec4UnpackGfxColor(uint32_t in, float* out);
|
||||
};
|
||||
};
|
||||
|
@ -11,4 +11,4 @@ class QuatInt16
|
||||
public:
|
||||
static quat_int_16 ToInt16(float quat);
|
||||
static float ToFloat(quat_int_16 quat);
|
||||
};
|
||||
};
|
||||
|
@ -38,4 +38,4 @@
|
||||
#define gcc_align(x) __attribute__((__aligned__(x)))
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
@ -25,4 +25,4 @@ constexpr uint16_t SCR_STRING_MAX = UINT16_MAX;
|
||||
|
||||
typedef int block_t;
|
||||
typedef int asset_type_t;
|
||||
typedef unsigned int zone_priority_t;
|
||||
typedef unsigned int zone_priority_t;
|
||||
|
Reference in New Issue
Block a user