diff --git a/3.3.5a/include/d3d9/caps.h b/3.3.5a/include/d3d9/caps.h new file mode 100644 index 0000000..062591a --- /dev/null +++ b/3.3.5a/include/d3d9/caps.h @@ -0,0 +1,125 @@ +#ifndef D3D9_CAPS_H +#define D3D9_CAPS_H + +#include + +typedef enum D3DDEVTYPE D3DDEVTYPE; +typedef struct D3DVSHADERCAPS2_0 D3DVSHADERCAPS2_0; +typedef struct D3DPSHADERCAPS2_0 D3DPSHADERCAPS2_0; +typedef struct D3DCAPS9 D3DCAPS9; + +enum D3DDEVTYPE { + D3DDEVTYPE_HAL = 1, + D3DDEVTYPE_REF = 2, + D3DDEVTYPE_SW = 3, + D3DDEVTYPE_NULLREF = 4, + + D3DDEVTYPE_FORCE_uint32_t = 0xffffffff +}; + +struct D3DVSHADERCAPS2_0 { + uint32_t Caps; + int32_t DynamicFlowControlDepth; + int32_t NumTemps; + int32_t StaticFlowControlDepth; +}; + +struct D3DPSHADERCAPS2_0 { + uint32_t Caps; + int32_t DynamicFlowControlDepth; + int32_t NumTemps; + int32_t StaticFlowControlDepth; + int32_t NumInstructionSlots; +}; + +struct D3DCAPS9 { + D3DDEVTYPE DeviceType; + uint32_t AdapterOrdinal; + + uint32_t Caps; + uint32_t Caps2; + uint32_t Caps3; + uint32_t PresentationIntervals; + + uint32_t CursorCaps; + + uint32_t DevCaps; + + uint32_t PrimitiveMiscCaps; + uint32_t RasterCaps; + uint32_t ZCmpCaps; + uint32_t SrcBlendCaps; + uint32_t DestBlendCaps; + uint32_t AlphaCmpCaps; + uint32_t ShadeCaps; + uint32_t TextureCaps; + uint32_t TextureFilterCaps; + uint32_t CubeTextureFilterCaps; + uint32_t VolumeTextureFilterCaps; + uint32_t TextureAddressCaps; + uint32_t VolumeTextureAddressCaps; + + uint32_t LineCaps; + + uint32_t MaxTextureWidth, MaxTextureHeight; + uint32_t MaxVolumeExtent; + + uint32_t MaxTextureRepeat; + uint32_t MaxTextureAspectRatio; + uint32_t MaxAnisotropy; + float MaxVertexW; + + float GuardBandLeft; + float GuardBandTop; + float GuardBandRight; + float GuardBandBottom; + + float ExtentsAdjust; + uint32_t StencilCaps; + + uint32_t FVFCaps; + uint32_t TextureOpCaps; + uint32_t MaxTextureBlendStages; + uint32_t MaxSimultaneousTextures; + + uint32_t VertexProcessingCaps; + uint32_t MaxActiveLights; + uint32_t MaxUserClipPlanes; + uint32_t MaxVertexBlendMatrices; + uint32_t MaxVertexBlendMatrixIndex; + + float MaxPointSize; + + uint32_t MaxPrimitiveCount; + uint32_t MaxVertexIndex; + uint32_t MaxStreams; + uint32_t MaxStreamStride; + + uint32_t VertexShaderVersion; + uint32_t MaxVertexShaderConst; + + uint32_t PixelShaderVersion; + float PixelShader1xMaxValue; + + /* DX 9 */ + uint32_t DevCaps2; + + float MaxNpatchTessellationLevel; + uint32_t Reserved5; + + uint32_t MasterAdapterOrdinal; + uint32_t AdapterOrdinalInGroup; + uint32_t NumberOfAdaptersInGroup; + uint32_t DeclTypes; + uint32_t NumSimultaneousRTs; + uint32_t StretchRectFilterCaps; + D3DVSHADERCAPS2_0 VS20Caps; + D3DPSHADERCAPS2_0 PS20Caps; + uint32_t VertexTextureFilterCaps; + uint32_t MaxVShaderInstructionsExecuted; + uint32_t MaxPShaderInstructionsExecuted; + uint32_t MaxVertexShader30InstructionSlots; + uint32_t MaxPixelShader30InstructionSlots; +}; + +#endif \ No newline at end of file diff --git a/3.3.5a/include/d3d9/device.h b/3.3.5a/include/d3d9/device.h new file mode 100644 index 0000000..98e443a --- /dev/null +++ b/3.3.5a/include/d3d9/device.h @@ -0,0 +1,48 @@ +#ifndef D3D9_DEVICE_H +#define D3D9_DEVICE_H + +#include + +#include "d3d9/caps.h" + +typedef int32_t D3DFORMAT; +typedef struct D3DDISPLAYMODE D3DDISPLAYMODE; +typedef struct IDirect3D9 IDirect3D9; +typedef struct IDirect3DDevice9 IDirect3DDevice9; +typedef struct IDirect3DVertexDeclaration9 IDirect3DVertexDeclaration9; +typedef struct IDirect3DSurface9 IDirect3DSurface9; +typedef struct IDirect3DIndexBuffer9 IDirect3DIndexBuffer9; +typedef struct IDirect3DVertexBuffer9 IDirect3DVertexBuffer9; + +struct D3DDISPLAYMODE { + uint32_t Width; + uint32_t Height; + uint32_t RefreshRate; + D3DFORMAT Format; +}; + +struct IDirect3D9 { + void** v_vtable; +}; + +struct IDirect3DDevice9 { + void** v_vtable; +}; + +struct IDirect3DVertexDeclaration9 { + void** v_vtable; +}; + +struct IDirect3DSurface9 { + void** v_vtable; +}; + +struct IDirect3DIndexBuffer9 { + void** v_vtable; +}; + +struct IDirect3DVertexBuffer9 { + void** v_vtable; +}; + +#endif diff --git a/3.3.5a/include/gx/caps.h b/3.3.5a/include/gx/caps.h index 38ad9b2..7a35a8d 100644 --- a/3.3.5a/include/gx/caps.h +++ b/3.3.5a/include/gx/caps.h @@ -1,35 +1,58 @@ -#ifndef GX_CAPS_H -#define GX_CAPS_H - -#include "gx/types.h" -#include - -typedef struct CGxCaps CGxCaps; - -struct CGxCaps { - int32_t m_numTmus; - int32_t m_pixelCenterOnEdge; - int32_t m_texelCenterOnEdge; - int32_t m_numStreams; - int32_t int10; - EGxColorFormat m_colorFormat; - uint32_t m_maxIndex; - int32_t m_generateMipMaps; - // int32_t m_texFmt[GxTexFormats_Last]; - int32_t m_texFmt[13]; - // int32_t m_texTarget[GxTexTargets_Last]; - int32_t m_texTarget[4]; - // uint32_t m_texMaxSize[GxTexTargets_Last]; - uint32_t m_texMaxSize[4]; - // int32_t m_shaderTargets[GxShTargets_Last]; - int32_t m_shaderTargets[6]; - int32_t m_texFilterTrilinear; - int32_t m_texFilterAnisotropic; - uint32_t m_maxTexAnisotropy; - int32_t m_depthBias; - int32_t int130; - int32_t int134; - int32_t int138; -}; - -#endif +#ifndef GX_CAPS_H +#define GX_CAPS_H + +#include + +#include "gx/types.h" + +typedef struct CGxCaps CGxCaps; + +struct CGxCaps { + int32_t m_numTmus; + int32_t m_pixelCenterOnEdge; + int32_t m_texelCenterOnEdge; + int32_t m_numStreams; + int32_t int10; + EGxColorFormat m_colorFormat; + uint32_t unk18; + uint32_t m_maxIndex; + int32_t m_generateMipMaps; + // int32_t m_texFmt[GxTexFormats_Last]; + int32_t m_texFmt[13]; + // int32_t m_texTarget[GxTexTargets_Last]; + int32_t m_texTarget[4]; + uint32_t unk68; + // uint32_t m_texMaxSize[GxTexTargets_Last]; + uint32_t m_texMaxSize[4]; + uint32_t unk7C; + uint32_t unk80; + uint32_t unk84; + uint32_t unk88; + uint32_t unk8C; + uint32_t unk90; + uint32_t unk94; + uint32_t unk98; + uint32_t unk9C; + uint32_t unkA0; + uint32_t unkA4; + uint32_t unkA8; + int32_t hwPcf; + uint32_t unkB0; + // int32_t m_shaderTargets[GxShTargets_Last]; + int32_t m_shaderTargets[6]; + uint32_t m_unkCC[6]; + int32_t m_texFilterTrilinear; + int32_t m_texFilterAnisotropic; + uint32_t m_maxTexAnisotropy; + int32_t m_depthBias; + uint32_t unkF4; + int32_t m_maxClipPlanes; + uint32_t unkFC[6]; + uint32_t unk114[6]; + int32_t m_stereoAvailable; + int32_t int130; + int32_t int134; + int32_t int138; +}; + +#endif diff --git a/3.3.5a/include/gx/d3d9.h b/3.3.5a/include/gx/d3d9.h new file mode 100644 index 0000000..507d7b7 --- /dev/null +++ b/3.3.5a/include/gx/d3d9.h @@ -0,0 +1,46 @@ +#ifndef GX_D3D9_H +#define GX_D3D9_H + +#include "gx/device.h" + +#include "d3d9/device.h" + +typedef struct CGxDeviceD3d CGxDeviceD3d; + +struct CGxDeviceD3d { + CGxDevice b_base; + void* m_hwnd; + uint16_t m_hwndClass; + uint16_t unk396E; + int32_t m_ownhwnd; + void* m_d3dLib; + IDirect3D9* m_d3d; + IDirect3DDevice9* m_d3dDevice; + D3DCAPS9 m_d3dCaps; + int32_t m_d3dIsHwDevice; + uint32_t unk3AB4[11]; + IDirect3DVertexDeclaration9* m_d3dVertexDecl[14]; + D3DDISPLAYMODE m_desktopDisplayMode; + int32_t m_inScene; + uint32_t unk3B2C; + D3DFORMAT m_devDepthFormat; + D3DFORMAT m_devAdapterFormat; + uint32_t unk3B38; + IDirect3DSurface9* m_defColorSurface; + IDirect3DSurface9* m_defDepthSurface; + uint32_t unk3B44; + uint32_t unk3B48; + uint32_t unk3B4C; + uint32_t unk3B50; + uint32_t unk3B54; + uint32_t unk3B58; + IDirect3DVertexDeclaration9* m_d3dCurrentVertexDecl; + IDirect3DIndexBuffer9* m_d3dCurrentIndexBuf; + IDirect3DVertexBuffer9* m_d3dVertexStreamBuf[8]; + uint32_t m_d3dVertexStreamOfs[8]; + uint32_t m_d3dVertexStreamStride[8]; + uint32_t m_deviceStates[182]; + bool m_texEnabled[8]; +}; + +#endif diff --git a/3.3.5a/include/gx/device.h b/3.3.5a/include/gx/device.h index 355a4b0..53339e4 100644 --- a/3.3.5a/include/gx/device.h +++ b/3.3.5a/include/gx/device.h @@ -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 \ No newline at end of file diff --git a/3.3.5a/include/gx/format.h b/3.3.5a/include/gx/format.h index 3020095..8101a73 100644 --- a/3.3.5a/include/gx/format.h +++ b/3.3.5a/include/gx/format.h @@ -1,37 +1,50 @@ -#ifndef GX_FORMAT_H -#define GX_FORMAT_H - -#include -#include - -#include "tempest/vector.h" - -typedef enum CGxFormat__Format CGxFormat__Format; -typedef struct CGxFormat CGxFormat; - -enum CGxFormat__Format { - Fmt_Rgb565 = 0, - Fmt_ArgbX888 = 1, - Fmt_Argb8888 = 2, - Fmt_Argb2101010 = 3, - Fmt_Ds160 = 4, - Fmt_Ds24X = 5, - Fmt_Ds248 = 6, - Fmt_Ds320 = 7, - Formats_Last = 8 -}; - -struct CGxFormat { - bool hwTnL; - int8_t window; - int32_t maximize; - CGxFormat__Format depthFormat; - C2iVector size; - uint32_t sampleCount; - CGxFormat__Format colorFormat; - uint32_t refreshRate; - uint32_t vsync; - C2iVector pos; -}; - -#endif +#ifndef GX_FORMAT_H +#define GX_FORMAT_H + +#include +#include + +#include "tempest/vector.h" + +typedef enum CGxFormat__Format CGxFormat__Format; +typedef struct CGxFormat CGxFormat; + +enum CGxFormat__Format { + Fmt_Rgb565 = 0, + Fmt_ArgbX888 = 1, + Fmt_Argb8888 = 2, + Fmt_Argb2101010 = 3, + Fmt_Ds160 = 4, + Fmt_Ds24X = 5, + Fmt_Ds248 = 6, + Fmt_Ds320 = 7, + Formats_Last = 8 +}; + +struct CGxFormat { + uint32_t unk0; + bool hwTnL; + int8_t unk5; + int8_t fixLag; + int8_t window; + uint32_t unk8; + int32_t maximize; + CGxFormat__Format depthFormat; + C2iVector size; + uint32_t unk1C; + uint32_t sampleCount; + float float24; + CGxFormat__Format colorFormat; + uint32_t refreshRate; + uint32_t vsync; + uint32_t unk34; + uint32_t unk38; + uint32_t unk3C; + uint32_t unk40; + uint32_t unk44; + uint32_t unk48; + uint32_t unk4C; + C2iVector pos; +}; + +#endif diff --git a/3.3.5a/include/gx/types.h b/3.3.5a/include/gx/types.h index bd85000..1cac223 100644 --- a/3.3.5a/include/gx/types.h +++ b/3.3.5a/include/gx/types.h @@ -1,383 +1,390 @@ -#ifndef GX_TYPES_H -#define GX_TYPES_H - -#include - -#include "storm/array.h" - -typedef enum BlitAlpha BlitAlpha; -typedef enum BlitFormat BlitFormat; -typedef enum EGxApi EGxApi; -typedef enum EGxBlend EGxBlend; -typedef enum EGxColorFormat EGxColorFormat; -typedef enum EGxFontHJusts EGxFontHJusts; -typedef enum EGxFontVJusts EGxFontVJusts; -typedef enum EGxMasterEnables EGxMasterEnables; -typedef enum EGxPrim EGxPrim; -typedef enum EGxPrimMask EGxPrimMask; -typedef enum EGxRenderState EGxRenderState; -typedef enum EGxShPS EGxShPS; -typedef enum EGxShTarget EGxShTarget; -typedef enum EGxShVS EGxShVS; -typedef enum EGxTexCommand EGxTexCommand; -typedef enum EGxTexFilter EGxTexFilter; -typedef enum EGxTexFormat EGxTexFormat; -typedef enum EGxTexTarget EGxTexTarget; -typedef enum EGxTexWrapMode EGxTexWrapMode; -typedef enum EGxXform EGxXform; -typedef enum EGxuDrawListCategory EGxuDrawListCategory; -typedef enum EGxWM EGxWM; -typedef enum COLOR_FILE_FORMAT COLOR_FILE_FORMAT; -typedef enum PIXEL_FORMAT PIXEL_FORMAT; - -typedef struct C4Pixel C4Pixel; -typedef struct MipBits MipBits; - -enum BlitAlpha { - BlitAlpha_0 = 0, - BlitAlpha_1 = 1, - BlitAlpha_8 = 2, - BlitAlpha_Filler = 3, - BlitAlphas_Last = 4 -}; - -enum BlitFormat { - BlitFormat_Unknown = 0, - BlitFormat_Abgr8888 = 1, - BlitFormat_Argb8888 = 2, - BlitFormat_Argb4444 = 3, - BlitFormat_Argb1555 = 4, - BlitFormat_Rgb565 = 5, - BlitFormat_Dxt1 = 6, - BlitFormat_Dxt3 = 7, - BlitFormat_Dxt5 = 8, - BlitFormat_Uv88 = 9, - BlitFormat_Gr1616F = 10, - BlitFormat_R32F = 11, - BlitFormat_D24X8 = 12, - BlitFormats_Last = 13 -}; - -enum EGxApi { - GxApi_OpenGl = 0, - GxApi_D3d9 = 1, - GxApi_D3d9Ex = 2, - GxApi_D3d10 = 3, - GxApi_D3d11 = 4, - GxApi_GLL = 5, - GxApi_GLSDL = 6, - GxApis_Last = 7 -}; - -enum EGxBlend { - GxBlend_Opaque = 0, - GxBlend_AlphaKey = 1, - GxBlend_Alpha = 2, - GxBlend_Add = 3, - GxBlend_Mod = 4, - GxBlend_Mod2x = 5, - GxBlend_ModAdd = 6, - GxBlend_InvSrcAlphaAdd = 7, - GxBlend_InvSrcAlphaOpaque = 8, - GxBlend_SrcAlphaOpaque = 9, - GxBlend_NoAlphaAdd = 10, - GxBlend_ConstantAlpha = 11, - GxBlends_Last = 12 -}; - -enum EGxColorFormat { - GxCF_argb = 0, - GxCF_rgba = 1, - GxColorFormats_Last = 2, -}; - -enum EGxFontHJusts { - GxHJ_Left = 0, - GxHJ_Center = 1, - GxHJ_Right = 2, - GxHJ_Last = 3 -}; - -enum EGxFontVJusts { - GxVJ_Top = 0, - GxVJ_Middle = 1, - GxVJ_Bottom = 2, - GxVJ_Last = 3 -}; - -enum EGxMasterEnables { - GxMasterEnable_Lighting = 0, - GxMasterEnable_Fog = 1, - GxMasterEnable_DepthTest = 2, - GxMasterEnable_DepthWrite = 3, - GxMasterEnable_ColorWrite = 4, - GxMasterEnable_Culling = 5, - GxMasterEnable_DoubleBuffering = 6, - GxMasterEnable_NormalProjection = 7, - GxMasterEnable_PolygonFill = 8, - GxMasterEnables_Last = 9 -}; - -enum EGxPrim { - GxPrim_Points = 0, - GxPrim_Lines = 1, - GxPrim_LineStrip = 2, - GxPrim_Triangles = 3, - GxPrim_TriangleStrip = 4, - GxPrim_TriangleFan = 5, - GxPrims_Last = 6 -}; - -enum EGxPrimMask { - GxPrim_Position = 0x1, - GxPrim_BlendWeight = 0x2, - GxPrim_BlendIndices = 0x4, - GxPrim_Normal = 0x8, - GxPrim_Color0 = 0x10, - GxPrim_Color1 = 0x20, - GxPrim_TexCoord0 = 0x40, - GxPrim_TexCoord1 = 0x80 -}; - -enum EGxRenderState { - GxRs_PolygonOffset = 0, - GxRs_MatDiffuse = 1, - GxRs_MatEmissive = 2, - GxRs_MatSpecular = 3, - GxRs_MatSpecularExp = 4, - GxRs_NormalizeNormals = 5, - GxRs_BlendingMode = 6, - GxRs_AlphaRef = 7, - GxRs_FogStart = 8, - GxRs_FogEnd = 9, - GxRs_FogColor = 10, - GxRs_Lighting = 11, - GxRs_Fog = 12, - GxRs_DepthTest = 13, - GxRs_DepthFunc = 14, - GxRs_DepthWrite = 15, - GxRs_ColorWrite = 16, - GxRs_Culling = 17, - GxRs_ClipPlaneMask = 18, - GxRs_Multisample = 19, - GxRs_ScissorTest = 20, - GxRs_Texture0 = 21, - GxRs_Texture1 = 22, - GxRs_Texture2 = 23, - GxRs_Texture3 = 24, - GxRs_Texture4 = 25, - GxRs_Texture5 = 26, - GxRs_Texture6 = 27, - GxRs_Texture7 = 28, - GxRs_Texture8 = 29, - GxRs_Texture9 = 30, - GxRs_Texture10 = 31, - GxRs_Texture11 = 32, - GxRs_Texture12 = 33, - GxRs_Texture13 = 34, - GxRs_Texture14 = 35, - GxRs_Texture15 = 36, - GxRs_ColorOp0 = 37, - GxRs_ColorOp1 = 38, - GxRs_ColorOp2 = 39, - GxRs_ColorOp3 = 40, - GxRs_ColorOp4 = 41, - GxRs_ColorOp5 = 42, - GxRs_ColorOp6 = 43, - GxRs_ColorOp7 = 44, - GxRs_AlphaOp0 = 45, - GxRs_AlphaOp1 = 46, - GxRs_AlphaOp2 = 47, - GxRs_AlphaOp3 = 48, - GxRs_AlphaOp4 = 49, - GxRs_AlphaOp5 = 50, - GxRs_AlphaOp6 = 51, - GxRs_AlphaOp7 = 52, - GxRs_TexGen0 = 53, - GxRs_TexGen1 = 54, - GxRs_TexGen2 = 55, - GxRs_TexGen3 = 56, - GxRs_TexGen4 = 57, - GxRs_TexGen5 = 58, - GxRs_TexGen6 = 59, - GxRs_TexGen7 = 60, - GxRs_Unk61 = 61, - GxRs_Unk62 = 62, - GxRs_Unk63 = 63, - GxRs_Unk64 = 64, - GxRs_Unk65 = 65, - GxRs_Unk66 = 66, - GxRs_Unk67 = 67, - GxRs_Unk68 = 68, - GxRs_Unk69 = 69, - GxRs_Unk70 = 70, - GxRs_Unk71 = 71, - GxRs_Unk72 = 72, - GxRs_Unk73 = 73, - GxRs_Unk74 = 74, - GxRs_Unk75 = 75, - GxRs_Unk76 = 76, - GxRs_VertexShader = 77, - GxRs_PixelShader = 78, - GxRs_PointScale = 79, - GxRs_PointScaleAttenuation = 80, - GxRs_PointScaleMin = 81, - GxRs_PointScaleMax = 82, - GxRs_PointSprite = 83, - GxRs_Unk84 = 84, - GxRs_ColorMaterial = 85, - GxRenderStates_Last = 86 -}; -STORM_TS_GROWABLE_ARRAY(EGxRenderState); - -enum EGxShPS { - GxShPS_none = 0, - GxShPS_ps_1_1 = 1, - GxShPS_ps_1_4 = 2, - GxShPS_ps_2_0 = 3, - GxShPS_ps_3_0 = 4, - GxShPS_ps_4_0 = 5, - GxShPS_ps_5_0 = 6, - GxShPS_nvrc = 7, - GxShPS_nvts = 8, - GxShPS_nvts2 = 9, - GxShPS_nvts3 = 10, - GxShPS_nvfp2 = 11, - GxShPS_arbfp1 = 12, - GxShPS_glsl = 13, -}; - -enum EGxShTarget { - GxSh_Vertex = 0, - GxSh_Hull = 1, - GxSh_Domain = 2, - GxSh_Geometry = 3, - GxSh_Pixel = 4, - GxSh_Compute = 5, - GxShTargets_Last = 6 -}; - -enum EGxShVS { - GxShVS_none = 0, - GxShVS_vs_1_1 = 1, - GxShVS_vs_2_0 = 2, - GxShVS_vs_3_0 = 3, - GxShVS_vs_4_0 = 4, - GxShVS_vs_5_0 = 5, - GxShVS_arbvp1 = 6, - GxShVS_arbvp1_cg12 = 7, - GxShVS_nvvp = 8, - GxShVS_nvvp2 = 9, - GxShVS_nvvp3 = 10, - GxShVS_glsl = 11 -}; - -enum EGxTexCommand { - GxTex_Lock = 0, - GxTex_Latch = 1, - GxTex_Unlock = 2, - GxTexCommands_Last = 3 -}; - -enum EGxTexFilter { - GxTex_Nearest = 0x0, - GxTex_Linear = 0x1, - GxTex_NearestMipNearest = 0x2, - GxTex_LinearMipNearest = 0x3, - GxTex_LinearMipLinear = 0x4, - GxTex_Anisotropic = 0x5, - GxTexFilters_Last = 0x6, -}; - -enum EGxTexFormat { - GxTex_Unknown = 0x0, - GxTex_Abgr8888 = 0x1, - GxTex_Argb8888 = 0x2, - GxTex_Argb4444 = 0x3, - GxTex_Argb1555 = 0x4, - GxTex_Rgb565 = 0x5, - GxTex_Dxt1 = 0x6, - GxTex_Dxt3 = 0x7, - GxTex_Dxt5 = 0x8, - GxTex_Uv88 = 0x9, - GxTex_Gr1616F = 0xA, - GxTex_R32F = 0xB, - GxTex_D24X8 = 0xC, - GxTexFormats_Last = 0xD, -}; - -enum EGxTexTarget { - GxTex_2d = 0x0, - GxTex_CubeMap = 0x1, - GxTex_Rectangle = 0x2, - GxTex_NonPow2 = 0x3, - GxTexTargets_Last = 0x4 -}; - -enum EGxTexWrapMode { - GxTex_Clamp = 0, - GxTex_Wrap = 1 -}; - -enum EGxXform { - GxXform_Tex0 = 0, - GxXform_Tex1 = 1, - GxXform_Tex2 = 2, - GxXform_Tex3 = 3, - GxXform_Tex4 = 4, - GxXform_Tex5 = 5, - GxXform_Tex6 = 6, - GxXform_Tex7 = 7, - GxXform_World = 8, - GxXform_Projection = 9, - GxXform_View = 10, - GxXforms_Last = 11 -}; - -enum EGxuDrawListCategory { - GxuCat_0 = 0, - GxuCat_1 = 1, - GxuCat_2 = 2 -}; - -enum EGxWM { - GxWM_Size = 0, - GxWM_DisplayChange = 1, - GxWM_Destroy = 2, - GxWM_SetFocus = 3, - GxWM_KillFocus = 4, -}; - -enum COLOR_FILE_FORMAT { - COLOR_JPEG = 0, - COLOR_PAL = 1, - COLOR_DXT = 2, - COLOR_3 = 3 -}; - -enum PIXEL_FORMAT { - PIXEL_DXT1 = 0x0, - PIXEL_DXT3 = 0x1, - PIXEL_ARGB8888 = 0x2, - PIXEL_ARGB1555 = 0x3, - PIXEL_ARGB4444 = 0x4, - PIXEL_RGB565 = 0x5, - PIXEL_A8 = 0x6, - PIXEL_DXT5 = 0x7, - PIXEL_UNSPECIFIED = 0x8, - PIXEL_ARGB2565 = 0x9, - NUM_PIXEL_FORMATS = 0xA -}; - -struct C4Pixel { - char b; - char g; - char r; - char a; -}; - -struct MipBits { - C4Pixel* mip[1]; -}; - -#endif +#ifndef GX_TYPES_H +#define GX_TYPES_H + +#include + +#include "storm/array.h" + +typedef enum BlitAlpha BlitAlpha; +typedef enum BlitFormat BlitFormat; +typedef enum EGxApi EGxApi; +typedef enum EGxBlend EGxBlend; +typedef enum EGxColorFormat EGxColorFormat; +typedef enum EGxFontHJusts EGxFontHJusts; +typedef enum EGxFontVJusts EGxFontVJusts; +typedef enum EGxMasterEnables EGxMasterEnables; +typedef enum EGxPrim EGxPrim; +typedef enum EGxPrimMask EGxPrimMask; +typedef enum EGxRenderState EGxRenderState; +typedef enum EGxShPS EGxShPS; +typedef enum EGxShTarget EGxShTarget; +typedef enum EGxShVS EGxShVS; +typedef enum EGxTexCommand EGxTexCommand; +typedef enum EGxTexFilter EGxTexFilter; +typedef enum EGxTexFormat EGxTexFormat; +typedef enum EGxTexTarget EGxTexTarget; +typedef enum EGxTexWrapMode EGxTexWrapMode; +typedef enum EGxXform EGxXform; +typedef enum EGxuDrawListCategory EGxuDrawListCategory; +typedef enum EGxWM EGxWM; +typedef enum COLOR_FILE_FORMAT COLOR_FILE_FORMAT; +typedef enum PIXEL_FORMAT PIXEL_FORMAT; + +typedef struct C4Pixel C4Pixel; +typedef struct MipBits MipBits; +typedef struct CGxGammaRamp CGxGammaRamp; + +enum BlitAlpha { + BlitAlpha_0 = 0, + BlitAlpha_1 = 1, + BlitAlpha_8 = 2, + BlitAlpha_Filler = 3, + BlitAlphas_Last = 4 +}; + +enum BlitFormat { + BlitFormat_Unknown = 0, + BlitFormat_Abgr8888 = 1, + BlitFormat_Argb8888 = 2, + BlitFormat_Argb4444 = 3, + BlitFormat_Argb1555 = 4, + BlitFormat_Rgb565 = 5, + BlitFormat_Dxt1 = 6, + BlitFormat_Dxt3 = 7, + BlitFormat_Dxt5 = 8, + BlitFormat_Uv88 = 9, + BlitFormat_Gr1616F = 10, + BlitFormat_R32F = 11, + BlitFormat_D24X8 = 12, + BlitFormats_Last = 13 +}; + +enum EGxApi { + GxApi_OpenGl = 0, + GxApi_D3d9 = 1, + GxApi_D3d9Ex = 2, + GxApi_D3d10 = 3, + GxApi_D3d11 = 4, + GxApi_GLL = 5, + GxApi_GLSDL = 6, + GxApis_Last = 7 +}; + +enum EGxBlend { + GxBlend_Opaque = 0, + GxBlend_AlphaKey = 1, + GxBlend_Alpha = 2, + GxBlend_Add = 3, + GxBlend_Mod = 4, + GxBlend_Mod2x = 5, + GxBlend_ModAdd = 6, + GxBlend_InvSrcAlphaAdd = 7, + GxBlend_InvSrcAlphaOpaque = 8, + GxBlend_SrcAlphaOpaque = 9, + GxBlend_NoAlphaAdd = 10, + GxBlend_ConstantAlpha = 11, + GxBlends_Last = 12 +}; + +enum EGxColorFormat { + GxCF_argb = 0, + GxCF_rgba = 1, + GxColorFormats_Last = 2, +}; + +enum EGxFontHJusts { + GxHJ_Left = 0, + GxHJ_Center = 1, + GxHJ_Right = 2, + GxHJ_Last = 3 +}; + +enum EGxFontVJusts { + GxVJ_Top = 0, + GxVJ_Middle = 1, + GxVJ_Bottom = 2, + GxVJ_Last = 3 +}; + +enum EGxMasterEnables { + GxMasterEnable_Lighting = 0, + GxMasterEnable_Fog = 1, + GxMasterEnable_DepthTest = 2, + GxMasterEnable_DepthWrite = 3, + GxMasterEnable_ColorWrite = 4, + GxMasterEnable_Culling = 5, + GxMasterEnable_DoubleBuffering = 6, + GxMasterEnable_NormalProjection = 7, + GxMasterEnable_PolygonFill = 8, + GxMasterEnables_Last = 9 +}; + +enum EGxPrim { + GxPrim_Points = 0, + GxPrim_Lines = 1, + GxPrim_LineStrip = 2, + GxPrim_Triangles = 3, + GxPrim_TriangleStrip = 4, + GxPrim_TriangleFan = 5, + GxPrims_Last = 6 +}; + +enum EGxPrimMask { + GxPrim_Position = 0x1, + GxPrim_BlendWeight = 0x2, + GxPrim_BlendIndices = 0x4, + GxPrim_Normal = 0x8, + GxPrim_Color0 = 0x10, + GxPrim_Color1 = 0x20, + GxPrim_TexCoord0 = 0x40, + GxPrim_TexCoord1 = 0x80 +}; + +enum EGxRenderState { + GxRs_PolygonOffset = 0, + GxRs_MatDiffuse = 1, + GxRs_MatEmissive = 2, + GxRs_MatSpecular = 3, + GxRs_MatSpecularExp = 4, + GxRs_NormalizeNormals = 5, + GxRs_BlendingMode = 6, + GxRs_AlphaRef = 7, + GxRs_FogStart = 8, + GxRs_FogEnd = 9, + GxRs_FogColor = 10, + GxRs_Lighting = 11, + GxRs_Fog = 12, + GxRs_DepthTest = 13, + GxRs_DepthFunc = 14, + GxRs_DepthWrite = 15, + GxRs_ColorWrite = 16, + GxRs_Culling = 17, + GxRs_ClipPlaneMask = 18, + GxRs_Multisample = 19, + GxRs_ScissorTest = 20, + GxRs_Texture0 = 21, + GxRs_Texture1 = 22, + GxRs_Texture2 = 23, + GxRs_Texture3 = 24, + GxRs_Texture4 = 25, + GxRs_Texture5 = 26, + GxRs_Texture6 = 27, + GxRs_Texture7 = 28, + GxRs_Texture8 = 29, + GxRs_Texture9 = 30, + GxRs_Texture10 = 31, + GxRs_Texture11 = 32, + GxRs_Texture12 = 33, + GxRs_Texture13 = 34, + GxRs_Texture14 = 35, + GxRs_Texture15 = 36, + GxRs_ColorOp0 = 37, + GxRs_ColorOp1 = 38, + GxRs_ColorOp2 = 39, + GxRs_ColorOp3 = 40, + GxRs_ColorOp4 = 41, + GxRs_ColorOp5 = 42, + GxRs_ColorOp6 = 43, + GxRs_ColorOp7 = 44, + GxRs_AlphaOp0 = 45, + GxRs_AlphaOp1 = 46, + GxRs_AlphaOp2 = 47, + GxRs_AlphaOp3 = 48, + GxRs_AlphaOp4 = 49, + GxRs_AlphaOp5 = 50, + GxRs_AlphaOp6 = 51, + GxRs_AlphaOp7 = 52, + GxRs_TexGen0 = 53, + GxRs_TexGen1 = 54, + GxRs_TexGen2 = 55, + GxRs_TexGen3 = 56, + GxRs_TexGen4 = 57, + GxRs_TexGen5 = 58, + GxRs_TexGen6 = 59, + GxRs_TexGen7 = 60, + GxRs_Unk61 = 61, + GxRs_Unk62 = 62, + GxRs_Unk63 = 63, + GxRs_Unk64 = 64, + GxRs_Unk65 = 65, + GxRs_Unk66 = 66, + GxRs_Unk67 = 67, + GxRs_Unk68 = 68, + GxRs_Unk69 = 69, + GxRs_Unk70 = 70, + GxRs_Unk71 = 71, + GxRs_Unk72 = 72, + GxRs_Unk73 = 73, + GxRs_Unk74 = 74, + GxRs_Unk75 = 75, + GxRs_Unk76 = 76, + GxRs_VertexShader = 77, + GxRs_PixelShader = 78, + GxRs_PointScale = 79, + GxRs_PointScaleAttenuation = 80, + GxRs_PointScaleMin = 81, + GxRs_PointScaleMax = 82, + GxRs_PointSprite = 83, + GxRs_Unk84 = 84, + GxRs_ColorMaterial = 85, + GxRenderStates_Last = 86 +}; +STORM_TS_GROWABLE_ARRAY(EGxRenderState); + +enum EGxShPS { + GxShPS_none = 0, + GxShPS_ps_1_1 = 1, + GxShPS_ps_1_4 = 2, + GxShPS_ps_2_0 = 3, + GxShPS_ps_3_0 = 4, + GxShPS_ps_4_0 = 5, + GxShPS_ps_5_0 = 6, + GxShPS_nvrc = 7, + GxShPS_nvts = 8, + GxShPS_nvts2 = 9, + GxShPS_nvts3 = 10, + GxShPS_nvfp2 = 11, + GxShPS_arbfp1 = 12, + GxShPS_glsl = 13, +}; + +enum EGxShTarget { + GxSh_Vertex = 0, + GxSh_Hull = 1, + GxSh_Domain = 2, + GxSh_Geometry = 3, + GxSh_Pixel = 4, + GxSh_Compute = 5, + GxShTargets_Last = 6 +}; + +enum EGxShVS { + GxShVS_none = 0, + GxShVS_vs_1_1 = 1, + GxShVS_vs_2_0 = 2, + GxShVS_vs_3_0 = 3, + GxShVS_vs_4_0 = 4, + GxShVS_vs_5_0 = 5, + GxShVS_arbvp1 = 6, + GxShVS_arbvp1_cg12 = 7, + GxShVS_nvvp = 8, + GxShVS_nvvp2 = 9, + GxShVS_nvvp3 = 10, + GxShVS_glsl = 11 +}; + +enum EGxTexCommand { + GxTex_Lock = 0, + GxTex_Latch = 1, + GxTex_Unlock = 2, + GxTexCommands_Last = 3 +}; + +enum EGxTexFilter { + GxTex_Nearest = 0x0, + GxTex_Linear = 0x1, + GxTex_NearestMipNearest = 0x2, + GxTex_LinearMipNearest = 0x3, + GxTex_LinearMipLinear = 0x4, + GxTex_Anisotropic = 0x5, + GxTexFilters_Last = 0x6, +}; + +enum EGxTexFormat { + GxTex_Unknown = 0x0, + GxTex_Abgr8888 = 0x1, + GxTex_Argb8888 = 0x2, + GxTex_Argb4444 = 0x3, + GxTex_Argb1555 = 0x4, + GxTex_Rgb565 = 0x5, + GxTex_Dxt1 = 0x6, + GxTex_Dxt3 = 0x7, + GxTex_Dxt5 = 0x8, + GxTex_Uv88 = 0x9, + GxTex_Gr1616F = 0xA, + GxTex_R32F = 0xB, + GxTex_D24X8 = 0xC, + GxTexFormats_Last = 0xD, +}; + +enum EGxTexTarget { + GxTex_2d = 0x0, + GxTex_CubeMap = 0x1, + GxTex_Rectangle = 0x2, + GxTex_NonPow2 = 0x3, + GxTexTargets_Last = 0x4 +}; + +enum EGxTexWrapMode { + GxTex_Clamp = 0, + GxTex_Wrap = 1 +}; + +enum EGxXform { + GxXform_Tex0 = 0, + GxXform_Tex1 = 1, + GxXform_Tex2 = 2, + GxXform_Tex3 = 3, + GxXform_Tex4 = 4, + GxXform_Tex5 = 5, + GxXform_Tex6 = 6, + GxXform_Tex7 = 7, + GxXform_World = 8, + GxXform_Projection = 9, + GxXform_View = 10, + GxXforms_Last = 11 +}; + +enum EGxuDrawListCategory { + GxuCat_0 = 0, + GxuCat_1 = 1, + GxuCat_2 = 2 +}; + +enum EGxWM { + GxWM_Size = 0, + GxWM_DisplayChange = 1, + GxWM_Destroy = 2, + GxWM_SetFocus = 3, + GxWM_KillFocus = 4, +}; + +enum COLOR_FILE_FORMAT { + COLOR_JPEG = 0, + COLOR_PAL = 1, + COLOR_DXT = 2, + COLOR_3 = 3 +}; + +enum PIXEL_FORMAT { + PIXEL_DXT1 = 0x0, + PIXEL_DXT3 = 0x1, + PIXEL_ARGB8888 = 0x2, + PIXEL_ARGB1555 = 0x3, + PIXEL_ARGB4444 = 0x4, + PIXEL_RGB565 = 0x5, + PIXEL_A8 = 0x6, + PIXEL_DXT5 = 0x7, + PIXEL_UNSPECIFIED = 0x8, + PIXEL_ARGB2565 = 0x9, + NUM_PIXEL_FORMATS = 0xA +}; + +struct C4Pixel { + char b; + char g; + char r; + char a; +}; + +struct MipBits { + C4Pixel* mip[1]; +}; + +struct CGxGammaRamp { + uint16_t red[256]; + uint16_t green[256]; + uint16_t blue[256]; +}; + +#endif diff --git a/3.3.5a/include/main.h b/3.3.5a/include/main.h index 7b34e55..ff1ebf2 100644 --- a/3.3.5a/include/main.h +++ b/3.3.5a/include/main.h @@ -21,6 +21,8 @@ #include "gx/state_bom.h" #include "gx/types.h" +#include "gx/d3d9.h" + // include files that define the use of template classes for standard library types // template classes for whoa types should be entered immediately after where the type is diff --git a/3.3.5a/include/storm/array.h b/3.3.5a/include/storm/array.h index 1d89333..1c037d7 100644 --- a/3.3.5a/include/storm/array.h +++ b/3.3.5a/include/storm/array.h @@ -1,31 +1,28 @@ -#ifndef STORM_ARRAY_H -#define STORM_ARRAY_H - -#include - -#define STORM_TS_BASE_ARRAY(T) typedef struct TSBaseArray_##T TSBaseArray_##T; \ -struct TSBaseArray_##T { \ - void** vtable; \ - uint32_t m_alloc; \ - uint32_t m_count; \ - T* m_data; \ -}; - -#define STORM_TS_FIXED_ARRAY(T) typedef struct TSFixedArray_##T TSFixedArray_##T; \ -struct TSFixedArray_##T { \ - void** vtable; \ - uint32_t m_alloc; \ - uint32_t m_count; \ - T* m_data; \ -}; - -#define STORM_TS_GROWABLE_ARRAY(T) typedef struct TSGrowableArray_##T TSGrowableArray_##T; \ -struct TSGrowableArray_##T { \ - void** vtable; \ - uint32_t m_alloc; \ - uint32_t m_count; \ - T* m_data; \ - uint32_t m_chunk; \ -}; - -#endif +#ifndef STORM_ARRAY_H +#define STORM_ARRAY_H + +#include + +#define STORM_TS_BASE_ARRAY(T) typedef struct TSBaseArray_##T TSBaseArray_##T; \ +struct TSBaseArray_##T { \ + uint32_t m_alloc; \ + uint32_t m_count; \ + T* m_data; \ +}; + +#define STORM_TS_FIXED_ARRAY(T) typedef struct TSFixedArray_##T TSFixedArray_##T; \ +struct TSFixedArray_##T { \ + uint32_t m_alloc; \ + uint32_t m_count; \ + T* m_data; \ +}; + +#define STORM_TS_GROWABLE_ARRAY(T) typedef struct TSGrowableArray_##T TSGrowableArray_##T; \ +struct TSGrowableArray_##T { \ + uint32_t m_alloc; \ + uint32_t m_count; \ + T* m_data; \ + uint32_t m_chunk; \ +}; + +#endif diff --git a/3.3.5a/symbol/coordinate/func.sym b/3.3.5a/symbol/coordinate/func.sym index b1b4824..8ea29a1 100644 --- a/3.3.5a/symbol/coordinate/func.sym +++ b/3.3.5a/symbol/coordinate/func.sym @@ -3,4 +3,7 @@ DDCToNDCHeight 0047C060 f end=0047C06E NDCToDDCWidth 0047C070 f end=0047C07E NDCToDDCHeight 0047C080 f end=0047C08E NDCToDDC 0047BFF0 f end=0047C019 -DDCToNDC 0047C020 f end=0047C049 \ No newline at end of file +DDCToNDC 0047C020 f end=0047C049 +CoordinateSetAspectRatio 0047BF90 f end=0047BFC8 +CoordinateGetAspectRatio 0047BFD0 f end=0047BFD7 +CoordinateGetAspectCompensation 0047BFE0 f end=0047BFE7 \ No newline at end of file diff --git a/3.3.5a/symbol/gx/func.sym b/3.3.5a/symbol/gx/func.sym index 6247240..49ff9c1 100644 --- a/3.3.5a/symbol/gx/func.sym +++ b/3.3.5a/symbol/gx/func.sym @@ -1,8 +1,5 @@ GxDevCreate 00681290 f end=00681301 -GxDevApi 00682D20 f end=00682D27 GxDrawLockedElements 00682340 f end=0068239E GxLog 006817E0 f end=006817F5 -GxRsPush 00409670 f end=004096CC -GxRsPop 00685FB0 f end=00686116 OnPaint 004A8720 f end=004A8B58 GxCapsWindowSizeInScreenCoords 00493BF0 f end=00493C09 \ No newline at end of file diff --git a/3.3.5a/symbol/gxdevice/func.sym b/3.3.5a/symbol/gxdevice/func.sym index 70c2769..191906a 100644 --- a/3.3.5a/symbol/gxdevice/func.sym +++ b/3.3.5a/symbol/gxdevice/func.sym @@ -5,7 +5,7 @@ CGxDevice__NewOpenGl 0068BF20 f end=0068BF44 CGxDevice__NewD3d 00689EF0 f end=00689F14 CGxDevice__NewD3d9Ex 0068C220 f end=0068C244 CGxDevice__Caps 00532AF0 f end=00532AF7 ; public: class CGxCaps const & __thiscall CGxDevice::Caps(void)const -CGxDevice__DeviceCreate 00682CB0 f end=00682CCB +CGxDevice__DeviceCreate_WindowProc_CGxFormat 00682CB0 f end=00682CCB CGxDevice__DeviceApi 00682D20 f end=00682D27 CGxDevice__IDevIsWindowed 00682D40 f end=00682D48 CGxDevice__DeviceCurWindow 00682D70 f end=00682D76 @@ -14,10 +14,7 @@ CGxDevice__PrimCalcCount 00682F40 f end=00682F66 CGxDevice__LightEnable 00683080 f end=006830A4 CGxDevice__NeedsUpdate 006830B0 f end=006830F9 CGxDevice__MasterEnable 00683100 f end=00683121 -CGxDevice__BufLock 00683150 f end=00683171 -CGxDevice__BufUnlock 00683180 f end=006831A0 CGxDevice__ShaderConstantsClear 006833A0 f end=006833DD -CGxDevice__ShaderConstantsSet 006833E0 f end=00683554 CGxDevice__ShaderConstantsLock 00683560 f end=00683577 CGxDevice__ShaderConstantsUnlock 00683580 f end=006835D6 CGxDevice__ICursorUpdate 00683610 f end=00683632 @@ -26,7 +23,6 @@ CGxDevice__DeviceSetDefWindow 00684360 f end=006843B0 CGxDevice__ClipPlaneSet 00684440 f end=006844B9 CGxDevice__LightSet 006847D0 f end=00684843 CGxDevice__BufStream 00684850 f end=0068489F -CGxDevice__ITexMarkAsUpdated 00684900 f end=0068492D CGxDevice__IShaderLoad 00684970 f end=00684AC8 CGxDevice__Log 00684C20 f end=00684C3E CGxDevice__Log_CGxCaps 00684C40 f end=00684D07 ; CGxDevice::Log(CGxCaps const&) const @@ -40,5 +36,17 @@ CGxDevice__RsSet 00685F50 f end=00685FB0 CGxDevice__RsPop 00685FB0 f end=00686116 CGxDevice__BufCreate 00687660 f end=006876C9 CGxDevice__PoolCreate 006876D0 f end=0068773F -CGxDevice__ShaderCreate 006897C0 f end=00689A49 CGxDevice__ITexWHDStartEnd 006A5EF0 f end=006A5FDF +CGxDevice__ITexMarkAsUpdated 00684900 f end=0068492D +CGxDevice__ICursorCreate 00684AD0 f end=00684B4A +CGxDevice__ICursorDestroy 006835E0 f end=00683602 +CGxDevice__ICursorDraw 00687A90 f end=00687FCA +CGxDevice__DeviceSetBaseMipLevel 00682D00 f end=00682D10 +CGxDevice__DeviceSetGamma 00684190 f end=006841AF +CGxDevice__PoolDestroy 00688340 f end=00688372 +CGxDevice__BufLock 00683150 f end=00683171 +CGxDevice__BufUnlock 00683180 f end=006831A0 +CGxDevice__BufData 00683130 f end=00683142 +CGxDevice__TexCreate 00685C60 f end=00685CCB +CGxDevice__ShaderCreate 006897C0 f end=00689A49 +CGxDevice__ShaderConstantsSet 006833E0 f end=00683554 diff --git a/3.3.5a/symbol/gxdeviced3d/func.sym b/3.3.5a/symbol/gxdeviced3d/func.sym index 0193d75..bc5420b 100644 --- a/3.3.5a/symbol/gxdeviced3d/func.sym +++ b/3.3.5a/symbol/gxdeviced3d/func.sym @@ -1 +1,16 @@ -CGxDeviceD3d__CGxDeviceD3d 0068FD50 f end=0068FE80 \ No newline at end of file +CGxDeviceD3d__CGxDeviceD3d 0068FD50 f end=0068FE80 +CGxDeviceD3d__ITexMarkAsUpdated 006A3070 f end=006A30CF +CGxDeviceD3d__IRsSendToHw 006A4C30 f end=006A5499 +CGxDeviceD3d__ICursorCreate 0068E900 f end=0068E975 +CGxDeviceD3d__ICursorDestroy 006A00C0 f end=006A0102 +CGxDeviceD3d__ICursorDraw 0068E810 f end=0068E8F2 +CGxDeviceD3d__DeviceCreate_WindowProc_CGxFormat 00690750 f end=00690821 +CGxDeviceD3d__DeviceSetFormat 006904D0 f end=006905E8 +CGxDeviceD3d__CapsWindowSize 006A5A00 f end=006A5A25 +CGxDeviceD3d__ScenePresent 006A3450 f end=006A3611 +CGxDeviceD3d__XformSetProjection 006A9B40 f end=006A9D88 +CGxDeviceD3d__PoolDestroy 0068E720 f end=0068E742 +CGxDeviceD3d__BufLock 0068FCE0 f end=0068FCFE +CGxDeviceD3d__BufUnlock 0068FAE0 f end=0068FB07 +CGxDeviceD3d__BufData 0068FD00 f end=0068FD49 +CGxDeviceD3d__ShaderCreate 006AA130 f end=006AA18A \ No newline at end of file diff --git a/3.3.5a/symbol/handle/func.sym b/3.3.5a/symbol/handle/func.sym new file mode 100644 index 0000000..058c1b6 --- /dev/null +++ b/3.3.5a/symbol/handle/func.sym @@ -0,0 +1,3 @@ +HandleClose 0047BF30 f end=0047BF46 +HandleCreate 0047BF50 f end=0047BF6B +HandleDuplicate 0047BF70 f end=0047BF82 \ No newline at end of file diff --git a/3.3.5a/symbol/main.sym b/3.3.5a/symbol/main.sym index 7ab5ab9..49c8bc0 100644 --- a/3.3.5a/symbol/main.sym +++ b/3.3.5a/symbol/main.sym @@ -9,7 +9,7 @@ InitializeGlobal 004067F0 f end=00406B67 DestroyGlobal 00406B70 f end=00406C65 CommonMain 00406C70 f end=00406D64 CGxDevice__RsPush 00409670 f end=004096CC -GxRsPush 00409670 f end=004096CC +purecall 0040BAA5 f end=0040BACF nullsub_1 0040D3B5 f OsCloseFile 00461B00 f end=00461B09 OsReadFile 00461B50 f end=00461B88 @@ -40,6 +40,9 @@ CDataStore__GetArray 0047B560 f end=0047B5ED ; CDataStore::GetArray(unsigned cha CDataStore__GetDataInSitu 0047B6B0 f end=0047B6E9 ; CDataStore::GetDataInSitu(void*&, unsigned int) CmdLineProcess 0047B720 f end=0047B736 j_nullsub_3 0047B760 f +CoordinateSetAspectRatio 0047BF90 f end=0047BFC8 +CoordinateGetAspectRatio 0047BFD0 f end=0047BFD7 +CoordinateGetAspectCompensation 0047BFE0 f end=0047BFE7 NDCToDDC 0047BFF0 f end=0047C019 DDCToNDC 0047C020 f end=0047C049 DDCToNDCWidth 0047C050 f end=0047C05E @@ -49,6 +52,7 @@ NDCToDDCHeight 0047C080 f end=0047C08E PropSelectContext 0047CBF0 f end=0047CC08 PropGet 0047CC20 f end=0047CC41 PropSet 0047CC50 f end=0047CC70 +RCString__Copy 0047CF80 f end=0047CFEC EventInitialize 0047CFF0 f end=0047D02D EventDestroy 0047D030 f end=0047D04E EventCreateContextEx 0047D080 f end=0047D089 @@ -1993,9 +1997,9 @@ GxPrimVertexPtr 00681B00 f GxDrawLockedElements 00682340 f end=0068239E 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 -CGxDevice__DeviceCreate 00682CB0 f end=00682CCB +CGxDevice__DeviceCreate_WindowProc_CGxFormat 00682CB0 f end=00682CCB +CGxDevice__DeviceSetBaseMipLevel 00682D00 f end=00682D10 CGxDevice__DeviceApi 00682D20 f end=00682D27 -GxDevApi 00682D20 f end=00682D27 CGxDevice__IDevIsWindowed 00682D40 f end=00682D48 CGxDevice__DeviceCurWindow 00682D70 f end=00682D76 CGxDevice__ScenePresent 00682E50 f end=00682E66 @@ -2003,20 +2007,24 @@ CGxDevice__PrimCalcCount 00682F40 f end=00682F66 CGxDevice__LightEnable 00683080 f end=006830A4 CGxDevice__NeedsUpdate 006830B0 f end=006830F9 CGxDevice__MasterEnable 00683100 f end=00683121 +CGxDevice__BufData 00683130 f end=00683142 CGxDevice__BufLock 00683150 f end=00683171 CGxDevice__BufUnlock 00683180 f end=006831A0 CGxDevice__ShaderConstantsClear 006833A0 f end=006833DD CGxDevice__ShaderConstantsSet 006833E0 f end=00683554 CGxDevice__ShaderConstantsLock 00683560 f end=00683577 CGxDevice__ShaderConstantsUnlock 00683580 f end=006835D6 +CGxDevice__ICursorDestroy 006835E0 f end=00683602 CGxDevice__ICursorUpdate 00683610 f end=00683632 CGxDevice__DeviceSetFormat 006840F0 f end=0068416C +CGxDevice__DeviceSetGamma 00684190 f end=006841AF CGxDevice__DeviceSetDefWindow 00684360 f end=006843B0 CGxDevice__ClipPlaneSet 00684440 f end=006844B9 CGxDevice__LightSet 006847D0 f end=00684843 CGxDevice__BufStream 00684850 f end=0068489F CGxDevice__ITexMarkAsUpdated 00684900 f end=0068492D CGxDevice__IShaderLoad 00684970 f end=00684AC8 +CGxDevice__ICursorCreate 00684AD0 f end=00684B4A CGxDevice__Log 00684C20 f end=00684C3E CGxDevice__Log_CGxCaps 00684C40 f end=00684D07 ; CGxDevice::Log(CGxCaps const&) const CGxDevice__Log 00684D10 f end=00684D6C @@ -2025,21 +2033,38 @@ CGxDevice__IRsForceUpdate 006859E0 f end=00685A65 CGxDevice__IRsForceUpdate_EGxRenderState 006859E0 f end=00685A65 ; CGxDevice::IRsForceUpdate(EGxRenderState) CGxDevice__IRsForceUpdate 00685A70 f end=00685B4E ; CGxDevice::IRsForceUpdate() CGxDevice__IRsSync 00685B50 f end=00685BFE +CGxDevice__TexCreate 00685C60 f end=00685CCB CGxDevice__MasterEnableSet 00685EB0 f end=00685F33 CGxDevice__RsSet 00685F50 f end=00685FB0 CGxDevice__RsPop 00685FB0 f end=00686116 -GxRsPop 00685FB0 f end=00686116 CGxDevice__BufCreate 00687660 f end=006876C9 CGxDevice__PoolCreate 006876D0 f end=0068773F +CGxDevice__ICursorDraw 00687A90 f end=00687FCA +CGxDevice__PoolDestroy 00688340 f end=00688372 CGxDevice__CGxDevice 00688690 f end=0068903F CGxDevice__ShaderCreate 006897C0 f end=00689A49 CGxDevice__NewD3d 00689EF0 f end=00689F14 CGxDeviceOpenGl__CGxDeviceOpenGl 0068BBC0 f end=0068BD15 CGxDevice__NewOpenGl 0068BF20 f end=0068BF44 CGxDevice__NewD3d9Ex 0068C220 f end=0068C244 +CGxDeviceD3d__PoolDestroy 0068E720 f end=0068E742 +CGxDeviceD3d__ICursorDraw 0068E810 f end=0068E8F2 +CGxDeviceD3d__ICursorCreate 0068E900 f end=0068E975 +CGxDeviceD3d__BufUnlock 0068FAE0 f end=0068FB07 +CGxDeviceD3d__BufLock 0068FCE0 f end=0068FCFE +CGxDeviceD3d__BufData 0068FD00 f end=0068FD49 CGxDeviceD3d__CGxDeviceD3d 0068FD50 f end=0068FE80 +CGxDeviceD3d__DeviceSetFormat 006904D0 f end=006905E8 +CGxDeviceD3d__DeviceCreate_WindowProc_CGxFormat 00690750 f end=00690821 +CGxDeviceD3d__ICursorDestroy 006A00C0 f end=006A0102 CGxDeviceD3d9Ex__CGxDeviceD3d9Ex 006A1A90 f end=006A1C24 +CGxDeviceD3d__ITexMarkAsUpdated 006A3070 f end=006A30CF +CGxDeviceD3d__ScenePresent 006A3450 f end=006A3611 +CGxDeviceD3d__IRsSendToHw 006A4C30 f end=006A5499 +CGxDeviceD3d__CapsWindowSize 006A5A00 f end=006A5A25 CGxDevice__ITexWHDStartEnd 006A5EF0 f end=006A5FDF +CGxDeviceD3d__XformSetProjection 006A9B40 f end=006A9D88 +CGxDeviceD3d__ShaderCreate 006AA130 f end=006AA18A nullsub_154 006B0960 f nullsub_151 006B1B80 f nullsub_6 006B1B90 f diff --git a/3.3.5a/symbol/nullsub/func.sym b/3.3.5a/symbol/nullsub/func.sym index 70947f9..59c8da5 100644 --- a/3.3.5a/symbol/nullsub/func.sym +++ b/3.3.5a/symbol/nullsub/func.sym @@ -154,4 +154,5 @@ nullsub_147 009DE1A0 f nullsub_148 009DE1B0 f nullsub_149 009DE1C0 f nullsub_150 009DE1D0 f -return_zero4_sub 008E5250 f end=008E5253 ; Script_ToggleTris \ No newline at end of file +return_zero4_sub 008E5250 f end=008E5253 ; Script_ToggleTris +purecall 0040BAA5 f end=0040BACF \ No newline at end of file diff --git a/3.3.5a/symbol/rcstring/func.sym b/3.3.5a/symbol/rcstring/func.sym new file mode 100644 index 0000000..24ac921 --- /dev/null +++ b/3.3.5a/symbol/rcstring/func.sym @@ -0,0 +1 @@ +RCString__Copy 0047CF80 f end=0047CFEC \ No newline at end of file diff --git a/3.3.5a/x32dbg/game.dd32 b/3.3.5a/x32dbg/game.dd32 index 12d19cf..2a979b2 100644 --- a/3.3.5a/x32dbg/game.dd32 +++ b/3.3.5a/x32dbg/game.dd32 @@ -90,11 +90,11 @@ }, { "manual": true, - "start": "0x9670", - "end": "0x96cb", + "start": "0xbaa5", + "end": "0xbace", "module": "wow.exe", "icount": "0x0", - "parent": "0x9670" + "parent": "0xbaa5" }, { "manual": true, @@ -336,6 +336,30 @@ "icount": "0x0", "parent": "0x7b760" }, + { + "manual": true, + "start": "0x7bf90", + "end": "0x7bfc7", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x7bf90" + }, + { + "manual": true, + "start": "0x7bfd0", + "end": "0x7bfd6", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x7bfd0" + }, + { + "manual": true, + "start": "0x7bfe0", + "end": "0x7bfe6", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x7bfe0" + }, { "manual": true, "start": "0x7bff0", @@ -408,6 +432,14 @@ "icount": "0x0", "parent": "0x7cc50" }, + { + "manual": true, + "start": "0x7cf80", + "end": "0x7cfeb", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x7cf80" + }, { "manual": true, "start": "0x7cff0", @@ -15970,11 +16002,11 @@ }, { "manual": true, - "start": "0x282d20", - "end": "0x282d26", + "start": "0x282d00", + "end": "0x282d0f", "module": "wow.exe", "icount": "0x0", - "parent": "0x282d20" + "parent": "0x282d00" }, { "manual": true, @@ -16040,6 +16072,14 @@ "icount": "0x0", "parent": "0x283100" }, + { + "manual": true, + "start": "0x283130", + "end": "0x283141", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x283130" + }, { "manual": true, "start": "0x283150", @@ -16088,6 +16128,14 @@ "icount": "0x0", "parent": "0x283580" }, + { + "manual": true, + "start": "0x2835e0", + "end": "0x283601", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x2835e0" + }, { "manual": true, "start": "0x283610", @@ -16104,6 +16152,14 @@ "icount": "0x0", "parent": "0x2840f0" }, + { + "manual": true, + "start": "0x284190", + "end": "0x2841ae", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x284190" + }, { "manual": true, "start": "0x284360", @@ -16152,6 +16208,14 @@ "icount": "0x0", "parent": "0x284970" }, + { + "manual": true, + "start": "0x284ad0", + "end": "0x284b49", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x284ad0" + }, { "manual": true, "start": "0x284c20", @@ -16216,6 +16280,14 @@ "icount": "0x0", "parent": "0x285b50" }, + { + "manual": true, + "start": "0x285c60", + "end": "0x285cca", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x285c60" + }, { "manual": true, "start": "0x285eb0", @@ -16240,14 +16312,6 @@ "icount": "0x0", "parent": "0x285fb0" }, - { - "manual": true, - "start": "0x285fb0", - "end": "0x286115", - "module": "wow.exe", - "icount": "0x0", - "parent": "0x285fb0" - }, { "manual": true, "start": "0x287660", @@ -16264,6 +16328,22 @@ "icount": "0x0", "parent": "0x2876d0" }, + { + "manual": true, + "start": "0x287a90", + "end": "0x287fc9", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x287a90" + }, + { + "manual": true, + "start": "0x288340", + "end": "0x288371", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x288340" + }, { "manual": true, "start": "0x288690", @@ -16312,6 +16392,54 @@ "icount": "0x0", "parent": "0x28c220" }, + { + "manual": true, + "start": "0x28e720", + "end": "0x28e741", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x28e720" + }, + { + "manual": true, + "start": "0x28e810", + "end": "0x28e8f1", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x28e810" + }, + { + "manual": true, + "start": "0x28e900", + "end": "0x28e974", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x28e900" + }, + { + "manual": true, + "start": "0x28fae0", + "end": "0x28fb06", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x28fae0" + }, + { + "manual": true, + "start": "0x28fce0", + "end": "0x28fcfd", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x28fce0" + }, + { + "manual": true, + "start": "0x28fd00", + "end": "0x28fd48", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x28fd00" + }, { "manual": true, "start": "0x28fd50", @@ -16320,6 +16448,30 @@ "icount": "0x0", "parent": "0x28fd50" }, + { + "manual": true, + "start": "0x2904d0", + "end": "0x2905e7", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x2904d0" + }, + { + "manual": true, + "start": "0x290750", + "end": "0x290820", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x290750" + }, + { + "manual": true, + "start": "0x2a00c0", + "end": "0x2a0101", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x2a00c0" + }, { "manual": true, "start": "0x2a1a90", @@ -16328,6 +16480,38 @@ "icount": "0x0", "parent": "0x2a1a90" }, + { + "manual": true, + "start": "0x2a3070", + "end": "0x2a30ce", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x2a3070" + }, + { + "manual": true, + "start": "0x2a3450", + "end": "0x2a3610", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x2a3450" + }, + { + "manual": true, + "start": "0x2a4c30", + "end": "0x2a5498", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x2a4c30" + }, + { + "manual": true, + "start": "0x2a5a00", + "end": "0x2a5a24", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x2a5a00" + }, { "manual": true, "start": "0x2a5ef0", @@ -16336,6 +16520,22 @@ "icount": "0x0", "parent": "0x2a5ef0" }, + { + "manual": true, + "start": "0x2a9b40", + "end": "0x2a9d87", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x2a9b40" + }, + { + "manual": true, + "start": "0x2aa130", + "end": "0x2aa189", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x2aa130" + }, { "manual": true, "start": "0x2b0960", @@ -19401,14 +19601,14 @@ { "manual": true, "module": "wow.exe", - "text": "GxRsPush", + "text": "CGxDevice__RsPush", "address": "0x9670" }, { "manual": true, "module": "wow.exe", - "text": "CGxDevice__RsPush", - "address": "0x9670" + "text": "purecall", + "address": "0xbaa5" }, { "manual": true, @@ -19590,6 +19790,24 @@ "text": "j_nullsub_3", "address": "0x7b760" }, + { + "manual": true, + "module": "wow.exe", + "text": "CoordinateSetAspectRatio", + "address": "0x7bf90" + }, + { + "manual": true, + "module": "wow.exe", + "text": "CoordinateGetAspectRatio", + "address": "0x7bfd0" + }, + { + "manual": true, + "module": "wow.exe", + "text": "CoordinateGetAspectCompensation", + "address": "0x7bfe0" + }, { "manual": true, "module": "wow.exe", @@ -19644,6 +19862,12 @@ "text": "PropSet", "address": "0x7cc50" }, + { + "manual": true, + "module": "wow.exe", + "text": "RCString__Copy", + "address": "0x7cf80" + }, { "manual": true, "module": "wow.exe", @@ -31311,14 +31535,14 @@ { "manual": true, "module": "wow.exe", - "text": "CGxDevice__DeviceCreate", + "text": "CGxDevice__DeviceCreate_WindowProc_CGxFormat", "address": "0x282cb0" }, { "manual": true, "module": "wow.exe", - "text": "GxDevApi", - "address": "0x282d20" + "text": "CGxDevice__DeviceSetBaseMipLevel", + "address": "0x282d00" }, { "manual": true, @@ -31368,6 +31592,12 @@ "text": "CGxDevice__MasterEnable", "address": "0x283100" }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDevice__BufData", + "address": "0x283130" + }, { "manual": true, "module": "wow.exe", @@ -31404,6 +31634,12 @@ "text": "CGxDevice__ShaderConstantsUnlock", "address": "0x283580" }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDevice__ICursorDestroy", + "address": "0x2835e0" + }, { "manual": true, "module": "wow.exe", @@ -31416,6 +31652,12 @@ "text": "CGxDevice__DeviceSetFormat", "address": "0x2840f0" }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDevice__DeviceSetGamma", + "address": "0x284190" + }, { "manual": true, "module": "wow.exe", @@ -31452,6 +31694,12 @@ "text": "CGxDevice__IShaderLoad", "address": "0x284970" }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDevice__ICursorCreate", + "address": "0x284ad0" + }, { "manual": true, "module": "wow.exe", @@ -31500,6 +31748,12 @@ "text": "CGxDevice__IRsSync", "address": "0x285b50" }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDevice__TexCreate", + "address": "0x285c60" + }, { "manual": true, "module": "wow.exe", @@ -31512,12 +31766,6 @@ "text": "CGxDevice__RsSet", "address": "0x285f50" }, - { - "manual": true, - "module": "wow.exe", - "text": "GxRsPop", - "address": "0x285fb0" - }, { "manual": true, "module": "wow.exe", @@ -31536,6 +31784,18 @@ "text": "CGxDevice__PoolCreate", "address": "0x2876d0" }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDevice__ICursorDraw", + "address": "0x287a90" + }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDevice__PoolDestroy", + "address": "0x288340" + }, { "manual": true, "module": "wow.exe", @@ -31572,24 +31832,114 @@ "text": "CGxDevice__NewD3d9Ex", "address": "0x28c220" }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDeviceD3d__PoolDestroy", + "address": "0x28e720" + }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDeviceD3d__ICursorDraw", + "address": "0x28e810" + }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDeviceD3d__ICursorCreate", + "address": "0x28e900" + }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDeviceD3d__BufUnlock", + "address": "0x28fae0" + }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDeviceD3d__BufLock", + "address": "0x28fce0" + }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDeviceD3d__BufData", + "address": "0x28fd00" + }, { "manual": true, "module": "wow.exe", "text": "CGxDeviceD3d__CGxDeviceD3d", "address": "0x28fd50" }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDeviceD3d__DeviceSetFormat", + "address": "0x2904d0" + }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDeviceD3d__DeviceCreate_WindowProc_CGxFormat", + "address": "0x290750" + }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDeviceD3d__ICursorDestroy", + "address": "0x2a00c0" + }, { "manual": true, "module": "wow.exe", "text": "CGxDeviceD3d9Ex__CGxDeviceD3d9Ex", "address": "0x2a1a90" }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDeviceD3d__ITexMarkAsUpdated", + "address": "0x2a3070" + }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDeviceD3d__ScenePresent", + "address": "0x2a3450" + }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDeviceD3d__IRsSendToHw", + "address": "0x2a4c30" + }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDeviceD3d__CapsWindowSize", + "address": "0x2a5a00" + }, { "manual": true, "module": "wow.exe", "text": "CGxDevice__ITexWHDStartEnd", "address": "0x2a5ef0" }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDeviceD3d__XformSetProjection", + "address": "0x2a9b40" + }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDeviceD3d__ShaderCreate", + "address": "0x2aa130" + }, { "manual": true, "module": "wow.exe", diff --git a/3.3.5a/x32dbg/types.json b/3.3.5a/x32dbg/types.json index 13a1579..4790e85 100644 --- a/3.3.5a/x32dbg/types.json +++ b/3.3.5a/x32dbg/types.json @@ -135,6 +135,14 @@ { "type": "int", "name": "CGxMatrixStack__EMatrixFlags" + }, + { + "type": "int32_t", + "name": "D3DFORMAT" + }, + { + "type": "long long", + "name": "D3DDEVTYPE" } ], "structs": [ @@ -920,72 +928,185 @@ }, { "type": "uint32_t", - "name": "m_maxIndex", + "name": "unk18", "offset": 24 }, + { + "type": "uint32_t", + "name": "m_maxIndex", + "offset": 28 + }, { "type": "int32_t", "name": "m_generateMipMaps", - "offset": 28 + "offset": 32 }, { "type": "int32_t", "name": "m_texFmt", "arrsize": 13, - "offset": 32 + "offset": 36 }, { "type": "int32_t", "name": "m_texTarget", "arrsize": 4, - "offset": 84 + "offset": 88 + }, + { + "type": "uint32_t", + "name": "unk68", + "offset": 104 }, { "type": "uint32_t", "name": "m_texMaxSize", "arrsize": 4, - "offset": 100 + "offset": 108 + }, + { + "type": "uint32_t", + "name": "unk7C", + "offset": 124 + }, + { + "type": "uint32_t", + "name": "unk80", + "offset": 128 + }, + { + "type": "uint32_t", + "name": "unk84", + "offset": 132 + }, + { + "type": "uint32_t", + "name": "unk88", + "offset": 136 + }, + { + "type": "uint32_t", + "name": "unk8C", + "offset": 140 + }, + { + "type": "uint32_t", + "name": "unk90", + "offset": 144 + }, + { + "type": "uint32_t", + "name": "unk94", + "offset": 148 + }, + { + "type": "uint32_t", + "name": "unk98", + "offset": 152 + }, + { + "type": "uint32_t", + "name": "unk9C", + "offset": 156 + }, + { + "type": "uint32_t", + "name": "unkA0", + "offset": 160 + }, + { + "type": "uint32_t", + "name": "unkA4", + "offset": 164 + }, + { + "type": "uint32_t", + "name": "unkA8", + "offset": 168 + }, + { + "type": "int32_t", + "name": "hwPcf", + "offset": 172 + }, + { + "type": "uint32_t", + "name": "unkB0", + "offset": 176 }, { "type": "int32_t", "name": "m_shaderTargets", "arrsize": 6, - "offset": 116 + "offset": 180 + }, + { + "type": "uint32_t", + "name": "m_unkCC", + "arrsize": 6, + "offset": 204 }, { "type": "int32_t", "name": "m_texFilterTrilinear", - "offset": 140 + "offset": 228 }, { "type": "int32_t", "name": "m_texFilterAnisotropic", - "offset": 144 + "offset": 232 }, { "type": "uint32_t", "name": "m_maxTexAnisotropy", - "offset": 148 + "offset": 236 }, { "type": "int32_t", "name": "m_depthBias", - "offset": 152 + "offset": 240 + }, + { + "type": "uint32_t", + "name": "unkF4", + "offset": 244 + }, + { + "type": "int32_t", + "name": "m_maxClipPlanes", + "offset": 248 + }, + { + "type": "uint32_t", + "name": "unkFC", + "arrsize": 6, + "offset": 252 + }, + { + "type": "uint32_t", + "name": "unk114", + "arrsize": 6, + "offset": 276 + }, + { + "type": "int32_t", + "name": "m_stereoAvailable", + "offset": 300 }, { "type": "int32_t", "name": "int130", - "offset": 156 + "offset": 304 }, { "type": "int32_t", "name": "int134", - "offset": 160 + "offset": 308 }, { "type": "int32_t", "name": "int138", - "offset": 164 + "offset": 312 } ] }, @@ -1023,32 +1144,49 @@ } ] }, + { + "name": "CGxGammaRamp", + "members": [ + { + "type": "uint16_t", + "name": "red", + "arrsize": 256 + }, + { + "type": "uint16_t", + "name": "green", + "arrsize": 256, + "offset": 512 + }, + { + "type": "uint16_t", + "name": "blue", + "arrsize": 256, + "offset": 1024 + } + ] + }, { "name": "TSGrowableArray_EGxRenderState", "members": [ - { - "type": "void**", - "name": "vtable" - }, { "type": "uint32_t", - "name": "m_alloc", - "offset": 4 + "name": "m_alloc" }, { "type": "uint32_t", "name": "m_count", - "offset": 8 + "offset": 4 }, { "type": "EGxRenderState*", "name": "m_data", - "offset": 12 + "offset": 8 }, { "type": "uint32_t", "name": "m_chunk", - "offset": 16 + "offset": 12 } ] }, @@ -1125,18 +1263,18 @@ { "type": "TSGrowableArray_uint32_t", "name": "m_stackOffsets", - "offset": 24 + "offset": 20 }, { "type": "TSGrowableArray_EGxRenderState", "name": "m_dirtyStates", - "offset": 44 + "offset": 36 }, { "type": "uint32_t", - "name": "m_unk", - "arrsize": 73, - "offset": 64 + "name": "m_unk40", + "arrsize": 76, + "offset": 52 }, { "type": "CRect", @@ -1148,176 +1286,270 @@ "name": "m_curWindowRect", "offset": 372 }, + { + "type": "uint32_t", + "name": "m_unk184", + "arrsize": 12, + "offset": 388 + }, { "type": "EGxApi", "name": "m_api", - "offset": 388 + "offset": 436 + }, + { + "type": "uint32_t", + "name": "m_cpuFeatures", + "offset": 440 }, { "type": "CGxFormat", "name": "m_format", - "offset": 392 + "offset": 444 }, { "type": "CGxCaps", "name": "m_caps", - "offset": 436 + "offset": 532 }, { - "type": "TSHashTable_CGxShader_HASHKEY_STRI", - "name": "m_shaderList", - "arrsize": 6, - "offset": 604 + "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": 844 + "offset": 3924 }, { "type": "int32_t", "name": "m_context", - "offset": 848 + "offset": 3928 }, { "type": "int32_t", "name": "intF5C", - "offset": 852 + "offset": 3932 }, { "type": "int32_t", "name": "m_windowVisible", - "offset": 856 + "offset": 3936 }, { "type": "int32_t", "name": "intF64", - "offset": 860 + "offset": 3940 + }, + { + "type": "int32_t", + "name": "intF68", + "offset": 3944 }, { "type": "int32_t", "name": "intF6C", - "offset": 864 + "offset": 3948 }, { "type": "CBoundingBox", "name": "m_viewport", - "offset": 868 + "offset": 3952 }, { "type": "C44Matrix", "name": "m_projection", - "offset": 892 + "offset": 3976 }, { "type": "C44Matrix", "name": "m_projNative", - "offset": 956 + "offset": 4040 }, { "type": "CGxMatrixStack", "name": "m_xforms", "arrsize": 11, - "offset": 1020 + "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": 4100 + "offset": 10072 }, { "type": "uint32_t", "name": "m_hwMasterEnables", - "offset": 4104 + "offset": 10076 }, { "type": "TSList_CGxPool", "name": "m_poolList", - "offset": 4108 + "offset": 10080 + }, + { + "type": "uint32_t", + "name": "unk276C", + "arrsize": 3, + "offset": 10092 }, { "type": "CGxBuf*", "name": "m_bufLocked", "arrsize": 2, - "offset": 4120 + "offset": 10104 }, { "type": "CGxPool*", "name": "m_vertexPool", - "offset": 4128 + "offset": 10112 }, { "type": "CGxPool*", "name": "m_indexPool", - "offset": 4132 + "offset": 10116 }, { "type": "CGxBuf*", "name": "m_streamBufs", "arrsize": 2, - "offset": 4136 + "offset": 10120 }, { "type": "CGxVertexAttrib", "name": "m_primVertexFormatAttrib", "arrsize": 14, - "offset": 4144 + "offset": 10128 }, { "type": "CGxBuf*", "name": "m_primVertexFormatBuf", "arrsize": 14, - "offset": 4368 + "offset": 10352 }, { "type": "uint32_t", "name": "m_primVertexMask", - "offset": 4424 + "offset": 10408 }, { "type": "uint32_t", "name": "m_primVertexDirty", - "offset": 4428 + "offset": 10412 }, { "type": "EGxVertexBufferFormat", "name": "m_primVertexFormat", - "offset": 4432 + "offset": 10416 }, { "type": "CGxBuf*", "name": "m_primVertexBuf", - "offset": 4436 + "offset": 10420 }, { "type": "uint32_t", "name": "m_primVertexSize", - "offset": 4440 + "offset": 10424 }, { "type": "CGxBuf*", "name": "m_primIndexBuf", - "offset": 4444 + "offset": 10428 }, { "type": "int32_t", "name": "m_primIndexDirty", - "offset": 4448 + "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": 4452 + "offset": 10476 }, { "type": "TSFixedArray_CGxStateBom", "name": "m_hwRenderStates", - "offset": 4468 + "offset": 10488 }, { "type": "uint32_t", - "name": "m_baseMipLevel", - "offset": 4484 + "name": "unk2904", + "arrsize": 1049, + "offset": 10500 } ] }, @@ -1435,7 +1667,7 @@ }, { "type": "void*", - "name": "v_fn_22", + "name": "v_fn_22_DeviceWM", "offset": 88 }, { @@ -1615,12 +1847,12 @@ }, { "type": "void*", - "name": "v_fn_58", + "name": "v_fn_58_TexDestroy", "offset": 232 }, { "type": "void*", - "name": "v_fn_59", + "name": "v_fn_59_TexCopy", "offset": 236 }, { @@ -1762,136 +1994,167 @@ { "name": "TSGrowableArray_CGxPushedRenderState", "members": [ - { - "type": "void**", - "name": "vtable" - }, { "type": "uint32_t", - "name": "m_alloc", - "offset": 4 + "name": "m_alloc" }, { "type": "uint32_t", "name": "m_count", - "offset": 8 + "offset": 4 }, { "type": "CGxPushedRenderState*", "name": "m_data", - "offset": 12 + "offset": 8 }, { "type": "uint32_t", "name": "m_chunk", - "offset": 16 + "offset": 12 } ] }, { "name": "TSGrowableArray_uint32_t", "members": [ - { - "type": "void**", - "name": "vtable" - }, { "type": "uint32_t", - "name": "m_alloc", - "offset": 4 + "name": "m_alloc" }, { "type": "uint32_t", "name": "m_count", - "offset": 8 + "offset": 4 }, { "type": "uint32_t*", "name": "m_data", - "offset": 12 + "offset": 8 }, { "type": "uint32_t", "name": "m_chunk", - "offset": 16 + "offset": 12 } ] }, { "name": "CGxFormat", "members": [ + { + "type": "uint32_t", + "name": "unk0" + }, { "type": "bool", - "name": "hwTnL" + "name": "hwTnL", + "offset": 4 + }, + { + "type": "int8_t", + "name": "unk5", + "offset": 5 + }, + { + "type": "int8_t", + "name": "fixLag", + "offset": 6 }, { "type": "int8_t", "name": "window", - "offset": 1 + "offset": 7 + }, + { + "type": "uint32_t", + "name": "unk8", + "offset": 8 }, { "type": "int32_t", "name": "maximize", - "offset": 4 + "offset": 12 }, { "type": "CGxFormat__Format", "name": "depthFormat", - "offset": 8 + "offset": 16 }, { "type": "C2iVector", "name": "size", - "offset": 12 - }, - { - "type": "uint32_t", - "name": "sampleCount", "offset": 20 }, - { - "type": "CGxFormat__Format", - "name": "colorFormat", - "offset": 24 - }, { "type": "uint32_t", - "name": "refreshRate", + "name": "unk1C", "offset": 28 }, { "type": "uint32_t", - "name": "vsync", + "name": "sampleCount", "offset": 32 }, + { + "type": "float", + "name": "float24", + "offset": 36 + }, + { + "type": "CGxFormat__Format", + "name": "colorFormat", + "offset": 40 + }, + { + "type": "uint32_t", + "name": "refreshRate", + "offset": 44 + }, + { + "type": "uint32_t", + "name": "vsync", + "offset": 48 + }, + { + "type": "uint32_t", + "name": "unk34", + "offset": 52 + }, + { + "type": "uint32_t", + "name": "unk38", + "offset": 56 + }, + { + "type": "uint32_t", + "name": "unk3C", + "offset": 60 + }, + { + "type": "uint32_t", + "name": "unk40", + "offset": 64 + }, + { + "type": "uint32_t", + "name": "unk44", + "offset": 68 + }, + { + "type": "uint32_t", + "name": "unk48", + "offset": 72 + }, + { + "type": "uint32_t", + "name": "unk4C", + "offset": 76 + }, { "type": "C2iVector", "name": "pos", - "offset": 36 - } - ] - }, - { - "name": "TSHashTable_CGxShader_HASHKEY_STRI", - "members": [ - { - "type": "TSList_CGxShader", - "name": "m_fulllist" - }, - { - "type": "uint32_t", - "name": "m_fullnessIndicator", - "offset": 12 - }, - { - "type": "TSGrowableArray_TSList_CGxShader", - "name": "m_slotlistarray", - "offset": 16 - }, - { - "type": "uint32_t", - "name": "m_slotmask", - "offset": 36 + "offset": 80 } ] }, @@ -1924,48 +2187,38 @@ { "name": "TSFixedArray_CGxAppRenderState", "members": [ - { - "type": "void**", - "name": "vtable" - }, { "type": "uint32_t", - "name": "m_alloc", - "offset": 4 + "name": "m_alloc" }, { "type": "uint32_t", "name": "m_count", - "offset": 8 + "offset": 4 }, { "type": "CGxAppRenderState*", "name": "m_data", - "offset": 12 + "offset": 8 } ] }, { "name": "TSFixedArray_CGxStateBom", "members": [ - { - "type": "void**", - "name": "vtable" - }, { "type": "uint32_t", - "name": "m_alloc", - "offset": 4 + "name": "m_alloc" }, { "type": "uint32_t", "name": "m_count", - "offset": 8 + "offset": 4 }, { "type": "CGxStateBom*", "name": "m_data", - "offset": 12 + "offset": 8 } ] }, @@ -2070,29 +2323,24 @@ { "name": "TSGrowableArray_uint8_t", "members": [ - { - "type": "void**", - "name": "vtable" - }, { "type": "uint32_t", - "name": "m_alloc", - "offset": 4 + "name": "m_alloc" }, { "type": "uint32_t", "name": "m_count", - "offset": 8 + "offset": 4 }, { "type": "uint8_t*", "name": "m_data", - "offset": 12 + "offset": 8 }, { "type": "uint32_t", "name": "m_chunk", - "offset": 16 + "offset": 12 } ] }, @@ -2111,31 +2359,50 @@ ] }, { - "name": "TSGrowableArray_TSList_CGxShader", + "name": "TSHashTable_CGxShader_HASHKEY_STRI", "members": [ { - "type": "void**", - "name": "vtable" + "type": "TSList_CGxShader", + "name": "m_fulllist" }, { "type": "uint32_t", - "name": "m_alloc", - "offset": 4 + "name": "m_fullnessIndicator", + "offset": 12 + }, + { + "type": "TSGrowableArray_TSList_CGxShader", + "name": "m_slotlistarray", + "offset": 16 + }, + { + "type": "uint32_t", + "name": "m_slotmask", + "offset": 32 + } + ] + }, + { + "name": "TSGrowableArray_TSList_CGxShader", + "members": [ + { + "type": "uint32_t", + "name": "m_alloc" }, { "type": "uint32_t", "name": "m_count", - "offset": 8 + "offset": 4 }, { "type": "TSList_CGxShader*", "name": "m_data", - "offset": 12 + "offset": 8 }, { "type": "uint32_t", "name": "m_chunk", - "offset": 16 + "offset": 12 } ] }, @@ -2161,6 +2428,662 @@ "name": "m_link" } ] + }, + { + "name": "CGxDeviceD3d", + "members": [ + { + "type": "CGxDevice", + "name": "b_base" + }, + { + "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": "uint32_t", + "name": "unk3AB4", + "arrsize": 11, + "offset": 15036 + }, + { + "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": "uint32_t", + "name": "unk3B4C", + "offset": 15188 + }, + { + "type": "uint32_t", + "name": "unk3B50", + "offset": 15192 + }, + { + "type": "uint32_t", + "name": "unk3B54", + "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": "IDirect3D9", + "members": [ + { + "type": "void**", + "name": "v_vtable" + } + ] + }, + { + "name": "IDirect3DDevice9", + "members": [ + { + "type": "void**", + "name": "v_vtable" + } + ] + }, + { + "name": "D3DCAPS9", + "members": [ + { + "type": "D3DDEVTYPE", + "name": "DeviceType" + }, + { + "type": "uint32_t", + "name": "AdapterOrdinal", + "offset": 8 + }, + { + "type": "uint32_t", + "name": "Caps", + "offset": 12 + }, + { + "type": "uint32_t", + "name": "Caps2", + "offset": 16 + }, + { + "type": "uint32_t", + "name": "Caps3", + "offset": 20 + }, + { + "type": "uint32_t", + "name": "PresentationIntervals", + "offset": 24 + }, + { + "type": "uint32_t", + "name": "CursorCaps", + "offset": 28 + }, + { + "type": "uint32_t", + "name": "DevCaps", + "offset": 32 + }, + { + "type": "uint32_t", + "name": "PrimitiveMiscCaps", + "offset": 36 + }, + { + "type": "uint32_t", + "name": "RasterCaps", + "offset": 40 + }, + { + "type": "uint32_t", + "name": "ZCmpCaps", + "offset": 44 + }, + { + "type": "uint32_t", + "name": "SrcBlendCaps", + "offset": 48 + }, + { + "type": "uint32_t", + "name": "DestBlendCaps", + "offset": 52 + }, + { + "type": "uint32_t", + "name": "AlphaCmpCaps", + "offset": 56 + }, + { + "type": "uint32_t", + "name": "ShadeCaps", + "offset": 60 + }, + { + "type": "uint32_t", + "name": "TextureCaps", + "offset": 64 + }, + { + "type": "uint32_t", + "name": "TextureFilterCaps", + "offset": 68 + }, + { + "type": "uint32_t", + "name": "CubeTextureFilterCaps", + "offset": 72 + }, + { + "type": "uint32_t", + "name": "VolumeTextureFilterCaps", + "offset": 76 + }, + { + "type": "uint32_t", + "name": "TextureAddressCaps", + "offset": 80 + }, + { + "type": "uint32_t", + "name": "VolumeTextureAddressCaps", + "offset": 84 + }, + { + "type": "uint32_t", + "name": "LineCaps", + "offset": 88 + }, + { + "type": "uint32_t", + "name": "MaxTextureWidth", + "offset": 92 + }, + { + "type": "uint32_t", + "name": "MaxTextureHeight", + "offset": 96 + }, + { + "type": "uint32_t", + "name": "MaxVolumeExtent", + "offset": 100 + }, + { + "type": "uint32_t", + "name": "MaxTextureRepeat", + "offset": 104 + }, + { + "type": "uint32_t", + "name": "MaxTextureAspectRatio", + "offset": 108 + }, + { + "type": "uint32_t", + "name": "MaxAnisotropy", + "offset": 112 + }, + { + "type": "float", + "name": "MaxVertexW", + "offset": 116 + }, + { + "type": "float", + "name": "GuardBandLeft", + "offset": 120 + }, + { + "type": "float", + "name": "GuardBandTop", + "offset": 124 + }, + { + "type": "float", + "name": "GuardBandRight", + "offset": 128 + }, + { + "type": "float", + "name": "GuardBandBottom", + "offset": 132 + }, + { + "type": "float", + "name": "ExtentsAdjust", + "offset": 136 + }, + { + "type": "uint32_t", + "name": "StencilCaps", + "offset": 140 + }, + { + "type": "uint32_t", + "name": "FVFCaps", + "offset": 144 + }, + { + "type": "uint32_t", + "name": "TextureOpCaps", + "offset": 148 + }, + { + "type": "uint32_t", + "name": "MaxTextureBlendStages", + "offset": 152 + }, + { + "type": "uint32_t", + "name": "MaxSimultaneousTextures", + "offset": 156 + }, + { + "type": "uint32_t", + "name": "VertexProcessingCaps", + "offset": 160 + }, + { + "type": "uint32_t", + "name": "MaxActiveLights", + "offset": 164 + }, + { + "type": "uint32_t", + "name": "MaxUserClipPlanes", + "offset": 168 + }, + { + "type": "uint32_t", + "name": "MaxVertexBlendMatrices", + "offset": 172 + }, + { + "type": "uint32_t", + "name": "MaxVertexBlendMatrixIndex", + "offset": 176 + }, + { + "type": "float", + "name": "MaxPointSize", + "offset": 180 + }, + { + "type": "uint32_t", + "name": "MaxPrimitiveCount", + "offset": 184 + }, + { + "type": "uint32_t", + "name": "MaxVertexIndex", + "offset": 188 + }, + { + "type": "uint32_t", + "name": "MaxStreams", + "offset": 192 + }, + { + "type": "uint32_t", + "name": "MaxStreamStride", + "offset": 196 + }, + { + "type": "uint32_t", + "name": "VertexShaderVersion", + "offset": 200 + }, + { + "type": "uint32_t", + "name": "MaxVertexShaderConst", + "offset": 204 + }, + { + "type": "uint32_t", + "name": "PixelShaderVersion", + "offset": 208 + }, + { + "type": "float", + "name": "PixelShader1xMaxValue", + "offset": 212 + }, + { + "type": "uint32_t", + "name": "DevCaps2", + "offset": 216 + }, + { + "type": "float", + "name": "MaxNpatchTessellationLevel", + "offset": 220 + }, + { + "type": "uint32_t", + "name": "Reserved5", + "offset": 224 + }, + { + "type": "uint32_t", + "name": "MasterAdapterOrdinal", + "offset": 228 + }, + { + "type": "uint32_t", + "name": "AdapterOrdinalInGroup", + "offset": 232 + }, + { + "type": "uint32_t", + "name": "NumberOfAdaptersInGroup", + "offset": 236 + }, + { + "type": "uint32_t", + "name": "DeclTypes", + "offset": 240 + }, + { + "type": "uint32_t", + "name": "NumSimultaneousRTs", + "offset": 244 + }, + { + "type": "uint32_t", + "name": "StretchRectFilterCaps", + "offset": 248 + }, + { + "type": "D3DVSHADERCAPS2_0", + "name": "VS20Caps", + "offset": 252 + }, + { + "type": "D3DPSHADERCAPS2_0", + "name": "PS20Caps", + "offset": 268 + }, + { + "type": "uint32_t", + "name": "VertexTextureFilterCaps", + "offset": 288 + }, + { + "type": "uint32_t", + "name": "MaxVShaderInstructionsExecuted", + "offset": 292 + }, + { + "type": "uint32_t", + "name": "MaxPShaderInstructionsExecuted", + "offset": 296 + }, + { + "type": "uint32_t", + "name": "MaxVertexShader30InstructionSlots", + "offset": 300 + }, + { + "type": "uint32_t", + "name": "MaxPixelShader30InstructionSlots", + "offset": 304 + } + ] + }, + { + "name": "IDirect3DVertexDeclaration9", + "members": [ + { + "type": "void**", + "name": "v_vtable" + } + ] + }, + { + "name": "D3DDISPLAYMODE", + "members": [ + { + "type": "uint32_t", + "name": "Width" + }, + { + "type": "uint32_t", + "name": "Height", + "offset": 4 + }, + { + "type": "uint32_t", + "name": "RefreshRate", + "offset": 8 + }, + { + "type": "D3DFORMAT", + "name": "Format", + "offset": 12 + } + ] + }, + { + "name": "IDirect3DSurface9", + "members": [ + { + "type": "void**", + "name": "v_vtable" + } + ] + }, + { + "name": "IDirect3DIndexBuffer9", + "members": [ + { + "type": "void**", + "name": "v_vtable" + } + ] + }, + { + "name": "IDirect3DVertexBuffer9", + "members": [ + { + "type": "void**", + "name": "v_vtable" + } + ] + }, + { + "name": "D3DVSHADERCAPS2_0", + "members": [ + { + "type": "uint32_t", + "name": "Caps" + }, + { + "type": "int32_t", + "name": "DynamicFlowControlDepth", + "offset": 4 + }, + { + "type": "int32_t", + "name": "NumTemps", + "offset": 8 + }, + { + "type": "int32_t", + "name": "StaticFlowControlDepth", + "offset": 12 + } + ] + }, + { + "name": "D3DPSHADERCAPS2_0", + "members": [ + { + "type": "uint32_t", + "name": "Caps" + }, + { + "type": "int32_t", + "name": "DynamicFlowControlDepth", + "offset": 4 + }, + { + "type": "int32_t", + "name": "NumTemps", + "offset": 8 + }, + { + "type": "int32_t", + "name": "StaticFlowControlDepth", + "offset": 12 + }, + { + "type": "int32_t", + "name": "NumInstructionSlots", + "offset": 16 + } + ] } ], "unions": [