feat(binana): update files

This commit is contained in:
phaneron 2024-07-21 04:57:59 -04:00
parent c9bc10c3ca
commit 5a8e559a74
19 changed files with 2325 additions and 702 deletions

View file

@ -47,11 +47,11 @@ struct ShaderConstants {
// 84 functions
struct CGxDevice__vtable {
// void ITexMarkAsUpdated(CGxTex*, unsigned int);
// void ITexMarkAsUpdated(CGxTex*, uint32_t);
void* v_fn_0_ITexMarkAsUpdated;
// void IRsSendToHw(EGxRenderState);
void* v_fn_1_IRsSendToHw;
// void ICursorCreate(CGxFormat const&);
// void ICursorCreate(const CGxFormat&);
void* v_fn_2_ICursorCreate;
// void ICursorDestroy();
void* v_fn_3_ICursorDestroy;
@ -66,11 +66,15 @@ struct CGxDevice__vtable {
// don't know if this ever gets called (something deleted?)
void* v_fn_8;
void* v_fn_9;
// int32_t DeviceCreate(long (*)(void*, uint32_t, uint32_t, int32_t), CGxFormat const&);
void* v_fn_10_DeviceCreate;
void* v_fn_11;
void* v_fn_12;
// int32_t DeviceSetFormat(struct CGxFormat const &);
void* v_fn_13_DeviceSetFormat;
// void DeviceSetBaseMipLevel(uint32_t);
void* v_fn_14_DeviceSetBaseMipLevel;
// void DeviceSetGamma(CGxGammaRamp const&);
void* v_fn_15_DeviceSetGamma;
void* v_fn_16;
void* v_fn_17;
@ -78,7 +82,8 @@ struct CGxDevice__vtable {
void* v_fn_19;
void* v_fn_20;
void* v_fn_21;
void* v_fn_22;
// void DeviceWM(EGxWM, int32_t, int32_t);
void* v_fn_22_DeviceWM;
void* v_fn_23;
void* v_fn_24;
void* v_fn_25;
@ -91,9 +96,11 @@ struct CGxDevice__vtable {
void* v_fn_32;
void* v_fn_33;
void* v_fn_34;
// void CapsWindowSize(CRect&);
void* v_fn_35_CapsWindowSize;
void* v_fn_36;
void* v_fn_37;
// void ScenePresent(uint32_t);
void* v_fn_38_ScenePresent;
void* v_fn_39;
// void XformSetProjection(const C44Matrix&);
@ -108,15 +115,23 @@ struct CGxDevice__vtable {
void* v_fn_48;
void* v_fn_49;
void* v_fn_50;
// void MasterEnableSet(EGxMasterEnables, int);
void* v_fn_51_MasterEnableSet;
void* v_fn_52;
// void PoolDestroy(CGxPool*);
void* v_fn_53_PoolDestroy;
// char* BufLock(CGxBuf*);
void* v_fn_54_BufLock;
// int32_t BufUnlock(CGxBuf*, uint32_t);
void* v_fn_55_BufUnlock;
// void BufData(CGxBuf*, void const*, uint32_t, uint32_t);
void* v_fn_56_BufData;
// int32_t TexCreate(EGxTexTarget, uint32_t, uint32_t, uint32_t, EGxTexFormat, EGxTexFormat, CGxTexFlags, void*, void (*)(EGxTexCommand, uint32_t, uint32_t, uint32_t, uint32_t, void*, uint32_t&, void const*&), char const*, CGxTex*&);
void* v_fn_57_TexCreate;
void* v_fn_58;
void* v_fn_59;
// void TexDestroy(CGxTex*);
void* v_fn_58_TexDestroy;
// int32_t TexCopy(CGxTex*, CGxTex*, const C2iVector&, const C2iVector&, const C2iVector&, uint32_t);
void* v_fn_59_TexCopy;
void* v_fn_60;
void* v_fn_61;
void* v_fn_62;
@ -125,8 +140,10 @@ struct CGxDevice__vtable {
void* v_fn_65;
void* v_fn_66;
void* v_fn_67;
// void ShaderCreate(CGxShader*[], EGxShTarget, const char*, const char*, int32_t);
void* v_fn_68_ShaderCreate;
void* v_fn_69;
// void ShaderConstantsSet(EGxShTarget, uint32_t, const float*, uint32_t);
void* v_fn_70_ShaderConstantsSet;
void* v_fn_71;
void* v_fn_72;
@ -145,33 +162,42 @@ struct CGxDevice__vtable {
// this class is at least 14688 bytes in size
struct CGxDevice {
// TODO: pointer to struct CGxDevice__vtable
CGxDevice__vtable* v_vtable; // 0x0
TSGrowableArray_CGxPushedRenderState m_pushedStates;
TSGrowableArray_uint32_t m_stackOffsets;
TSGrowableArray_EGxRenderState m_dirtyStates;
uint32_t m_unk[73];
CRect m_defWindowRect;
CRect m_curWindowRect; // 0x174
// pointer to struct CGxDevice__vtable
CGxDevice__vtable* v_vtable; // 0x0 (size: 0x4)
TSGrowableArray_CGxPushedRenderState m_pushedStates; // 0x4 (size: 0x14)
TSGrowableArray_uint32_t m_stackOffsets; // 0x18 (size: 0x14)
TSGrowableArray_EGxRenderState m_dirtyStates; // 0x2C (size: 0x14)
uint32_t m_unk40[76];
CRect m_defWindowRect; // 0x164 (size: 0x10)
CRect m_curWindowRect; // 0x174 (size: 0x10)
uint32_t m_unk184[12];
EGxApi m_api; // 0x1b4
uint32_t m_cpuFeatures;
CGxFormat m_format;
CGxCaps m_caps;
uint32_t m_baseMipLevel;
CGxGammaRamp m_gammaRamp;
CGxGammaRamp m_systemGammaRamp;
// TSHashTable_CGxShader_HASHKEY_STRI m_shaderList[GxShTargets_Last];
TSHashTable_CGxShader_HASHKEY_STRI m_shaderList[6];
// TSHashTable_CGxShader_HASHKEY_STRI m_shaderList[6];
int32_t (*m_windowProc)(void* window, uint32_t message, uintptr_t wparam, intptr_t lparam);
int32_t m_context;
int32_t intF5C;
int32_t m_windowVisible;
int32_t intF64;
int32_t intF68;
int32_t intF6C;
CBoundingBox m_viewport;
C44Matrix m_projection;
C44Matrix m_projNative;
// CGxMatrixStack m_xforms[GxXforms_Last];
CGxMatrixStack m_xforms[11];
CGxMatrixStack m_texGen[8];
uint32_t unk24D0[162];
uint32_t m_appMasterEnables;
uint32_t m_hwMasterEnables;
TSList_CGxPool m_poolList;
uint32_t unk276C[3];
// CGxBuf* m_bufLocked[GxPoolTargets_Last];
CGxBuf* m_bufLocked[2];
CGxPool* m_vertexPool;
@ -189,9 +215,19 @@ struct CGxDevice {
uint32_t m_primVertexSize;
CGxBuf* m_primIndexBuf;
int32_t m_primIndexDirty;
uint32_t unk28C4;
uint32_t unk28C8;
uint32_t unk28CC;
uint32_t unk28D0;
uint32_t unk28D4;
uint32_t unk28D8;
uint32_t unk28DC;
uint32_t unk28E0;
uint32_t unk28E4;
uint32_t unk28E8;
TSFixedArray_CGxAppRenderState m_appRenderStates;
TSFixedArray_CGxStateBom m_hwRenderStates;
uint32_t m_baseMipLevel; // TODO placeholder
uint32_t unk2904[1049];
};
#endif