Update asset-related core files
This commit is contained in:
parent
f149b66322
commit
39853c77fe
@ -1 +0,0 @@
|
||||
#include "assetlist.h"
|
||||
@ -1,14 +0,0 @@
|
||||
#ifndef ASSETLIST_H
|
||||
#define ASSETLIST_H
|
||||
|
||||
#include "xasset.h"
|
||||
#include "scriptstringlist.h"
|
||||
|
||||
struct XAssetList
|
||||
{
|
||||
ScriptStringList stringList;
|
||||
int assetCount;
|
||||
QVector<XAsset> assets;
|
||||
};
|
||||
|
||||
#endif // ASSETLIST_H
|
||||
@ -1,6 +1,7 @@
|
||||
#ifndef ASSETS_H
|
||||
#define ASSETS_H
|
||||
|
||||
#include "xgfxpixelshaderloaddef.h"
|
||||
#include "xmodel.h"
|
||||
#include <QDebug>
|
||||
#include <QObject>
|
||||
@ -211,69 +212,13 @@ struct _XGTEXTURE_DESC
|
||||
_D3DMULTISAMPLE_TYPE MultiSampleType;
|
||||
};
|
||||
|
||||
struct GfxImageLoadDef;
|
||||
|
||||
struct GfxTexture
|
||||
{
|
||||
qint32 basemapPtr;
|
||||
D3DBaseTexture *basemap;
|
||||
qint32 mapPtr;
|
||||
D3DTexture *map;
|
||||
qint32 volmapPtr;
|
||||
D3DVolumeTexture *volmap;
|
||||
qint32 cubemapPtr;
|
||||
D3DCubeTexture *cubemap;
|
||||
qint32 loadDefPtr;
|
||||
GfxImageLoadDef *loadDef;
|
||||
};
|
||||
|
||||
struct GfxImageLoadDef
|
||||
{
|
||||
quint8 levelCount;
|
||||
quint8 flags;
|
||||
qint16 dimensions[3];
|
||||
int format;
|
||||
GfxTexture texture;
|
||||
};
|
||||
|
||||
struct CardMemory
|
||||
{
|
||||
int platform[1];
|
||||
};
|
||||
|
||||
struct GfxImage
|
||||
{
|
||||
MapType mapType;
|
||||
GfxTexture texture;
|
||||
quint8 semantic;
|
||||
CardMemory cardMemory;
|
||||
quint16 width;
|
||||
quint16 height;
|
||||
quint16 depth;
|
||||
quint8 category;
|
||||
bool delayLoadPixels;
|
||||
qint32 pixelsPtr;
|
||||
QVector<quint8> pixels;
|
||||
uint baseSize;
|
||||
quint16 streamSlot;
|
||||
bool streaming;
|
||||
qint32 namePtr;
|
||||
QString name;
|
||||
};
|
||||
|
||||
|
||||
union MaterialPixelShaderProgram
|
||||
{
|
||||
qint32 psPtr;
|
||||
D3DPixelShader ps;
|
||||
GfxPixelShaderLoadDef loadDef;
|
||||
};
|
||||
|
||||
struct stream_source_info_t
|
||||
{
|
||||
quint16 Stream;
|
||||
quint16 Offset;
|
||||
uint Type;
|
||||
XD3DPixelShader ps;
|
||||
XGfxPixelShaderLoadDef loadDef;
|
||||
};
|
||||
|
||||
struct __declspec(align(4)) XMALOOPREGION
|
||||
@ -511,38 +456,6 @@ struct MaterialTechniqueSet
|
||||
MaterialTechnique *techniques[26];
|
||||
};
|
||||
|
||||
struct XModel
|
||||
{
|
||||
const char *name;
|
||||
quint8 numBones;
|
||||
quint8 numRootBones;
|
||||
quint8 numsurfs;
|
||||
quint8 lodRampType;
|
||||
quint16 *boneNames;
|
||||
quint8 *parentList;
|
||||
qint16 *quats;
|
||||
float *trans;
|
||||
quint8 *partClassification;
|
||||
DObjAnimMat *baseMat;
|
||||
XSurface *surfs;
|
||||
Material **materialHandles;
|
||||
XModelLodInfo lodInfo[4];
|
||||
XModelCollSurf *collSurfs;
|
||||
int numCollSurfs;
|
||||
int contents;
|
||||
XBoneInfo *boneInfo;
|
||||
float radius;
|
||||
float mins[3];
|
||||
float maxs[3];
|
||||
qint16 numLods;
|
||||
qint16 collLod;
|
||||
XModelStreamInfo streamInfo;
|
||||
int memUsage;
|
||||
quint8 flags;
|
||||
PhysPreset *physPreset;
|
||||
PhysGeomList *physGeoms;
|
||||
};
|
||||
|
||||
struct XModelPiece
|
||||
{
|
||||
XModel *model;
|
||||
@ -762,7 +675,7 @@ struct CollisionAabbTree
|
||||
CollisionAabbTreeIndex u;
|
||||
};
|
||||
|
||||
struct CModel
|
||||
struct XCModel
|
||||
{
|
||||
float mins[3];
|
||||
float maxs[3];
|
||||
@ -770,14 +683,14 @@ struct CModel
|
||||
CLeaf leaf;
|
||||
};
|
||||
|
||||
struct CBrush
|
||||
struct XCBrush
|
||||
{
|
||||
float mins[3];
|
||||
int contents;
|
||||
float maxs[3];
|
||||
uint numsides;
|
||||
qint32 sidesPtr;
|
||||
QVector<CBrushSide> sides;
|
||||
QVector<XCBrushSide> sides;
|
||||
qint16 axialMaterialNum[2][3];
|
||||
qint32 baseAdjacentSidePtr;
|
||||
quint8 baseAdjacentSide;
|
||||
@ -2872,36 +2785,17 @@ struct FxImpactTable
|
||||
QVector<FxImpactEntry> table;
|
||||
};
|
||||
|
||||
struct RawFile
|
||||
{
|
||||
qint32 namePtr;
|
||||
QString name;
|
||||
int len;
|
||||
qint32 bufferPtr;
|
||||
QString buffer;
|
||||
};
|
||||
|
||||
struct StringTable
|
||||
{
|
||||
qint32 namePtr;
|
||||
QString name;
|
||||
int columnCount;
|
||||
int rowCount;
|
||||
qint32 valuesPtr;
|
||||
QStringList values;
|
||||
};
|
||||
|
||||
union XAssetHeader
|
||||
{
|
||||
XModelPieces *xmodelPieces;
|
||||
PhysPreset *physPreset;
|
||||
XPhysPreset *physPreset;
|
||||
XAnimParts *parts;
|
||||
XModel *model;
|
||||
Material *material;
|
||||
MaterialPixelShader *pixelShader;
|
||||
MaterialVertexShader *vertexShader;
|
||||
XMaterial *material;
|
||||
XMaterialPixelShader *pixelShader;
|
||||
XMaterialVertexShader *vertexShader;
|
||||
MaterialTechniqueSet *techniqueSet;
|
||||
GfxImage *image;
|
||||
XGfxImage *image;
|
||||
SoundAliasList *sound;
|
||||
SndCurve *sndCurve;
|
||||
LoadedSound *loadSnd;
|
||||
@ -2920,300 +2814,9 @@ union XAssetHeader
|
||||
XSoundDriverGlobals *sndDriverGlobals;
|
||||
const FxEffectDef *fx;
|
||||
FxImpactTable *impactFx;
|
||||
RawFile *rawfile;
|
||||
StringTable *stringTable;
|
||||
XRawFile *rawfile;
|
||||
XStringTable *stringTable;
|
||||
void *data;
|
||||
};
|
||||
|
||||
struct StreamDelayInfo
|
||||
{
|
||||
const void *ptr;
|
||||
int size;
|
||||
};
|
||||
|
||||
class Assets : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit Assets(QObject *parent = nullptr);
|
||||
~Assets();
|
||||
|
||||
private:
|
||||
QVector<Glyph> Load_GlyphArray(QDataStream *aStream, int count);
|
||||
QVector<GfxLightRegionAxis> Load_GfxLightRegionAxisArray(QDataStream *aStream, int count);
|
||||
QVector<GfxDrawSurf> Load_GfxDrawSurfArray(QDataStream *aStream, int count);
|
||||
QVector<GfxSceneDynBrush> Load_GfxSceneDynBrushArray(QDataStream *aStream, int count);
|
||||
QVector<GfxSceneDynModel> Load_GfxSceneDynModelArray(QDataStream *aStream, int count);
|
||||
QVector<GfxStreamingAabbTree> Load_GfxStreamingAabbTreeArray(QDataStream *aStream, int count);
|
||||
GfxLightGridColors Load_GfxLightGridColors(QDataStream *aStream);
|
||||
QVector<GfxLightGridColors> Load_GfxLightGridColorsArray(QDataStream *aStream, int count);
|
||||
QVector<GfxLightGridEntry> Load_GfxLightGridEntryArray(QDataStream *aStream, int count);
|
||||
QVector<GfxCullGroup> Load_GfxCullGroupArray(QDataStream *aStream, int count);
|
||||
QVector<quint16> Load_StaticModelIndexArray(QDataStream *aStream, int count);
|
||||
QVector<GfxStaticModelInst> Load_GfxStaticModelInstArray(QDataStream *aStream, int count);
|
||||
XItemKeyHandler Load_ItemKeyHandler(QDataStream *aStream);
|
||||
XItemKeyHandler Load_ItemKeyHandlerNext(QDataStream *aStream);
|
||||
XEditFieldDef Load_EditFieldDef(QDataStream *aStream);
|
||||
OperationEnum Load_Operator(QDataStream *aStream);
|
||||
QVector<quint16> Load_LeafBrushArray(QDataStream *aStream, int count);
|
||||
CLeaf Load_CLeaf(QDataStream *aStream);
|
||||
QVector<CModel> Load_CModelArray(QDataStream *aStream, int count);
|
||||
QVector<CollisionAabbTree> Load_CollisionAabbTreeArray(QDataStream *aStream, int count);
|
||||
CollisionBorder Load_CollisionBorder(QDataStream *aStream);
|
||||
QVector<CollisionBorder> Load_CollisionBorderArray(QDataStream *aStream, int count);
|
||||
CLeafBrushNodeChildren Load_cLeafBrushNodeChildren_t(QDataStream *aStream);
|
||||
QVector<CLeaf> Load_cLeaf_tArray(QDataStream *aStream, int count);
|
||||
QVector<DynEntityClient> Load_DynEntityClientArray(QDataStream *aStream, int count);
|
||||
QVector<DynEntityPose> Load_DynEntityPoseArray(QDataStream *aStream, int count);
|
||||
QVector<DynEntityColl> Load_DynEntityCollArray(QDataStream *aStream, int count);
|
||||
QVector<FxTrailVertex> Load_FxTrailVertexArray(QDataStream *aStream, int count);
|
||||
QVector<FxElemVelStateSample> Load_FxElemVelStateSampleArray(QDataStream *aStream, int count);
|
||||
QVector<FxElemVisStateSample> Load_FxElemVisStateSampleArray(QDataStream *aStream, int count);
|
||||
QVector<PathBaseNode> Load_pathbasenode_tArray(QDataStream *aStream, int count);
|
||||
QVector<PathLink> Load_pathlink_tArray(QDataStream *aStream, int count);
|
||||
QVector<XModelHighMipBounds> Load_XModelHighMipBoundsArray(QDataStream *aStream, int count);
|
||||
XModelCollSurf Load_XModelCollSurf(QDataStream *aStream);
|
||||
quint8 Load_cbrushedge_t(QDataStream *aStream);
|
||||
QVector<quint8> Load_cbrushedge_tArray(QDataStream *aStream, size_t count);
|
||||
CPlane Load_cplane_t(QDataStream *aStream);
|
||||
CPlane Load_CPlane(QDataStream *aStream);
|
||||
QVector<CPlane> Load_cplane_tArray(QDataStream *aStream, int count);
|
||||
QVector<MaterialConstantDef> Load_MaterialConstantDefArray(QDataStream *aStream, int count);
|
||||
QVector<GfxStateBits> Load_GfxStateBitsArray(QDataStream *aStream, int count);
|
||||
MaterialArgumentCodeConst Load_MaterialArgumentCodeConst(QDataStream *aStream);
|
||||
MaterialVertexDeclaration Load_MaterialVertexDeclaration(QDataStream *aStream);
|
||||
QVector<quint8> Load_byteShaderArray(QDataStream *aStream, size_t count);
|
||||
QVector<quint8> Load_byte4Array(QDataStream *aStream, size_t count);
|
||||
QVector<GfxTexture> Load_GfxRawTextureArray(QDataStream *aStream, int count);
|
||||
D3DCubeTexture Load_IDirect3DCubeTexture9(QDataStream *aStream);
|
||||
D3DVolumeTexture Load_IDirect3DVolumeTexture9(QDataStream *aStream);
|
||||
D3DTexture Load_IDirect3DTexture9(QDataStream *aStream);
|
||||
QVector<quint16> Load_r_index16_tArray(QDataStream *aStream, int count);
|
||||
QVector<quint16> Load_r_index_tArray(QDataStream *aStream, int count);
|
||||
D3DIndexBuffer Load_GfxIndexBuffer(QDataStream *aStream);
|
||||
QVector<quint16> Load_XBlendInfoArray(QDataStream *aStream, int count);
|
||||
D3DVertexBuffer Load_GfxVertexBuffer(QDataStream *aStream);
|
||||
QVector<XSurfaceCollisionNode> Load_XSurfaceCollisionNodeArray(QDataStream *aStream, int count);
|
||||
QVector<XSurfaceCollisionLeaf> Load_XSurfaceCollisionLeafArray(QDataStream *aStream, int count);
|
||||
QVector<GfxBrushModel> Load_GfxBrushModelArray(QDataStream *aStream, int count);
|
||||
QVector<GfxPackedVertex> Load_GfxPackedVertex0Array(QDataStream *aStream, int count);
|
||||
void Load_GfxWorldVertex0Array(QDataStream *aStream, int count);
|
||||
QVector<XAUDIOCHANNELMAPENTRY> Load_XAUDIOCHANNELMAPENTRYArray(QDataStream *aStream, int count);
|
||||
StreamFileNamePacked Load_StreamFileNamePacked(QDataStream *aStream);
|
||||
QVector<XAudioReverbSettings> Load_XaReverbSettingsArray(QDataStream *aStream, int count);
|
||||
QVector<char> Load_char2048Array(QDataStream *aStream, size_t count);
|
||||
QVector<DObjAnimMat> Load_DObjAnimMatArray(QDataStream *aStream, int count);
|
||||
QVector<XBoneInfo> Load_XBoneInfoArray(QDataStream *aStream, int count);
|
||||
QVector<QVector<quint16>> Load_UShortVecArray(QDataStream *aStream, int count);
|
||||
QVector<QVector<quint8>> Load_ByteVecArray(QDataStream *aStream, int count);
|
||||
QVector<dmaterial_t> Load_dmaterial_tArray(QDataStream *aStream, int count);
|
||||
QVector<const char> Load_ConstCharArray(QDataStream *aStream, size_t count);
|
||||
quint16 Load_ScriptString(QDataStream *aStream);
|
||||
QVector<quint16> Load_UnsignedShortArray(QDataStream *aStream, int count);
|
||||
QVector<qint16> Load_XQuat2(QDataStream *aStream);
|
||||
QVector<QVector<quint16>> Load_XQuat2Array(QDataStream *aStream, int count);
|
||||
QVector<ushort> Load_ushortArray(QDataStream *aStream, int count);
|
||||
QVector<short> Load_shortArray(QDataStream *aStream, int count);
|
||||
QVector<float> Load_vec3_t(QDataStream *aStream);
|
||||
QVector<QVector<float>> Load_vec3_tArray(QDataStream *aStream, int count);
|
||||
QVector<QVector<float>> Load_vec2_tArray(QDataStream *aStream, int count);
|
||||
QVector<quint16> Load_raw_byte16Array(QDataStream *aStream, size_t count);
|
||||
QVector<quint8> Load_raw_byteArray(QDataStream *aStream, size_t count);
|
||||
QVector<uint> Load_raw_uint128Array(QDataStream *aStream, int count);
|
||||
QVector<uint> Load_raw_uintArray(QDataStream *aStream, int count);
|
||||
float Load_float(QDataStream *aStream);
|
||||
QVector<float> Load_floatArray(QDataStream *aStream, int count);
|
||||
uint Load_uint(QDataStream *aStream);
|
||||
QVector<uint> Load_uintArray(QDataStream *aStream, int count);
|
||||
QVector<_DWORD> Load_DWORDArray(QDataStream *aStream, int count);
|
||||
QVector<quint8> Load_byte4096Array(QDataStream *aStream, size_t count);
|
||||
int Load_int(QDataStream *aStream);
|
||||
QVector<int> Load_intArray(QDataStream *aStream, int count);
|
||||
char Load_char(QDataStream *aStream);
|
||||
QVector<char> Load_charArray(QDataStream *aStream, size_t count);
|
||||
QVector<quint8> Load_byteArray(QDataStream *aStream, size_t count);
|
||||
GfxWorldDpvsPlanes Load_GfxWorldDpvsPlanes(QDataStream *aStream, GfxWorld aGfxWorld);
|
||||
GfxWorldDpvsDynamic Load_GfxWorldDpvsDynamic(QDataStream *aStream, GfxWorld aGfxWorld);
|
||||
GfxLightRegionHull Load_GfxLightRegionHull(QDataStream *aStream);
|
||||
quint16 __ROL4__(quint16 value, quint16 bits);
|
||||
GfxShadowGeometry Load_GfxShadowGeometry(QDataStream *aStream);
|
||||
GfxWorldStreamInfo Load_GfxWorldStreamInfo(QDataStream *aStream);
|
||||
GfxLightGrid Load_GfxLightGrid(QDataStream *aStream);
|
||||
GfxWorldVertexLayerData Load_GfxWorldVertexLayerData(QDataStream *aStream, GfxWorld aGfxWorld);
|
||||
GfxWorldVertexData Load_GfxWorldVertexData(QDataStream *aStream, GfxWorld aGfxWorld);
|
||||
GfxAabbTree Load_GfxAabbTree(QDataStream *aStream);
|
||||
QVector<GfxAabbTree> Load_GfxAabbTreeArray(QDataStream *aStream, int count);
|
||||
GfxCell Load_GfxCell(QDataStream *aStream);
|
||||
GfxPortal Load_GfxPortal(QDataStream *aStream);
|
||||
QVector<GfxPortal> Load_GfxPortalArray(QDataStream *aStream, int count);
|
||||
QString Load_XStringCustom(QDataStream *aStream);
|
||||
QString Load_XString(QDataStream *aStream);
|
||||
RawFile Load_RawFile(QDataStream *aStream);
|
||||
XLocalizeEntry Load_LocalizeEntry(QDataStream *aStream);
|
||||
void Load_operandInternalDataUnion(QDataStream *aStream);
|
||||
XComPrimaryLight Load_ComPrimaryLight(QDataStream *aStream);
|
||||
CollisionPartition Load_CollisionPartition(QDataStream *aStream);
|
||||
CLeafBrushNodeLeaf Load_CLeafBrushNodeLeaf(QDataStream *aStream, int leafBrushCount);
|
||||
CLeafBrushNodeData Load_CLeafBrushNodeData(QDataStream *aStream, int aNodeCount);
|
||||
MapEnts Load_MapEnts(QDataStream *aStream);
|
||||
FxTrailDef Load_FxTrailDef(QDataStream *aStream);
|
||||
FxEffectDefRef Load_FxEffectDefRef(QDataStream *aStream);
|
||||
GameWorldMp Load_GameWorldMp(QDataStream *aStream);
|
||||
QVector<PathNodeTree> LoadPathNodeTreeArray(QDataStream *aStream, int count);
|
||||
PathNodeTreeNodes Load_PathNodeTreeNodes(QDataStream *aStream);
|
||||
PathNodeConstant Load_PathNodeConstant(QDataStream *aStream);
|
||||
QVector<XModelCollSurf> Load_XModelCollSurfArray(QDataStream *aStream, int count);
|
||||
PhysPreset Load_PhysPreset(QDataStream *aStream);
|
||||
MaterialArgumentDef Load_MaterialArgumentDef(QDataStream *aStream, MaterialShaderArgument aArgument);
|
||||
GfxPixelShaderLoadDef Load_GfxPixelShaderLoadDef(QDataStream *aStream);
|
||||
GfxVertexShaderLoadDef Load_GfxVertexShaderLoadDef(QDataStream *aStream);
|
||||
QVector<quint8> Load_GfxImagePixels(QDataStream *aStream, GfxImage aGfxImage);
|
||||
GfxTexture Load_GfxTexture(QDataStream *aStream, GfxTexture aGfxTexture, GfxImageLoadDef aGfxImageLoadDef);
|
||||
XSurfaceVertexInfo Load_XSurfaceVertexInfo(QDataStream *aStream);
|
||||
XSurfaceCollisionTree Load_XSurfaceCollisionTree(QDataStream *aStream);
|
||||
MaterialInfo Load_MaterialInfo(QDataStream *aStream);
|
||||
XAUDIOCHANNELMAP Load_XAUDIOCHANNELMAP(QDataStream *aStream);
|
||||
SndCurve Load_SndCurve(QDataStream *aStream);
|
||||
StreamFileNameRaw Load_StreamFileNameRaw(QDataStream *aStream);
|
||||
XSoundDriverGlobals Load_SndDriverGlobals(QDataStream *aStream);
|
||||
XaSeekTable Load_XaSeekTable(QDataStream *aStream);
|
||||
XAUDIOPACKET_ALIGNED Load_XAUDIOPACKET_ALIGNED(QDataStream *aStream);
|
||||
XAnimNotifyInfo Load_XAnimNotifyInfo(QDataStream *aStream);
|
||||
XAnimDynamicFrames Load_XAnimDynamicFrames(QDataStream *aStream, XAnimPartTrans aXAnimPartTrans, XAnimDynamicIndices aXAnimDynamicIndices, XAnimDynamicFrames aXAnimDynamicFrames);
|
||||
XAnimDynamicIndices Load_XAnimDynamicIndicesTrans(QDataStream *aStream, XAnimParts aXAnimParts, XAnimPartTrans aXAnimPartTrans);
|
||||
XAnimDynamicIndices Load_XAnimDynamicIndicesDeltaQuat(QDataStream *aStream);
|
||||
XAnimIndices Load_XAnimIndices(QDataStream *aStream, XAnimParts aXAnimParts, XAnimIndices aXAnimIndices);
|
||||
QStringList Load_XStringArray(QDataStream *aStream, int count);
|
||||
QVector<quint16> Load_ScriptStringArray(QDataStream *aStream, int count);
|
||||
QVector<GfxLightRegionHull> Load_GfxLightRegionHullArray(QDataStream *aStream, int count);
|
||||
QVector<GfxShadowGeometry> Load_GfxShadowGeometryArray(QDataStream *aStream, int count);
|
||||
StringTable Load_StringTable(QDataStream *aStream);
|
||||
RawFile Load_RawFilePtr(QDataStream *aStream);
|
||||
void Load_LocalizeEntryPtr(QDataStream *aStream);
|
||||
XMultiDef Load_MultiDef(QDataStream *aStream);
|
||||
XOperand Load_Operand(QDataStream *aStream);
|
||||
QVector<XComPrimaryLight> Load_ComPrimaryLightArray(QDataStream *aStream, int count);
|
||||
CBrushSide Load_cbrushside_t(QDataStream *aStream);
|
||||
CBrush Load_CBrush(QDataStream *aStream);
|
||||
QVector<CollisionPartition> Load_CollisionPartitionArray(QDataStream *aStream, int count);
|
||||
CLeafBrushNode Load_CLeafBrushNode(QDataStream *aStream);
|
||||
QVector<cNode_t> Load_cNode_tArray(QDataStream *aStream, int count);
|
||||
void Load_MapEntsPtr(QDataStream *aStream);
|
||||
void Load_GameWorldMpPtr(QDataStream *aStream);
|
||||
void Load_pathnode_tree_info_t(QDataStream *aStream);
|
||||
void Load_pathnode_t(QDataStream *aStream);
|
||||
void Load_cbrushside_tArray(QDataStream *aStream, int count);
|
||||
void Load_PhysPresetPtr(QDataStream *aStream);
|
||||
MaterialShaderArgument Load_MaterialShaderArgument(QDataStream *aStream);
|
||||
MaterialPixelShaderProgram Load_MaterialPixelShaderProgram(QDataStream *aStream);
|
||||
void Load_MaterialVertexShaderProgram(QDataStream *aStream);
|
||||
GfxImageLoadDef Load_GfxImageLoadDef(QDataStream *aStream);
|
||||
GfxTexture Load_GfxTextureLoad(QDataStream *aStream);
|
||||
XRigidVertList Load_XRigidVertList(QDataStream *aStream);
|
||||
void Load_snd_alias_list_name(QDataStream *aStream);
|
||||
QVector<XAUDIOCHANNELMAP> Load_XAUDIOCHANNELMAPArray(QDataStream *aStream, int count);
|
||||
SndCurve Load_SndCurvePtr(QDataStream *aStream);
|
||||
void Load_StreamFileInfo(QDataStream *aStream);
|
||||
void Load_SndDriverGlobalsPtr(QDataStream *aStream);
|
||||
XaSound Load_XaSound(QDataStream *aStream);
|
||||
QVector<XAnimNotifyInfo> Load_XAnimNotifyInfoArray(QDataStream *aStream, int count);
|
||||
void Load_XAnimPartTransFrames(QDataStream *aStream);
|
||||
void Load_XAnimDeltaPartQuatDataFrames(QDataStream *aStream);
|
||||
void Load_TempStringArray(QDataStream *aStream, int count);
|
||||
GfxLightRegion Load_GfxLightRegion(QDataStream *aStream);
|
||||
StringTable Load_StringTablePtr(QDataStream *aStream);
|
||||
void Load_entryInternalData(QDataStream *aStream);
|
||||
ComWorld Load_ComWorld(QDataStream *aStream);
|
||||
QVector<CBrush> Load_cbrush_tArray(QDataStream *aStream, int count);
|
||||
QVector<CLeafBrushNode> Load_cLeafBrushNode_tArray(QDataStream *aStream, int count);
|
||||
PathNodeTree Load_PathNodeTree(QDataStream *aStream);
|
||||
void Load_pathnode_tArray(QDataStream *aStream, int count);
|
||||
BrushWrapper Load_BrushWrapper(QDataStream *aStream);
|
||||
void Load_MaterialShaderArgumentArray(QDataStream *aStream, int count);
|
||||
MaterialPixelShader Load_MaterialPixelShader(QDataStream *aStream);
|
||||
void Load_MaterialVertexShader(QDataStream *aStream);
|
||||
GfxImage Load_GfxImage(QDataStream *aStream);
|
||||
void Load_XRigidVertListArray(QDataStream *aStream, int count);
|
||||
void Load_snd_alias_list_nameArray(QDataStream *aStream, int count);
|
||||
void Load_SpeakerMapChannel(QDataStream *aStream);
|
||||
void Load_LoadedSound(QDataStream *aStream);
|
||||
void Load_StreamFileName(QDataStream *aStream);
|
||||
void Load_XAnimPartTransData(QDataStream *aStream);
|
||||
void Load_XAnimDeltaPartQuatData(QDataStream *aStream);
|
||||
void Load_ScriptStringList(QDataStream *aStream);
|
||||
void Load_GfxLightRegionArray(QDataStream *aStream, int count);
|
||||
void Load_GfxCellArray(QDataStream *aStream, int count);
|
||||
void Load_expressionEntry(QDataStream *aStream);
|
||||
void Load_ComWorldPtr(QDataStream *aStream);
|
||||
void Load_pathnode_tree_tArray(QDataStream *aStream, int count);
|
||||
void Load_MaterialPixelShaderPtr(QDataStream *aStream);
|
||||
void Load_GfxImagePtr(QDataStream *aStream);
|
||||
void Load_XSurface(QDataStream *aStream);
|
||||
void Load_SpeakerMapChannelArray(QDataStream *aStream, int count);
|
||||
void Load_StreamedSound(QDataStream *aStream);
|
||||
void Load_LoadedSoundPtr(QDataStream *aStream);
|
||||
void Load_XAnimPartTrans(QDataStream *aStream);
|
||||
void Load_XAnimDeltaPartQuat(QDataStream *aStream);
|
||||
void Load_GfxReflectionProbe(QDataStream *aStream);
|
||||
void Load_PathData(QDataStream *aStream);
|
||||
void Load_PhysGeomInfoArray(QDataStream *aStream, int count);
|
||||
void Load_GfxLightmapArray(QDataStream *aStream);
|
||||
void Load_GfxLightImage(QDataStream *aStream);
|
||||
void Load_MaterialVertexShaderPtrArray(QDataStream *aStream, int count);
|
||||
void Load_water_t(QDataStream *aStream);
|
||||
void Load_XSurfaceArray(QDataStream *aStream, int count);
|
||||
void Load_SpeakerMap(QDataStream *aStream);
|
||||
void Load_SoundFileRef(QDataStream *aStream);
|
||||
void Load_XAnimDeltaPart(QDataStream *aStream);
|
||||
void Load_GfxReflectionProbeArray(QDataStream *aStream, int count);
|
||||
void Load_expressionEntry_ptrArray(QDataStream *aStream, int count);
|
||||
void Load_GameWorldSp(QDataStream *aStream);
|
||||
void Load_PhysGeomList(QDataStream *aStream);
|
||||
void Load_GfxLightmapArrayArray(QDataStream *aStream, int count);
|
||||
void Load_GfxLightDef(QDataStream *aStream);
|
||||
void Load_MaterialTextureDefInfo(QDataStream *aStream);
|
||||
void Load_MaterialPass(QDataStream *aStream);
|
||||
void Load_SoundFile(QDataStream *aStream);
|
||||
void Load_XAnimParts(QDataStream *aStream);
|
||||
void Load_statement(QDataStream *aStream);
|
||||
void Load_GameWorldSpPtr(QDataStream *aStream);
|
||||
void Load_GfxLightDefPtr(QDataStream *aStream);
|
||||
void Load_MaterialTextureDef(QDataStream *aStream);
|
||||
void Load_MaterialPassArray(QDataStream *aStream, int count);
|
||||
void Load_snd_alias_t(QDataStream *aStream);
|
||||
void Load_XAnimPartsPtr(QDataStream *aStream);
|
||||
void Load_GfxLight(QDataStream *aStream);
|
||||
void Load_MaterialTextureDefArray(QDataStream *aStream, int count);
|
||||
void Load_MaterialTechnique(QDataStream *aStream);
|
||||
void Load_snd_alias_tArray(QDataStream *aStream, int count);
|
||||
void Load_snd_alias_list_t(QDataStream *aStream);
|
||||
void Load_MaterialTechniquePtrArray(QDataStream *aStream, int count);
|
||||
void Load_snd_alias_list_ptr(QDataStream *aStream);
|
||||
void Load_MaterialTechniqueSet(QDataStream *aStream);
|
||||
void Load_MaterialTechniqueSetPtr(QDataStream *aStream);
|
||||
void Load_Material(QDataStream *aStream);
|
||||
void Load_MaterialHandle(QDataStream *aStream);
|
||||
void Load_Font(QDataStream *aStream);
|
||||
void Load_MaterialMemory(QDataStream *aStream);
|
||||
void Load_sunflare_t(QDataStream *aStream);
|
||||
void Load_windowDef_t(QDataStream *aStream);
|
||||
void Load_listBoxDef_t(QDataStream *aStream);
|
||||
void Load_GfxSurface(QDataStream *aStream);
|
||||
void Load_MaterialHandleArray(QDataStream *aStream, int count);
|
||||
void Load_FontHandle(QDataStream *aStream);
|
||||
void Load_MaterialMemoryArray(QDataStream *aStream, int count);
|
||||
void Load_Window(QDataStream *aStream);
|
||||
void Load_FxElemMarkVisuals(QDataStream *aStream);
|
||||
void Load_XModel(QDataStream *aStream);
|
||||
void Load_GfxSurfaceArray(QDataStream *aStream, int count);
|
||||
void Load_itemDefData_t(QDataStream *aStream);
|
||||
void Load_FxElemMarkVisualsArray(QDataStream *aStream, int count);
|
||||
void Load_XModelPtr(QDataStream *aStream);
|
||||
void Load_GfxStaticModelDrawInst(QDataStream *aStream);
|
||||
void Load_itemDef_t(QDataStream *aStream);
|
||||
void Load_cStaticModel_t(QDataStream *aStream);
|
||||
void Load_FxElemVisuals(QDataStream *aStream);
|
||||
void Load_XModelPiece(QDataStream *aStream);
|
||||
};
|
||||
|
||||
#endif // ASSETS_H
|
||||
|
||||
@ -5,81 +5,12 @@
|
||||
#include "gfxlightdef.h"
|
||||
#include "xmodel.h"
|
||||
|
||||
struct GfxStreamingAabbTree
|
||||
{
|
||||
unsigned __int16 firstItem;
|
||||
unsigned __int16 itemCount;
|
||||
unsigned __int16 firstChild;
|
||||
unsigned __int16 childCount;
|
||||
float mins[3];
|
||||
float maxs[3];
|
||||
};
|
||||
|
||||
struct GfxWorldStreamInfo
|
||||
{
|
||||
int aabbTreeCount;
|
||||
GfxStreamingAabbTree *aabbTrees;
|
||||
int leafRefCount;
|
||||
int *leafRefs;
|
||||
};
|
||||
|
||||
struct GfxWorldVertex
|
||||
{
|
||||
float xyz[3];
|
||||
float binormalSign;
|
||||
GfxColor color;
|
||||
float texCoord[2];
|
||||
float lmapCoord[2];
|
||||
PackedUnitVec normal;
|
||||
PackedUnitVec tangent;
|
||||
};
|
||||
|
||||
struct GfxWorldVertexData
|
||||
{
|
||||
GfxWorldVertex *vertices;
|
||||
D3DVertexBuffer worldVb;
|
||||
};
|
||||
|
||||
struct GfxWorldVertexLayerData
|
||||
{
|
||||
unsigned __int8 *data;
|
||||
D3DVertexBuffer layerVb;
|
||||
};
|
||||
|
||||
struct SunLightParseParams
|
||||
{
|
||||
char name[64];
|
||||
float ambientScale;
|
||||
float ambientColor[3];
|
||||
float diffuseFraction;
|
||||
float sunLight;
|
||||
float sunColor[3];
|
||||
float diffuseColor[3];
|
||||
bool diffuseColorHasBeenSet;
|
||||
float angles[3];
|
||||
};
|
||||
|
||||
struct GfxLight
|
||||
{
|
||||
unsigned __int8 type;
|
||||
unsigned __int8 canUseShadowMap;
|
||||
unsigned __int8 unused[2];
|
||||
float color[3];
|
||||
float dir[3];
|
||||
float origin[3];
|
||||
float radius;
|
||||
float cosHalfFovOuter;
|
||||
float cosHalfFovInner;
|
||||
int exponent;
|
||||
unsigned int spotShadowIndex;
|
||||
XGfxLightDef *def;
|
||||
};
|
||||
|
||||
struct GfxReflectionProbe
|
||||
{
|
||||
float origin[3];
|
||||
GfxImage *reflectionImage;
|
||||
};
|
||||
|
||||
struct GfxWorldDpvsPlanes
|
||||
{
|
||||
|
||||
@ -1,115 +1,29 @@
|
||||
#ifndef MATERIALTECHSET_H
|
||||
#define MATERIALTECHSET_H
|
||||
|
||||
#include "xd3dresource.h"
|
||||
#include "materialpixelshader.h"
|
||||
#include "xasset.h"
|
||||
|
||||
#include "QString"
|
||||
#include "qobject.h"
|
||||
#include <QVector>
|
||||
|
||||
struct MaterialStreamRouting
|
||||
class XMaterialTechnique;
|
||||
|
||||
class XMaterialTechSet : public XAsset
|
||||
{
|
||||
quint8 source;
|
||||
quint8 dest;
|
||||
};
|
||||
public:
|
||||
explicit XMaterialTechSet();
|
||||
|
||||
struct D3DVertexDeclaration : D3DResource
|
||||
{
|
||||
};
|
||||
virtual void ParseData(QDataStream* aStream) override;
|
||||
virtual void Clear() override;
|
||||
|
||||
struct MaterialVertexStreamRouting
|
||||
{
|
||||
MaterialStreamRouting data[16];
|
||||
D3DVertexDeclaration decl[15];
|
||||
};
|
||||
private:
|
||||
QString mName;
|
||||
int mWorldVertFormat;
|
||||
|
||||
struct MaterialVertexDeclaration
|
||||
{
|
||||
int streamCount;
|
||||
bool hasOptionalSource;
|
||||
MaterialVertexStreamRouting routing;
|
||||
};
|
||||
qint32 mRemappedPtr;
|
||||
XMaterialTechSet* mRemappedTechniqueSet;
|
||||
|
||||
struct D3DVertexShader : D3DResource
|
||||
{
|
||||
};
|
||||
|
||||
struct GfxVertexShaderLoadDef
|
||||
{
|
||||
qint32 cachedPartPtr;
|
||||
QVector<int> cachedPart;
|
||||
qint32 physicalPartPtr;
|
||||
QVector<int> physicalPart;
|
||||
int cachedPartSize;
|
||||
int physicalPartSize;
|
||||
};
|
||||
|
||||
struct MaterialVertexShaderProgram
|
||||
{
|
||||
std::shared_ptr<D3DVertexShader> vertexShader;
|
||||
GfxVertexShaderLoadDef loadDef;
|
||||
};
|
||||
|
||||
struct MaterialVertexShader
|
||||
{
|
||||
QString name;
|
||||
MaterialVertexShaderProgram prog;
|
||||
};
|
||||
|
||||
struct MaterialArgumentCodeConst
|
||||
{
|
||||
int index;
|
||||
int firstRow;
|
||||
int rowCount;
|
||||
};
|
||||
|
||||
struct MaterialArgumentDef
|
||||
{
|
||||
const float *literalConst;
|
||||
MaterialArgumentCodeConst codeConst;
|
||||
unsigned int codeSampler;
|
||||
unsigned int nameHash;
|
||||
};
|
||||
|
||||
struct MaterialShaderArgument
|
||||
{
|
||||
int type;
|
||||
int dest;
|
||||
MaterialArgumentDef u;
|
||||
};
|
||||
|
||||
struct MaterialPass
|
||||
{
|
||||
std::shared_ptr<MaterialVertexDeclaration> vertexDecl;
|
||||
QVector<std::shared_ptr<MaterialVertexShader>> vertexShaderArray;
|
||||
std::shared_ptr<MaterialVertexShader> vertexShader;
|
||||
std::shared_ptr<MaterialPixelShader> pixelShader;
|
||||
int perPrimArgCount;
|
||||
int perObjArgCount;
|
||||
int stableArgCount;
|
||||
int customSamplerFlags;
|
||||
int precompiledIndex;
|
||||
std::shared_ptr<MaterialShaderArgument> args;
|
||||
};
|
||||
|
||||
struct MaterialTechnique
|
||||
{
|
||||
QString *name;
|
||||
int flags;
|
||||
int passCount;
|
||||
QVector<std::shared_ptr<MaterialPass>> passArray;
|
||||
};
|
||||
|
||||
struct MaterialTechSet
|
||||
{
|
||||
QString name;
|
||||
int worldVertFormat;
|
||||
|
||||
qint32 remappedPtr;
|
||||
std::shared_ptr<MaterialTechSet> remappedTechniqueSet;
|
||||
|
||||
QVector<qint32> techPtrs;
|
||||
QVector<std::shared_ptr<MaterialTechnique>> techniques;
|
||||
QVector<qint32> mTechPtrs;
|
||||
QVector<XMaterialTechnique*> mTechniques;
|
||||
};
|
||||
|
||||
#endif // MATERIALTECHSET_H
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user