diff --git a/profile/3.3.5a-windows-386/ida/batch/import_data_types.idc b/profile/3.3.5a-windows-386/ida/batch/import_data_types.idc index bc13b18..73d30ff 100644 --- a/profile/3.3.5a-windows-386/ida/batch/import_data_types.idc +++ b/profile/3.3.5a-windows-386/ida/batch/import_data_types.idc @@ -23,14 +23,19 @@ static import_data_types() { apply_type(0x006160B0, "int32_t __usercall func@(uint32_t** image@, MipBits* mipImages@, uint32_t width@, uint32_t height)"); apply_type(0x00616800, "void __stdcall func(CURSORMODE mode)"); apply_type(0x00681A60, "void __stdcall func()"); + apply_type(0x00681AB0, "void __stdcall func(uint32_t indexCount, uint16_t* indices)"); + apply_type(0x00681B00, "void __stdcall func(CGxBuf* buf, EGxVertexBufferFormat format)"); apply_type(0x00681F60, "void __stdcall func(float minX, float maxX, float minY, float maxY, float minZ, float maxZ)"); apply_type(0x00682340, "void __stdcall func(EGxPrim primType, uint32_t, uint16_t*)"); apply_type(0x006823A0, "void __stdcall func(EGxPrim primType, uint32_t indexCount, uint16_t* indices)"); + apply_type(0x00682400, "void __stdcall func(uint32_t vertexCount, C3Vector* pos, uint32_t posStride, C3Vector* normal, uint32_t normalStride, CImVector* color, uint32_t colorStride, C2Vector* tex0, uint32_t tex0Stride, C2Vector* tex1, uint32_t tex1Stride)"); + apply_type(0x006828C0, "void __stdcall func(uint32_t vertexCount, C3Vector* pos, uint32_t posStride, C3Vector* normal, uint32_t normalStride, CImVector* color, uint32_t colorStride, uint8_t* bone, uint32_t boneStride, C2Vector* tex0, uint32_t tex0Stride, C2Vector* tex1, uint32_t tex1Stride)"); apply_type(0x00682CB0, "void __thiscall func(CGxDevice* this, int32_t (*windowProc)(void*, uint32_t, uintptr_t, intptr_t), CGxFormat* format)"); apply_type(0x00682CD0, "void __thiscall func(CGxDevice* this, CGxFormat* format)"); apply_type(0x00682CF0, "void __thiscall func(CGxDevice* this)"); apply_type(0x00682D00, "void __thiscall func(CGxDevice* this, uint32_t baseMipLevel)"); apply_type(0x00682D20, "EGxApi __thiscall func(CGxDevice* this)"); + apply_type(0x00682D30, "void __thiscall func(CGxDevice* this)"); apply_type(0x00682D40, "int32_t __thiscall func(CGxDevice* this)"); apply_type(0x00682D70, "CRect* __thiscall func(CGxDevice* this)"); apply_type(0x00682DC0, "int32_t __thiscall func(CGxDevice* this, int32_t a2)"); @@ -56,6 +61,7 @@ static import_data_types() { apply_type(0x006840F0, "int32_t __thiscall func(CGxDevice* this, CGxFormat* format)"); apply_type(0x00684170, "void __thiscall func(CGxDevice* this, float gamma)"); apply_type(0x00684190, "int32_t __thiscall func(CGxDevice* this, CGxGammaRamp* ramp)"); + apply_type(0x00684260, "void __thiscall func(CGxDevice* this, uint32_t* w, uint32_t* h, CImVector** pixels)"); apply_type(0x00684360, "void __thiscall func(CGxDevice* this, CRect* rect)"); apply_type(0x006843B0, "void __thiscall func(CGxDevice* this)"); apply_type(0x006843E0, "void __thiscall func(CGxDevice* this)"); @@ -75,8 +81,8 @@ static import_data_types() { apply_type(0x006853D0, "int32_t __thiscall func(CGxDevice* this, DEVICERESTOREDCALLBACK fn)"); apply_type(0x00685460, "void __thiscall func(CGxDevice* this, TEXTURERECREATIONCALLBACK fn)"); apply_type(0x00685480, "int32_t __thiscall func(CGxDevice* this, TEXTURERECREATIONCALLBACK fn)"); - apply_type(0x00685510, "void __thiscall func(CGxDevice* this, DISPLAYCHANGECALLBACK fn)"); - apply_type(0x00685530, "int32_t __thiscall func(CGxDevice* this, DISPLAYCHANGECALLBACK fn)"); + apply_type(0x00685510, "void __thiscall func(CGxDevice* this, STEREOCHANGEDCALLBACK fn)"); + apply_type(0x00685530, "int32_t __thiscall func(CGxDevice* this, STEREOCHANGEDCALLBACK fn)"); apply_type(0x00685970, "void __thiscall func(CGxDevice* this, EGxRenderState which)"); apply_type(0x006859E0, "void __thiscall func(CGxDevice* this, EGxRenderState which)"); apply_type(0x00685A70, "void __thiscall func(CGxDevice* this)"); diff --git a/profile/3.3.5a-windows-386/ida/batch/import_functions.idc b/profile/3.3.5a-windows-386/ida/batch/import_functions.idc index 72016bd..aeb53a9 100644 --- a/profile/3.3.5a-windows-386/ida/batch/import_functions.idc +++ b/profile/3.3.5a-windows-386/ida/batch/import_functions.idc @@ -39,6 +39,7 @@ static import_functions() { set_func_cmt(0x00684C40, "CGxDevice::Log(CGxCaps const&) const", 0); set_func_cmt(0x006859E0, "CGxDevice::IRsForceUpdate(EGxRenderState)", 0); set_func_cmt(0x00685A70, "CGxDevice::IRsForceUpdate()", 0); + set_func_cmt(0x0069FE10, "UC (invented name)", 0); set_func_cmt(0x006AA350, "UC", 0); set_func_cmt(0x006AA420, "private utility method", 0); set_func_cmt(0x006AB390, "public method", 0); diff --git a/profile/3.3.5a-windows-386/ida/batch/import_symbols.idc b/profile/3.3.5a-windows-386/ida/batch/import_symbols.idc index b23675c..3a26732 100644 --- a/profile/3.3.5a-windows-386/ida/batch/import_symbols.idc +++ b/profile/3.3.5a-windows-386/ida/batch/import_symbols.idc @@ -123,6 +123,7 @@ static import_symbols() { set_name(0x0047FC20, "IEvtInputSetConfirmCloseCallback"); set_name(0x0047FC90, "ConvertPosition"); set_name(0x004800A0, "IEvtInputGetMousePosition"); + set_name(0x00480130, "ProcessInput"); set_name(0x00480410, "IEvtInputProcess"); set_name(0x004804B0, "IEvtQueueDestroy"); set_name(0x004804C0, "IEvtQueueCheckSyncMouseState"); @@ -2105,7 +2106,7 @@ static import_symbols() { set_name(0x00681F60, "GxXformSetViewport"); set_name(0x00682340, "GxDrawLockedElements@2"); set_name(0x006823A0, "GxPrimLockIndexPtr"); - set_name(0x00682400, "GxPrimVertexPtr_FFP"); + set_name(0x00682400, "GxPrimVertexPtr@2"); set_name(0x006828C0, "GxPrimLockVertexPtrs"); set_name(0x00682A00, "GxScenePresent"); set_name(0x00682CB0, "CGxDevice__DeviceCreate_WindowProc_CGxFormat"); @@ -2113,6 +2114,7 @@ static import_symbols() { set_name(0x00682CF0, "CGxDevice__DeviceDestroy"); set_name(0x00682D00, "CGxDevice__DeviceSetBaseMipLevel"); set_name(0x00682D20, "CGxDevice__DeviceApi"); + set_name(0x00682D30, "CGxDevice__DeviceTakeScreenShot"); set_name(0x00682D40, "CGxDevice__IDevIsWindowed"); set_name(0x00682D70, "CGxDevice__DeviceCurWindow"); set_name(0x00682DC0, "CGxDevice__CapsIsWindowVisible"); @@ -2138,10 +2140,11 @@ static import_symbols() { set_name(0x006840F0, "CGxDevice__DeviceSetFormat"); set_name(0x00684170, "CGxDevice__DeviceSetGamma_float"); set_name(0x00684190, "CGxDevice__DeviceSetGamma_CGxGammaRamp"); + set_name(0x00684260, "CGxDevice__DeviceReadScreenShot"); set_name(0x00684360, "CGxDevice__DeviceSetDefWindow"); set_name(0x006843B0, "CGxDevice__NotifyOnDeviceRestored"); set_name(0x006843E0, "CGxDevice__NotifyOnTextureRecreation"); - set_name(0x00684410, "CGxDevice__NotifyOnDisplayChange"); + set_name(0x00684410, "CGxDevice__NotifyOnStereoChanged"); set_name(0x00684440, "CGxDevice__ClipPlaneSet"); set_name(0x006847D0, "CGxDevice__LightSet"); set_name(0x00684850, "CGxDevice__BufStream"); @@ -2157,8 +2160,8 @@ static import_symbols() { set_name(0x006853D0, "CGxDevice__RemoveDeviceRestoredCallback"); set_name(0x00685460, "CGxDevice__AddTextureRecreationCallback"); set_name(0x00685480, "CGxDevice__RemoveTextureRecreationCallback"); - set_name(0x00685510, "CGxDevice__AddDisplayChangeCallback"); - set_name(0x00685530, "CGxDevice__RemoveDisplayChangeCallback"); + set_name(0x00685510, "CGxDevice__AddStereoChangedCallback"); + set_name(0x00685530, "CGxDevice__RemoveStereoChangedCallback"); set_name(0x00685970, "CGxDevice__IRsDirty"); set_name(0x006859E0, "CGxDevice__IRsForceUpdate_EGxRenderState"); set_name(0x00685A70, "CGxDevice__IRsForceUpdate"); diff --git a/profile/3.3.5a-windows-386/include/gx/device.h b/profile/3.3.5a-windows-386/include/gx/device.h index cd6dd44..f6ac61f 100644 --- a/profile/3.3.5a-windows-386/include/gx/device.h +++ b/profile/3.3.5a-windows-386/include/gx/device.h @@ -80,8 +80,8 @@ struct CGxDevice__vtable { void* v_fn_5_NotifyOnDeviceRestored; // void NotifyOnTextureRecreation(); void* v_fn_6_NotifyOnTextureRecreation; - // void NotifyOnDisplayChange(); - void* v_fn_7_NotifyOnDisplayChange; + // void NotifyOnStereoChanged(); + void* v_fn_7_NotifyOnStereoChanged; // void `scalar deleting destructor'(uint32_t __flags) void* v_fn_8_scalar_deleting_destructor; // int32_t DeviceCreate(const CGxFormat& format); @@ -337,7 +337,11 @@ struct CGxDevice { uint32_t unk28E8; TSFixedArray_CGxAppRenderState m_appRenderStates; TSFixedArray_CGxStateBom m_hwRenderStates; - uint32_t unk2904[19]; // 0x2904 (size 0x4C) + uint32_t unk2904[12]; // 0x2904 (size 0x30) + int32_t m_scrShotClick; // 0x2934 + uint32_t m_scrShotWidth; // 0x2938 + uint32_t m_scrShotHeight; // 0x293C + TSGrowableArray_CImVector m_scrShotPixels; // 0x2940 int32_t m_cursorVisible; int32_t m_hardwareCursor; // 0x2954 (size 0x4) uint32_t m_cursorHotspotX; diff --git a/profile/3.3.5a-windows-386/symbol/gxdevice/func.sym b/profile/3.3.5a-windows-386/symbol/gxdevice/func.sym index 534fc0d..5f971c0 100644 --- a/profile/3.3.5a-windows-386/symbol/gxdevice/func.sym +++ b/profile/3.3.5a-windows-386/symbol/gxdevice/func.sym @@ -10,6 +10,7 @@ CGxDevice__DeviceCurWindow 00682D70 f end=00682D76 type="CRect* __thiscall func( CGxDevice__CapsIsWindowVisible 00682DC0 f end=00682DE7 type="int32_t __thiscall func(CGxDevice* this, int32_t a2)" CGxDevice__CapsHasContext 00682E20 f end=00682E47 type="int32_t __thiscall func(CGxDevice* this, int32_t a2)" CGxDevice__ScenePresent 00682E50 f end=00682E66 type="void __thiscall func(CGxDevice* this)" +CGxDevice__PrimIndexPtr 00682F10 f end=00682F3C type="void __thiscall func(CGxDevice* this, CGxBuf* buf)" CGxDevice__PrimCalcCount 00682F40 f end=00682F66 type="uint32_t __stdcall func(EGxPrim primType, uint32_t indexCount)" CGxDevice__LightEnable 00683080 f end=006830A4 type="void __thiscall func(CGxDevice* this, uint32_t whichLight, int32_t enable)" CGxDevice__NeedsUpdate 006830B0 f end=006830F9 type="int32_t __thiscall func(CGxDevice* this, uint32_t app, uint32_t hw, uint32_t appDisables, uint32_t hwDisables, uint32_t flagPos, int32_t* enable)" @@ -27,12 +28,12 @@ CGxDevice__CursorSetVisible 00683640 f end=00683650 type="void __thiscall func(C CGxDevice__CursorLock 00683650 f end=00683657 type="uint32_t* __thiscall func(CGxDevice* this)" CGxDevice__CursorSetDepth 00683660 f end=00683670 type="void __thiscall func(CGxDevice* this, float depth)" CGxDevice__DeviceSetFormat 006840F0 f end=0068416C type="int32_t __thiscall func(CGxDevice* this, CGxFormat* format)" -CGxDevice__DeviceSetGamma_CGxGammaRamp 00684190 f end=006841AF type="int32_t __thiscall func(CGxDevice* this, CGxGammaRamp* ramp)" CGxDevice__DeviceSetGamma_float 00684170 f end=00684189 type="void __thiscall func(CGxDevice* this, float gamma)" +CGxDevice__DeviceSetGamma_CGxGammaRamp 00684190 f end=006841AF type="int32_t __thiscall func(CGxDevice* this, CGxGammaRamp* ramp)" CGxDevice__DeviceSetDefWindow 00684360 f end=006843B0 type="void __thiscall func(CGxDevice* this, CRect* rect)" CGxDevice__NotifyOnDeviceRestored 006843B0 f end=006843D9 type="void __thiscall func(CGxDevice* this)" CGxDevice__NotifyOnTextureRecreation 006843E0 f end=00684409 type="void __thiscall func(CGxDevice* this)" -CGxDevice__NotifyOnDisplayChange 00684410 f end=00684439 type="void __thiscall func(CGxDevice* this)" +CGxDevice__NotifyOnStereoChanged 00684410 f end=00684439 type="void __thiscall func(CGxDevice* this)" CGxDevice__ClipPlaneSet 00684440 f end=006844B9 type="void __thiscall func(CGxDevice* this, uint32_t a2, C4Plane* plane)" CGxDevice__LightSet 006847D0 f end=00684843 type="void __thiscall func(CGxDevice* this, uint32_t a2, CGxLight* light, C3Vector* pos)" CGxDevice__BufStream 00684850 f end=0068489F type="void __thiscall func(CGxDevice* this, EGxPoolTarget target, uint32_t itemSize, uint32_t itemCount)" @@ -48,8 +49,8 @@ CGxDevice__AddDeviceRestoredCallback 006853B0 f end=006853C6 type="void __thisca CGxDevice__RemoveDeviceRestoredCallback 006853D0 f end=0068545C type="int32_t __thiscall func(CGxDevice* this, DEVICERESTOREDCALLBACK fn)" CGxDevice__AddTextureRecreationCallback 00685460 f end=00685476 type="void __thiscall func(CGxDevice* this, TEXTURERECREATIONCALLBACK fn)" CGxDevice__RemoveTextureRecreationCallback 00685480 f end=0068550C type="int32_t __thiscall func(CGxDevice* this, TEXTURERECREATIONCALLBACK fn)" -CGxDevice__AddDisplayChangeCallback 00685510 f end=00685526 type="void __thiscall func(CGxDevice* this, DISPLAYCHANGECALLBACK fn)" -CGxDevice__RemoveDisplayChangeCallback 00685530 f end=006855BC type="int32_t __thiscall func(CGxDevice* this, DISPLAYCHANGECALLBACK fn)" +CGxDevice__AddStereoChangedCallback 00685510 f end=00685526 type="void __thiscall func(CGxDevice* this, STEREOCHANGEDCALLBACK fn)" +CGxDevice__RemoveStereoChangedCallback 00685530 f end=006855BC type="int32_t __thiscall func(CGxDevice* this, STEREOCHANGEDCALLBACK fn)" CGxDevice__IRsDirty 00685970 f end=006859DB type="void __thiscall func(CGxDevice* this, EGxRenderState which)" CGxDevice__IRsForceUpdate_EGxRenderState 006859E0 f end=00685A65 type="void __thiscall func(CGxDevice* this, EGxRenderState which)" ; CGxDevice::IRsForceUpdate(EGxRenderState) CGxDevice__IRsForceUpdate 00685A70 f end=00685B4E type="void __thiscall func(CGxDevice* this)" ; CGxDevice::IRsForceUpdate() @@ -70,4 +71,5 @@ CGxDevice__NewD3d 00689EF0 f end=00689F14 type="CGxDevice* __stdcall func()" CGxDevice__NewOpenGl 0068BF20 f end=0068BF44 type="CGxDevice* __stdcall func()" CGxDevice__NewD3d9Ex 0068C220 f end=0068C244 type="CGxDevice* __stdcall func()" CGxDevice__ITexWHDStartEnd 006A5EF0 f end=006A5FDF type="void __thiscall func(CGxDevice* this, CGxTex* texId, uint32_t* width, uint32_t* height, uint32_t* baseMip, uint32_t* mipCount)" -CGxDevice__PrimIndexPtr 00682F10 f end=00682F3C type="void __thiscall func(CGxDevice* this, CGxBuf* buf)" \ No newline at end of file +CGxDevice__DeviceTakeScreenShot 00682D30 f end=00682D3B type="void __thiscall func(CGxDevice* this)" +CGxDevice__DeviceReadScreenShot 00684260 f end=0068429E type="void __thiscall func(CGxDevice* this, uint32_t* w, uint32_t* h, CImVector** pixels)" \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/symbol/gxprim/func.sym b/profile/3.3.5a-windows-386/symbol/gxprim/func.sym index 9e50279..eabcebf 100644 --- a/profile/3.3.5a-windows-386/symbol/gxprim/func.sym +++ b/profile/3.3.5a-windows-386/symbol/gxprim/func.sym @@ -1,7 +1,7 @@ -GxPrimIndexPtr 00681AB0 f end=00681AFB -GxPrimVertexPtr 00681B00 f end= type="void __stdcall func(CGxBuf* buf, EGxVertexBufferFormat format)" -GxPrimVertexPtr 00682400 f end=00682781 ; this is one of the functions named 'GxPrimVertexPtr' that uses the fixed-function pipeline -GxPrimLockVertexPtrs 006828C0 f end=006828FE +GxPrimIndexPtr 00681AB0 f end=00681AFB type="void __stdcall func(uint32_t indexCount, uint16_t* indices)" +GxPrimVertexPtr 00681B00 f end=00681B4B type="void __stdcall func(CGxBuf* buf, EGxVertexBufferFormat format)" +GxPrimVertexPtr 00682400 f end=00682781 type="void __stdcall func(uint32_t vertexCount, C3Vector* pos, uint32_t posStride, C3Vector* normal, uint32_t normalStride, CImVector* color, uint32_t colorStride, C2Vector* tex0, uint32_t tex0Stride, C2Vector* tex1, uint32_t tex1Stride)" ; this is one of the functions named 'GxPrimVertexPtr' that uses the fixed-function pipeline +GxPrimLockVertexPtrs 006828C0 f end=006828FE type="void __stdcall func(uint32_t vertexCount, C3Vector* pos, uint32_t posStride, C3Vector* normal, uint32_t normalStride, CImVector* color, uint32_t colorStride, uint8_t* bone, uint32_t boneStride, C2Vector* tex0, uint32_t tex0Stride, C2Vector* tex1, uint32_t tex1Stride)" GxPrimLockIndexPtr 006823A0 f end=006823F8 type="void __stdcall func(EGxPrim primType, uint32_t indexCount, uint16_t* indices)" GxDrawLockedElements 00682340 f end=0068239E type="void __stdcall func(EGxPrim primType, uint32_t, uint16_t*)" GxDrawLockedElements 00681A60 f end=00681AAB type="void __stdcall func()" \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/symbol/main.sym b/profile/3.3.5a-windows-386/symbol/main.sym index 8f4df8e..9fce952 100644 --- a/profile/3.3.5a-windows-386/symbol/main.sym +++ b/profile/3.3.5a-windows-386/symbol/main.sym @@ -119,6 +119,7 @@ IEvtInputSetMouseMode 0047FBB0 f end=0047FC17 IEvtInputSetConfirmCloseCallback 0047FC20 f end=0047FC36 ConvertPosition 0047FC90 f end=0047FDD4 IEvtInputGetMousePosition 004800A0 f end=004800EF +ProcessInput 00480130 f end=0048040C IEvtInputProcess 00480410 f end=004804A8 IEvtQueueDestroy 004804B0 f end=004804BA IEvtQueueCheckSyncMouseState 004804C0 f end=004804E6 @@ -2094,21 +2095,22 @@ GxSceneClear 006813B0 f end=006813CD GxTexUpdate 006813D0 f end=006813EC GxLog 006817E0 f end=006817F5 GxDrawLockedElements 00681A60 f end=00681AAB type="void __stdcall func()" -GxPrimIndexPtr 00681AB0 f end=00681AFB -GxPrimVertexPtr 00681B00 f +GxPrimIndexPtr 00681AB0 f end=00681AFB type="void __stdcall func(uint32_t indexCount, uint16_t* indices)" +GxPrimVertexPtr 00681B00 f end=00681B4B type="void __stdcall func(CGxBuf* buf, EGxVertexBufferFormat format)" CGxTexFlags__CGxTexFlags 00681BE0 f end=00681CAB ; UC GxTexCreate 00681CB0 f end=00681D87 GxXformSetViewport 00681F60 f end=00682124 type="void __stdcall func(float minX, float maxX, float minY, float maxY, float minZ, float maxZ)" GxDrawLockedElements 00682340 f end=0068239E type="void __stdcall func(EGxPrim primType, uint32_t, uint16_t*)" GxPrimLockIndexPtr 006823A0 f end=006823F8 type="void __stdcall func(EGxPrim primType, uint32_t indexCount, uint16_t* indices)" -GxPrimVertexPtr_FFP 00682400 f end=00682781 ; this is one of the functions named 'GxPrimVertexPtr' that uses the fixed-function pipeline -GxPrimLockVertexPtrs 006828C0 f end=006828FE +GxPrimVertexPtr 00682400 f end=00682781 type="void __stdcall func(uint32_t vertexCount, C3Vector* pos, uint32_t posStride, C3Vector* normal, uint32_t normalStride, CImVector* color, uint32_t colorStride, C2Vector* tex0, uint32_t tex0Stride, C2Vector* tex1, uint32_t tex1Stride)" ; this is one of the functions named 'GxPrimVertexPtr' that uses the fixed-function pipeline +GxPrimLockVertexPtrs 006828C0 f end=006828FE type="void __stdcall func(uint32_t vertexCount, C3Vector* pos, uint32_t posStride, C3Vector* normal, uint32_t normalStride, CImVector* color, uint32_t colorStride, uint8_t* bone, uint32_t boneStride, C2Vector* tex0, uint32_t tex0Stride, C2Vector* tex1, uint32_t tex1Stride)" GxScenePresent 00682A00 f end=00682A33 CGxDevice__DeviceCreate_WindowProc_CGxFormat 00682CB0 f end=00682CCB type="void __thiscall func(CGxDevice* this, int32_t (*windowProc)(void*, uint32_t, uintptr_t, intptr_t), CGxFormat* format)" CGxDevice__DeviceCreate_CGxFormat 00682CD0 f end=00682CF0 type="void __thiscall func(CGxDevice* this, CGxFormat* format)" CGxDevice__DeviceDestroy 00682CF0 f end=00682CFB type="void __thiscall func(CGxDevice* this)" CGxDevice__DeviceSetBaseMipLevel 00682D00 f end=00682D10 type="void __thiscall func(CGxDevice* this, uint32_t baseMipLevel)" CGxDevice__DeviceApi 00682D20 f end=00682D27 type="EGxApi __thiscall func(CGxDevice* this)" +CGxDevice__DeviceTakeScreenShot 00682D30 f end=00682D3B type="void __thiscall func(CGxDevice* this)" CGxDevice__IDevIsWindowed 00682D40 f end=00682D48 type="int32_t __thiscall func(CGxDevice* this)" CGxDevice__DeviceCurWindow 00682D70 f end=00682D76 type="CRect* __thiscall func(CGxDevice* this)" CGxDevice__CapsIsWindowVisible 00682DC0 f end=00682DE7 type="int32_t __thiscall func(CGxDevice* this, int32_t a2)" @@ -2134,10 +2136,11 @@ CGxDevice__CursorSetDepth 00683660 f end=00683670 type="void __thiscall func(CGx CGxDevice__DeviceSetFormat 006840F0 f end=0068416C type="int32_t __thiscall func(CGxDevice* this, CGxFormat* format)" CGxDevice__DeviceSetGamma_float 00684170 f end=00684189 type="void __thiscall func(CGxDevice* this, float gamma)" CGxDevice__DeviceSetGamma_CGxGammaRamp 00684190 f end=006841AF type="int32_t __thiscall func(CGxDevice* this, CGxGammaRamp* ramp)" +CGxDevice__DeviceReadScreenShot 00684260 f end=0068429E type="void __thiscall func(CGxDevice* this, uint32_t* w, uint32_t* h, CImVector** pixels)" CGxDevice__DeviceSetDefWindow 00684360 f end=006843B0 type="void __thiscall func(CGxDevice* this, CRect* rect)" CGxDevice__NotifyOnDeviceRestored 006843B0 f end=006843D9 type="void __thiscall func(CGxDevice* this)" CGxDevice__NotifyOnTextureRecreation 006843E0 f end=00684409 type="void __thiscall func(CGxDevice* this)" -CGxDevice__NotifyOnDisplayChange 00684410 f end=00684439 type="void __thiscall func(CGxDevice* this)" +CGxDevice__NotifyOnStereoChanged 00684410 f end=00684439 type="void __thiscall func(CGxDevice* this)" CGxDevice__ClipPlaneSet 00684440 f end=006844B9 type="void __thiscall func(CGxDevice* this, uint32_t a2, C4Plane* plane)" CGxDevice__LightSet 006847D0 f end=00684843 type="void __thiscall func(CGxDevice* this, uint32_t a2, CGxLight* light, C3Vector* pos)" CGxDevice__BufStream 00684850 f end=0068489F type="void __thiscall func(CGxDevice* this, EGxPoolTarget target, uint32_t itemSize, uint32_t itemCount)" @@ -2153,8 +2156,8 @@ CGxDevice__AddDeviceRestoredCallback 006853B0 f end=006853C6 type="void __thisca CGxDevice__RemoveDeviceRestoredCallback 006853D0 f end=0068545C type="int32_t __thiscall func(CGxDevice* this, DEVICERESTOREDCALLBACK fn)" CGxDevice__AddTextureRecreationCallback 00685460 f end=00685476 type="void __thiscall func(CGxDevice* this, TEXTURERECREATIONCALLBACK fn)" CGxDevice__RemoveTextureRecreationCallback 00685480 f end=0068550C type="int32_t __thiscall func(CGxDevice* this, TEXTURERECREATIONCALLBACK fn)" -CGxDevice__AddDisplayChangeCallback 00685510 f end=00685526 type="void __thiscall func(CGxDevice* this, DISPLAYCHANGECALLBACK fn)" -CGxDevice__RemoveDisplayChangeCallback 00685530 f end=006855BC type="int32_t __thiscall func(CGxDevice* this, DISPLAYCHANGECALLBACK fn)" +CGxDevice__AddStereoChangedCallback 00685510 f end=00685526 type="void __thiscall func(CGxDevice* this, STEREOCHANGEDCALLBACK fn)" +CGxDevice__RemoveStereoChangedCallback 00685530 f end=006855BC type="int32_t __thiscall func(CGxDevice* this, STEREOCHANGEDCALLBACK fn)" CGxDevice__IRsDirty 00685970 f end=006859DB type="void __thiscall func(CGxDevice* this, EGxRenderState which)" CGxDevice__IRsForceUpdate_EGxRenderState 006859E0 f end=00685A65 type="void __thiscall func(CGxDevice* this, EGxRenderState which)" ; CGxDevice::IRsForceUpdate(EGxRenderState) CGxDevice__IRsForceUpdate 00685A70 f end=00685B4E type="void __thiscall func(CGxDevice* this)" ; CGxDevice::IRsForceUpdate() @@ -2199,7 +2202,7 @@ CGxDeviceD3d__ICreateD3d 00690680 f end=00690742 CGxDeviceD3d__DeviceCreate_WindowProc_CGxFormat 00690750 f end=00690821 CGxDeviceD3d__ICreateD3dVB 0069FB00 f end=0069FB68 CGxDeviceD3d__CreatePoolAPI 0069FB70 f end=0069FBB8 -CGxDeviceD3d__ICursorClip 0069FE10 f end=0069FE57 +CGxDeviceD3d__ICursorClip 0069FE10 f end=0069FE57 ; UC (invented name) CGxDeviceD3d__ICursorDestroy 006A00C0 f end=006A0102 CGxDeviceD3d__WindowProcD3d 006A0360 f end=006A0834 CGxDeviceD3d9Ex__CGxDeviceD3d9Ex 006A1A90 f end=006A1C24 diff --git a/profile/3.3.5a-windows-386/x64dbg/game.dd32 b/profile/3.3.5a-windows-386/x64dbg/game.dd32 index 5453f18..0c431f3 100644 Binary files a/profile/3.3.5a-windows-386/x64dbg/game.dd32 and b/profile/3.3.5a-windows-386/x64dbg/game.dd32 differ diff --git a/profile/3.3.5a-windows-386/x64dbg/types.json b/profile/3.3.5a-windows-386/x64dbg/types.json index 22d3848..52512c9 100644 --- a/profile/3.3.5a-windows-386/x64dbg/types.json +++ b/profile/3.3.5a-windows-386/x64dbg/types.json @@ -64,10 +64,6 @@ "type": "void**", "name": "DEVICERESTOREDCALLBACK" }, - { - "type": "void**", - "name": "DISPLAYCHANGECALLBACK" - }, { "type": "int", "name": "EGxApi" @@ -264,6 +260,10 @@ "type": "int", "name": "STATUS_TYPE" }, + { + "type": "void**", + "name": "STEREOCHANGEDCALLBACK" + }, { "type": "void**", "name": "TEXTURERECREATIONCALLBACK" @@ -989,7 +989,7 @@ }, { "type": "void*", - "name": "v_fn_7_NotifyOnDisplayChange", + "name": "v_fn_7_NotifyOnStereoChanged", "offset": 28 }, { @@ -1084,12 +1084,12 @@ }, { "type": "void*", - "name": "v_fn_26", + "name": "v_fn_26_DeviceResolveDepthBuffer", "offset": 104 }, { "type": "void*", - "name": "v_fn_27", + "name": "v_fn_27_DeviceCopyTex", "offset": 108 }, { @@ -1119,12 +1119,12 @@ }, { "type": "void*", - "name": "v_fn_33_AddDisplayChangeCallback", + "name": "v_fn_33_AddStereoChangedCallback", "offset": 132 }, { "type": "void*", - "name": "v_fn_34_RemoveDisplayChangeCallback", + "name": "v_fn_34_RemoveStereoChangedCallback", "offset": 136 }, { @@ -1174,37 +1174,37 @@ }, { "type": "void*", - "name": "v_fn_44", + "name": "v_fn_44_PrimDrawElements", "offset": 176 }, { "type": "void*", - "name": "v_fn_45", + "name": "v_fn_45_PrimVertex", "offset": 180 }, { "type": "void*", - "name": "v_fn_46", + "name": "v_fn_46_PrimTexCoord", "offset": 184 }, { "type": "void*", - "name": "v_fn_47", + "name": "v_fn_47_PrimNormal", "offset": 188 }, { "type": "void*", - "name": "v_fn_48", + "name": "v_fn_48_PrimColor", "offset": 192 }, { "type": "void*", - "name": "v_fn_49", + "name": "v_fn_49_PrimPointSize", "offset": 196 }, { "type": "void*", - "name": "v_fn_50", + "name": "v_fn_50_PrimLineWidth", "offset": 200 }, { @@ -1254,42 +1254,42 @@ }, { "type": "void*", - "name": "v_fn_60", + "name": "v_fn_60_TexStretch", "offset": 240 }, { "type": "void*", - "name": "v_fn_61", + "name": "v_fn_61_TexSetCacheSize", "offset": 244 }, { "type": "void*", - "name": "v_fn_62", + "name": "v_fn_62_QueryCreate", "offset": 248 }, { "type": "void*", - "name": "v_fn_63", + "name": "v_fn_63_QueryDestroy", "offset": 252 }, { "type": "void*", - "name": "v_fn_64", + "name": "v_fn_64_QueryBegin", "offset": 256 }, { "type": "void*", - "name": "v_fn_65", + "name": "v_fn_65_QueryEnd", "offset": 260 }, { "type": "void*", - "name": "v_fn_66", + "name": "v_fn_66_QueryGetParam", "offset": 264 }, { "type": "void*", - "name": "v_fn_67", + "name": "v_fn_67_QueryGetData", "offset": 268 }, { @@ -1299,7 +1299,7 @@ }, { "type": "void*", - "name": "v_fn_69", + "name": "v_fn_69_ShaderRelease", "offset": 276 }, { @@ -1309,7 +1309,7 @@ }, { "type": "void*", - "name": "v_fn_71_IShaderDestroy", + "name": "v_fn_71_IShaderReload", "offset": 284 }, { @@ -8048,6 +8048,48 @@ } ] }, + { + "name": "IDirect3DPixelShader9", + "size": 4, + "members": [ + { + "type": "IDirect3DPixelShader9__vtable*", + "name": "v_vtable", + "offset": 0 + } + ] + }, + { + "name": "IDirect3DPixelShader9__vtable", + "size": 20, + "members": [ + { + "type": "void*", + "name": "v_fn_0_QueryInterface", + "offset": 0 + }, + { + "type": "void*", + "name": "v_fn_1_AddRef", + "offset": 4 + }, + { + "type": "void*", + "name": "v_fn_2_Release", + "offset": 8 + }, + { + "type": "void*", + "name": "v_fn_3_GetDevice", + "offset": 12 + }, + { + "type": "void*", + "name": "v_fn_4_GetFunction", + "offset": 16 + } + ] + }, { "name": "IDirect3DSurface9", "size": 4, @@ -8183,6 +8225,48 @@ } ] }, + { + "name": "IDirect3DVertexShader9", + "size": 4, + "members": [ + { + "type": "IDirect3DVertexShader9__vtable*", + "name": "v_vtable", + "offset": 0 + } + ] + }, + { + "name": "IDirect3DVertexShader9__vtable", + "size": 20, + "members": [ + { + "type": "void*", + "name": "v_fn_0_QueryInterface", + "offset": 0 + }, + { + "type": "void*", + "name": "v_fn_1_AddRef", + "offset": 4 + }, + { + "type": "void*", + "name": "v_fn_2_Release", + "offset": 8 + }, + { + "type": "void*", + "name": "v_fn_3_GetDevice", + "offset": 12 + }, + { + "type": "void*", + "name": "v_fn_4_GetFunction", + "offset": 16 + } + ] + }, { "name": "KERNINGHASHKEY", "size": 4, @@ -9291,32 +9375,6 @@ } ] }, - { - "name": "TSGrowableArray_DISPLAYCHANGECALLBACK", - "size": 16, - "members": [ - { - "type": "uint32_t", - "name": "m_alloc", - "offset": 0 - }, - { - "type": "uint32_t", - "name": "m_count", - "offset": 4 - }, - { - "type": "DISPLAYCHANGECALLBACK*", - "name": "m_data", - "offset": 8 - }, - { - "type": "uint32_t", - "name": "m_chunk", - "offset": 12 - } - ] - }, { "name": "TSGrowableArray_EGxRenderState", "size": 16, @@ -9473,6 +9531,32 @@ } ] }, + { + "name": "TSGrowableArray_STEREOCHANGEDCALLBACK", + "size": 16, + "members": [ + { + "type": "uint32_t", + "name": "m_alloc", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "m_count", + "offset": 4 + }, + { + "type": "STEREOCHANGEDCALLBACK*", + "name": "m_data", + "offset": 8 + }, + { + "type": "uint32_t", + "name": "m_chunk", + "offset": 12 + } + ] + }, { "name": "TSGrowableArray_TEXTURERECREATIONCALLBACK", "size": 16, @@ -15868,77 +15952,82 @@ }, { "name": "CGxShader", - "size": 84, + "size": 88, "members": [ { "type": "TSHashObject_CGxShader_HASHKEY_STRI", "name": "b_base", "offset": 0 }, + { + "type": "void*", + "name": "v_table", + "offset": 24 + }, { "type": "uint32_t", "name": "refCount", - "offset": 24 + "offset": 28 }, { "type": "void*", "name": "apiSpecific", - "offset": 28 - }, - { - "type": "int32_t", - "name": "target", "offset": 32 }, { "type": "int32_t", - "name": "int28", + "name": "target", "offset": 36 }, { "type": "int32_t", - "name": "valid", + "name": "int28", "offset": 40 }, { "type": "int32_t", - "name": "loaded", + "name": "valid", "offset": 44 }, { "type": "int32_t", - "name": "int34", + "name": "loaded", "offset": 48 }, { "type": "int32_t", - "name": "patched", + "name": "int34", "offset": 52 }, { "type": "int32_t", - "name": "int3C", + "name": "patched", "offset": 56 }, { "type": "int32_t", - "name": "int40", + "name": "int3C", "offset": 60 }, { - "type": "int16_t", - "name": "int44", + "type": "int32_t", + "name": "int40", "offset": 64 }, + { + "type": "int16_t", + "name": "int44", + "offset": 68 + }, { "type": "int16_t", "name": "int46", - "offset": 66 + "offset": 70 }, { "type": "TSGrowableArray_uint8_t", "name": "code", - "offset": 68 + "offset": 72 } ] }, @@ -16528,131 +16617,156 @@ }, { "name": "TSHashTable_CGxShader_HASHKEY_STRI", - "size": 36, + "size": 40, "members": [ + { + "type": "void**", + "name": "v_table", + "offset": 0 + }, { "type": "TSList_CGxShader", "name": "m_fulllist", - "offset": 0 + "offset": 4 }, { "type": "uint32_t", "name": "m_fullnessIndicator", - "offset": 12 + "offset": 16 }, { "type": "TSGrowableArray_TSList_CGxShader", "name": "m_slotlistarray", - "offset": 16 + "offset": 20 }, { "type": "uint32_t", "name": "m_slotmask", - "offset": 32 + "offset": 36 } ] }, { "name": "TSHashTable_CHARCODEDESC_HASHKEY_NONE", - "size": 36, + "size": 40, "members": [ + { + "type": "void**", + "name": "v_table", + "offset": 0 + }, { "type": "TSList_CHARCODEDESC", "name": "m_fulllist", - "offset": 0 + "offset": 4 }, { "type": "uint32_t", "name": "m_fullnessIndicator", - "offset": 12 + "offset": 16 }, { "type": "TSGrowableArray_TSList_CHARCODEDESC", "name": "m_slotlistarray", - "offset": 16 + "offset": 20 }, { "type": "uint32_t", "name": "m_slotmask", - "offset": 32 + "offset": 36 } ] }, { "name": "TSHashTable_KERNNODE_KERNINGHASHKEY", - "size": 36, + "size": 40, "members": [ + { + "type": "void**", + "name": "v_table", + "offset": 0 + }, { "type": "TSList_KERNNODE", "name": "m_fulllist", - "offset": 0 + "offset": 4 }, { "type": "uint32_t", "name": "m_fullnessIndicator", - "offset": 12 + "offset": 16 }, { "type": "TSGrowableArray_TSList_KERNNODE", "name": "m_slotlistarray", - "offset": 16 + "offset": 20 }, { "type": "uint32_t", "name": "m_slotmask", - "offset": 32 + "offset": 36 } ] }, { "name": "TSHashTable_BATCHEDRENDERFONTDESC_HASHKEY_PTR", - "size": 36, + "size": 40, "members": [ + { + "type": "void**", + "name": "v_table", + "offset": 0 + }, { "type": "TSList_BATCHEDRENDERFONTDESC", "name": "m_fulllist", - "offset": 0 + "offset": 4 }, { "type": "uint32_t", "name": "m_fullnessIndicator", - "offset": 12 + "offset": 16 }, { "type": "TSGrowableArray_TSList_BATCHEDRENDERFONTDESC", "name": "m_slotlistarray", - "offset": 16 + "offset": 20 }, { "type": "uint32_t", "name": "m_slotmask", - "offset": 32 + "offset": 36 } ] }, { "name": "TSHashTable_FrameScript_EventObject_HASHKEY_STRI", - "size": 36, + "size": 40, "members": [ + { + "type": "void**", + "name": "v_table", + "offset": 0 + }, { "type": "TSList_FrameScript_EventObject", "name": "m_fulllist", - "offset": 0 + "offset": 4 }, { "type": "uint32_t", "name": "m_fullnessIndicator", - "offset": 12 + "offset": 16 }, { "type": "TSGrowableArray_TSList_FrameScript_EventObject", "name": "m_slotlistarray", - "offset": 16 + "offset": 20 }, { "type": "uint32_t", "name": "m_slotmask", - "offset": 32 + "offset": 36 } ] }, @@ -16713,468 +16827,64 @@ ] }, { - "name": "CGxDevice", - "size": 14696, + "name": "TSHashTable_CShaderEffect_HASHKEY_STRI", + "size": 40, "members": [ - { - "type": "CGxDevice__vtable*", - "name": "v_vtable", - "offset": 0 - }, - { - "type": "TSGrowableArray_CGxPushedRenderState", - "name": "m_pushedStates", - "offset": 4 - }, - { - "type": "TSGrowableArray_uint32_t", - "name": "m_stackOffsets", - "offset": 20 - }, - { - "type": "TSGrowableArray_EGxRenderState", - "name": "m_dirtyStates", - "offset": 36 - }, - { - "type": "EGxPrim", - "name": "m_primType", - "offset": 52 - }, - { - "type": "uint32_t", - "name": "m_unk38", - "arrsize": 2, - "offset": 56 - }, - { - "type": "int32_t", - "name": "m_inBeginEnd", - "offset": 64 - }, - { - "type": "C3Vector", - "name": "m_primVertex", - "offset": 68 - }, - { - "type": "C2Vector", - "name": "m_primTexCoord", - "arrsize": 8, - "offset": 80 - }, - { - "type": "C3Vector", - "name": "m_primNormal", - "offset": 144 - }, - { - "type": "CImVector", - "name": "m_primColor", - "offset": 156 - }, - { - "type": "TSGrowableArray_C3Vector", - "name": "m_primVertexArray", - "offset": 160 - }, - { - "type": "TSGrowableArray_C2Vector", - "name": "m_primTexCoordArray", - "arrsize": 8, - "offset": 176 - }, - { - "type": "TSGrowableArray_C3Vector", - "name": "m_primNormalArray", - "offset": 304 - }, - { - "type": "TSGrowableArray_CImVector", - "name": "m_primColorArray", - "offset": 320 - }, - { - "type": "TSGrowableArray_uint16_t", - "name": "m_primIndexArray", - "offset": 336 - }, - { - "type": "uint32_t", - "name": "m_primMask", - "offset": 352 - }, - { - "type": "CRect", - "name": "m_defWindowRect", - "offset": 356 - }, - { - "type": "CRect", - "name": "m_curWindowRect", - "offset": 372 - }, - { - "type": "TSGrowableArray_DEVICERESTOREDCALLBACK", - "name": "m_deviceRestoredCallbacks", - "offset": 388 - }, - { - "type": "TSGrowableArray_TEXTURERECREATIONCALLBACK", - "name": "m_textureRecreationCallbacks", - "offset": 404 - }, - { - "type": "TSGrowableArray_DISPLAYCHANGECALLBACK", - "name": "m_displayChangeCallbacks", - "offset": 420 - }, - { - "type": "EGxApi", - "name": "m_api", - "offset": 436 - }, - { - "type": "uint32_t", - "name": "m_cpuFeatures", - "offset": 440 - }, - { - "type": "CGxFormat", - "name": "m_format", - "offset": 444 - }, - { - "type": "CGxCaps", - "name": "m_caps", - "offset": 532 - }, - { - "type": "uint32_t", - "name": "m_baseMipLevel", - "offset": 848 - }, - { - "type": "CGxGammaRamp", - "name": "m_gammaRamp", - "offset": 852 - }, - { - "type": "CGxGammaRamp", - "name": "m_systemGammaRamp", - "offset": 2388 - }, { "type": "void**", - "name": "m_windowProc", - "offset": 3924 + "name": "v_table", + "offset": 0 }, - { - "type": "int32_t", - "name": "m_context", - "offset": 3928 - }, - { - "type": "int32_t", - "name": "intF5C", - "offset": 3932 - }, - { - "type": "int32_t", - "name": "m_windowVisible", - "offset": 3936 - }, - { - "type": "int32_t", - "name": "intF64", - "offset": 3940 - }, - { - "type": "int32_t", - "name": "intF68", - "offset": 3944 - }, - { - "type": "int32_t", - "name": "m_needsReset", - "offset": 3948 - }, - { - "type": "CBoundingBox", - "name": "m_viewport", - "offset": 3952 - }, - { - "type": "C44Matrix", - "name": "m_projection", - "offset": 3976 - }, - { - "type": "C44Matrix", - "name": "m_projNative", - "offset": 4040 - }, - { - "type": "CGxMatrixStack", - "name": "m_xforms", - "arrsize": 11, - "offset": 4104 - }, - { - "type": "CGxMatrixStack", - "name": "m_texGen", - "arrsize": 8, - "offset": 7184 - }, - { - "type": "uint32_t", - "name": "unk24D0", - "arrsize": 162, - "offset": 9424 - }, - { - "type": "uint32_t", - "name": "m_appMasterEnables", - "offset": 10072 - }, - { - "type": "uint32_t", - "name": "m_hwMasterEnables", - "offset": 10076 - }, - { - "type": "TSList_CGxPool", - "name": "m_poolList", - "offset": 10080 - }, - { - "type": "uint32_t", - "name": "unk276C", - "arrsize": 3, - "offset": 10092 - }, - { - "type": "CGxBuf*", - "name": "m_bufLocked", - "arrsize": 2, - "offset": 10104 - }, - { - "type": "CGxPool*", - "name": "m_vertexPool", - "offset": 10112 - }, - { - "type": "CGxPool*", - "name": "m_indexPool", - "offset": 10116 - }, - { - "type": "CGxBuf*", - "name": "m_streamBufs", - "arrsize": 2, - "offset": 10120 - }, - { - "type": "CGxVertexAttrib", - "name": "m_primVertexFormatAttrib", - "arrsize": 14, - "offset": 10128 - }, - { - "type": "CGxBuf*", - "name": "m_primVertexFormatBuf", - "arrsize": 14, - "offset": 10352 - }, - { - "type": "uint32_t", - "name": "m_primVertexMask", - "offset": 10408 - }, - { - "type": "uint32_t", - "name": "m_primVertexDirty", - "offset": 10412 - }, - { - "type": "EGxVertexBufferFormat", - "name": "m_primVertexFormat", - "offset": 10416 - }, - { - "type": "CGxBuf*", - "name": "m_primVertexBuf", - "offset": 10420 - }, - { - "type": "uint32_t", - "name": "m_primVertexSize", - "offset": 10424 - }, - { - "type": "CGxBuf*", - "name": "m_primIndexBuf", - "offset": 10428 - }, - { - "type": "int32_t", - "name": "m_primIndexDirty", - "offset": 10432 - }, - { - "type": "uint32_t", - "name": "unk28C4", - "offset": 10436 - }, - { - "type": "uint32_t", - "name": "unk28C8", - "offset": 10440 - }, - { - "type": "uint32_t", - "name": "unk28CC", - "offset": 10444 - }, - { - "type": "uint32_t", - "name": "unk28D0", - "offset": 10448 - }, - { - "type": "uint32_t", - "name": "unk28D4", - "offset": 10452 - }, - { - "type": "uint32_t", - "name": "unk28D8", - "offset": 10456 - }, - { - "type": "uint32_t", - "name": "unk28DC", - "offset": 10460 - }, - { - "type": "uint32_t", - "name": "unk28E0", - "offset": 10464 - }, - { - "type": "uint32_t", - "name": "unk28E4", - "offset": 10468 - }, - { - "type": "uint32_t", - "name": "unk28E8", - "offset": 10472 - }, - { - "type": "TSFixedArray_CGxAppRenderState", - "name": "m_appRenderStates", - "offset": 10476 - }, - { - "type": "TSFixedArray_CGxStateBom", - "name": "m_hwRenderStates", - "offset": 10488 - }, - { - "type": "uint32_t", - "name": "unk2904", - "arrsize": 19, - "offset": 10500 - }, - { - "type": "int32_t", - "name": "m_cursorVisible", - "offset": 10576 - }, - { - "type": "int32_t", - "name": "m_hardwareCursor", - "offset": 10580 - }, - { - "type": "uint32_t", - "name": "m_cursorHotspotX", - "offset": 10584 - }, - { - "type": "uint32_t", - "name": "m_cursorHotspotY", - "offset": 10588 - }, - { - "type": "uint32_t", - "name": "m_cursor", - "arrsize": 1024, - "offset": 10592 - }, - { - "type": "CGxTex*", - "name": "m_cursorTexture", - "offset": 14688 - }, - { - "type": "float", - "name": "m_cursorDepth", - "offset": 14692 - } - ] - }, - { - "name": "TSHashTable_CShaderEffect_HASHKEY_STRI", - "size": 36, - "members": [ { "type": "TSList_CShaderEffect", "name": "m_fulllist", - "offset": 0 + "offset": 4 }, { "type": "uint32_t", "name": "m_fullnessIndicator", - "offset": 12 + "offset": 16 }, { "type": "TSGrowableArray_TSList_CShaderEffect", "name": "m_slotlistarray", - "offset": 16 + "offset": 20 }, { "type": "uint32_t", "name": "m_slotmask", - "offset": 32 + "offset": 36 } ] }, { "name": "TSHashTable_RGN_HASHKEY_NONE", - "size": 36, + "size": 40, "members": [ + { + "type": "void**", + "name": "v_table", + "offset": 0 + }, { "type": "TSList_RGN", "name": "m_fulllist", - "offset": 0 + "offset": 4 }, { "type": "uint32_t", "name": "m_fullnessIndicator", - "offset": 12 + "offset": 16 }, { "type": "TSGrowableArray_TSList_RGN", "name": "m_slotlistarray", - "offset": 16 + "offset": 20 }, { "type": "uint32_t", "name": "m_slotmask", - "offset": 32 + "offset": 36 } ] }, @@ -18491,6 +18201,446 @@ } ] }, + { + "name": "CGxDevice", + "size": 14696, + "members": [ + { + "type": "CGxDevice__vtable*", + "name": "v_vtable", + "offset": 0 + }, + { + "type": "TSGrowableArray_CGxPushedRenderState", + "name": "m_pushedStates", + "offset": 4 + }, + { + "type": "TSGrowableArray_uint32_t", + "name": "m_stackOffsets", + "offset": 20 + }, + { + "type": "TSGrowableArray_EGxRenderState", + "name": "m_dirtyStates", + "offset": 36 + }, + { + "type": "EGxPrim", + "name": "m_primType", + "offset": 52 + }, + { + "type": "uint32_t", + "name": "m_unk38", + "arrsize": 2, + "offset": 56 + }, + { + "type": "int32_t", + "name": "m_inBeginEnd", + "offset": 64 + }, + { + "type": "C3Vector", + "name": "m_primVertex", + "offset": 68 + }, + { + "type": "C2Vector", + "name": "m_primTexCoord", + "arrsize": 8, + "offset": 80 + }, + { + "type": "C3Vector", + "name": "m_primNormal", + "offset": 144 + }, + { + "type": "CImVector", + "name": "m_primColor", + "offset": 156 + }, + { + "type": "TSGrowableArray_C3Vector", + "name": "m_primVertexArray", + "offset": 160 + }, + { + "type": "TSGrowableArray_C2Vector", + "name": "m_primTexCoordArray", + "arrsize": 8, + "offset": 176 + }, + { + "type": "TSGrowableArray_C3Vector", + "name": "m_primNormalArray", + "offset": 304 + }, + { + "type": "TSGrowableArray_CImVector", + "name": "m_primColorArray", + "offset": 320 + }, + { + "type": "TSGrowableArray_uint16_t", + "name": "m_primIndexArray", + "offset": 336 + }, + { + "type": "uint32_t", + "name": "m_primMask", + "offset": 352 + }, + { + "type": "CRect", + "name": "m_defWindowRect", + "offset": 356 + }, + { + "type": "CRect", + "name": "m_curWindowRect", + "offset": 372 + }, + { + "type": "TSGrowableArray_DEVICERESTOREDCALLBACK", + "name": "m_deviceRestoredCallbacks", + "offset": 388 + }, + { + "type": "TSGrowableArray_TEXTURERECREATIONCALLBACK", + "name": "m_textureRecreationCallbacks", + "offset": 404 + }, + { + "type": "TSGrowableArray_STEREOCHANGEDCALLBACK", + "name": "m_stereoChangedCallbacks", + "offset": 420 + }, + { + "type": "EGxApi", + "name": "m_api", + "offset": 436 + }, + { + "type": "uint32_t", + "name": "m_cpuFeatures", + "offset": 440 + }, + { + "type": "CGxFormat", + "name": "m_format", + "offset": 444 + }, + { + "type": "CGxCaps", + "name": "m_caps", + "offset": 532 + }, + { + "type": "uint32_t", + "name": "m_baseMipLevel", + "offset": 848 + }, + { + "type": "CGxGammaRamp", + "name": "m_gammaRamp", + "offset": 852 + }, + { + "type": "CGxGammaRamp", + "name": "m_systemGammaRamp", + "offset": 2388 + }, + { + "type": "void**", + "name": "m_windowProc", + "offset": 3924 + }, + { + "type": "int32_t", + "name": "m_context", + "offset": 3928 + }, + { + "type": "int32_t", + "name": "intF5C", + "offset": 3932 + }, + { + "type": "int32_t", + "name": "m_windowVisible", + "offset": 3936 + }, + { + "type": "int32_t", + "name": "intF64", + "offset": 3940 + }, + { + "type": "int32_t", + "name": "intF68", + "offset": 3944 + }, + { + "type": "int32_t", + "name": "m_needsReset", + "offset": 3948 + }, + { + "type": "CBoundingBox", + "name": "m_viewport", + "offset": 3952 + }, + { + "type": "C44Matrix", + "name": "m_projection", + "offset": 3976 + }, + { + "type": "C44Matrix", + "name": "m_projNative", + "offset": 4040 + }, + { + "type": "CGxMatrixStack", + "name": "m_xforms", + "arrsize": 11, + "offset": 4104 + }, + { + "type": "CGxMatrixStack", + "name": "m_texGen", + "arrsize": 8, + "offset": 7184 + }, + { + "type": "uint32_t", + "name": "unk24D0", + "arrsize": 102, + "offset": 9424 + }, + { + "type": "TSHashTable_CGxShader_HASHKEY_STRI", + "name": "m_shaderList", + "arrsize": 6, + "offset": 9832 + }, + { + "type": "uint32_t", + "name": "m_appMasterEnables", + "offset": 10072 + }, + { + "type": "uint32_t", + "name": "m_hwMasterEnables", + "offset": 10076 + }, + { + "type": "TSList_CGxPool", + "name": "m_poolList", + "offset": 10080 + }, + { + "type": "uint32_t", + "name": "unk276C", + "arrsize": 3, + "offset": 10092 + }, + { + "type": "CGxBuf*", + "name": "m_bufLocked", + "arrsize": 2, + "offset": 10104 + }, + { + "type": "CGxPool*", + "name": "m_vertexPool", + "offset": 10112 + }, + { + "type": "CGxPool*", + "name": "m_indexPool", + "offset": 10116 + }, + { + "type": "CGxBuf*", + "name": "m_streamBufs", + "arrsize": 2, + "offset": 10120 + }, + { + "type": "CGxVertexAttrib", + "name": "m_primVertexFormatAttrib", + "arrsize": 14, + "offset": 10128 + }, + { + "type": "CGxBuf*", + "name": "m_primVertexFormatBuf", + "arrsize": 14, + "offset": 10352 + }, + { + "type": "uint32_t", + "name": "m_primVertexMask", + "offset": 10408 + }, + { + "type": "uint32_t", + "name": "m_primVertexDirty", + "offset": 10412 + }, + { + "type": "EGxVertexBufferFormat", + "name": "m_primVertexFormat", + "offset": 10416 + }, + { + "type": "CGxBuf*", + "name": "m_primVertexBuf", + "offset": 10420 + }, + { + "type": "uint32_t", + "name": "m_primVertexSize", + "offset": 10424 + }, + { + "type": "CGxBuf*", + "name": "m_primIndexBuf", + "offset": 10428 + }, + { + "type": "int32_t", + "name": "m_primIndexDirty", + "offset": 10432 + }, + { + "type": "uint32_t", + "name": "unk28C4", + "offset": 10436 + }, + { + "type": "uint32_t", + "name": "unk28C8", + "offset": 10440 + }, + { + "type": "uint32_t", + "name": "unk28CC", + "offset": 10444 + }, + { + "type": "uint32_t", + "name": "unk28D0", + "offset": 10448 + }, + { + "type": "uint32_t", + "name": "unk28D4", + "offset": 10452 + }, + { + "type": "uint32_t", + "name": "unk28D8", + "offset": 10456 + }, + { + "type": "uint32_t", + "name": "unk28DC", + "offset": 10460 + }, + { + "type": "uint32_t", + "name": "unk28E0", + "offset": 10464 + }, + { + "type": "uint32_t", + "name": "unk28E4", + "offset": 10468 + }, + { + "type": "uint32_t", + "name": "unk28E8", + "offset": 10472 + }, + { + "type": "TSFixedArray_CGxAppRenderState", + "name": "m_appRenderStates", + "offset": 10476 + }, + { + "type": "TSFixedArray_CGxStateBom", + "name": "m_hwRenderStates", + "offset": 10488 + }, + { + "type": "uint32_t", + "name": "unk2904", + "arrsize": 12, + "offset": 10500 + }, + { + "type": "int32_t", + "name": "m_scrShotClick", + "offset": 10548 + }, + { + "type": "uint32_t", + "name": "m_scrShotWidth", + "offset": 10552 + }, + { + "type": "uint32_t", + "name": "m_scrShotHeight", + "offset": 10556 + }, + { + "type": "TSGrowableArray_CImVector", + "name": "m_scrShotPixels", + "offset": 10560 + }, + { + "type": "int32_t", + "name": "m_cursorVisible", + "offset": 10576 + }, + { + "type": "int32_t", + "name": "m_hardwareCursor", + "offset": 10580 + }, + { + "type": "uint32_t", + "name": "m_cursorHotspotX", + "offset": 10584 + }, + { + "type": "uint32_t", + "name": "m_cursorHotspotY", + "offset": 10588 + }, + { + "type": "uint32_t", + "name": "m_cursor", + "arrsize": 1024, + "offset": 10592 + }, + { + "type": "CGxTex*", + "name": "m_cursorTexture", + "offset": 14688 + }, + { + "type": "float", + "name": "m_cursorDepth", + "offset": 14692 + } + ] + }, { "name": "BATCHEDRENDERFONTDESC", "size": 40, @@ -18530,7 +18680,7 @@ }, { "name": "CGxFont", - "size": 584, + "size": 592, "members": [ { "type": "TSLinkedNode_CGxFont", @@ -18550,65 +18700,65 @@ { "type": "TSHashTable_KERNNODE_KERNINGHASHKEY", "name": "m_kernInfo", - "offset": 56 + "offset": 60 }, { "type": "TSExplicitList_CHARCODEDESC", "name": "m_activeCharacterCache", - "offset": 92 + "offset": 100 }, { "type": "HFACE", "name": "m_faceHandle", - "offset": 104 + "offset": 112 }, { "type": "char", "name": "m_fontName", "arrsize": 260, - "offset": 108 + "offset": 116 }, { "type": "uint32_t", "name": "m_cellHeight", - "offset": 368 + "offset": 376 }, { "type": "uint32_t", "name": "m_baseline", - "offset": 372 + "offset": 380 }, { "type": "uint32_t", "name": "m_flags", - "offset": 376 + "offset": 384 }, { "type": "float", "name": "float184", - "offset": 380 + "offset": 388 }, { "type": "float", "name": "m_pixelsPerUnit", - "offset": 384 + "offset": 392 }, { "type": "TEXTURECACHE", "name": "m_textureCache", "arrsize": 8, - "offset": 388 + "offset": 396 }, { "type": "uint32_t", "name": "m_pixelSize", - "offset": 580 + "offset": 588 } ] }, { "name": "CGxStringBatch", - "size": 48, + "size": 52, "members": [ { "type": "TSLinkedNode_CGxStringBatch", @@ -18623,7 +18773,7 @@ { "type": "uint32_t", "name": "m_flags", - "offset": 44 + "offset": 48 } ] }, @@ -18664,209 +18814,6 @@ } ] }, - { - "name": "CGxDeviceD3d", - "size": 16048, - "members": [ - { - "type": "CGxDevice", - "name": "b_base", - "offset": 0 - }, - { - "type": "void*", - "name": "m_hwnd", - "offset": 14696 - }, - { - "type": "uint16_t", - "name": "m_hwndClass", - "offset": 14700 - }, - { - "type": "uint16_t", - "name": "unk396E", - "offset": 14702 - }, - { - "type": "int32_t", - "name": "m_ownhwnd", - "offset": 14704 - }, - { - "type": "void*", - "name": "m_d3dLib", - "offset": 14708 - }, - { - "type": "IDirect3D9*", - "name": "m_d3d", - "offset": 14712 - }, - { - "type": "IDirect3DDevice9*", - "name": "m_d3dDevice", - "offset": 14716 - }, - { - "type": "D3DCAPS9", - "name": "m_d3dCaps", - "offset": 14720 - }, - { - "type": "int32_t", - "name": "m_d3dIsHwDevice", - "offset": 15032 - }, - { - "type": "int32_t", - "name": "m_d3dNVAPI", - "offset": 15036 - }, - { - "type": "uint32_t", - "name": "unk3AB8", - "offset": 15040 - }, - { - "type": "uint32_t", - "name": "unk3ABC", - "offset": 15044 - }, - { - "type": "uint32_t", - "name": "m_d3dStereoHandle", - "offset": 15048 - }, - { - "type": "uint32_t", - "name": "unk3AC4", - "arrsize": 3, - "offset": 15052 - }, - { - "type": "TSGrowableArray_CGxDeviceD3d__GxVertexDecl", - "name": "m_vertexDecl", - "offset": 15064 - }, - { - "type": "IDirect3DVertexDeclaration9*", - "name": "m_d3dVertexDecl", - "arrsize": 14, - "offset": 15080 - }, - { - "type": "D3DDISPLAYMODE", - "name": "m_desktopDisplayMode", - "offset": 15136 - }, - { - "type": "int32_t", - "name": "m_inScene", - "offset": 15152 - }, - { - "type": "uint32_t", - "name": "unk3B2C", - "offset": 15156 - }, - { - "type": "D3DFORMAT", - "name": "m_devDepthFormat", - "offset": 15160 - }, - { - "type": "D3DFORMAT", - "name": "m_devAdapterFormat", - "offset": 15164 - }, - { - "type": "uint32_t", - "name": "unk3B38", - "offset": 15168 - }, - { - "type": "IDirect3DSurface9*", - "name": "m_defColorSurface", - "offset": 15172 - }, - { - "type": "IDirect3DSurface9*", - "name": "m_defDepthSurface", - "offset": 15176 - }, - { - "type": "uint32_t", - "name": "unk3B44", - "offset": 15180 - }, - { - "type": "uint32_t", - "name": "unk3B48", - "offset": 15184 - }, - { - "type": "int32_t", - "name": "m_hwCursorNeedsUpdate", - "offset": 15188 - }, - { - "type": "IDirect3DTexture9*", - "name": "m_hwCursorTexture", - "offset": 15192 - }, - { - "type": "IDirect3DSurface9*", - "name": "m_hwCursorBitmap", - "offset": 15196 - }, - { - "type": "uint32_t", - "name": "unk3B58", - "offset": 15200 - }, - { - "type": "IDirect3DVertexDeclaration9*", - "name": "m_d3dCurrentVertexDecl", - "offset": 15204 - }, - { - "type": "IDirect3DIndexBuffer9*", - "name": "m_d3dCurrentIndexBuf", - "offset": 15208 - }, - { - "type": "IDirect3DVertexBuffer9*", - "name": "m_d3dVertexStreamBuf", - "arrsize": 8, - "offset": 15212 - }, - { - "type": "uint32_t", - "name": "m_d3dVertexStreamOfs", - "arrsize": 8, - "offset": 15244 - }, - { - "type": "uint32_t", - "name": "m_d3dVertexStreamStride", - "arrsize": 8, - "offset": 15276 - }, - { - "type": "uint32_t", - "name": "m_deviceStates", - "arrsize": 182, - "offset": 15308 - }, - { - "type": "bool", - "name": "m_texEnabled", - "arrsize": 8, - "offset": 16036 - } - ] - }, { "name": "M2Attachment", "size": 40, @@ -20124,6 +20071,226 @@ } ] }, + { + "name": "CGxDeviceOpenGl", + "size": 15264, + "members": [ + { + "type": "CGxDevice", + "name": "b_base", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "unk3968", + "arrsize": 142, + "offset": 14696 + } + ] + }, + { + "name": "CGxDeviceD3d", + "size": 16048, + "members": [ + { + "type": "CGxDevice", + "name": "b_base", + "offset": 0 + }, + { + "type": "void*", + "name": "m_hwnd", + "offset": 14696 + }, + { + "type": "uint16_t", + "name": "m_hwndClass", + "offset": 14700 + }, + { + "type": "uint16_t", + "name": "unk396E", + "offset": 14702 + }, + { + "type": "int32_t", + "name": "m_ownhwnd", + "offset": 14704 + }, + { + "type": "void*", + "name": "m_d3dLib", + "offset": 14708 + }, + { + "type": "IDirect3D9*", + "name": "m_d3d", + "offset": 14712 + }, + { + "type": "IDirect3DDevice9*", + "name": "m_d3dDevice", + "offset": 14716 + }, + { + "type": "D3DCAPS9", + "name": "m_d3dCaps", + "offset": 14720 + }, + { + "type": "int32_t", + "name": "m_d3dIsHwDevice", + "offset": 15032 + }, + { + "type": "int32_t", + "name": "m_d3dNVAPI", + "offset": 15036 + }, + { + "type": "uint32_t", + "name": "unk3AB8", + "offset": 15040 + }, + { + "type": "uint32_t", + "name": "unk3ABC", + "offset": 15044 + }, + { + "type": "uint32_t", + "name": "m_d3dStereoHandle", + "offset": 15048 + }, + { + "type": "uint32_t", + "name": "unk3AC4", + "arrsize": 3, + "offset": 15052 + }, + { + "type": "TSGrowableArray_CGxDeviceD3d__GxVertexDecl", + "name": "m_vertexDecl", + "offset": 15064 + }, + { + "type": "IDirect3DVertexDeclaration9*", + "name": "m_d3dVertexDecl", + "arrsize": 14, + "offset": 15080 + }, + { + "type": "D3DDISPLAYMODE", + "name": "m_desktopDisplayMode", + "offset": 15136 + }, + { + "type": "int32_t", + "name": "m_inScene", + "offset": 15152 + }, + { + "type": "uint32_t", + "name": "unk3B2C", + "offset": 15156 + }, + { + "type": "D3DFORMAT", + "name": "m_devDepthFormat", + "offset": 15160 + }, + { + "type": "D3DFORMAT", + "name": "m_devAdapterFormat", + "offset": 15164 + }, + { + "type": "uint32_t", + "name": "unk3B38", + "offset": 15168 + }, + { + "type": "IDirect3DSurface9*", + "name": "m_defColorSurface", + "offset": 15172 + }, + { + "type": "IDirect3DSurface9*", + "name": "m_defDepthSurface", + "offset": 15176 + }, + { + "type": "uint32_t", + "name": "unk3B44", + "offset": 15180 + }, + { + "type": "uint32_t", + "name": "unk3B48", + "offset": 15184 + }, + { + "type": "int32_t", + "name": "m_hwCursorNeedsUpdate", + "offset": 15188 + }, + { + "type": "IDirect3DTexture9*", + "name": "m_hwCursorTexture", + "offset": 15192 + }, + { + "type": "IDirect3DSurface9*", + "name": "m_hwCursorBitmap", + "offset": 15196 + }, + { + "type": "uint32_t", + "name": "unk3B58", + "offset": 15200 + }, + { + "type": "IDirect3DVertexDeclaration9*", + "name": "m_d3dCurrentVertexDecl", + "offset": 15204 + }, + { + "type": "IDirect3DIndexBuffer9*", + "name": "m_d3dCurrentIndexBuf", + "offset": 15208 + }, + { + "type": "IDirect3DVertexBuffer9*", + "name": "m_d3dVertexStreamBuf", + "arrsize": 8, + "offset": 15212 + }, + { + "type": "uint32_t", + "name": "m_d3dVertexStreamOfs", + "arrsize": 8, + "offset": 15244 + }, + { + "type": "uint32_t", + "name": "m_d3dVertexStreamStride", + "arrsize": 8, + "offset": 15276 + }, + { + "type": "uint32_t", + "name": "m_deviceStates", + "arrsize": 182, + "offset": 15308 + }, + { + "type": "bool", + "name": "m_texEnabled", + "arrsize": 8, + "offset": 16036 + } + ] + }, { "name": "CSimpleTexture", "size": 352,