Skip to content

Commit 57d2ba1

Browse files
committed
chore: implement qos MaterialInfo struct
1 parent c1d6907 commit 57d2ba1

1 file changed

Lines changed: 28 additions & 8 deletions

File tree

src/Common/Game/QOS/QOS_Assets.h

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -780,24 +780,49 @@ namespace QOS
780780
const char* name;
781781
};
782782

783+
struct gcc_align32(8) GfxDrawSurfFields
784+
{
785+
uint64_t objectId : 16;
786+
uint64_t reflectionProbeIndex : 8;
787+
uint64_t customIndex : 5;
788+
uint64_t materialSortedIndex : 11;
789+
uint64_t prepass : 2;
790+
uint64_t primaryLightIndex : 8;
791+
uint64_t surfType : 4;
792+
uint64_t primarySortKey : 6;
793+
uint64_t unused : 4;
794+
};
795+
796+
union GfxDrawSurf
797+
{
798+
gcc_align32(8) GfxDrawSurfFields fields;
799+
gcc_align32(8) uint64_t packed;
800+
};
801+
783802
struct MaterialInfo
784803
{
785804
const char* name;
805+
unsigned char gameFlags;
806+
unsigned char sortKey;
807+
unsigned char textureAtlasRowCount;
808+
unsigned char textureAtlasColumnCount;
809+
GfxDrawSurf drawSurf;
810+
unsigned int surfaceTypeBits;
811+
uint16_t hashIndex;
786812
};
787813

788814
struct Material
789815
{
790816
MaterialInfo info;
791-
char unknown0[63];
817+
char stateBitsEntry[43];
792818
unsigned char textureCount;
793819
unsigned char constantCount;
794820
unsigned char stateBitsCount;
795-
char unknown1[14];
821+
char unknown0[14];
796822
MaterialTechniqueSet* techniqueSet;
797823
MaterialTextureDef* textureTable;
798824
MaterialConstantDef* constantTable;
799825
GfxStateBits* stateBitsTable;
800-
char unknown2[4];
801826
};
802827

803828
struct SndCurve
@@ -1467,11 +1492,6 @@ namespace QOS
14671492
float sunFxPosition[3];
14681493
};
14691494

1470-
struct GfxDrawSurf
1471-
{
1472-
unsigned int packed[2];
1473-
};
1474-
14751495
struct GfxSceneDynModel
14761496
{
14771497
char unknown[8];

0 commit comments

Comments
 (0)