diff --git a/profile/3.3.5a-windows/ida/import_symbols.idc b/profile/3.3.5a-windows/ida/import_symbols.idc index c5cb7b6..326703c 100644 --- a/profile/3.3.5a-windows/ida/import_symbols.idc +++ b/profile/3.3.5a-windows/ida/import_symbols.idc @@ -135,6 +135,7 @@ static main() { set_name(0x00482A20, "GxBufStream"); set_name(0x00482A40, "GxDraw"); set_name(0x00493BF0, "GxCapsWindowSizeInScreenCoords"); + set_name(0x00495410, "CSimpleTop__OnLayerRender"); set_name(0x004A8500, "ScrnLayerSetRect"); set_name(0x004A8720, "OnPaint"); set_name(0x004A8BB0, "ScrnLayerCreate"); @@ -579,7 +580,7 @@ static main() { set_name(0x005262E0, "Script_TargetTotem"); set_name(0x00527F00, "Script_InteractUnit"); set_name(0x00528920, "Script_LoadAddOn"); - set_name(0x0052A980, "CGameUI__Initialize"); + set_name(0x0052A980, "CGGameUI__Initialize"); set_name(0x0052B470, "Script_RegisterForSave"); set_name(0x0052B4E0, "Script_RegisterForSavePerCharacter"); set_name(0x0052C110, "Script_GetNumPartyMembers"); @@ -2136,7 +2137,6 @@ static main() { set_name(0x00684D10, "CGxDevice__Log"); set_name(0x00685970, "CGxDevice__IRsDirty"); set_name(0x006859E0, "CGxDevice__IRsForceUpdate_EGxRenderState"); - set_name(0x006859E0, "CGxDevice__IRsForceUpdate"); set_name(0x00685A70, "CGxDevice__IRsForceUpdate"); set_name(0x00685B50, "CGxDevice__IRsSync"); set_name(0x00685C60, "CGxDevice__TexCreate"); @@ -2177,6 +2177,7 @@ static main() { set_name(0x00690750, "CGxDeviceD3d__DeviceCreate_WindowProc_CGxFormat"); set_name(0x0069FB00, "CGxDeviceD3d__ICreateD3dVB"); set_name(0x0069FB70, "CGxDeviceD3d__CreatePoolAPI"); + set_name(0x0069FE10, "CGxDeviceD3d__ICursorClip"); set_name(0x006A00C0, "CGxDeviceD3d__ICursorDestroy"); set_name(0x006A0360, "CGxDeviceD3d__WindowProcD3d"); set_name(0x006A1A90, "CGxDeviceD3d9Ex__CGxDeviceD3d9Ex"); @@ -2961,6 +2962,8 @@ static main() { set_func_end(0x00482A40, 0x00482A5D); set_func_start(0x00493BF0, 0x00493BF0); set_func_end(0x00493BF0, 0x00493C09); + set_func_start(0x00495410, 0x00495410); + set_func_end(0x00495410, 0x0049546A); set_func_start(0x004A8500, 0x004A8500); set_func_end(0x004A8500, 0x004A8522); set_func_start(0x004A8720, 0x004A8720); @@ -6938,8 +6941,6 @@ static main() { set_func_end(0x00685970, 0x006859DB); set_func_start(0x006859E0, 0x006859E0); set_func_end(0x006859E0, 0x00685A65); - set_func_start(0x006859E0, 0x006859E0); - set_func_end(0x006859E0, 0x00685A65); set_func_start(0x00685A70, 0x00685A70); set_func_end(0x00685A70, 0x00685B4E); set_func_start(0x00685B50, 0x00685B50); @@ -7020,6 +7021,8 @@ static main() { set_func_end(0x0069FB00, 0x0069FB68); set_func_start(0x0069FB70, 0x0069FB70); set_func_end(0x0069FB70, 0x0069FBB8); + set_func_start(0x0069FE10, 0x0069FE10); + set_func_end(0x0069FE10, 0x0069FE57); set_func_start(0x006A00C0, 0x006A00C0); set_func_end(0x006A00C0, 0x006A0102); set_func_start(0x006A0360, 0x006A0360); diff --git a/profile/3.3.5a-windows/include/async/object.h b/profile/3.3.5a-windows/include/async/object.h new file mode 100644 index 0000000..d3481f6 --- /dev/null +++ b/profile/3.3.5a-windows/include/async/object.h @@ -0,0 +1,31 @@ +#ifndef ASYNC_OBJECT_H +#define ASYNC_OBJECT_H + +#include "system/types.h" +#include "storm/list.h" +#include "async/queue.h" + +DECLARE_STRUCT(CAsyncObject); +DECLARE_STRUCT(TSLink_CAsyncObject); + +struct CAsyncObject { + void* file; + void* buffer; + uint32_t size; + void* userArg; + void* userPostloadCallback; + void* userPostUnloadCallback; + CAsyncQueue* queue; + void* ptr1c; + int8_t priority; + int8_t isProcessed; + int8_t isRead; + int8_t isCurrent; + int8_t char24; + int8_t char25; + uint16_t padding; + TSLink_CAsyncObject link; +}; +STORM_TS_LIST(CAsyncObject); + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows/include/async/queue.h b/profile/3.3.5a-windows/include/async/queue.h new file mode 100644 index 0000000..50719b6 --- /dev/null +++ b/profile/3.3.5a-windows/include/async/queue.h @@ -0,0 +1,20 @@ +#ifndef ASYNC_QUEUE_H +#define ASYNC_QUEUE_H + +#include "system/types.h" +#include "storm/list.h" + +DECLARE_STRUCT(TSLink_CAsyncQueue); +DECLARE_STRUCT(TSExplicitList_CAsyncObject); + +DECLARE_STRUCT(CAsyncQueue); +STORM_TS_LIST(CAsyncQueue); + +struct CAsyncQueue { + TSLink_CAsyncQueue link; + TSExplicitList_CAsyncObject readList; + TSExplicitList_CAsyncObject unkList; + int32_t int20; +}; + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows/include/common/array.h b/profile/3.3.5a-windows/include/common/array.h new file mode 100644 index 0000000..3db40a8 --- /dev/null +++ b/profile/3.3.5a-windows/include/common/array.h @@ -0,0 +1,24 @@ +#ifndef COMMON_ARRAY_H +#define COMMON_ARRAY_H + +#include "storm/array.h" + +#define COMMON_SIMPLE_SORTED_ARRAY(T) STORM_TS_GROWABLE_ARRAY(T); \ +typedef struct CSimpleSortedArray_##T CSimpleSortedArray_##T; \ +struct CSimpleSortedArray_##T { \ + TSGrowableArray_##T m_array; \ + uint32_t m_count; \ + uint32_t m_maxcount; \ + uint32_t m_iterator; \ +}; + +#define COMMON_SIMPLE_SORTED_ARRAY_POINTER_TO(T) STORM_TS_GROWABLE_ARRAY_POINTER_TO(T); \ +typedef struct CSimpleSortedArray_pointer_to_##T CSimpleSortedArray_pointer_to_##T; \ +struct CSimpleSortedArray_pointer_to_##T { \ + TSGrowableArray_pointer_to_##T m_array; \ + uint32_t m_count; \ + uint32_t m_maxcount; \ + uint32_t m_iterator; \ +}; + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows/include/common/instance.h b/profile/3.3.5a-windows/include/common/instance.h index d7d1748..c4ca8fe 100644 --- a/profile/3.3.5a-windows/include/common/instance.h +++ b/profile/3.3.5a-windows/include/common/instance.h @@ -11,7 +11,7 @@ // TInstanceId // TSingletonInstanceId #define COMMON_INSTANCE_ID(T) \ -STORM_TS_LIST(T) \ +STORM_TS_LIST(T); \ typedef struct TInstanceId_##T TInstanceId_##T; \ typedef struct TSingletonInstanceId_##T TSingletonInstanceId_##T; \ struct TInstanceId_##T { \ @@ -20,10 +20,10 @@ struct TInstanceId_##T { \ }; \ struct TSingletonInstanceId_##T { \ TInstanceId_##T b_base; \ -}; +}; #define COMMON_INSTANCE_ID_TABLE(T) \ -STORM_TS_LIST(T) \ +STORM_TS_LIST(T); \ typedef struct TInstanceIdTable_##T TInstanceIdTable_##T; \ struct TInstanceIdTable_##T { \ SCritSect m_idCritSect; \ diff --git a/profile/3.3.5a-windows/include/common/rcstring.h b/profile/3.3.5a-windows/include/common/rcstring.h new file mode 100644 index 0000000..f4a88bc --- /dev/null +++ b/profile/3.3.5a-windows/include/common/rcstring.h @@ -0,0 +1,14 @@ +#ifndef COMMON_RC_STRING_H +#define COMMON_RC_STRING_H + +#include "common/refcount.h" + +DECLARE_STRUCT(RCString); + +// struct RCString : TRefCnt +struct RCString { + TRefCnt b_base; + uint8_t* m_str; +}; + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows/include/common/refcount.h b/profile/3.3.5a-windows/include/common/refcount.h new file mode 100644 index 0000000..6fa5246 --- /dev/null +++ b/profile/3.3.5a-windows/include/common/refcount.h @@ -0,0 +1,11 @@ +#ifndef COMMON_REF_COUNT_H +#define COMMON_REF_COUNT_H + +DECLARE_STRUCT(TRefCnt); + +struct TRefCnt { + void* vfptr; + uint32_t m_refcnt; +}; + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows/include/d3d9/device.h b/profile/3.3.5a-windows/include/d3d9/device.h deleted file mode 100644 index ba6dd7f..0000000 --- a/profile/3.3.5a-windows/include/d3d9/device.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef D3D9_DEVICE_H -#define D3D9_DEVICE_H - -#include "system/types.h" - -#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; -typedef struct IDirect3DTexture9 IDirect3DTexture9; - -typedef struct D3DLOCKED_RECT D3DLOCKED_RECT; - -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; -}; - -struct IDirect3DTexture9 { - void** v_vtable; -}; - -struct D3DLOCKED_RECT { - int32_t Pitch; - void* pBits; -}; - -#endif diff --git a/profile/3.3.5a-windows/include/d3d9/caps.h b/profile/3.3.5a-windows/include/external/d3d9/caps.h similarity index 100% rename from profile/3.3.5a-windows/include/d3d9/caps.h rename to profile/3.3.5a-windows/include/external/d3d9/caps.h diff --git a/profile/3.3.5a-windows/include/external/d3d9/device.h b/profile/3.3.5a-windows/include/external/d3d9/device.h new file mode 100644 index 0000000..5928a1c --- /dev/null +++ b/profile/3.3.5a-windows/include/external/d3d9/device.h @@ -0,0 +1,184 @@ +#ifndef D3D9_DEVICE_H +#define D3D9_DEVICE_H + +#include "system/types.h" + +#include "external/d3d9/caps.h" + +typedef int32_t D3DFORMAT; +typedef struct D3DDISPLAYMODE D3DDISPLAYMODE; +typedef struct IDirect3D9 IDirect3D9; +typedef struct IDirect3DDevice9 IDirect3DDevice9; +typedef struct IDirect3DDevice9_vtable IDirect3DDevice9_vtable; +typedef struct IDirect3DVertexDeclaration9 IDirect3DVertexDeclaration9; +typedef struct IDirect3DSurface9 IDirect3DSurface9; +typedef struct IDirect3DIndexBuffer9 IDirect3DIndexBuffer9; +typedef struct IDirect3DVertexBuffer9 IDirect3DVertexBuffer9; +typedef struct IDirect3DTexture9 IDirect3DTexture9; + +typedef struct D3DLOCKED_RECT D3DLOCKED_RECT; + +struct D3DDISPLAYMODE { + uint32_t Width; + uint32_t Height; + uint32_t RefreshRate; + D3DFORMAT Format; +}; + +struct IDirect3D9 { + void** v_vtable; +}; + +struct IDirect3DDevice9_vtable { + void* v_fn_0_QueryInterface; + void* v_fn_1_AddRef; + void* v_fn_2_Release; + void* v_fn_3_TestCooperativeLevel; + void* v_fn_4_GetAvailableTextureMem; + void* v_fn_5_EvictManagedResources; + void* v_fn_6_GetDirect3D; + void* v_fn_7_GetDeviceCaps; + void* v_fn_8_GetDisplayMode; + void* v_fn_9_GetCreationParameters; + void* v_fn_10_SetCursorProperties; + void* v_fn_11_SetCursorPosition; + void* v_fn_12_ShowCursor; + void* v_fn_13_CreateAdditionalSwapChain; + void* v_fn_14_GetSwapChain; + void* v_fn_15_GetNumberOfSwapChains; + void* v_fn_16_Reset; + void* v_fn_17_Present; + void* v_fn_18_GetBackBuffer; + void* v_fn_19_GetRasterStatus; + void* v_fn_20_SetDialogBoxMode; + void* v_fn_21_SetGammaRamp; + void* v_fn_22_GetGammaRamp; + void* v_fn_23_CreateTexture; + void* v_fn_24_CreateVolumeTexture; + void* v_fn_25_CreateCubeTexture; + void* v_fn_26_CreateVertexBuffer; + void* v_fn_27_CreateIndexBuffer; + void* v_fn_28_CreateRenderTarget; + void* v_fn_29_CreateDepthStencilSurface; + void* v_fn_30_UpdateSurface; + void* v_fn_31_UpdateTexture; + void* v_fn_32_GetRenderTargetData; + void* v_fn_33_GetFrontBufferData; + void* v_fn_34_StretchRect; + void* v_fn_35_ColorFill; + void* v_fn_36_CreateOffscreenPlainSurface; + void* v_fn_37_SetRenderTarget; + void* v_fn_38_GetRenderTarget; + void* v_fn_39_SetDepthStencilSurface; + void* v_fn_40_GetDepthStencilSurface; + void* v_fn_41_BeginScene; + void* v_fn_42_EndScene; + void* v_fn_43_Clear; + void* v_fn_44_SetTransform; + void* v_fn_45_GetTransform; + void* v_fn_46_MultiplyTransform; + void* v_fn_47_SetViewport; + void* v_fn_48_GetViewport; + void* v_fn_49_SetMaterial; + void* v_fn_50_GetMaterial; + void* v_fn_51_SetLight; + void* v_fn_52_GetLight; + void* v_fn_53_LightEnable; + void* v_fn_54_GetLightEnable; + void* v_fn_55_SetClipPlane; + void* v_fn_56_GetClipPlane; + void* v_fn_57_SetRenderState; + void* v_fn_58_GetRenderState; + void* v_fn_59_CreateStateBlock; + void* v_fn_60_BeginStateBlock; + void* v_fn_61_EndStateBlock; + void* v_fn_62_SetClipStatus; + void* v_fn_63_GetClipStatus; + void* v_fn_64_GetTexture; + void* v_fn_65_SetTexture; + void* v_fn_66_GetTextureStageState; + void* v_fn_67_SetTextureStageState; + void* v_fn_68_GetSamplerState; + void* v_fn_69_SetSamplerState; + void* v_fn_70_ValidateDevice; + void* v_fn_71_SetPaletteEntries; + void* v_fn_72_GetPaletteEntries; + void* v_fn_73_SetCurrentTexturePalette; + void* v_fn_74_GetCurrentTexturePalette; + void* v_fn_75_SetScissorRect; + void* v_fn_76_GetScissorRect; + void* v_fn_77_SetSoftwareVertexProcessing; + void* v_fn_78_GetSoftwareVertexProcessing; + void* v_fn_79_SetNPatchMode; + void* v_fn_80_GetNPatchMode; + void* v_fn_81_DrawPrimitive; + void* v_fn_82_DrawIndexedPrimitive; + void* v_fn_83_DrawPrimitiveUP; + void* v_fn_84_DrawIndexedPrimitiveUP; + void* v_fn_85_ProcessVertices; + void* v_fn_86_CreateVertexDeclaration; + void* v_fn_87_SetVertexDeclaration; + void* v_fn_88_GetVertexDeclaration; + void* v_fn_89_SetFVF; + void* v_fn_90_GetFVF; + void* v_fn_91_CreateVertexShader; + void* v_fn_92_SetVertexShader; + void* v_fn_93_GetVertexShader; + void* v_fn_94_SetVertexShaderConstantF; + void* v_fn_95_GetVertexShaderConstantF; + void* v_fn_96_SetVertexShaderConstantI; + void* v_fn_97_GetVertexShaderConstantI; + void* v_fn_98_SetVertexShaderConstantB; + void* v_fn_99_GetVertexShaderConstantB; + void* v_fn_100_SetStreamSource; + void* v_fn_101_GetStreamSource; + void* v_fn_102_SetStreamSourceFreq; + void* v_fn_103_GetStreamSourceFreq; + void* v_fn_104_SetIndices; + void* v_fn_105_GetIndices; + void* v_fn_106_CreatePixelShader; + void* v_fn_107_SetPixelShader; + void* v_fn_108_GetPixelShader; + void* v_fn_109_SetPixelShaderConstantF; + void* v_fn_110_GetPixelShaderConstantF; + void* v_fn_111_SetPixelShaderConstantI; + void* v_fn_112_GetPixelShaderConstantI; + void* v_fn_113_SetPixelShaderConstantB; + void* v_fn_114_GetPixelShaderConstantB; + void* v_fn_115_DrawRectPatch; + void* v_fn_116_DrawTriPatch; + void* v_fn_117_DeletePatch; + + void* v_fn_118_CreateQuery; +}; + +struct IDirect3DDevice9 { + IDirect3DDevice9_vtable* v_vtable; +}; + +struct IDirect3DVertexDeclaration9 { + void** v_vtable; +}; + +struct IDirect3DSurface9 { + void** v_vtable; +}; + +struct IDirect3DIndexBuffer9 { + void** v_vtable; +}; + +struct IDirect3DVertexBuffer9 { + void** v_vtable; +}; + +struct IDirect3DTexture9 { + void** v_vtable; +}; + +struct D3DLOCKED_RECT { + int32_t Pitch; + void* pBits; +}; + +#endif diff --git a/profile/3.3.5a-windows/include/framescript/event_object.h b/profile/3.3.5a-windows/include/framescript/event_object.h index 78a2ed3..764150a 100644 --- a/profile/3.3.5a-windows/include/framescript/event_object.h +++ b/profile/3.3.5a-windows/include/framescript/event_object.h @@ -8,25 +8,17 @@ #include "ui/simpleframe.h" DECLARE_STRUCT(FrameScript_EventObject); -DECLARE_STRUCT(SIMPLEFRAMENODE); DECLARE_STRUCT(EVENTLISTENERNODE); -STORM_TS_LIST(SIMPLEFRAMENODE); STORM_TS_LIST(EVENTLISTENERNODE); -// struct SIMPLEFRAMENODE : TSLinkedNode -struct SIMPLEFRAMENODE { - TSLinkedNode_SIMPLEFRAMENODE b_base; - CSimpleFrame* frame; -}; - // struct EVENTLISTENERNODE : TSLinkedNode { struct EVENTLISTENERNODE { TSLinkedNode_EVENTLISTENERNODE b_base; FrameScript_Object* listener; }; -STORM_TS_HASH(FrameScript_EventObject, HASHKEY_STRI) +STORM_TS_HASH(FrameScript_EventObject, HASHKEY_STRI); struct FrameScript_EventObject { TSHashObject_FrameScript_EventObject_HASHKEY_STRI b_base; diff --git a/profile/3.3.5a-windows/include/framescript/object.h b/profile/3.3.5a-windows/include/framescript/object.h index 05e6821..8e9b04e 100644 --- a/profile/3.3.5a-windows/include/framescript/object.h +++ b/profile/3.3.5a-windows/include/framescript/object.h @@ -4,6 +4,7 @@ #include "system/types.h" DECLARE_STRUCT(FrameScript_Object); +DECLARE_STRUCT(FrameScript_Object__ScriptIx); struct FrameScript_Object { void** v_vtable; @@ -12,4 +13,10 @@ struct FrameScript_Object { int32_t m_onEvent; }; +// struct FrameScript_Object::ScriptIx +struct FrameScript_Object__ScriptIx { + int32_t luaRef; + int8_t* unk; +}; + #endif diff --git a/profile/3.3.5a-windows/include/gx/batch.h b/profile/3.3.5a-windows/include/gx/batch.h index ef25737..eb5d7e2 100644 --- a/profile/3.3.5a-windows/include/gx/batch.h +++ b/profile/3.3.5a-windows/include/gx/batch.h @@ -3,7 +3,7 @@ #include "gx/types.h" -typedef struct CGxBatch CGxBatch; +DECLARE_STRUCT(CGxBatch); struct CGxBatch { // Member variables diff --git a/profile/3.3.5a-windows/include/gx/d3d9.h b/profile/3.3.5a-windows/include/gx/d3d9.h index f8f2e5a..123cbdb 100644 --- a/profile/3.3.5a-windows/include/gx/d3d9.h +++ b/profile/3.3.5a-windows/include/gx/d3d9.h @@ -3,7 +3,7 @@ #include "gx/device.h" -#include "d3d9/device.h" +#include "external/d3d9/device.h" typedef struct CGxDeviceD3d CGxDeviceD3d; diff --git a/profile/3.3.5a-windows/include/gx/font.h b/profile/3.3.5a-windows/include/gx/font.h new file mode 100644 index 0000000..e4c0088 --- /dev/null +++ b/profile/3.3.5a-windows/include/gx/font.h @@ -0,0 +1,99 @@ +#ifndef GX_FONT_H +#define GX_FONT_H + +#include "system/types.h" +#include "tempest/rect.h" +#include "storm/list.h" +#include "storm/hash.h" +#include "gx/string.h" + +DECLARE_HANDLE(HFACE); + +DECLARE_STRUCT(CGxFont); +DECLARE_STRUCT(GLYPHBITMAPDATA); +DECLARE_STRUCT(CHARCODEDESC); + +DECLARE_STRUCT(KERNNODE); +DECLARE_STRUCT(KERNINGHASHKEY); + +DECLARE_STRUCT(TEXTURECACHE); +DECLARE_STRUCT(TEXTURECACHEROW); + +STORM_TS_LIST(CGxFont); +STORM_TS_LIST(CHARCODEDESC); + +STORM_TS_HASH(CHARCODEDESC, HASHKEY_NONE); + +struct GLYPHBITMAPDATA { + void* m_data; + uint32_t m_dataSize; + uint32_t m_glyphWidth; + uint32_t m_glyphHeight; + uint32_t m_glyphCellWidth; + float m_glyphAdvance; + float m_glyphBearing; + uint32_t m_glyphPitch; + int32_t m_yOffset; + int32_t m_yStart; + CRect m_textureCoords; +}; + +// struct CHARCODEDESC : TSHashObject +struct CHARCODEDESC { + TSHashObject_CHARCODEDESC_HASHKEY_NONE b_base; + TSLink_CHARCODEDESC textureRowLink; + TSLink_CHARCODEDESC fontGlyphLink; + uint32_t textureNumber; + uint32_t rowNumber; + uint32_t glyphStartPixel; + uint32_t glyphEndPixel; + GLYPHBITMAPDATA bitmapData; +}; + +// +// struct KERNNODE : TSHashObject +struct KERNNODE { + uint32_t flags; + float proporportionalSpacing; + float fixedWidthSpacing; +}; + +struct KERNINGHASHKEY { + uint32_t code; +}; + +struct TEXTURECACHEROW { + uint32_t widestFreeSlot; + TSExplicitList_CHARCODEDESC glyphList; +}; +STORM_TS_FIXED_ARRAY(TEXTURECACHEROW); + +struct TEXTURECACHE { + void* m_texture; + CGxFont* m_theFace; + uint8_t m_anyDirtyGlyphs; + uint8_t pad[3]; + TSFixedArray_TEXTURECACHEROW m_textureRows; +}; + +STORM_TS_HASH(KERNNODE, KERNINGHASHKEY); + +// struct CGxFont : TSLinkedNode +struct CGxFont { + TSLinkedNode_CGxFont b_base; + TSExplicitList_CGxString m_strings; + TSHashTable_CHARCODEDESC_HASHKEY_NONE m_activeCharacters; + TSHashTable_KERNNODE_KERNINGHASHKEY m_kernInfo; + TSExplicitList_CHARCODEDESC m_activeCharacterCache; + HFACE m_faceHandle; + char m_fontName[260]; + uint32_t m_cellHeight; + uint32_t m_baseline; + uint32_t m_flags; + float float184; + float m_pixelsPerUnit; + TEXTURECACHE m_textureCache[8]; + uint32_t m_pixelSize; +}; + +#endif diff --git a/profile/3.3.5a-windows/include/gx/string.h b/profile/3.3.5a-windows/include/gx/string.h new file mode 100644 index 0000000..9106bf7 --- /dev/null +++ b/profile/3.3.5a-windows/include/gx/string.h @@ -0,0 +1,50 @@ +#ifndef GX_STRING_H +#define GX_STRING_H + +#include "tempest/vector.h" + +DECLARE_STRUCT(CGxString); + +STORM_TS_LIST(CGxString); + +// struct CGxString : TSLinkedNode +struct CGxString { + TSLinkedNode_CGxString b_base; + TSLink_CGxString m_fontStringLink; + TSLink_CGxString m_batchedStringLink; + float m_requestedFontHeight; + float m_currentFontHeight; + C3Vector m_position; + CImVector m_fontColor; + CImVector m_shadowColor; + C2Vector m_shadowOffset; + float m_blockWidth; + float m_blockHeight; + void* m_currentFace; + char* m_text; + int32_t m_textLen; + int32_t m_vertJust; + int32_t m_horzJust; + float m_spacing; + uint32_t m_flags; + uint32_t m_texturePagesUsed; + int32_t m_textureEvicted; + uint32_t m_lastGradientStart; + uint32_t m_lastGradientLength; + C3Vector m_viewTranslation; + float m_scale; + uint32_t m_hyperlinkInfo[4]; + uint32_t dword90; + uint32_t dword94; + uint32_t dword98; + uint32_t dword9C; + uint32_t dwordA0; + uint32_t dwordA4; + uint32_t dwordA8; + uint32_t dwordAC; + int32_t m_intB0; + void* m_textLines[8]; + int32_t m_intD4; +}; + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows/include/gx/stringbatch.h b/profile/3.3.5a-windows/include/gx/stringbatch.h new file mode 100644 index 0000000..94fd31b --- /dev/null +++ b/profile/3.3.5a-windows/include/gx/stringbatch.h @@ -0,0 +1,30 @@ +#ifndef GX_STRING_BATCH_H +#define GX_STRING_BATCH_H + +#include "storm/list.h" +#include "storm/hash.h" +#include "gx/font.h" + +DECLARE_STRUCT(CGxStringBatch); +DECLARE_STRUCT(BATCHEDRENDERFONTDESC); + +STORM_TS_HASH(BATCHEDRENDERFONTDESC, HASHKEY_PTR); + +STORM_TS_LIST(CGxStringBatch); + +// struct BATCHEDRENDERFONTDESC : TSHashObject +struct BATCHEDRENDERFONTDESC { + TSHashObject_BATCHEDRENDERFONTDESC_HASHKEY_PTR b_base; + CGxFont* m_face; + // STORM_EXPLICIT_LIST(CGxString, m_batchedStringLink) m_strings; + TSExplicitList_CGxString m_strings; +}; + +// CGxStringBatch : TSLinkedNode +struct CGxStringBatch { + TSLinkedNode_CGxStringBatch b_base; + TSHashTable_BATCHEDRENDERFONTDESC_HASHKEY_PTR m_fontBatch; + uint32_t m_flags; +}; + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows/include/main.h b/profile/3.3.5a-windows/include/main.h index b81bc46..c4fcbe1 100644 --- a/profile/3.3.5a-windows/include/main.h +++ b/profile/3.3.5a-windows/include/main.h @@ -2,18 +2,25 @@ #include "system/detect.h" -// Types +// Types (include all files to expose them in the disassembler) +// external types (c-ified) +#include "external/d3d9/caps.h" +#include "external/d3d9/device.h" + +#include "async/object.h" +#include "async/queue.h" + +#include "common/array.h" #include "common/handle.h" #include "common/instance.h" #include "common/datarecycler.h" #include "common/status.h" +#include "common/refcount.h" +#include "common/rcstring.h" #include "cursor/types.h" -#include "d3d9/caps.h" -#include "d3d9/device.h" - #include "event/types.h" #include "event/context.h" #include "event/handler.h" @@ -25,6 +32,7 @@ #include "framescript/object.h" #include "framescript/event_object.h" +#include "gx/batch.h" #include "gx/buffer.h" #include "gx/caps.h" #include "gx/device.h" @@ -32,6 +40,8 @@ #include "gx/matrix_stack.h" #include "gx/shader.h" #include "gx/state_bom.h" +#include "gx/string.h" +#include "gx/stringbatch.h" #include "gx/types.h" #include "gx/batch.h" #include "gx/d3d9.h" @@ -41,7 +51,9 @@ #include "storm/array.h" #include "storm/list.h" #include "storm/hash.h" +#include "storm/queue.h" #include "storm/region.h" +#include "storm/thread.h" #include "tempest/box.h" #include "tempest/matrix.h" @@ -53,9 +65,19 @@ #include "tempest/vector.h" #include "texture/blp.h" +#include "texture/texture.h" #include "texture/tga.h" +#include "ui/backdropgenerator.h" +#include "ui/layoutframe.h" +#include "ui/renderbatch.h" +#include "ui/scriptobject.h" +#include "ui/scriptregion.h" +#include "ui/simplebatchedmesh.h" #include "ui/simpleframe.h" +#include "ui/simpleregion.h" +#include "ui/simpletexture.h" +#include "ui/simpletop.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/profile/3.3.5a-windows/include/storm/hash.h b/profile/3.3.5a-windows/include/storm/hash.h index 1952edc..0c7bad0 100644 --- a/profile/3.3.5a-windows/include/storm/hash.h +++ b/profile/3.3.5a-windows/include/storm/hash.h @@ -7,8 +7,8 @@ #include "storm/list.h" #define STORM_TS_HASH(T, K) \ -STORM_TS_LIST(T) \ -STORM_TS_GROWABLE_ARRAY(TSList_##T) \ +STORM_TS_LIST(T); \ +STORM_TS_GROWABLE_ARRAY(TSList_##T); \ typedef struct TSHashTable_##T##_##K TSHashTable_##T##_##K; \ typedef struct TSHashObject_##T##_##K TSHashObject_##T##_##K; \ struct TSHashTable_##T##_##K { \ @@ -22,7 +22,7 @@ struct TSHashObject_##T##_##K { \ TSLink_##T m_linktoslot; \ TSLink_##T m_linktofull; \ K m_key; \ -}; +} DECLARE_STRUCT(HASHKEY_PTR); DECLARE_STRUCT(HASHKEY_STR); diff --git a/profile/3.3.5a-windows/include/storm/list.h b/profile/3.3.5a-windows/include/storm/list.h index 7c64d20..2b7b98f 100644 --- a/profile/3.3.5a-windows/include/storm/list.h +++ b/profile/3.3.5a-windows/include/storm/list.h @@ -3,22 +3,18 @@ #include "system/types.h" -// to make an object self referential -// forward-declare 'struct Object_type' as 'Object_type' -// then define 'struct Object_type' - // TSLink #define STORM_TS_LINK(T) typedef struct TSLink_##T TSLink_##T; \ struct TSLink_##T { \ TSLink_##T* m_prevlink; \ T* m_next; \ -}; +} // TSList // TSExplicitList // TSLinkedNode #define STORM_TS_LIST(T) \ -STORM_TS_LINK(T) \ +STORM_TS_LINK(T); \ typedef struct TSList_##T TSList_##T; \ typedef struct TSList_##T TSExplicitList_##T; \ typedef struct TSLinkedNode_##T TSLinkedNode_##T; \ @@ -28,6 +24,7 @@ struct TSList_##T { \ }; \ struct TSLinkedNode_##T { \ TSLink_##T m_link; \ -}; +}; \ +typedef TSList_##T TSExplicitList_##T #endif \ No newline at end of file diff --git a/profile/3.3.5a-windows/include/storm/queue.h b/profile/3.3.5a-windows/include/storm/queue.h index a4cd764..145a7bf 100644 --- a/profile/3.3.5a-windows/include/storm/queue.h +++ b/profile/3.3.5a-windows/include/storm/queue.h @@ -23,9 +23,9 @@ typedef struct TSTimerPriority_##T TSTimerPriority_##T; \ struct TSTimerPriority_##T { \ CSBasePriority b_base; \ T m_val; \ -}; +} #define STORM_TS_PRIORITY_QUEUE(T) \ -typedef CSBasePriorityQueue TSPriorityQueue_##T; +typedef CSBasePriorityQueue TSPriorityQueue_##T #endif \ No newline at end of file diff --git a/profile/3.3.5a-windows/include/texture/texture.h b/profile/3.3.5a-windows/include/texture/texture.h new file mode 100644 index 0000000..aab22ba --- /dev/null +++ b/profile/3.3.5a-windows/include/texture/texture.h @@ -0,0 +1,36 @@ +#ifndef TEXTURE_TEXTURE_H +#define TEXTURE_TEXTURE_H + +#include "common/handle.h" +#include "common/status.h" +#include "gx/types.h" +#include "gx/texture.h" +#include "async/object.h" + +DECLARE_STRUCT(CTexture); + +// struct CTexture : CHandleObject +struct CTexture { + CHandleObject b_base; + uint32_t dword8[6]; + CGxTexFlags unkTexFlags1; + uint32_t dword10; + uint16_t flags; + int8_t bestMip; + int8_t alphaBits; + CStatus loadStatus; + CAsyncObject* asyncObject; + CGxTex* gxTex; + int32_t gxTexTarget; + uint16_t gxWidth; + uint16_t gxHeight; + EGxTexFormat gxTexFormat; + EGxTexFormat dataFormat; + CGxTexFlags gxTexFlags; + void* atlas; + uint32_t atlasBlockIndex; + uint32_t dword50[2]; + char filename[260]; +}; + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows/include/ui/backdropgenerator.h b/profile/3.3.5a-windows/include/ui/backdropgenerator.h new file mode 100644 index 0000000..29131b9 --- /dev/null +++ b/profile/3.3.5a-windows/include/ui/backdropgenerator.h @@ -0,0 +1,37 @@ +#ifndef UI_BACKDROP_GENERATOR_H +#define UI_BACKDROP_GENERATOR_H + +#include "tempest/vector.h" +#include "ui/simpletexture.h" + +struct CBackdropGenerator { + CSimpleTexture* m_backgroundTexture; + CSimpleTexture* m_leftTexture; + CSimpleTexture* m_rightTexture; + CSimpleTexture* m_topTexture; + CSimpleTexture* m_bottomTexture; + CSimpleTexture* m_topLeftTexture; + CSimpleTexture* m_topRightTexture; + CSimpleTexture* m_bottomLeftTexture; + CSimpleTexture* m_bottomRightTexture; + uint32_t dword24; + uint32_t dword28; + uint32_t dword2C; + uint32_t dword30; + uint32_t dword34; + uint32_t dword38; + uint32_t dword3C; + uint32_t dword40; + uint32_t dword44; + uint32_t dword48; + uint32_t dword4C; + uint32_t dword50; + uint32_t dword54; + uint32_t dword58; + uint32_t dword5C; + uint32_t dword60; + CImVector m_borderColor; + uint32_t dword68; +}; + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows/include/ui/layoutframe.h b/profile/3.3.5a-windows/include/ui/layoutframe.h new file mode 100644 index 0000000..87a7ad6 --- /dev/null +++ b/profile/3.3.5a-windows/include/ui/layoutframe.h @@ -0,0 +1,59 @@ +#ifndef UI_LAYOUT_FRAME_H +#define UI_LAYOUT_FRAME_H + +#include "tempest/rect.h" +#include "storm/list.h" + +DECLARE_STRUCT(CLayoutFrame__FRAMENODE); +DECLARE_STRUCT(CLayoutFrame_vtable); +DECLARE_STRUCT(CLayoutFrame); + +STORM_TS_LIST(CLayoutFrame__FRAMENODE); + +struct CLayoutFrame__FRAMENODE { + TSLinkedNode_CLayoutFrame__FRAMENODE b_base; + CLayoutFrame* frame; + uint32_t dep; +}; + +struct CLayoutFrame_vtable { + void* v_fn_00; + void* v_fn_01; + void* v_fn_02; + void* v_fn_03; + void* v_fn_04; + void* v_fn_05; + void* v_fn_06; + void* v_fn_07; + void* v_fn_08; + void* v_fn_09; + void* v_fn_10; + void* v_fn_11; + void* v_fn_12; + void* v_fn_13; + void* v_fn_14; + void* v_fn_15; + void* v_fn_16; + void* v_fn_17; + void* v_fn_18; +}; + +struct CLayoutFrame { + CLayoutFrame_vtable* v_vtable; + uint32_t resizeLink[2]; + void* m_points[9]; + TSList_CLayoutFrame__FRAMENODE m_resizeList; + uint32_t m_guard; + uint32_t m_flags; + CRect m_rect; + float m_width; + float m_height; + float m_layoutScale; + float m_layoutDepth; + float float64; + float float68; + float float6C; + float float70; +}; + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows/include/ui/renderbatch.h b/profile/3.3.5a-windows/include/ui/renderbatch.h new file mode 100644 index 0000000..0ced4c1 --- /dev/null +++ b/profile/3.3.5a-windows/include/ui/renderbatch.h @@ -0,0 +1,28 @@ +#ifndef UI_RENDER_BATCH_H +#define UI_RENDER_BATCH_H + +#include "system/types.h" +#include "ui/simplebatchedmesh.h" +#include "gx/stringbatch.h" + +DECLARE_STRUCT(CRenderBatch); +DECLARE_STRUCT(RENDERCALLBACKNODE); + +STORM_TS_LIST(RENDERCALLBACKNODE); +STORM_TS_LIST(CRenderBatch); + +// struct RENDERCALLBACKNODE : TSLinkedNode +struct RENDERCALLBACKNODE { + void* callback; + void* param; +}; + +struct CRenderBatch { + uint32_t m_count; + TSGrowableArray_CSimpleBatchedMesh m_texturelist; + CGxStringBatch* m_stringbatch; + TSList_RENDERCALLBACKNODE m_callbacks; + TSLink_CRenderBatch renderLink; +}; + +#endif diff --git a/profile/3.3.5a-windows/include/ui/scriptobject.h b/profile/3.3.5a-windows/include/ui/scriptobject.h new file mode 100644 index 0000000..f263fc3 --- /dev/null +++ b/profile/3.3.5a-windows/include/ui/scriptobject.h @@ -0,0 +1,15 @@ +#ifndef UI_SCRIPT_OBJECT_H +#define UI_SCRIPT_OBJECT_H + +#include "common/rcstring.h" +#include "framescript/object.h" + +DECLARE_STRUCT(CScriptObject); + +// struct CScriptObject : FrameScript_Object { +struct CScriptObject { + FrameScript_Object b_base; + RCString m_name; +}; + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows/include/ui/scriptregion.h b/profile/3.3.5a-windows/include/ui/scriptregion.h new file mode 100644 index 0000000..f67b8bf --- /dev/null +++ b/profile/3.3.5a-windows/include/ui/scriptregion.h @@ -0,0 +1,21 @@ +#ifndef UI_SCRIPT_REGION_H +#define UI_SCRIPT_REGION_H + +#include "ui/simpleframe.h" +#include "ui/scriptobject.h" +#include "ui/layoutframe.h" + +DECLARE_STRUCT(CScriptRegion); +// forward declare to avoid problems +DECLARE_STRUCT(CSimpleFrame); + +// struct CScriptRegion : CScriptObject, CLayoutFrame { +struct CScriptRegion { + CScriptObject b_base_01; + CLayoutFrame b_base_02; + CSimpleFrame* m_parent; + void* m_animGroups; + uint32_t scriptregion_dword8; +}; + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows/include/ui/simplebatchedmesh.h b/profile/3.3.5a-windows/include/ui/simplebatchedmesh.h new file mode 100644 index 0000000..6e74b7d --- /dev/null +++ b/profile/3.3.5a-windows/include/ui/simplebatchedmesh.h @@ -0,0 +1,29 @@ +#ifndef UI_SIMPLE_BATCHED_MESH_H +#define UI_SIMPLE_BATCHED_MESH_H + +#include "texture/texture.h" +#include "gx/texture.h" +#include "gx/shader.h" +#include "tempest/vector.h" + +DECLARE_STRUCT(CSimpleBatchedMesh); + +struct CSimpleBatchedMesh { + CTexture* texture; + CGxTex* textureID; + EGxBlend alphaMode; + CGxShader* shader; + int32_t posCount; + C3Vector* position; + C2Vector* texCoord; + CImVector* color; + int32_t colorCount; + uint16_t* indices; + int32_t idxCount; + int32_t onAtlas; + float atlasScale; + C2Vector atlasOffset; +}; +STORM_TS_GROWABLE_ARRAY(CSimpleBatchedMesh); + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows/include/ui/simpleframe.h b/profile/3.3.5a-windows/include/ui/simpleframe.h index 1f0357e..4a415ee 100644 --- a/profile/3.3.5a-windows/include/ui/simpleframe.h +++ b/profile/3.3.5a-windows/include/ui/simpleframe.h @@ -1,9 +1,88 @@ #ifndef UI_SIMPLE_FRAME_H #define UI_SIMPLE_FRAME_H -DECLARE_STRUCT(CSimpleFrame); +#include "storm/list.h" +#include "tempest/rect.h" +#include "tempest/vector.h" +DECLARE_STRUCT(CSimpleFrame); +DECLARE_STRUCT(SIMPLEFRAMENODE); + +STORM_TS_LIST(SIMPLEFRAMENODE); + +#include "ui/scriptregion.h" +#include "ui/backdropgenerator.h" +#include "ui/renderbatch.h" + +DECLARE_STRUCT(CBackdropGenerator); + +// struct CSimpleFrame : CScriptRegion { struct CSimpleFrame { + CScriptRegion b_base; + void* m_top; + CSimpleFrame* m_tooltip; + CScriptRegion* m_titleRegion; + int32_t m_intAC; + int32_t m_id; + uint32_t m_flags; + float m_frameScale; + uint32_t dwordBC; + uint32_t dwordC0; + float m_floatC4; + float m_floatC8; + uint32_t dwordCC; + int32_t m_strata; + int32_t m_level; + uint32_t m_eventmask; + int32_t m_shown; + int32_t m_visible; + CRect m_hitRect; + CRect m_hitOffset; + uint32_t simpleframe_unk9[4]; + int32_t m_highlightLocked; + uint32_t m_lookForDrag; + int32_t m_mouseDown; + int32_t m_dragging; + int32_t m_dragButton; + C2Vector m_clickPoint; + int32_t m_loading; + FrameScript_Object__ScriptIx m_onLoad; + FrameScript_Object__ScriptIx m_onSizeChanged; + FrameScript_Object__ScriptIx m_onUpdate; + FrameScript_Object__ScriptIx m_onShow; + FrameScript_Object__ScriptIx m_onHide; + FrameScript_Object__ScriptIx m_onEnter; + FrameScript_Object__ScriptIx m_onLeave; + FrameScript_Object__ScriptIx m_onMouseDown; + FrameScript_Object__ScriptIx m_onMouseUp; + FrameScript_Object__ScriptIx m_onMouseWheel; + FrameScript_Object__ScriptIx m_onDragStart; + FrameScript_Object__ScriptIx m_onDragStop; + FrameScript_Object__ScriptIx m_onReceiveDrag; + FrameScript_Object__ScriptIx m_onChar; + FrameScript_Object__ScriptIx m_onKeyDown; + FrameScript_Object__ScriptIx m_onKeyUp; + FrameScript_Object__ScriptIx m_onAttributeChange; + FrameScript_Object__ScriptIx m_onEnable; + FrameScript_Object__ScriptIx m_onDisable; + uint32_t m_attributes[10]; + int32_t m_drawenabled[5]; + CBackdropGenerator* m_backdrop; + uint32_t m_regions[3]; + uint32_t m_drawlayers[15]; + uint32_t m_batchDirty; + void* m_batch[5]; + TSExplicitList_CRenderBatch m_renderList; + uint32_t m_children[3]; + uint32_t m_framesLink[2]; + uint32_t m_destroyedLink[2]; + uint32_t m_strataLink[2]; +}; + +// struct SIMPLEFRAMENODE : TSLinkedNode +struct SIMPLEFRAMENODE { + TSLinkedNode_SIMPLEFRAMENODE b_base; + CSimpleFrame* frame; }; #endif \ No newline at end of file diff --git a/profile/3.3.5a-windows/include/ui/simpleregion.h b/profile/3.3.5a-windows/include/ui/simpleregion.h new file mode 100644 index 0000000..e0747c8 --- /dev/null +++ b/profile/3.3.5a-windows/include/ui/simpleregion.h @@ -0,0 +1,21 @@ +#ifndef UI_SIMPLE_REGION_H +#define UI_SIMPLE_REGION_H + +#include "ui/scriptregion.h" + +DECLARE_STRUCT(CSimpleRegion); + +// struct CSimpleRegion : CScriptRegion +struct CSimpleRegion { + CScriptRegion b_base; + int32_t m_numAlpha; + uint8_t m_alpha[4]; + int32_t m_numColor; + CImVector m_color[4]; + uint32_t m_regionLink[2]; + uint32_t m_drawLink[2]; + uint16_t m_regionFlags; + uint16_t padding; +}; + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows/include/ui/simpletexture.h b/profile/3.3.5a-windows/include/ui/simpletexture.h new file mode 100644 index 0000000..d502199 --- /dev/null +++ b/profile/3.3.5a-windows/include/ui/simpletexture.h @@ -0,0 +1,22 @@ +#ifndef UI_SIMPLE_TEXTURE_H +#define UI_SIMPLE_TEXTURE_H + +#include "ui/simpleregion.h" +#include "texture/texture.h" + +DECLARE_STRUCT(CSimpleTexture); + +// struct CSimpleTexture : CSimpleRegion { +struct CSimpleTexture { + CSimpleRegion b_base; + uint32_t dwordD0; + CTexture* m_texture; + uint32_t m_alphaMode; + void* m_shader; + C3Vector m_position[4]; + C3Vector m_position2[4]; + C2Vector m_texCoord[4]; + uint32_t dword160; +}; + +#endif diff --git a/profile/3.3.5a-windows/include/ui/simpletop.h b/profile/3.3.5a-windows/include/ui/simpletop.h new file mode 100644 index 0000000..f524a74 --- /dev/null +++ b/profile/3.3.5a-windows/include/ui/simpletop.h @@ -0,0 +1,67 @@ +#ifndef UI_SIMPLE_TOP_H +#define UI_SIMPLE_TOP_H + +#include "event/types.h" +#include "ui/layoutframe.h" +#include "ui/simpleframe.h" +#include "tempest/vector.h" +#include "common/array.h" + +DECLARE_ENUM(FRAMEPOINT); + +DECLARE_STRUCT(FRAMEPRIORITY); +DECLARE_STRUCT(CSimpleTop); +DECLARE_STRUCT(CSimpleTop__frame_layout); + +enum FRAMEPOINT { + FRAMEPOINT_TOPLEFT = 0x0, + FRAMEPOINT_TOP = 0x1, + FRAMEPOINT_TOPRIGHT = 0x2, + FRAMEPOINT_LEFT = 0x3, + FRAMEPOINT_CENTER = 0x4, + FRAMEPOINT_RIGHT = 0x5, + FRAMEPOINT_BOTTOMLEFT = 0x6, + FRAMEPOINT_BOTTOM = 0x7, + FRAMEPOINT_BOTTOMRIGHT = 0x8, + FRAMEPOINT_NUMPOINTS = 0x9 +}; + +struct CSimpleTop__frame_layout { + int32_t enabled; + CSimpleFrame* frame; + FRAMEPOINT anchor; + C2Vector last; + float float14; +}; + +struct FRAMEPRIORITY { + CSimpleFrame* frame; + uint32_t priority; +}; +COMMON_SIMPLE_SORTED_ARRAY_POINTER_TO(FRAMEPRIORITY); + +struct CSimpleTop { + CLayoutFrame b_base; + void* m_screenLayer; + CSimpleFrame* m_mouseFocus; + CSimpleFrame* m_mouseCapture; + uint32_t m_keydownCapture[787]; + TSList_SIMPLEFRAMENODE m_frames; + uint32_t m_destroyed[3]; + void* m_strata[9]; + CSimpleTop__frame_layout m_layout; + CSimpleSortedArray_pointer_to_FRAMEPRIORITY m_eventqueue[5][9]; + int32_t m_checkFocus; + EVENT_DATA_MOUSE m_mousePosition; + uint32_t dword1234; + void* m_mouseButtonCallback; + void* m_mouseMoveCallback; + void* m_displaySizeCallback; + uint32_t dword1244; + void* m_keyEventCallback; + uint32_t dword124C; + uint32_t dword1250; + uint32_t dword1254; +}; + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows/symbol/gameui/func.sym b/profile/3.3.5a-windows/symbol/gameui/func.sym index a508bf7..39dcc74 100644 --- a/profile/3.3.5a-windows/symbol/gameui/func.sym +++ b/profile/3.3.5a-windows/symbol/gameui/func.sym @@ -1 +1 @@ -CGameUI__Initialize 0052A980 f end=0052AEC6 \ No newline at end of file +CGGameUI__Initialize 0052A980 f end=0052AEC6 \ No newline at end of file diff --git a/profile/3.3.5a-windows/symbol/gxdevice/func.sym b/profile/3.3.5a-windows/symbol/gxdevice/func.sym index f3d8d32..3e211ac 100644 --- a/profile/3.3.5a-windows/symbol/gxdevice/func.sym +++ b/profile/3.3.5a-windows/symbol/gxdevice/func.sym @@ -1,6 +1,5 @@ CGxDevice__CGxDevice 00688690 f end=0068903F CGxDevice__MasterEnableSet 00685EB0 f end=00685F33 -CGxDevice__IRsForceUpdate 006859E0 f end=00685A65 CGxDevice__NewOpenGl 0068BF20 f end=0068BF44 CGxDevice__NewD3d 00689EF0 f end=00689F14 CGxDevice__NewD3d9Ex 0068C220 f end=0068C244 diff --git a/profile/3.3.5a-windows/symbol/gxdeviced3d/func.sym b/profile/3.3.5a-windows/symbol/gxdeviced3d/func.sym index 16dcf44..826583b 100644 --- a/profile/3.3.5a-windows/symbol/gxdeviced3d/func.sym +++ b/profile/3.3.5a-windows/symbol/gxdeviced3d/func.sym @@ -55,4 +55,5 @@ CGxDeviceD3d__IShaderCreatePixel 006AA070 f end=006AA0C5 CGxDeviceD3d__IShaderCreateVertex 006AA0D0 f end=006AA125 CGxDeviceD3d__ShaderCreate 006AA130 f end=006AA18A CGxDeviceD3d__IBindVertexShader 006AA2F0 f end=006AA346 -CGxDeviceD3d__IReleaseD3dResources 00690150 f end=00690223 \ No newline at end of file +CGxDeviceD3d__IReleaseD3dResources 00690150 f end=00690223 +CGxDeviceD3d__ICursorClip 0069FE10 f end=0069FE57 \ No newline at end of file diff --git a/profile/3.3.5a-windows/symbol/main.sym b/profile/3.3.5a-windows/symbol/main.sym index 645d828..2b82b17 100644 --- a/profile/3.3.5a-windows/symbol/main.sym +++ b/profile/3.3.5a-windows/symbol/main.sym @@ -130,6 +130,7 @@ GxBufUnlock 004829F0 f end=00482A13 GxBufStream 00482A20 f end=00482A3C GxDraw 00482A40 f end=00482A5D GxCapsWindowSizeInScreenCoords 00493BF0 f end=00493C09 +CSimpleTop__OnLayerRender 00495410 f end=0049546A ScrnLayerSetRect 004A8500 f end=004A8522 OnPaint 004A8720 f end=004A8B58 ScrnLayerCreate 004A8BB0 f end=004A8C83 @@ -574,7 +575,7 @@ Script_AcceptAreaSpiritHeal 005262D0 f end=005262D8 Script_TargetTotem 005262E0 f end=00526362 Script_InteractUnit 00527F00 f end=00527FD4 Script_LoadAddOn 00528920 f end=00528AE1 -CGameUI__Initialize 0052A980 f end=0052AEC6 +CGGameUI__Initialize 0052A980 f end=0052AEC6 Script_RegisterForSave 0052B470 f end=0052B4D4 Script_RegisterForSavePerCharacter 0052B4E0 f end=0052B544 Script_GetNumPartyMembers 0052C110 f end=0052C187 @@ -2130,7 +2131,6 @@ CGxDevice__Log 00684C20 f end=00684C3E CGxDevice__Log_CGxCaps 00684C40 f end=00684D07 ; CGxDevice::Log(CGxCaps const&) const CGxDevice__Log 00684D10 f end=00684D6C CGxDevice__IRsDirty 00685970 f end=006859DB -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 @@ -2172,6 +2172,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__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/symbol/simpletop/func.sym b/profile/3.3.5a-windows/symbol/simpletop/func.sym new file mode 100644 index 0000000..de5d99c --- /dev/null +++ b/profile/3.3.5a-windows/symbol/simpletop/func.sym @@ -0,0 +1 @@ +CSimpleTop__OnLayerRender 00495410 f end=0049546A \ No newline at end of file diff --git a/profile/3.3.5a-windows/x32dbg/game.dd32 b/profile/3.3.5a-windows/x32dbg/game.dd32 index 42bec5e..2725a10 100644 --- a/profile/3.3.5a-windows/x32dbg/game.dd32 +++ b/profile/3.3.5a-windows/x32dbg/game.dd32 @@ -1056,6 +1056,14 @@ "icount": "0x0", "parent": "0x93bf0" }, + { + "manual": true, + "start": "0x95410", + "end": "0x95469", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x95410" + }, { "manual": true, "start": "0xa8500", @@ -17064,14 +17072,6 @@ "icount": "0x0", "parent": "0x2859e0" }, - { - "manual": true, - "start": "0x2859e0", - "end": "0x285a64", - "module": "wow.exe", - "icount": "0x0", - "parent": "0x2859e0" - }, { "manual": true, "start": "0x285a70", @@ -17392,6 +17392,14 @@ "icount": "0x0", "parent": "0x29fb70" }, + { + "manual": true, + "start": "0x29fe10", + "end": "0x29fe56", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x29fe10" + }, { "manual": true, "start": "0x2a00c0", @@ -22026,6 +22034,12 @@ "text": "GxCapsWindowSizeInScreenCoords", "address": "0x93bf0" }, + { + "manual": true, + "module": "wow.exe", + "text": "CSimpleTop__OnLayerRender", + "address": "0x95410" + }, { "manual": true, "module": "wow.exe", @@ -24693,7 +24707,7 @@ { "manual": true, "module": "wow.exe", - "text": "CGameUI__Initialize", + "text": "CGGameUI__Initialize", "address": "0x12a980" }, { @@ -34032,12 +34046,6 @@ "text": "CGxDevice__IRsForceUpdate_EGxRenderState", "address": "0x2859e0" }, - { - "manual": true, - "module": "wow.exe", - "text": "CGxDevice__IRsForceUpdate", - "address": "0x2859e0" - }, { "manual": true, "module": "wow.exe", @@ -34278,6 +34286,12 @@ "text": "CGxDeviceD3d__CreatePoolAPI", "address": "0x29fb70" }, + { + "manual": true, + "module": "wow.exe", + "text": "CGxDeviceD3d__ICursorClip", + "address": "0x29fe10" + }, { "manual": true, "module": "wow.exe", diff --git a/profile/3.3.5a-windows/x32dbg/types.json b/profile/3.3.5a-windows/x32dbg/types.json index c792a2f..c07702d 100644 --- a/profile/3.3.5a-windows/x32dbg/types.json +++ b/profile/3.3.5a-windows/x32dbg/types.json @@ -28,6 +28,14 @@ "type": "int32_t", "name": "D3DFORMAT" }, + { + "type": "void**", + "name": "DEVICERESTOREDCALLBACK" + }, + { + "type": "void**", + "name": "DISPLAYCHANGECALLBACK" + }, { "type": "int", "name": "EGxApi" @@ -136,6 +144,10 @@ "type": "int", "name": "EVENTID" }, + { + "type": "int", + "name": "FRAMEPOINT" + }, { "type": "HCOLORMAP__*", "name": "HCOLORMAP" @@ -144,6 +156,10 @@ "type": "void*", "name": "HEVENTCONTEXT" }, + { + "type": "HFACE__*", + "name": "HFACE" + }, { "type": "HLAYER__*", "name": "HLAYER" @@ -196,6 +212,10 @@ "type": "int", "name": "STATUS_TYPE" }, + { + "type": "void**", + "name": "TEXTURERECREATIONCALLBACK" + }, { "type": "int32_t", "name": "intptr_t" @@ -212,6 +232,14 @@ "type": "CSBasePriorityQueue", "name": "TSPriorityQueue_EvtTimer" }, + { + "type": "TSList_CAsyncQueue", + "name": "TSExplicitList_CAsyncQueue" + }, + { + "type": "TSList_CAsyncObject", + "name": "TSExplicitList_CAsyncObject" + }, { "type": "TSList_CStatus__STATUSENTRY", "name": "TSExplicitList_CStatus__STATUSENTRY" @@ -236,6 +264,46 @@ "type": "TSList_SIMPLEFRAMENODE", "name": "TSExplicitList_SIMPLEFRAMENODE" }, + { + "type": "TSList_CLayoutFrame__FRAMENODE", + "name": "TSExplicitList_CLayoutFrame__FRAMENODE" + }, + { + "type": "TSList_RENDERCALLBACKNODE", + "name": "TSExplicitList_RENDERCALLBACKNODE" + }, + { + "type": "TSList_CGxShader", + "name": "TSExplicitList_CGxShader" + }, + { + "type": "TSList_CGxString", + "name": "TSExplicitList_CGxString" + }, + { + "type": "TSList_CGxFont", + "name": "TSExplicitList_CGxFont" + }, + { + "type": "TSList_CHARCODEDESC", + "name": "TSExplicitList_CHARCODEDESC" + }, + { + "type": "TSList_KERNNODE", + "name": "TSExplicitList_KERNNODE" + }, + { + "type": "TSList_BATCHEDRENDERFONTDESC", + "name": "TSExplicitList_BATCHEDRENDERFONTDESC" + }, + { + "type": "TSList_CGxStringBatch", + "name": "TSExplicitList_CGxStringBatch" + }, + { + "type": "TSList_CRenderBatch", + "name": "TSExplicitList_CRenderBatch" + }, { "type": "TSList_EVENTLISTENERNODE", "name": "TSExplicitList_EVENTLISTENERNODE" @@ -252,10 +320,6 @@ "type": "TSList_CGxPool", "name": "TSExplicitList_CGxPool" }, - { - "type": "TSList_CGxShader", - "name": "TSExplicitList_CGxShader" - }, { "type": "TSList_CILayer", "name": "TSExplicitList_CILayer" @@ -788,17 +852,17 @@ }, { "type": "void*", - "name": "v_fn_5", + "name": "v_fn_5_NotifyOnDeviceRestored", "offset": 20 }, { "type": "void*", - "name": "v_fn_6", + "name": "v_fn_6_NotifyOnTextureRecreation", "offset": 24 }, { "type": "void*", - "name": "v_fn_7", + "name": "v_fn_7_NotifyOnDisplayChange", "offset": 28 }, { @@ -908,32 +972,32 @@ }, { "type": "void*", - "name": "v_fn_29", + "name": "v_fn_29_AddDeviceRestoredCallback", "offset": 116 }, { "type": "void*", - "name": "v_fn_30", + "name": "v_fn_30_RemoveDeviceRestoredCallback", "offset": 120 }, { "type": "void*", - "name": "v_fn_31", + "name": "v_fn_31_AddTextureRecreationCallback", "offset": 124 }, { "type": "void*", - "name": "v_fn_32", + "name": "v_fn_32_RemoveTextureRecreationCallback", "offset": 128 }, { "type": "void*", - "name": "v_fn_33", + "name": "v_fn_33_AddDisplayChangeCallback", "offset": 132 }, { "type": "void*", - "name": "v_fn_34", + "name": "v_fn_34_RemoveDisplayChangeCallback", "offset": 136 }, { @@ -1255,6 +1319,107 @@ } ] }, + { + "name": "CLayoutFrame_vtable", + "size": 76, + "members": [ + { + "type": "void*", + "name": "v_fn_00", + "offset": 0 + }, + { + "type": "void*", + "name": "v_fn_01", + "offset": 4 + }, + { + "type": "void*", + "name": "v_fn_02", + "offset": 8 + }, + { + "type": "void*", + "name": "v_fn_03", + "offset": 12 + }, + { + "type": "void*", + "name": "v_fn_04", + "offset": 16 + }, + { + "type": "void*", + "name": "v_fn_05", + "offset": 20 + }, + { + "type": "void*", + "name": "v_fn_06", + "offset": 24 + }, + { + "type": "void*", + "name": "v_fn_07", + "offset": 28 + }, + { + "type": "void*", + "name": "v_fn_08", + "offset": 32 + }, + { + "type": "void*", + "name": "v_fn_09", + "offset": 36 + }, + { + "type": "void*", + "name": "v_fn_10", + "offset": 40 + }, + { + "type": "void*", + "name": "v_fn_11", + "offset": 44 + }, + { + "type": "void*", + "name": "v_fn_12", + "offset": 48 + }, + { + "type": "void*", + "name": "v_fn_13", + "offset": 52 + }, + { + "type": "void*", + "name": "v_fn_14", + "offset": 56 + }, + { + "type": "void*", + "name": "v_fn_15", + "offset": 60 + }, + { + "type": "void*", + "name": "v_fn_16", + "offset": 64 + }, + { + "type": "void*", + "name": "v_fn_17", + "offset": 68 + }, + { + "type": "void*", + "name": "v_fn_18", + "offset": 72 + } + ] + }, { "name": "CRange", "size": 8, @@ -1325,10 +1490,6 @@ } ] }, - { - "name": "CSimpleFrame", - "size": 0 - }, { "name": "CiRange", "size": 8, @@ -1524,6 +1685,22 @@ } ] }, + { + "name": "FRAMEPRIORITY", + "size": 8, + "members": [ + { + "type": "CSimpleFrame*", + "name": "frame", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "priority", + "offset": 4 + } + ] + }, { "name": "FrameScript_Object", "size": 16, @@ -1550,6 +1727,22 @@ } ] }, + { + "name": "FrameScript_Object__ScriptIx", + "size": 8, + "members": [ + { + "type": "int32_t", + "name": "luaRef", + "offset": 0 + }, + { + "type": "int8_t*", + "name": "unk", + "offset": 4 + } + ] + }, { "name": "HASHKEY_NONE", "size": 4, @@ -1605,6 +1798,17 @@ } ] }, + { + "name": "HFACE__", + "size": 4, + "members": [ + { + "type": "int32_t", + "name": "unused", + "offset": 0 + } + ] + }, { "name": "HLAYER__", "size": 4, @@ -1665,12 +1869,613 @@ "size": 4, "members": [ { - "type": "void**", + "type": "IDirect3DDevice9_vtable*", "name": "v_vtable", "offset": 0 } ] }, + { + "name": "IDirect3DDevice9_vtable", + "size": 476, + "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_TestCooperativeLevel", + "offset": 12 + }, + { + "type": "void*", + "name": "v_fn_4_GetAvailableTextureMem", + "offset": 16 + }, + { + "type": "void*", + "name": "v_fn_5_EvictManagedResources", + "offset": 20 + }, + { + "type": "void*", + "name": "v_fn_6_GetDirect3D", + "offset": 24 + }, + { + "type": "void*", + "name": "v_fn_7_GetDeviceCaps", + "offset": 28 + }, + { + "type": "void*", + "name": "v_fn_8_GetDisplayMode", + "offset": 32 + }, + { + "type": "void*", + "name": "v_fn_9_GetCreationParameters", + "offset": 36 + }, + { + "type": "void*", + "name": "v_fn_10_SetCursorProperties", + "offset": 40 + }, + { + "type": "void*", + "name": "v_fn_11_SetCursorPosition", + "offset": 44 + }, + { + "type": "void*", + "name": "v_fn_12_ShowCursor", + "offset": 48 + }, + { + "type": "void*", + "name": "v_fn_13_CreateAdditionalSwapChain", + "offset": 52 + }, + { + "type": "void*", + "name": "v_fn_14_GetSwapChain", + "offset": 56 + }, + { + "type": "void*", + "name": "v_fn_15_GetNumberOfSwapChains", + "offset": 60 + }, + { + "type": "void*", + "name": "v_fn_16_Reset", + "offset": 64 + }, + { + "type": "void*", + "name": "v_fn_17_Present", + "offset": 68 + }, + { + "type": "void*", + "name": "v_fn_18_GetBackBuffer", + "offset": 72 + }, + { + "type": "void*", + "name": "v_fn_19_GetRasterStatus", + "offset": 76 + }, + { + "type": "void*", + "name": "v_fn_20_SetDialogBoxMode", + "offset": 80 + }, + { + "type": "void*", + "name": "v_fn_21_SetGammaRamp", + "offset": 84 + }, + { + "type": "void*", + "name": "v_fn_22_GetGammaRamp", + "offset": 88 + }, + { + "type": "void*", + "name": "v_fn_23_CreateTexture", + "offset": 92 + }, + { + "type": "void*", + "name": "v_fn_24_CreateVolumeTexture", + "offset": 96 + }, + { + "type": "void*", + "name": "v_fn_25_CreateCubeTexture", + "offset": 100 + }, + { + "type": "void*", + "name": "v_fn_26_CreateVertexBuffer", + "offset": 104 + }, + { + "type": "void*", + "name": "v_fn_27_CreateIndexBuffer", + "offset": 108 + }, + { + "type": "void*", + "name": "v_fn_28_CreateRenderTarget", + "offset": 112 + }, + { + "type": "void*", + "name": "v_fn_29_CreateDepthStencilSurface", + "offset": 116 + }, + { + "type": "void*", + "name": "v_fn_30_UpdateSurface", + "offset": 120 + }, + { + "type": "void*", + "name": "v_fn_31_UpdateTexture", + "offset": 124 + }, + { + "type": "void*", + "name": "v_fn_32_GetRenderTargetData", + "offset": 128 + }, + { + "type": "void*", + "name": "v_fn_33_GetFrontBufferData", + "offset": 132 + }, + { + "type": "void*", + "name": "v_fn_34_StretchRect", + "offset": 136 + }, + { + "type": "void*", + "name": "v_fn_35_ColorFill", + "offset": 140 + }, + { + "type": "void*", + "name": "v_fn_36_CreateOffscreenPlainSurface", + "offset": 144 + }, + { + "type": "void*", + "name": "v_fn_37_SetRenderTarget", + "offset": 148 + }, + { + "type": "void*", + "name": "v_fn_38_GetRenderTarget", + "offset": 152 + }, + { + "type": "void*", + "name": "v_fn_39_SetDepthStencilSurface", + "offset": 156 + }, + { + "type": "void*", + "name": "v_fn_40_GetDepthStencilSurface", + "offset": 160 + }, + { + "type": "void*", + "name": "v_fn_41_BeginScene", + "offset": 164 + }, + { + "type": "void*", + "name": "v_fn_42_EndScene", + "offset": 168 + }, + { + "type": "void*", + "name": "v_fn_43_Clear", + "offset": 172 + }, + { + "type": "void*", + "name": "v_fn_44_SetTransform", + "offset": 176 + }, + { + "type": "void*", + "name": "v_fn_45_GetTransform", + "offset": 180 + }, + { + "type": "void*", + "name": "v_fn_46_MultiplyTransform", + "offset": 184 + }, + { + "type": "void*", + "name": "v_fn_47_SetViewport", + "offset": 188 + }, + { + "type": "void*", + "name": "v_fn_48_GetViewport", + "offset": 192 + }, + { + "type": "void*", + "name": "v_fn_49_SetMaterial", + "offset": 196 + }, + { + "type": "void*", + "name": "v_fn_50_GetMaterial", + "offset": 200 + }, + { + "type": "void*", + "name": "v_fn_51_SetLight", + "offset": 204 + }, + { + "type": "void*", + "name": "v_fn_52_GetLight", + "offset": 208 + }, + { + "type": "void*", + "name": "v_fn_53_LightEnable", + "offset": 212 + }, + { + "type": "void*", + "name": "v_fn_54_GetLightEnable", + "offset": 216 + }, + { + "type": "void*", + "name": "v_fn_55_SetClipPlane", + "offset": 220 + }, + { + "type": "void*", + "name": "v_fn_56_GetClipPlane", + "offset": 224 + }, + { + "type": "void*", + "name": "v_fn_57_SetRenderState", + "offset": 228 + }, + { + "type": "void*", + "name": "v_fn_58_GetRenderState", + "offset": 232 + }, + { + "type": "void*", + "name": "v_fn_59_CreateStateBlock", + "offset": 236 + }, + { + "type": "void*", + "name": "v_fn_60_BeginStateBlock", + "offset": 240 + }, + { + "type": "void*", + "name": "v_fn_61_EndStateBlock", + "offset": 244 + }, + { + "type": "void*", + "name": "v_fn_62_SetClipStatus", + "offset": 248 + }, + { + "type": "void*", + "name": "v_fn_63_GetClipStatus", + "offset": 252 + }, + { + "type": "void*", + "name": "v_fn_64_GetTexture", + "offset": 256 + }, + { + "type": "void*", + "name": "v_fn_65_SetTexture", + "offset": 260 + }, + { + "type": "void*", + "name": "v_fn_66_GetTextureStageState", + "offset": 264 + }, + { + "type": "void*", + "name": "v_fn_67_SetTextureStageState", + "offset": 268 + }, + { + "type": "void*", + "name": "v_fn_68_GetSamplerState", + "offset": 272 + }, + { + "type": "void*", + "name": "v_fn_69_SetSamplerState", + "offset": 276 + }, + { + "type": "void*", + "name": "v_fn_70_ValidateDevice", + "offset": 280 + }, + { + "type": "void*", + "name": "v_fn_71_SetPaletteEntries", + "offset": 284 + }, + { + "type": "void*", + "name": "v_fn_72_GetPaletteEntries", + "offset": 288 + }, + { + "type": "void*", + "name": "v_fn_73_SetCurrentTexturePalette", + "offset": 292 + }, + { + "type": "void*", + "name": "v_fn_74_GetCurrentTexturePalette", + "offset": 296 + }, + { + "type": "void*", + "name": "v_fn_75_SetScissorRect", + "offset": 300 + }, + { + "type": "void*", + "name": "v_fn_76_GetScissorRect", + "offset": 304 + }, + { + "type": "void*", + "name": "v_fn_77_SetSoftwareVertexProcessing", + "offset": 308 + }, + { + "type": "void*", + "name": "v_fn_78_GetSoftwareVertexProcessing", + "offset": 312 + }, + { + "type": "void*", + "name": "v_fn_79_SetNPatchMode", + "offset": 316 + }, + { + "type": "void*", + "name": "v_fn_80_GetNPatchMode", + "offset": 320 + }, + { + "type": "void*", + "name": "v_fn_81_DrawPrimitive", + "offset": 324 + }, + { + "type": "void*", + "name": "v_fn_82_DrawIndexedPrimitive", + "offset": 328 + }, + { + "type": "void*", + "name": "v_fn_83_DrawPrimitiveUP", + "offset": 332 + }, + { + "type": "void*", + "name": "v_fn_84_DrawIndexedPrimitiveUP", + "offset": 336 + }, + { + "type": "void*", + "name": "v_fn_85_ProcessVertices", + "offset": 340 + }, + { + "type": "void*", + "name": "v_fn_86_CreateVertexDeclaration", + "offset": 344 + }, + { + "type": "void*", + "name": "v_fn_87_SetVertexDeclaration", + "offset": 348 + }, + { + "type": "void*", + "name": "v_fn_88_GetVertexDeclaration", + "offset": 352 + }, + { + "type": "void*", + "name": "v_fn_89_SetFVF", + "offset": 356 + }, + { + "type": "void*", + "name": "v_fn_90_GetFVF", + "offset": 360 + }, + { + "type": "void*", + "name": "v_fn_91_CreateVertexShader", + "offset": 364 + }, + { + "type": "void*", + "name": "v_fn_92_SetVertexShader", + "offset": 368 + }, + { + "type": "void*", + "name": "v_fn_93_GetVertexShader", + "offset": 372 + }, + { + "type": "void*", + "name": "v_fn_94_SetVertexShaderConstantF", + "offset": 376 + }, + { + "type": "void*", + "name": "v_fn_95_GetVertexShaderConstantF", + "offset": 380 + }, + { + "type": "void*", + "name": "v_fn_96_SetVertexShaderConstantI", + "offset": 384 + }, + { + "type": "void*", + "name": "v_fn_97_GetVertexShaderConstantI", + "offset": 388 + }, + { + "type": "void*", + "name": "v_fn_98_SetVertexShaderConstantB", + "offset": 392 + }, + { + "type": "void*", + "name": "v_fn_99_GetVertexShaderConstantB", + "offset": 396 + }, + { + "type": "void*", + "name": "v_fn_100_SetStreamSource", + "offset": 400 + }, + { + "type": "void*", + "name": "v_fn_101_GetStreamSource", + "offset": 404 + }, + { + "type": "void*", + "name": "v_fn_102_SetStreamSourceFreq", + "offset": 408 + }, + { + "type": "void*", + "name": "v_fn_103_GetStreamSourceFreq", + "offset": 412 + }, + { + "type": "void*", + "name": "v_fn_104_SetIndices", + "offset": 416 + }, + { + "type": "void*", + "name": "v_fn_105_GetIndices", + "offset": 420 + }, + { + "type": "void*", + "name": "v_fn_106_CreatePixelShader", + "offset": 424 + }, + { + "type": "void*", + "name": "v_fn_107_SetPixelShader", + "offset": 428 + }, + { + "type": "void*", + "name": "v_fn_108_GetPixelShader", + "offset": 432 + }, + { + "type": "void*", + "name": "v_fn_109_SetPixelShaderConstantF", + "offset": 436 + }, + { + "type": "void*", + "name": "v_fn_110_GetPixelShaderConstantF", + "offset": 440 + }, + { + "type": "void*", + "name": "v_fn_111_SetPixelShaderConstantI", + "offset": 444 + }, + { + "type": "void*", + "name": "v_fn_112_GetPixelShaderConstantI", + "offset": 448 + }, + { + "type": "void*", + "name": "v_fn_113_SetPixelShaderConstantB", + "offset": 452 + }, + { + "type": "void*", + "name": "v_fn_114_GetPixelShaderConstantB", + "offset": 456 + }, + { + "type": "void*", + "name": "v_fn_115_DrawRectPatch", + "offset": 460 + }, + { + "type": "void*", + "name": "v_fn_116_DrawTriPatch", + "offset": 464 + }, + { + "type": "void*", + "name": "v_fn_117_DeletePatch", + "offset": 468 + }, + { + "type": "void*", + "name": "v_fn_118_CreateQuery", + "offset": 472 + } + ] + }, { "name": "IDirect3DIndexBuffer9", "size": 4, @@ -1726,6 +2531,38 @@ } ] }, + { + "name": "KERNINGHASHKEY", + "size": 4, + "members": [ + { + "type": "uint32_t", + "name": "code", + "offset": 0 + } + ] + }, + { + "name": "KERNNODE", + "size": 12, + "members": [ + { + "type": "uint32_t", + "name": "flags", + "offset": 0 + }, + { + "type": "float", + "name": "proporportionalSpacing", + "offset": 4 + }, + { + "type": "float", + "name": "fixedWidthSpacing", + "offset": 8 + } + ] + }, { "name": "MipBits", "size": 4, @@ -1764,6 +2601,22 @@ } ] }, + { + "name": "RENDERCALLBACKNODE", + "size": 8, + "members": [ + { + "type": "void*", + "name": "callback", + "offset": 0 + }, + { + "type": "void*", + "name": "param", + "offset": 4 + } + ] + }, { "name": "SCritSect", "size": 24, @@ -1865,6 +2718,22 @@ } ] }, + { + "name": "TRefCnt", + "size": 8, + "members": [ + { + "type": "void*", + "name": "vfptr", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "m_refcnt", + "offset": 4 + } + ] + }, { "name": "TSFixedArray_CGxAppRenderState", "size": 12, @@ -1907,6 +2776,27 @@ } ] }, + { + "name": "TSFixedArray_TEXTURECACHEROW", + "size": 12, + "members": [ + { + "type": "uint32_t", + "name": "m_alloc", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "m_count", + "offset": 4 + }, + { + "type": "TEXTURECACHEROW*", + "name": "m_data", + "offset": 8 + } + ] + }, { "name": "TSGrowableArray_CGxPushedRenderState", "size": 16, @@ -1933,6 +2823,84 @@ } ] }, + { + "name": "TSGrowableArray_CSimpleBatchedMesh", + "size": 16, + "members": [ + { + "type": "uint32_t", + "name": "m_alloc", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "m_count", + "offset": 4 + }, + { + "type": "CSimpleBatchedMesh*", + "name": "m_data", + "offset": 8 + }, + { + "type": "uint32_t", + "name": "m_chunk", + "offset": 12 + } + ] + }, + { + "name": "TSGrowableArray_DEVICERESTOREDCALLBACK", + "size": 16, + "members": [ + { + "type": "uint32_t", + "name": "m_alloc", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "m_count", + "offset": 4 + }, + { + "type": "DEVICERESTOREDCALLBACK*", + "name": "m_data", + "offset": 8 + }, + { + "type": "uint32_t", + "name": "m_chunk", + "offset": 12 + } + ] + }, + { + "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, @@ -2037,6 +3005,58 @@ } ] }, + { + "name": "TSGrowableArray_TEXTURERECREATIONCALLBACK", + "size": 16, + "members": [ + { + "type": "uint32_t", + "name": "m_alloc", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "m_count", + "offset": 4 + }, + { + "type": "TEXTURERECREATIONCALLBACK*", + "name": "m_data", + "offset": 8 + }, + { + "type": "uint32_t", + "name": "m_chunk", + "offset": 12 + } + ] + }, + { + "name": "TSGrowableArray_TSList_BATCHEDRENDERFONTDESC", + "size": 16, + "members": [ + { + "type": "uint32_t", + "name": "m_alloc", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "m_count", + "offset": 4 + }, + { + "type": "TSList_BATCHEDRENDERFONTDESC*", + "name": "m_data", + "offset": 8 + }, + { + "type": "uint32_t", + "name": "m_chunk", + "offset": 12 + } + ] + }, { "name": "TSGrowableArray_TSList_CGxShader", "size": 16, @@ -2063,6 +3083,32 @@ } ] }, + { + "name": "TSGrowableArray_TSList_CHARCODEDESC", + "size": 16, + "members": [ + { + "type": "uint32_t", + "name": "m_alloc", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "m_count", + "offset": 4 + }, + { + "type": "TSList_CHARCODEDESC*", + "name": "m_data", + "offset": 8 + }, + { + "type": "uint32_t", + "name": "m_chunk", + "offset": 12 + } + ] + }, { "name": "TSGrowableArray_TSList_FrameScript_EventObject", "size": 16, @@ -2089,6 +3135,32 @@ } ] }, + { + "name": "TSGrowableArray_TSList_KERNNODE", + "size": 16, + "members": [ + { + "type": "uint32_t", + "name": "m_alloc", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "m_count", + "offset": 4 + }, + { + "type": "TSList_KERNNODE*", + "name": "m_data", + "offset": 8 + }, + { + "type": "uint32_t", + "name": "m_chunk", + "offset": 12 + } + ] + }, { "name": "TSGrowableArray_TSList_RGN", "size": 16, @@ -2141,6 +3213,32 @@ } ] }, + { + "name": "TSGrowableArray_pointer_to_FRAMEPRIORITY", + "size": 16, + "members": [ + { + "type": "uint32_t", + "name": "m_alloc", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "m_count", + "offset": 4 + }, + { + "type": "FRAMEPRIORITY**", + "name": "m_data", + "offset": 8 + }, + { + "type": "uint32_t", + "name": "m_chunk", + "offset": 12 + } + ] + }, { "name": "TSGrowableArray_pointer_to_void", "size": 16, @@ -2219,6 +3317,54 @@ } ] }, + { + "name": "TSLink_BATCHEDRENDERFONTDESC", + "size": 8, + "members": [ + { + "type": "TSLink_BATCHEDRENDERFONTDESC*", + "name": "m_prevlink", + "offset": 0 + }, + { + "type": "BATCHEDRENDERFONTDESC*", + "name": "m_next", + "offset": 4 + } + ] + }, + { + "name": "TSLink_CAsyncObject", + "size": 8, + "members": [ + { + "type": "TSLink_CAsyncObject*", + "name": "m_prevlink", + "offset": 0 + }, + { + "type": "CAsyncObject*", + "name": "m_next", + "offset": 4 + } + ] + }, + { + "name": "TSLink_CAsyncQueue", + "size": 8, + "members": [ + { + "type": "TSLink_CAsyncQueue*", + "name": "m_prevlink", + "offset": 0 + }, + { + "type": "CAsyncQueue*", + "name": "m_next", + "offset": 4 + } + ] + }, { "name": "TSLink_CGxBuf", "size": 8, @@ -2235,6 +3381,22 @@ } ] }, + { + "name": "TSLink_CGxFont", + "size": 8, + "members": [ + { + "type": "TSLink_CGxFont*", + "name": "m_prevlink", + "offset": 0 + }, + { + "type": "CGxFont*", + "name": "m_next", + "offset": 4 + } + ] + }, { "name": "TSLink_CGxPool", "size": 8, @@ -2267,6 +3429,54 @@ } ] }, + { + "name": "TSLink_CGxString", + "size": 8, + "members": [ + { + "type": "TSLink_CGxString*", + "name": "m_prevlink", + "offset": 0 + }, + { + "type": "CGxString*", + "name": "m_next", + "offset": 4 + } + ] + }, + { + "name": "TSLink_CGxStringBatch", + "size": 8, + "members": [ + { + "type": "TSLink_CGxStringBatch*", + "name": "m_prevlink", + "offset": 0 + }, + { + "type": "CGxStringBatch*", + "name": "m_next", + "offset": 4 + } + ] + }, + { + "name": "TSLink_CHARCODEDESC", + "size": 8, + "members": [ + { + "type": "TSLink_CHARCODEDESC*", + "name": "m_prevlink", + "offset": 0 + }, + { + "type": "CHARCODEDESC*", + "name": "m_next", + "offset": 4 + } + ] + }, { "name": "TSLink_CILayer", "size": 8, @@ -2283,6 +3493,38 @@ } ] }, + { + "name": "TSLink_CLayoutFrame__FRAMENODE", + "size": 8, + "members": [ + { + "type": "TSLink_CLayoutFrame__FRAMENODE*", + "name": "m_prevlink", + "offset": 0 + }, + { + "type": "CLayoutFrame__FRAMENODE*", + "name": "m_next", + "offset": 4 + } + ] + }, + { + "name": "TSLink_CRenderBatch", + "size": 8, + "members": [ + { + "type": "TSLink_CRenderBatch*", + "name": "m_prevlink", + "offset": 0 + }, + { + "type": "CRenderBatch*", + "name": "m_next", + "offset": 4 + } + ] + }, { "name": "TSLink_CStatus__STATUSENTRY", "size": 8, @@ -2395,6 +3637,38 @@ } ] }, + { + "name": "TSLink_KERNNODE", + "size": 8, + "members": [ + { + "type": "TSLink_KERNNODE*", + "name": "m_prevlink", + "offset": 0 + }, + { + "type": "KERNNODE*", + "name": "m_next", + "offset": 4 + } + ] + }, + { + "name": "TSLink_RENDERCALLBACKNODE", + "size": 8, + "members": [ + { + "type": "TSLink_RENDERCALLBACKNODE*", + "name": "m_prevlink", + "offset": 0 + }, + { + "type": "RENDERCALLBACKNODE*", + "name": "m_next", + "offset": 4 + } + ] + }, { "name": "TSLink_RGN", "size": 8, @@ -2679,6 +3953,147 @@ } ] }, + { + "name": "CBackdropGenerator", + "size": 108, + "members": [ + { + "type": "CSimpleTexture*", + "name": "m_backgroundTexture", + "offset": 0 + }, + { + "type": "CSimpleTexture*", + "name": "m_leftTexture", + "offset": 4 + }, + { + "type": "CSimpleTexture*", + "name": "m_rightTexture", + "offset": 8 + }, + { + "type": "CSimpleTexture*", + "name": "m_topTexture", + "offset": 12 + }, + { + "type": "CSimpleTexture*", + "name": "m_bottomTexture", + "offset": 16 + }, + { + "type": "CSimpleTexture*", + "name": "m_topLeftTexture", + "offset": 20 + }, + { + "type": "CSimpleTexture*", + "name": "m_topRightTexture", + "offset": 24 + }, + { + "type": "CSimpleTexture*", + "name": "m_bottomLeftTexture", + "offset": 28 + }, + { + "type": "CSimpleTexture*", + "name": "m_bottomRightTexture", + "offset": 32 + }, + { + "type": "uint32_t", + "name": "dword24", + "offset": 36 + }, + { + "type": "uint32_t", + "name": "dword28", + "offset": 40 + }, + { + "type": "uint32_t", + "name": "dword2C", + "offset": 44 + }, + { + "type": "uint32_t", + "name": "dword30", + "offset": 48 + }, + { + "type": "uint32_t", + "name": "dword34", + "offset": 52 + }, + { + "type": "uint32_t", + "name": "dword38", + "offset": 56 + }, + { + "type": "uint32_t", + "name": "dword3C", + "offset": 60 + }, + { + "type": "uint32_t", + "name": "dword40", + "offset": 64 + }, + { + "type": "uint32_t", + "name": "dword44", + "offset": 68 + }, + { + "type": "uint32_t", + "name": "dword48", + "offset": 72 + }, + { + "type": "uint32_t", + "name": "dword4C", + "offset": 76 + }, + { + "type": "uint32_t", + "name": "dword50", + "offset": 80 + }, + { + "type": "uint32_t", + "name": "dword54", + "offset": 84 + }, + { + "type": "uint32_t", + "name": "dword58", + "offset": 88 + }, + { + "type": "uint32_t", + "name": "dword5C", + "offset": 92 + }, + { + "type": "uint32_t", + "name": "dword60", + "offset": 96 + }, + { + "type": "CImVector", + "name": "m_borderColor", + "offset": 100 + }, + { + "type": "uint32_t", + "name": "dword68", + "offset": 104 + } + ] + }, { "name": "CGxVertexPCT", "size": 24, @@ -2722,6 +4137,67 @@ } ] }, + { + "name": "GLYPHBITMAPDATA", + "size": 56, + "members": [ + { + "type": "void*", + "name": "m_data", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "m_dataSize", + "offset": 4 + }, + { + "type": "uint32_t", + "name": "m_glyphWidth", + "offset": 8 + }, + { + "type": "uint32_t", + "name": "m_glyphHeight", + "offset": 12 + }, + { + "type": "uint32_t", + "name": "m_glyphCellWidth", + "offset": 16 + }, + { + "type": "float", + "name": "m_glyphAdvance", + "offset": 20 + }, + { + "type": "float", + "name": "m_glyphBearing", + "offset": 24 + }, + { + "type": "uint32_t", + "name": "m_glyphPitch", + "offset": 28 + }, + { + "type": "int32_t", + "name": "m_yOffset", + "offset": 32 + }, + { + "type": "int32_t", + "name": "m_yStart", + "offset": 36 + }, + { + "type": "CRect", + "name": "m_textureCoords", + "offset": 40 + } + ] + }, { "name": "TSTimerPriority_uint32_t", "size": 12, @@ -3256,6 +4732,82 @@ } ] }, + { + "name": "CSimpleBatchedMesh", + "size": 60, + "members": [ + { + "type": "CTexture*", + "name": "texture", + "offset": 0 + }, + { + "type": "CGxTex*", + "name": "textureID", + "offset": 4 + }, + { + "type": "EGxBlend", + "name": "alphaMode", + "offset": 8 + }, + { + "type": "CGxShader*", + "name": "shader", + "offset": 12 + }, + { + "type": "int32_t", + "name": "posCount", + "offset": 16 + }, + { + "type": "C3Vector*", + "name": "position", + "offset": 20 + }, + { + "type": "C2Vector*", + "name": "texCoord", + "offset": 24 + }, + { + "type": "CImVector*", + "name": "color", + "offset": 28 + }, + { + "type": "int32_t", + "name": "colorCount", + "offset": 32 + }, + { + "type": "uint16_t*", + "name": "indices", + "offset": 36 + }, + { + "type": "int32_t", + "name": "idxCount", + "offset": 40 + }, + { + "type": "int32_t", + "name": "onAtlas", + "offset": 44 + }, + { + "type": "float", + "name": "atlasScale", + "offset": 48 + }, + { + "type": "C2Vector", + "name": "atlasOffset", + "offset": 52 + } + ] + }, { "name": "CGxCaps", "size": 316, @@ -3536,6 +5088,37 @@ } ] }, + { + "name": "CSimpleTop__frame_layout", + "size": 24, + "members": [ + { + "type": "int32_t", + "name": "enabled", + "offset": 0 + }, + { + "type": "CSimpleFrame*", + "name": "frame", + "offset": 4 + }, + { + "type": "FRAMEPOINT", + "name": "anchor", + "offset": 8 + }, + { + "type": "C2Vector", + "name": "last", + "offset": 12 + }, + { + "type": "float", + "name": "float14", + "offset": 20 + } + ] + }, { "name": "CSRgn", "size": 4, @@ -3667,6 +5250,80 @@ } ] }, + { + "name": "RCString", + "size": 12, + "members": [ + { + "type": "TRefCnt", + "name": "b_base", + "offset": 0 + }, + { + "type": "uint8_t*", + "name": "m_str", + "offset": 8 + } + ] + }, + { + "name": "TEXTURECACHE", + "size": 24, + "members": [ + { + "type": "void*", + "name": "m_texture", + "offset": 0 + }, + { + "type": "CGxFont*", + "name": "m_theFace", + "offset": 4 + }, + { + "type": "uint8_t", + "name": "m_anyDirtyGlyphs", + "offset": 8 + }, + { + "type": "uint8_t", + "name": "pad", + "arrsize": 3, + "offset": 9 + }, + { + "type": "TSFixedArray_TEXTURECACHEROW", + "name": "m_textureRows", + "offset": 12 + } + ] + }, + { + "name": "CSimpleSortedArray_pointer_to_FRAMEPRIORITY", + "size": 28, + "members": [ + { + "type": "TSGrowableArray_pointer_to_FRAMEPRIORITY", + "name": "m_array", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "m_count", + "offset": 16 + }, + { + "type": "uint32_t", + "name": "m_maxcount", + "offset": 20 + }, + { + "type": "uint32_t", + "name": "m_iterator", + "offset": 24 + } + ] + }, { "name": "CSBasePriorityQueue", "size": 20, @@ -3699,6 +5356,151 @@ } ] }, + { + "name": "TSHashObject_BATCHEDRENDERFONTDESC_HASHKEY_PTR", + "size": 24, + "members": [ + { + "type": "uint32_t", + "name": "m_hashval", + "offset": 0 + }, + { + "type": "TSLink_BATCHEDRENDERFONTDESC", + "name": "m_linktoslot", + "offset": 4 + }, + { + "type": "TSLink_BATCHEDRENDERFONTDESC", + "name": "m_linktofull", + "offset": 12 + }, + { + "type": "HASHKEY_PTR", + "name": "m_key", + "offset": 20 + } + ] + }, + { + "name": "TSLinkedNode_BATCHEDRENDERFONTDESC", + "size": 8, + "members": [ + { + "type": "TSLink_BATCHEDRENDERFONTDESC", + "name": "m_link", + "offset": 0 + } + ] + }, + { + "name": "CAsyncObject", + "size": 40, + "members": [ + { + "type": "void*", + "name": "file", + "offset": 0 + }, + { + "type": "void*", + "name": "buffer", + "offset": 4 + }, + { + "type": "uint32_t", + "name": "size", + "offset": 8 + }, + { + "type": "void*", + "name": "userArg", + "offset": 12 + }, + { + "type": "void*", + "name": "userPostloadCallback", + "offset": 16 + }, + { + "type": "void*", + "name": "userPostUnloadCallback", + "offset": 20 + }, + { + "type": "CAsyncQueue*", + "name": "queue", + "offset": 24 + }, + { + "type": "void*", + "name": "ptr1c", + "offset": 28 + }, + { + "type": "int8_t", + "name": "priority", + "offset": 32 + }, + { + "type": "int8_t", + "name": "isProcessed", + "offset": 33 + }, + { + "type": "int8_t", + "name": "isRead", + "offset": 34 + }, + { + "type": "int8_t", + "name": "isCurrent", + "offset": 35 + }, + { + "type": "int8_t", + "name": "char24", + "offset": 36 + }, + { + "type": "int8_t", + "name": "char25", + "offset": 37 + }, + { + "type": "uint16_t", + "name": "padding", + "offset": 38 + }, + { + "type": "TSLink_CAsyncObject", + "name": "link", + "offset": 40 + } + ] + }, + { + "name": "TSLinkedNode_CAsyncObject", + "size": 0, + "members": [ + { + "type": "TSLink_CAsyncObject", + "name": "m_link", + "offset": 0 + } + ] + }, + { + "name": "TSLinkedNode_CAsyncQueue", + "size": 8, + "members": [ + { + "type": "TSLink_CAsyncQueue", + "name": "m_link", + "offset": 0 + } + ] + }, { "name": "TSLinkedNode_CGxBuf", "size": 8, @@ -3710,6 +5512,17 @@ } ] }, + { + "name": "TSLinkedNode_CGxFont", + "size": 8, + "members": [ + { + "type": "TSLink_CGxFont", + "name": "m_link", + "offset": 0 + } + ] + }, { "name": "TSLinkedNode_CGxPool", "size": 8, @@ -3758,6 +5571,65 @@ } ] }, + { + "name": "TSLinkedNode_CGxString", + "size": 8, + "members": [ + { + "type": "TSLink_CGxString", + "name": "m_link", + "offset": 0 + } + ] + }, + { + "name": "TSLinkedNode_CGxStringBatch", + "size": 8, + "members": [ + { + "type": "TSLink_CGxStringBatch", + "name": "m_link", + "offset": 0 + } + ] + }, + { + "name": "TSHashObject_CHARCODEDESC_HASHKEY_NONE", + "size": 24, + "members": [ + { + "type": "uint32_t", + "name": "m_hashval", + "offset": 0 + }, + { + "type": "TSLink_CHARCODEDESC", + "name": "m_linktoslot", + "offset": 4 + }, + { + "type": "TSLink_CHARCODEDESC", + "name": "m_linktofull", + "offset": 12 + }, + { + "type": "HASHKEY_NONE", + "name": "m_key", + "offset": 20 + } + ] + }, + { + "name": "TSLinkedNode_CHARCODEDESC", + "size": 8, + "members": [ + { + "type": "TSLink_CHARCODEDESC", + "name": "m_link", + "offset": 0 + } + ] + }, { "name": "CILayer", "size": 60, @@ -3815,6 +5687,28 @@ } ] }, + { + "name": "TSLinkedNode_CLayoutFrame__FRAMENODE", + "size": 8, + "members": [ + { + "type": "TSLink_CLayoutFrame__FRAMENODE", + "name": "m_link", + "offset": 0 + } + ] + }, + { + "name": "TSLinkedNode_CRenderBatch", + "size": 8, + "members": [ + { + "type": "TSLink_CRenderBatch", + "name": "m_link", + "offset": 0 + } + ] + }, { "name": "CStatus__STATUSENTRY", "size": 16, @@ -4013,6 +5907,54 @@ } ] }, + { + "name": "TSHashObject_KERNNODE_KERNINGHASHKEY", + "size": 24, + "members": [ + { + "type": "uint32_t", + "name": "m_hashval", + "offset": 0 + }, + { + "type": "TSLink_KERNNODE", + "name": "m_linktoslot", + "offset": 4 + }, + { + "type": "TSLink_KERNNODE", + "name": "m_linktofull", + "offset": 12 + }, + { + "type": "KERNINGHASHKEY", + "name": "m_key", + "offset": 20 + } + ] + }, + { + "name": "TSLinkedNode_KERNNODE", + "size": 8, + "members": [ + { + "type": "TSLink_KERNNODE", + "name": "m_link", + "offset": 0 + } + ] + }, + { + "name": "TSLinkedNode_RENDERCALLBACKNODE", + "size": 8, + "members": [ + { + "type": "TSLink_RENDERCALLBACKNODE", + "name": "m_link", + "offset": 0 + } + ] + }, { "name": "TSHashObject_RGN_HASHKEY_NONE", "size": 24, @@ -4061,6 +6003,38 @@ } ] }, + { + "name": "TSList_CAsyncQueue", + "size": 12, + "members": [ + { + "type": "ptrdiff_t", + "name": "m_linkoffset", + "offset": 0 + }, + { + "type": "TSLink_CAsyncQueue", + "name": "m_terminator", + "offset": 4 + } + ] + }, + { + "name": "TSList_CAsyncObject", + "size": 4, + "members": [ + { + "type": "ptrdiff_t", + "name": "m_linkoffset", + "offset": 0 + }, + { + "type": "TSLink_CAsyncObject", + "name": "m_terminator", + "offset": 4 + } + ] + }, { "name": "TSList_CStatus__STATUSENTRY", "size": 12, @@ -4157,6 +6131,166 @@ } ] }, + { + "name": "TSList_CLayoutFrame__FRAMENODE", + "size": 12, + "members": [ + { + "type": "ptrdiff_t", + "name": "m_linkoffset", + "offset": 0 + }, + { + "type": "TSLink_CLayoutFrame__FRAMENODE", + "name": "m_terminator", + "offset": 4 + } + ] + }, + { + "name": "TSList_RENDERCALLBACKNODE", + "size": 12, + "members": [ + { + "type": "ptrdiff_t", + "name": "m_linkoffset", + "offset": 0 + }, + { + "type": "TSLink_RENDERCALLBACKNODE", + "name": "m_terminator", + "offset": 4 + } + ] + }, + { + "name": "TSList_CGxShader", + "size": 12, + "members": [ + { + "type": "ptrdiff_t", + "name": "m_linkoffset", + "offset": 0 + }, + { + "type": "TSLink_CGxShader", + "name": "m_terminator", + "offset": 4 + } + ] + }, + { + "name": "TSList_CGxString", + "size": 12, + "members": [ + { + "type": "ptrdiff_t", + "name": "m_linkoffset", + "offset": 0 + }, + { + "type": "TSLink_CGxString", + "name": "m_terminator", + "offset": 4 + } + ] + }, + { + "name": "TSList_CGxFont", + "size": 12, + "members": [ + { + "type": "ptrdiff_t", + "name": "m_linkoffset", + "offset": 0 + }, + { + "type": "TSLink_CGxFont", + "name": "m_terminator", + "offset": 4 + } + ] + }, + { + "name": "TSList_CHARCODEDESC", + "size": 12, + "members": [ + { + "type": "ptrdiff_t", + "name": "m_linkoffset", + "offset": 0 + }, + { + "type": "TSLink_CHARCODEDESC", + "name": "m_terminator", + "offset": 4 + } + ] + }, + { + "name": "TSList_KERNNODE", + "size": 12, + "members": [ + { + "type": "ptrdiff_t", + "name": "m_linkoffset", + "offset": 0 + }, + { + "type": "TSLink_KERNNODE", + "name": "m_terminator", + "offset": 4 + } + ] + }, + { + "name": "TSList_BATCHEDRENDERFONTDESC", + "size": 12, + "members": [ + { + "type": "ptrdiff_t", + "name": "m_linkoffset", + "offset": 0 + }, + { + "type": "TSLink_BATCHEDRENDERFONTDESC", + "name": "m_terminator", + "offset": 4 + } + ] + }, + { + "name": "TSList_CGxStringBatch", + "size": 12, + "members": [ + { + "type": "ptrdiff_t", + "name": "m_linkoffset", + "offset": 0 + }, + { + "type": "TSLink_CGxStringBatch", + "name": "m_terminator", + "offset": 4 + } + ] + }, + { + "name": "TSList_CRenderBatch", + "size": 12, + "members": [ + { + "type": "ptrdiff_t", + "name": "m_linkoffset", + "offset": 0 + }, + { + "type": "TSLink_CRenderBatch", + "name": "m_terminator", + "offset": 4 + } + ] + }, { "name": "TSList_EVENTLISTENERNODE", "size": 12, @@ -4221,22 +6355,6 @@ } ] }, - { - "name": "TSList_CGxShader", - "size": 12, - "members": [ - { - "type": "ptrdiff_t", - "name": "m_linkoffset", - "offset": 0 - }, - { - "type": "TSLink_CGxShader", - "name": "m_terminator", - "offset": 4 - } - ] - }, { "name": "TSList_CILayer", "size": 12, @@ -4497,6 +6615,22 @@ } ] }, + { + "name": "CScriptObject", + "size": 28, + "members": [ + { + "type": "FrameScript_Object", + "name": "b_base", + "offset": 0 + }, + { + "type": "RCString", + "name": "m_name", + "offset": 16 + } + ] + }, { "name": "CGxBuf", "size": 32, @@ -4629,6 +6763,261 @@ } ] }, + { + "name": "CGxString", + "size": 216, + "members": [ + { + "type": "TSLinkedNode_CGxString", + "name": "b_base", + "offset": 0 + }, + { + "type": "TSLink_CGxString", + "name": "m_fontStringLink", + "offset": 8 + }, + { + "type": "TSLink_CGxString", + "name": "m_batchedStringLink", + "offset": 16 + }, + { + "type": "float", + "name": "m_requestedFontHeight", + "offset": 24 + }, + { + "type": "float", + "name": "m_currentFontHeight", + "offset": 28 + }, + { + "type": "C3Vector", + "name": "m_position", + "offset": 32 + }, + { + "type": "CImVector", + "name": "m_fontColor", + "offset": 44 + }, + { + "type": "CImVector", + "name": "m_shadowColor", + "offset": 48 + }, + { + "type": "C2Vector", + "name": "m_shadowOffset", + "offset": 52 + }, + { + "type": "float", + "name": "m_blockWidth", + "offset": 60 + }, + { + "type": "float", + "name": "m_blockHeight", + "offset": 64 + }, + { + "type": "void*", + "name": "m_currentFace", + "offset": 68 + }, + { + "type": "char*", + "name": "m_text", + "offset": 72 + }, + { + "type": "int32_t", + "name": "m_textLen", + "offset": 76 + }, + { + "type": "int32_t", + "name": "m_vertJust", + "offset": 80 + }, + { + "type": "int32_t", + "name": "m_horzJust", + "offset": 84 + }, + { + "type": "float", + "name": "m_spacing", + "offset": 88 + }, + { + "type": "uint32_t", + "name": "m_flags", + "offset": 92 + }, + { + "type": "uint32_t", + "name": "m_texturePagesUsed", + "offset": 96 + }, + { + "type": "int32_t", + "name": "m_textureEvicted", + "offset": 100 + }, + { + "type": "uint32_t", + "name": "m_lastGradientStart", + "offset": 104 + }, + { + "type": "uint32_t", + "name": "m_lastGradientLength", + "offset": 108 + }, + { + "type": "C3Vector", + "name": "m_viewTranslation", + "offset": 112 + }, + { + "type": "float", + "name": "m_scale", + "offset": 124 + }, + { + "type": "uint32_t", + "name": "m_hyperlinkInfo", + "arrsize": 4, + "offset": 128 + }, + { + "type": "uint32_t", + "name": "dword90", + "offset": 144 + }, + { + "type": "uint32_t", + "name": "dword94", + "offset": 148 + }, + { + "type": "uint32_t", + "name": "dword98", + "offset": 152 + }, + { + "type": "uint32_t", + "name": "dword9C", + "offset": 156 + }, + { + "type": "uint32_t", + "name": "dwordA0", + "offset": 160 + }, + { + "type": "uint32_t", + "name": "dwordA4", + "offset": 164 + }, + { + "type": "uint32_t", + "name": "dwordA8", + "offset": 168 + }, + { + "type": "uint32_t", + "name": "dwordAC", + "offset": 172 + }, + { + "type": "int32_t", + "name": "m_intB0", + "offset": 176 + }, + { + "type": "void*", + "name": "m_textLines", + "arrsize": 8, + "offset": 180 + }, + { + "type": "int32_t", + "name": "m_intD4", + "offset": 212 + } + ] + }, + { + "name": "CHARCODEDESC", + "size": 112, + "members": [ + { + "type": "TSHashObject_CHARCODEDESC_HASHKEY_NONE", + "name": "b_base", + "offset": 0 + }, + { + "type": "TSLink_CHARCODEDESC", + "name": "textureRowLink", + "offset": 24 + }, + { + "type": "TSLink_CHARCODEDESC", + "name": "fontGlyphLink", + "offset": 32 + }, + { + "type": "uint32_t", + "name": "textureNumber", + "offset": 40 + }, + { + "type": "uint32_t", + "name": "rowNumber", + "offset": 44 + }, + { + "type": "uint32_t", + "name": "glyphStartPixel", + "offset": 48 + }, + { + "type": "uint32_t", + "name": "glyphEndPixel", + "offset": 52 + }, + { + "type": "GLYPHBITMAPDATA", + "name": "bitmapData", + "offset": 56 + } + ] + }, + { + "name": "CLayoutFrame__FRAMENODE", + "size": 16, + "members": [ + { + "type": "TSLinkedNode_CLayoutFrame__FRAMENODE", + "name": "b_base", + "offset": 0 + }, + { + "type": "CLayoutFrame*", + "name": "frame", + "offset": 8 + }, + { + "type": "uint32_t", + "name": "dep", + "offset": 12 + } + ] + }, { "name": "EVENTLISTENERNODE", "size": 12, @@ -4729,6 +7118,224 @@ } ] }, + { + "name": "CLayoutFrame", + "size": 116, + "members": [ + { + "type": "CLayoutFrame_vtable*", + "name": "v_vtable", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "resizeLink", + "arrsize": 2, + "offset": 4 + }, + { + "type": "void*", + "name": "m_points", + "arrsize": 9, + "offset": 12 + }, + { + "type": "TSList_CLayoutFrame__FRAMENODE", + "name": "m_resizeList", + "offset": 48 + }, + { + "type": "uint32_t", + "name": "m_guard", + "offset": 60 + }, + { + "type": "uint32_t", + "name": "m_flags", + "offset": 64 + }, + { + "type": "CRect", + "name": "m_rect", + "offset": 68 + }, + { + "type": "float", + "name": "m_width", + "offset": 84 + }, + { + "type": "float", + "name": "m_height", + "offset": 88 + }, + { + "type": "float", + "name": "m_layoutScale", + "offset": 92 + }, + { + "type": "float", + "name": "m_layoutDepth", + "offset": 96 + }, + { + "type": "float", + "name": "float64", + "offset": 100 + }, + { + "type": "float", + "name": "float68", + "offset": 104 + }, + { + "type": "float", + "name": "float6C", + "offset": 108 + }, + { + "type": "float", + "name": "float70", + "offset": 112 + } + ] + }, + { + "name": "CRenderBatch", + "size": 44, + "members": [ + { + "type": "uint32_t", + "name": "m_count", + "offset": 0 + }, + { + "type": "TSGrowableArray_CSimpleBatchedMesh", + "name": "m_texturelist", + "offset": 4 + }, + { + "type": "CGxStringBatch*", + "name": "m_stringbatch", + "offset": 20 + }, + { + "type": "TSList_RENDERCALLBACKNODE", + "name": "m_callbacks", + "offset": 24 + }, + { + "type": "TSLink_CRenderBatch", + "name": "renderLink", + "offset": 36 + } + ] + }, + { + "name": "TSHashTable_CGxShader_HASHKEY_STRI", + "size": 36, + "members": [ + { + "type": "TSList_CGxShader", + "name": "m_fulllist", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "m_fullnessIndicator", + "offset": 12 + }, + { + "type": "TSGrowableArray_TSList_CGxShader", + "name": "m_slotlistarray", + "offset": 16 + }, + { + "type": "uint32_t", + "name": "m_slotmask", + "offset": 32 + } + ] + }, + { + "name": "TSHashTable_CHARCODEDESC_HASHKEY_NONE", + "size": 36, + "members": [ + { + "type": "TSList_CHARCODEDESC", + "name": "m_fulllist", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "m_fullnessIndicator", + "offset": 12 + }, + { + "type": "TSGrowableArray_TSList_CHARCODEDESC", + "name": "m_slotlistarray", + "offset": 16 + }, + { + "type": "uint32_t", + "name": "m_slotmask", + "offset": 32 + } + ] + }, + { + "name": "TSHashTable_KERNNODE_KERNINGHASHKEY", + "size": 36, + "members": [ + { + "type": "TSList_KERNNODE", + "name": "m_fulllist", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "m_fullnessIndicator", + "offset": 12 + }, + { + "type": "TSGrowableArray_TSList_KERNNODE", + "name": "m_slotlistarray", + "offset": 16 + }, + { + "type": "uint32_t", + "name": "m_slotmask", + "offset": 32 + } + ] + }, + { + "name": "TSHashTable_BATCHEDRENDERFONTDESC_HASHKEY_PTR", + "size": 36, + "members": [ + { + "type": "TSList_BATCHEDRENDERFONTDESC", + "name": "m_fulllist", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "m_fullnessIndicator", + "offset": 12 + }, + { + "type": "TSGrowableArray_TSList_BATCHEDRENDERFONTDESC", + "name": "m_slotlistarray", + "offset": 16 + }, + { + "type": "uint32_t", + "name": "m_slotmask", + "offset": 32 + } + ] + }, { "name": "TSHashTable_FrameScript_EventObject_HASHKEY_STRI", "size": 36, @@ -4852,11 +7459,20 @@ "offset": 372 }, { - "type": "uint32_t", - "name": "m_unk184", - "arrsize": 12, + "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", @@ -4924,7 +7540,7 @@ }, { "type": "int32_t", - "name": "intF6C", + "name": "m_needsUpdate", "offset": 3948 }, { @@ -5137,7 +7753,7 @@ "offset": 10588 }, { - "type": "CImVector", + "type": "uint32_t", "name": "m_cursor", "arrsize": 1024, "offset": 10592 @@ -5154,32 +7770,6 @@ } ] }, - { - "name": "TSHashTable_CGxShader_HASHKEY_STRI", - "size": 36, - "members": [ - { - "type": "TSList_CGxShader", - "name": "m_fulllist", - "offset": 0 - }, - { - "type": "uint32_t", - "name": "m_fullnessIndicator", - "offset": 12 - }, - { - "type": "TSGrowableArray_TSList_CGxShader", - "name": "m_slotlistarray", - "offset": 16 - }, - { - "type": "uint32_t", - "name": "m_slotmask", - "offset": 32 - } - ] - }, { "name": "TSHashTable_RGN_HASHKEY_NONE", "size": 36, @@ -5352,6 +7942,32 @@ } ] }, + { + "name": "CAsyncQueue", + "size": 12, + "members": [ + { + "type": "TSLink_CAsyncQueue", + "name": "link", + "offset": 0 + }, + { + "type": "TSExplicitList_CAsyncObject", + "name": "readList", + "offset": 8 + }, + { + "type": "TSExplicitList_CAsyncObject", + "name": "unkList", + "offset": 8 + }, + { + "type": "int32_t", + "name": "int20", + "offset": 8 + } + ] + }, { "name": "CStatus", "size": 12, @@ -5363,6 +7979,288 @@ } ] }, + { + "name": "CScriptRegion", + "size": 156, + "members": [ + { + "type": "CScriptObject", + "name": "b_base_01", + "offset": 0 + }, + { + "type": "CLayoutFrame", + "name": "b_base_02", + "offset": 28 + }, + { + "type": "CSimpleFrame*", + "name": "m_parent", + "offset": 144 + }, + { + "type": "void*", + "name": "m_animGroups", + "offset": 148 + }, + { + "type": "uint32_t", + "name": "scriptregion_dword8", + "offset": 152 + } + ] + }, + { + "name": "CSimpleTop", + "size": 4712, + "members": [ + { + "type": "CLayoutFrame", + "name": "b_base", + "offset": 0 + }, + { + "type": "void*", + "name": "m_screenLayer", + "offset": 116 + }, + { + "type": "CSimpleFrame*", + "name": "m_mouseFocus", + "offset": 120 + }, + { + "type": "CSimpleFrame*", + "name": "m_mouseCapture", + "offset": 124 + }, + { + "type": "uint32_t", + "name": "m_keydownCapture", + "arrsize": 787, + "offset": 128 + }, + { + "type": "TSList_SIMPLEFRAMENODE", + "name": "m_frames", + "offset": 3276 + }, + { + "type": "uint32_t", + "name": "m_destroyed", + "arrsize": 3, + "offset": 3288 + }, + { + "type": "void*", + "name": "m_strata", + "arrsize": 9, + "offset": 3300 + }, + { + "type": "CSimpleTop__frame_layout", + "name": "m_layout", + "offset": 3336 + }, + { + "type": "CSimpleSortedArray_pointer_to_FRAMEPRIORITY", + "name": "m_eventqueue", + "arrsize": 45, + "offset": 3360 + }, + { + "type": "int32_t", + "name": "m_checkFocus", + "offset": 4620 + }, + { + "type": "EVENT_DATA_MOUSE", + "name": "m_mousePosition", + "offset": 4624 + }, + { + "type": "uint32_t", + "name": "dword1234", + "offset": 4672 + }, + { + "type": "void*", + "name": "m_mouseButtonCallback", + "offset": 4676 + }, + { + "type": "void*", + "name": "m_mouseMoveCallback", + "offset": 4680 + }, + { + "type": "void*", + "name": "m_displaySizeCallback", + "offset": 4684 + }, + { + "type": "uint32_t", + "name": "dword1244", + "offset": 4688 + }, + { + "type": "void*", + "name": "m_keyEventCallback", + "offset": 4692 + }, + { + "type": "uint32_t", + "name": "dword124C", + "offset": 4696 + }, + { + "type": "uint32_t", + "name": "dword1250", + "offset": 4700 + }, + { + "type": "uint32_t", + "name": "dword1254", + "offset": 4704 + } + ] + }, + { + "name": "BATCHEDRENDERFONTDESC", + "size": 40, + "members": [ + { + "type": "TSHashObject_BATCHEDRENDERFONTDESC_HASHKEY_PTR", + "name": "b_base", + "offset": 0 + }, + { + "type": "CGxFont*", + "name": "m_face", + "offset": 24 + }, + { + "type": "TSExplicitList_CGxString", + "name": "m_strings", + "offset": 28 + } + ] + }, + { + "name": "TEXTURECACHEROW", + "size": 16, + "members": [ + { + "type": "uint32_t", + "name": "widestFreeSlot", + "offset": 0 + }, + { + "type": "TSExplicitList_CHARCODEDESC", + "name": "glyphList", + "offset": 4 + } + ] + }, + { + "name": "CGxFont", + "size": 584, + "members": [ + { + "type": "TSLinkedNode_CGxFont", + "name": "b_base", + "offset": 0 + }, + { + "type": "TSExplicitList_CGxString", + "name": "m_strings", + "offset": 8 + }, + { + "type": "TSHashTable_CHARCODEDESC_HASHKEY_NONE", + "name": "m_activeCharacters", + "offset": 20 + }, + { + "type": "TSHashTable_KERNNODE_KERNINGHASHKEY", + "name": "m_kernInfo", + "offset": 56 + }, + { + "type": "TSExplicitList_CHARCODEDESC", + "name": "m_activeCharacterCache", + "offset": 92 + }, + { + "type": "HFACE", + "name": "m_faceHandle", + "offset": 104 + }, + { + "type": "char", + "name": "m_fontName", + "arrsize": 260, + "offset": 108 + }, + { + "type": "uint32_t", + "name": "m_cellHeight", + "offset": 368 + }, + { + "type": "uint32_t", + "name": "m_baseline", + "offset": 372 + }, + { + "type": "uint32_t", + "name": "m_flags", + "offset": 376 + }, + { + "type": "float", + "name": "float184", + "offset": 380 + }, + { + "type": "float", + "name": "m_pixelsPerUnit", + "offset": 384 + }, + { + "type": "TEXTURECACHE", + "name": "m_textureCache", + "arrsize": 8, + "offset": 388 + }, + { + "type": "uint32_t", + "name": "m_pixelSize", + "offset": 580 + } + ] + }, + { + "name": "CGxStringBatch", + "size": 48, + "members": [ + { + "type": "TSLinkedNode_CGxStringBatch", + "name": "b_base", + "offset": 0 + }, + { + "type": "TSHashTable_BATCHEDRENDERFONTDESC_HASHKEY_PTR", + "name": "m_fontBatch", + "offset": 8 + }, + { + "type": "uint32_t", + "name": "m_flags", + "offset": 44 + } + ] + }, { "name": "CGxDeviceD3d", "size": 16048, @@ -5418,11 +8316,31 @@ "offset": 15032 }, { - "type": "uint32_t", - "name": "unk3AB4", - "arrsize": 11, + "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": 7, + "offset": 15052 + }, { "type": "IDirect3DVertexDeclaration9*", "name": "m_d3dVertexDecl", @@ -5682,6 +8600,535 @@ "offset": 636 } ] + }, + { + "name": "CTexture", + "size": 356, + "members": [ + { + "type": "CHandleObject", + "name": "b_base", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "dword8", + "arrsize": 6, + "offset": 4 + }, + { + "type": "CGxTexFlags", + "name": "unkTexFlags1", + "offset": 28 + }, + { + "type": "uint32_t", + "name": "dword10", + "offset": 32 + }, + { + "type": "uint16_t", + "name": "flags", + "offset": 36 + }, + { + "type": "int8_t", + "name": "bestMip", + "offset": 38 + }, + { + "type": "int8_t", + "name": "alphaBits", + "offset": 39 + }, + { + "type": "CStatus", + "name": "loadStatus", + "offset": 40 + }, + { + "type": "CAsyncObject*", + "name": "asyncObject", + "offset": 52 + }, + { + "type": "CGxTex*", + "name": "gxTex", + "offset": 56 + }, + { + "type": "int32_t", + "name": "gxTexTarget", + "offset": 60 + }, + { + "type": "uint16_t", + "name": "gxWidth", + "offset": 64 + }, + { + "type": "uint16_t", + "name": "gxHeight", + "offset": 66 + }, + { + "type": "EGxTexFormat", + "name": "gxTexFormat", + "offset": 68 + }, + { + "type": "EGxTexFormat", + "name": "dataFormat", + "offset": 72 + }, + { + "type": "CGxTexFlags", + "name": "gxTexFlags", + "offset": 76 + }, + { + "type": "void*", + "name": "atlas", + "offset": 80 + }, + { + "type": "uint32_t", + "name": "atlasBlockIndex", + "offset": 84 + }, + { + "type": "uint32_t", + "name": "dword50", + "arrsize": 2, + "offset": 88 + }, + { + "type": "char", + "name": "filename", + "arrsize": 260, + "offset": 96 + } + ] + }, + { + "name": "CSimpleFrame", + "size": 664, + "members": [ + { + "type": "CScriptRegion", + "name": "b_base", + "offset": 0 + }, + { + "type": "void*", + "name": "m_top", + "offset": 156 + }, + { + "type": "CSimpleFrame*", + "name": "m_tooltip", + "offset": 160 + }, + { + "type": "CScriptRegion*", + "name": "m_titleRegion", + "offset": 164 + }, + { + "type": "int32_t", + "name": "m_intAC", + "offset": 168 + }, + { + "type": "int32_t", + "name": "m_id", + "offset": 172 + }, + { + "type": "uint32_t", + "name": "m_flags", + "offset": 176 + }, + { + "type": "float", + "name": "m_frameScale", + "offset": 180 + }, + { + "type": "uint32_t", + "name": "dwordBC", + "offset": 184 + }, + { + "type": "uint32_t", + "name": "dwordC0", + "offset": 188 + }, + { + "type": "float", + "name": "m_floatC4", + "offset": 192 + }, + { + "type": "float", + "name": "m_floatC8", + "offset": 196 + }, + { + "type": "uint32_t", + "name": "dwordCC", + "offset": 200 + }, + { + "type": "int32_t", + "name": "m_strata", + "offset": 204 + }, + { + "type": "int32_t", + "name": "m_level", + "offset": 208 + }, + { + "type": "uint32_t", + "name": "m_eventmask", + "offset": 212 + }, + { + "type": "int32_t", + "name": "m_shown", + "offset": 216 + }, + { + "type": "int32_t", + "name": "m_visible", + "offset": 220 + }, + { + "type": "CRect", + "name": "m_hitRect", + "offset": 224 + }, + { + "type": "CRect", + "name": "m_hitOffset", + "offset": 240 + }, + { + "type": "uint32_t", + "name": "simpleframe_unk9", + "arrsize": 4, + "offset": 256 + }, + { + "type": "int32_t", + "name": "m_highlightLocked", + "offset": 272 + }, + { + "type": "uint32_t", + "name": "m_lookForDrag", + "offset": 276 + }, + { + "type": "int32_t", + "name": "m_mouseDown", + "offset": 280 + }, + { + "type": "int32_t", + "name": "m_dragging", + "offset": 284 + }, + { + "type": "int32_t", + "name": "m_dragButton", + "offset": 288 + }, + { + "type": "C2Vector", + "name": "m_clickPoint", + "offset": 292 + }, + { + "type": "int32_t", + "name": "m_loading", + "offset": 300 + }, + { + "type": "FrameScript_Object__ScriptIx", + "name": "m_onLoad", + "offset": 304 + }, + { + "type": "FrameScript_Object__ScriptIx", + "name": "m_onSizeChanged", + "offset": 312 + }, + { + "type": "FrameScript_Object__ScriptIx", + "name": "m_onUpdate", + "offset": 320 + }, + { + "type": "FrameScript_Object__ScriptIx", + "name": "m_onShow", + "offset": 328 + }, + { + "type": "FrameScript_Object__ScriptIx", + "name": "m_onHide", + "offset": 336 + }, + { + "type": "FrameScript_Object__ScriptIx", + "name": "m_onEnter", + "offset": 344 + }, + { + "type": "FrameScript_Object__ScriptIx", + "name": "m_onLeave", + "offset": 352 + }, + { + "type": "FrameScript_Object__ScriptIx", + "name": "m_onMouseDown", + "offset": 360 + }, + { + "type": "FrameScript_Object__ScriptIx", + "name": "m_onMouseUp", + "offset": 368 + }, + { + "type": "FrameScript_Object__ScriptIx", + "name": "m_onMouseWheel", + "offset": 376 + }, + { + "type": "FrameScript_Object__ScriptIx", + "name": "m_onDragStart", + "offset": 384 + }, + { + "type": "FrameScript_Object__ScriptIx", + "name": "m_onDragStop", + "offset": 392 + }, + { + "type": "FrameScript_Object__ScriptIx", + "name": "m_onReceiveDrag", + "offset": 400 + }, + { + "type": "FrameScript_Object__ScriptIx", + "name": "m_onChar", + "offset": 408 + }, + { + "type": "FrameScript_Object__ScriptIx", + "name": "m_onKeyDown", + "offset": 416 + }, + { + "type": "FrameScript_Object__ScriptIx", + "name": "m_onKeyUp", + "offset": 424 + }, + { + "type": "FrameScript_Object__ScriptIx", + "name": "m_onAttributeChange", + "offset": 432 + }, + { + "type": "FrameScript_Object__ScriptIx", + "name": "m_onEnable", + "offset": 440 + }, + { + "type": "FrameScript_Object__ScriptIx", + "name": "m_onDisable", + "offset": 448 + }, + { + "type": "uint32_t", + "name": "m_attributes", + "arrsize": 10, + "offset": 456 + }, + { + "type": "int32_t", + "name": "m_drawenabled", + "arrsize": 5, + "offset": 496 + }, + { + "type": "CBackdropGenerator*", + "name": "m_backdrop", + "offset": 516 + }, + { + "type": "uint32_t", + "name": "m_regions", + "arrsize": 3, + "offset": 520 + }, + { + "type": "uint32_t", + "name": "m_drawlayers", + "arrsize": 15, + "offset": 532 + }, + { + "type": "uint32_t", + "name": "m_batchDirty", + "offset": 592 + }, + { + "type": "void*", + "name": "m_batch", + "arrsize": 5, + "offset": 596 + }, + { + "type": "TSExplicitList_CRenderBatch", + "name": "m_renderList", + "offset": 616 + }, + { + "type": "uint32_t", + "name": "m_children", + "arrsize": 3, + "offset": 628 + }, + { + "type": "uint32_t", + "name": "m_framesLink", + "arrsize": 2, + "offset": 640 + }, + { + "type": "uint32_t", + "name": "m_destroyedLink", + "arrsize": 2, + "offset": 648 + }, + { + "type": "uint32_t", + "name": "m_strataLink", + "arrsize": 2, + "offset": 656 + } + ] + }, + { + "name": "CSimpleRegion", + "size": 204, + "members": [ + { + "type": "CScriptRegion", + "name": "b_base", + "offset": 0 + }, + { + "type": "int32_t", + "name": "m_numAlpha", + "offset": 156 + }, + { + "type": "uint8_t", + "name": "m_alpha", + "arrsize": 4, + "offset": 160 + }, + { + "type": "int32_t", + "name": "m_numColor", + "offset": 164 + }, + { + "type": "CImVector", + "name": "m_color", + "arrsize": 4, + "offset": 168 + }, + { + "type": "uint32_t", + "name": "m_regionLink", + "arrsize": 2, + "offset": 184 + }, + { + "type": "uint32_t", + "name": "m_drawLink", + "arrsize": 2, + "offset": 192 + }, + { + "type": "uint16_t", + "name": "m_regionFlags", + "offset": 200 + }, + { + "type": "uint16_t", + "name": "padding", + "offset": 202 + } + ] + }, + { + "name": "CSimpleTexture", + "size": 352, + "members": [ + { + "type": "CSimpleRegion", + "name": "b_base", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "dwordD0", + "offset": 204 + }, + { + "type": "CTexture*", + "name": "m_texture", + "offset": 208 + }, + { + "type": "uint32_t", + "name": "m_alphaMode", + "offset": 212 + }, + { + "type": "void*", + "name": "m_shader", + "offset": 216 + }, + { + "type": "C3Vector", + "name": "m_position", + "arrsize": 4, + "offset": 220 + }, + { + "type": "C3Vector", + "name": "m_position2", + "arrsize": 4, + "offset": 268 + }, + { + "type": "C2Vector", + "name": "m_texCoord", + "arrsize": 4, + "offset": 316 + }, + { + "type": "uint32_t", + "name": "dword160", + "offset": 348 + } + ] } ], "unions": [