feature/test #9

Merged
njohnson merged 318 commits from feature/test into main 2025-09-07 12:35:21 -04:00
5 changed files with 86 additions and 123 deletions
Showing only changes of commit cfa0638b94 - Show all commits

View File

@ -245,31 +245,24 @@ QVector<GfxStaticModelInst> Assets::Load_GfxStaticModelInstArray(QDataStream *aS
// ?Load_ItemKeyHandler@@YAX_N@Z at 0x822a5f68 // ?Load_ItemKeyHandler@@YAX_N@Z at 0x822a5f68
ItemKeyHandler Assets::Load_ItemKeyHandler(QDataStream *aStream) ItemKeyHandler Assets::Load_ItemKeyHandler(QDataStream *aStream)
{ {
ItemKeyHandler itemKeyHandler; ItemKeyHandler result;
ItemKeyHandler itemKeyHandlerNext;
ItemKeyHandler **i; // r11
unsigned __int8 *v2; // r4
*aStream *aStream
>> itemKeyHandler.key >> result.key
>> itemKeyHandler.actionPtr >> result.actionPtr
>> itemKeyHandler.nextPtr; >> result.nextPtr;
itemKeyHandler.action = Load_XString(aStream); if (result.actionPtr == -1) {
result.action = Load_XStringCustom(aStream);
for (ItemKeyHandler i = itemKeyHandler.next; itemKeyHandler.next; i = itemKeyHandler.next )
{
v2 = (unsigned __int8 *)((unsigned int)(g_streamPos + 3) & 0xFFFFFFFC);
g_streamPos = v2;
itemKeyHandlerNext = (ItemKeyHandler *)v2;
*i = (ItemKeyHandler *)v2;
Load_Stream(1, v2, 0xCu);
itemKeyHandler = itemKeyHandlerNext;
Load_Stream(0, varItemKeyHandlerNext, 0xCu);
varXString = &itemKeyHandler->action;
Load_XString(0);
} }
while (result.nextPtr == -1) {
*aStream
>> result.next->key
>> result.next->actionPtr
>> result.next->nextPtr;
}
return result;
} }
typedef ItemKeyHandler ItemKeyHandlerNext; typedef ItemKeyHandler ItemKeyHandlerNext;
@ -277,24 +270,13 @@ typedef ItemKeyHandler ItemKeyHandlerNext;
// ?Load_ItemKeyHandlerNext@@YAX_N@Z at 0x822a4aa0 // ?Load_ItemKeyHandlerNext@@YAX_N@Z at 0x822a4aa0
ItemKeyHandler Assets::Load_ItemKeyHandlerNext(QDataStream *aStream) ItemKeyHandler Assets::Load_ItemKeyHandlerNext(QDataStream *aStream)
{ {
ItemKeyHandlerNext result; return Load_ItemKeyHandler(aStream);
*aStream
>> result.key
>> result.action
>> result.next;
Load_ItemKeyHandler(aStream);
return result;
} }
typedef EditFieldDef editFieldDef_t; // ?Load_EditFieldDef@@YAX_N@Z at 0x822a4af0
EditFieldDef Assets::Load_EditFieldDef(QDataStream *aStream)
// ?Load_editFieldDef_t@@YAX_N@Z at 0x822a4af0
EditFieldDef Assets::Load_editFieldDef_t(QDataStream *aStream)
{ {
editFieldDef_t result; EditFieldDef result;
*aStream *aStream
>> result.minVal >> result.minVal
@ -309,40 +291,33 @@ EditFieldDef Assets::Load_editFieldDef_t(QDataStream *aStream)
return result; return result;
} }
typedef OperationEnum Operator;
// ?Load_Operator@@YAX_N@Z at 0x822a4b08 // ?Load_Operator@@YAX_N@Z at 0x822a4b08
Operator Assets::Load_Operator(QDataStream *aStream) OperationEnum Assets::Load_Operator(QDataStream *aStream)
{ {
Operator result; OperationEnum result;
*aStream >> result; *aStream >> result;
return result; return result;
} }
typedef unsigned __int16 LeafBrush;
// ?Load_LeafBrushArray@@YAX_NH@Z at 0x822a4b20 // ?Load_LeafBrushArray@@YAX_NH@Z at 0x822a4b20
QVector<LeafBrush> Assets::Load_LeafBrushArray(QDataStream *aStream, int count) QVector<quint16> Assets::Load_LeafBrushArray(QDataStream *aStream, int count)
{ {
QVector<LeafBrush> result; QVector<quint16> result;
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
LeafBrush leafBrush; quint16 leafBrush;
*aStream >> result; *aStream >> leafBrush;
result << leafBrush; result << leafBrush;
} }
*aStream >> result;
return result; return result;
} }
CLeaf Assets::Load_cLeaf_t(QDataStream *aStream) CLeaf Assets::Load_CLeaf(QDataStream *aStream)
{ {
CLeaf result; CLeaf result;
@ -364,8 +339,8 @@ CLeaf Assets::Load_cLeaf_t(QDataStream *aStream)
return result; return result;
} }
// ?Load_cmodel_tArray@@YAX_NH@Z at 0x822a4b38 // ?Load_CModelArray@@YAX_NH@Z at 0x822a4b38
QVector<CModel> Assets::Load_cmodel_tArray(QDataStream *aStream, int count) QVector<CModel> Assets::Load_CModelArray(QDataStream *aStream, int count)
{ {
QVector<CModel> result; QVector<CModel> result;
@ -381,7 +356,7 @@ QVector<CModel> Assets::Load_cmodel_tArray(QDataStream *aStream, int count)
>> cmodel.maxs[2] >> cmodel.maxs[2]
>> cmodel.radius; >> cmodel.radius;
cmodel.leaf = Load_cLeaf_t(aStream); cmodel.leaf = Load_CLeaf(aStream);
result << cmodel; result << cmodel;
} }
@ -466,7 +441,7 @@ QVector<CLeaf> Assets::Load_cLeaf_tArray(QDataStream *aStream, int count)
QVector<CLeaf> result; QVector<CLeaf> result;
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
result << Load_cLeaf_t(aStream); result << Load_CLeaf(aStream);
} }
return result; return result;
@ -738,7 +713,7 @@ QVector<cbrushedge_t> Assets::Load_cbrushedge_tArray(QDataStream *aStream, size_
QVector<cbrushedge_t> result; QVector<cbrushedge_t> result;
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
*aStream >> Load_cbrushedge_t(aStream); result << Load_cbrushedge_t(aStream);
} }
return result; return result;
@ -789,7 +764,7 @@ QVector<cplane_t> Assets::Load_cplane_tArray(QDataStream *aStream, int count)
QVector<cplane_t> result; QVector<cplane_t> result;
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
*aStream >> Load_cplane_t(aStream); result << Load_cplane_t(aStream);
} }
return result; return result;
@ -884,15 +859,13 @@ MaterialVertexDeclaration Assets::Load_MaterialVertexDeclaration(QDataStream *aS
return result; return result;
} }
typedef unsigned __int8 byteShader;
// ?Load_byteShaderArray@@YAX_NH@Z at 0x822a4e98 // ?Load_byteShaderArray@@YAX_NH@Z at 0x822a4e98
QVector<byteShader> Assets::Load_byteShaderArray(QDataStream *aStream, size_t count) QVector<quint8> Assets::Load_byteShaderArray(QDataStream *aStream, size_t count)
{ {
QVector<byteShader> result; QVector<quint8> result;
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
byteShader byteShader_; quint8 byteShader_;
*aStream >> byteShader_; *aStream >> byteShader_;
@ -930,20 +903,12 @@ QVector<GfxRawTexture> Assets::Load_GfxRawTextureArray(QDataStream *aStream, int
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
GfxRawTexture gfxRawTexture; GfxRawTexture gfxRawTexture;
quint32 basemapPtr, mapPtr, volmapPtr, cubemapPtr, loadDefPtr;
*aStream *aStream
>> basemapPtr >> gfxRawTexture.basemapPtr
>> mapPtr >> gfxRawTexture.mapPtr
>> volmapPtr >> gfxRawTexture.volmapPtr
>> cubemapPtr >> gfxRawTexture.cubemapPtr
>> loadDefPtr; >> gfxRawTexture.loadDefPtr;
&gfxRawTexture.basemap = basemapPtr;
&gfxRawTexture.map = mapPtr;
&gfxRawTexture.volmap = volmapPtr;
&gfxRawTexture.cubemap = cubemapPtr;
&gfxRawTexture.loadDef = loadDefPtr;
result << gfxRawTexture; result << gfxRawTexture;
} }
@ -1015,20 +980,24 @@ D3DVolumeTexture Assets::Load_IDirect3DVolumeTexture9(QDataStream *aStream)
// ?Load_IDirect3DTexture9@@YAX_N@Z at 0x822a4f10 // ?Load_IDirect3DTexture9@@YAX_N@Z at 0x822a4f10
void Assets::Load_IDirect3DTexture9(QDataStream *aStream) D3DTexture Assets::Load_IDirect3DTexture9(QDataStream *aStream)
{ {
Load_Stream(1, varIDirect3DTexture9, 0x34u); D3DTexture result;
}
typedef unsigned __int16 r_index16_t; *aStream
>> result.MipFlush
>> result.Format;
return result;
}
// ?Load_r_index16_tArray@@YAX_NH@Z at 0x822a4f28 // ?Load_r_index16_tArray@@YAX_NH@Z at 0x822a4f28
QVector<quint16> Assets::Load_r_index16_tArray(QDataStream *aStream, int count) QVector<quint16> Assets::Load_r_index16_tArray(QDataStream *aStream, int count)
{ {
QVector<r_index16_t> result; QVector<quint16> result;
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
r_index16_t r_index16; quint16 r_index16;
*aStream >> r_index16; *aStream >> r_index16;
@ -1038,15 +1007,13 @@ QVector<quint16> Assets::Load_r_index16_tArray(QDataStream *aStream, int count)
return result; return result;
} }
typedef unsigned __int16 r_index_t;
// ?Load_r_index_tArray@@YAX_NH@Z at 0x822a4f40 // ?Load_r_index_tArray@@YAX_NH@Z at 0x822a4f40
QVector<quint16> Assets::Load_r_index_tArray(QDataStream *aStream, int count) QVector<quint16> Assets::Load_r_index_tArray(QDataStream *aStream, int count)
{ {
QVector<r_index_t> result; QVector<quint16> result;
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
r_index_t r_index; quint16 r_index;
*aStream >> r_index; *aStream >> r_index;
@ -1056,12 +1023,10 @@ QVector<quint16> Assets::Load_r_index_tArray(QDataStream *aStream, int count)
return result; return result;
} }
typedef D3DIndexBuffer GfxIndexBuffer;
// ?Load_GfxIndexBuffer@@YAX_N@Z at 0x822a4f58 // ?Load_GfxIndexBuffer@@YAX_N@Z at 0x822a4f58
D3DIndexBuffer Assets::Load_GfxIndexBuffer(QDataStream *aStream) D3DIndexBuffer Assets::Load_GfxIndexBuffer(QDataStream *aStream)
{ {
GfxIndexBuffer result; D3DIndexBuffer result;
*aStream *aStream
>> result.Address >> result.Address
@ -1076,15 +1041,13 @@ D3DIndexBuffer Assets::Load_GfxIndexBuffer(QDataStream *aStream)
return result; return result;
} }
typedef unsigned __int16 XBlendInfo;
// ?Load_XBlendInfoArray@@YAX_NH@Z at 0x822a4f70 // ?Load_XBlendInfoArray@@YAX_NH@Z at 0x822a4f70
QVector<XBlendInfo> Assets::Load_XBlendInfoArray(QDataStream *aStream, int count) QVector<quint16> Assets::Load_XBlendInfoArray(QDataStream *aStream, int count)
{ {
QVector<XBlendInfo> result; QVector<quint16> result;
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
XBlendInfo xBlendInfo; quint16 xBlendInfo;
*aStream >> xBlendInfo; *aStream >> xBlendInfo;
@ -1149,7 +1112,7 @@ QVector<XSurfaceCollisionNode> Assets::Load_XSurfaceCollisionNodeArray(QDataStre
struct XSurfaceCollisionLeaf struct XSurfaceCollisionLeaf
{ {
unsigned __int16 triangleBeginIndex; unsigned __int16 triangleBeginIndex;
}; };
// ?Load_XSurfaceCollisionLeafArray@@YAX_NH@Z at 0x822a4fb8 // ?Load_XSurfaceCollisionLeafArray@@YAX_NH@Z at 0x822a4fb8
@ -1950,49 +1913,49 @@ GfxWorldDpvsDynamic Assets::Load_GfxWorldDpvsDynamic(QDataStream *aStream, GfxWo
if (result.dynEntCellBitsPtrs[0]) if (result.dynEntCellBitsPtrs[0])
{ {
//for (int i = 0; i < aGfxWorld.dpvsPlanes.cellCount * gfxWorldDpvsDynamic.dynEntClientWordCount[0]; i++) { //for (int i = 0; i < aGfxWorld.dpvsPlanes.cellCount * gfxWorldDpvsDynamic.dynEntClientWordCount[0]; i++) {
*aStream >> result.dynEntCellBits[0]; *aStream >> result.dynEntCellBits[0];
//} //}
} }
if (result.dynEntCellBitsPtrs[1]) if (result.dynEntCellBitsPtrs[1])
{ {
//for (int i = 0; i < aGfxWorld.dpvsPlanes.cellCount * gfxWorldDpvsDynamic.dynEntClientWordCount[0]; i++) { //for (int i = 0; i < aGfxWorld.dpvsPlanes.cellCount * gfxWorldDpvsDynamic.dynEntClientWordCount[0]; i++) {
*aStream >> result.dynEntCellBits[1]; *aStream >> result.dynEntCellBits[1];
//} //}
} }
if (result.dynEntVisDataPtrs[0][0]) if (result.dynEntVisDataPtrs[0][0])
{ {
//for (int i = 0; i < gfxWorldDpvsDynamic.dynEntClientWordCount[0]; i++) { //for (int i = 0; i < gfxWorldDpvsDynamic.dynEntClientWordCount[0]; i++) {
*aStream >> result.dynEntVisData[0][0]; *aStream >> result.dynEntVisData[0][0];
//} //}
} }
if (result.dynEntVisDataPtrs[1][0]) if (result.dynEntVisDataPtrs[1][0])
{ {
//for (int i = 0; i < gfxWorldDpvsDynamic.dynEntClientWordCount[1]; i++) { //for (int i = 0; i < gfxWorldDpvsDynamic.dynEntClientWordCount[1]; i++) {
*aStream >> result.dynEntVisData[1][0]; *aStream >> result.dynEntVisData[1][0];
//} //}
} }
if (result.dynEntVisDataPtrs[0][1]) if (result.dynEntVisDataPtrs[0][1])
{ {
//for (int i = 0; i < gfxWorldDpvsDynamic.dynEntClientWordCount[0]; i++) { //for (int i = 0; i < gfxWorldDpvsDynamic.dynEntClientWordCount[0]; i++) {
*aStream >> result.dynEntVisData[0][1]; *aStream >> result.dynEntVisData[0][1];
//} //}
} }
if (result.dynEntVisDataPtrs[1][1]) if (result.dynEntVisDataPtrs[1][1])
{ {
//for (int i = 0; i < gfxWorldDpvsDynamic.dynEntClientWordCount[1]; i++) { //for (int i = 0; i < gfxWorldDpvsDynamic.dynEntClientWordCount[1]; i++) {
*aStream >> result.dynEntVisData[1][1]; *aStream >> result.dynEntVisData[1][1];
//} //}
} }
if (result.dynEntVisDataPtrs[0][2]) if (result.dynEntVisDataPtrs[0][2])
{ {
//for (int i = 0; i < gfxWorldDpvsDynamic.dynEntClientWordCount[0]; i++) { //for (int i = 0; i < gfxWorldDpvsDynamic.dynEntClientWordCount[0]; i++) {
*aStream >> result.dynEntVisData[0][2]; *aStream >> result.dynEntVisData[0][2];
//} //}
} }
if (result.dynEntVisDataPtrs[1][2]) if (result.dynEntVisDataPtrs[1][2])
{ {
//for (int i = 0; i < gfxWorldDpvsDynamic.dynEntClientWordCount[1]; i++) { //for (int i = 0; i < gfxWorldDpvsDynamic.dynEntClientWordCount[1]; i++) {
*aStream >> result.dynEntVisData[1][2]; *aStream >> result.dynEntVisData[1][2];
//} //}
} }
return result; return result;
@ -4733,7 +4696,7 @@ GfxImage Assets::Load_GfxImage(QDataStream *aStream)
*aStream >> result.texture *aStream >> result.texture
varGfxTextureLoad = &varGfxImage->texture; varGfxTextureLoad = &varGfxImage->texture;
Load_GfxTextureLoad(0); Load_GfxTextureLoad(0);
return result; return result;
} }
@ -8211,7 +8174,7 @@ QVector<menuDef_t> Assets::Load_menuDef_ptrArray(QDataStream *aStream, int count
*aStream *aStream
>> menuDef. >> menuDef.
result << menuDef; result << menuDef;
} }
v2 = count; v2 = count;
@ -9717,8 +9680,8 @@ FxImpactTable Assets::Load_FxImpactTablePtr(QDataStream *aStream)
struct XAsset struct XAsset
{ {
XAssetType type; XAssetType type;
XAssetHeader header; XAssetHeader header;
}; };
// ?Load_XAssetHeader@@YAX_N@Z at 0x822afea8 // ?Load_XAssetHeader@@YAX_N@Z at 0x822afea8
@ -9826,7 +9789,7 @@ XAsset Assets::Load_XAsset(QDataStream *aStream)
>> result.type >> result.type
>> result.header >> result.header
result.header = Load_XAssetHeader(aStream, result); result.header = Load_XAssetHeader(aStream, result);
return result; return result;
} }

View File

@ -2953,11 +2953,11 @@ private:
QVector<GfxStaticModelInst> Load_GfxStaticModelInstArray(QDataStream *aStream, int count); QVector<GfxStaticModelInst> Load_GfxStaticModelInstArray(QDataStream *aStream, int count);
ItemKeyHandler Load_ItemKeyHandler(QDataStream *aStream); ItemKeyHandler Load_ItemKeyHandler(QDataStream *aStream);
ItemKeyHandler Load_ItemKeyHandlerNext(QDataStream *aStream); ItemKeyHandler Load_ItemKeyHandlerNext(QDataStream *aStream);
EditFieldDef Load_editFieldDef_t(QDataStream *aStream); EditFieldDef Load_EditFieldDef(QDataStream *aStream);
OperationEnum Load_Operator(QDataStream *aStream); OperationEnum Load_Operator(QDataStream *aStream);
QVector<quint16> Load_LeafBrushArray(QDataStream *aStream, int count); QVector<quint16> Load_LeafBrushArray(QDataStream *aStream, int count);
CLeaf Load_cLeaf_t(QDataStream *aStream); CLeaf Load_CLeaf(QDataStream *aStream);
QVector<CModel> Load_cmodel_tArray(QDataStream *aStream, int count); QVector<CModel> Load_CModelArray(QDataStream *aStream, int count);
QVector<CollisionAabbTree> Load_CollisionAabbTreeArray(QDataStream *aStream, int count); QVector<CollisionAabbTree> Load_CollisionAabbTreeArray(QDataStream *aStream, int count);
CollisionBorder Load_CollisionBorder(QDataStream *aStream); CollisionBorder Load_CollisionBorder(QDataStream *aStream);
QVector<CollisionBorder> Load_CollisionBorderArray(QDataStream *aStream, int count); QVector<CollisionBorder> Load_CollisionBorderArray(QDataStream *aStream, int count);
@ -2987,7 +2987,7 @@ private:
QVector<GfxTexture> Load_GfxRawTextureArray(QDataStream *aStream, int count); QVector<GfxTexture> Load_GfxRawTextureArray(QDataStream *aStream, int count);
D3DCubeTexture Load_IDirect3DCubeTexture9(QDataStream *aStream); D3DCubeTexture Load_IDirect3DCubeTexture9(QDataStream *aStream);
D3DVolumeTexture Load_IDirect3DVolumeTexture9(QDataStream *aStream); D3DVolumeTexture Load_IDirect3DVolumeTexture9(QDataStream *aStream);
void Load_IDirect3DTexture9(QDataStream *aStream); D3DTexture Load_IDirect3DTexture9(QDataStream *aStream);
QVector<quint16> Load_r_index16_tArray(QDataStream *aStream, int count); QVector<quint16> Load_r_index16_tArray(QDataStream *aStream, int count);
QVector<quint16> Load_r_index_tArray(QDataStream *aStream, int count); QVector<quint16> Load_r_index_tArray(QDataStream *aStream, int count);
D3DIndexBuffer Load_GfxIndexBuffer(QDataStream *aStream); D3DIndexBuffer Load_GfxIndexBuffer(QDataStream *aStream);

View File

@ -2,8 +2,8 @@
#define MATERIAL_PIXERHSHADER_H #define MATERIAL_PIXERHSHADER_H
#include "d3dresource.h" #include "d3dresource.h"
#include "qcontainerfwd.h" #include <QVector>
#include "qtypes.h" #include <QtTypes>
struct GfxPixelShaderLoadDef struct GfxPixelShaderLoadDef
{ {

View File

@ -20,7 +20,7 @@ struct D3DVertexDeclaration : D3DResource
struct MaterialVertexStreamRouting struct MaterialVertexStreamRouting
{ {
MaterialStreamRouting data[16]; MaterialStreamRouting data[16];
D3DVertexDeclaration *decl[15]; D3DVertexDeclaration decl[15];
}; };
struct MaterialVertexDeclaration struct MaterialVertexDeclaration

View File

@ -37,21 +37,21 @@ struct GfxPackedVertex
PackedUnitVec tangent; PackedUnitVec tangent;
}; };
struct $E41E24A1CD47CDFA361AA9F99910948B struct GPUVERTEX_RAW_REQEUST
{ {
unsigned __int32 Type : 2; quint32 Type : 2;
unsigned __int32 BaseAddress : 30; quint32 BaseAddress : 30;
unsigned __int32 Endian : 2; quint32 Endian : 2;
unsigned __int32 Size : 24; quint32 Size : 24;
unsigned __int32 AddressClamp : 1; quint32 AddressClamp : 1;
unsigned __int32 : 1; quint32 : 1;
unsigned __int32 RequestSize : 2; quint32 RequestSize : 2;
unsigned __int32 ClampDisable : 2; quint32 ClampDisable : 2;
}; };
union GPUVERTEX_FETCH_CONSTANT union GPUVERTEX_FETCH_CONSTANT
{ {
$E41E24A1CD47CDFA361AA9F99910948B __s0; GPUVERTEX_RAW_REQEUST request;
unsigned int dword[2]; unsigned int dword[2];
}; };