From d8292530c9b8d8458c57a2383be2220ad140d927 Mon Sep 17 00:00:00 2001 From: superp00t Date: Thu, 29 Aug 2024 16:55:37 -0400 Subject: [PATCH] feat(3.3.5a): add some cursor stuff --- 3.3.5a/ida/import_data_types.idc | 12 +++++- 3.3.5a/ida/import_symbols.idc | 12 ++++++ 3.3.5a/include/cursor/types.h | 69 ++++++++++++++++++++++++++++++ 3.3.5a/include/main.h | 2 + 3.3.5a/symbol/cursor/func.sym | 4 +- 3.3.5a/symbol/cursor/label.sym | 10 +++-- 3.3.5a/symbol/framescript/func.sym | 3 +- 3.3.5a/symbol/main.sym | 22 ++++++---- 3.3.5a/symbol/texture/func.sym | 8 ++-- 3.3.5a/symbol/texture/label.sym | 3 +- 3.3.5a/x32dbg/game.dd32 | 60 ++++++++++++++++++++++++++ 11 files changed, 184 insertions(+), 21 deletions(-) create mode 100644 3.3.5a/include/cursor/types.h diff --git a/3.3.5a/ida/import_data_types.idc b/3.3.5a/ida/import_data_types.idc index 88a6892..ce33523 100644 --- a/3.3.5a/ida/import_data_types.idc +++ b/3.3.5a/ida/import_data_types.idc @@ -9,6 +9,8 @@ static import_data_types() { apply_type(0x004B78A0, "int32_t __usercall func@(char* ext@, char* filename, int32_t a3, MipBits** mipBits, uint32_t* width, uint32_t* height, PIXEL_FORMAT* texFormat, int32_t* isOpaque@, uint32_t* alphaBits, PIXEL_FORMAT* dataFormat)"); apply_type(0x004B8070, "int32_t __usercall func@(char* ext@, char* filename@, int32_t a3, MipBits** mipBits, uint32_t* width, uint32_t* height, uint32_t* isOpaque, uint32_t* alphaBits, PIXEL_FORMAT* dataFormat)"); apply_type(0x004B81D0, "MipBits* func(const char* filename, uint32_t* width, uint32_t* height, PIXEL_FORMAT* dataFormat, int32_t* isOpaque, CStatus* status, uint32_t* alphaBits, int32_t a8)"); + apply_type(0x006160B0, "int32_t __usercall func@(uint32_t** image@, MipBits* mipImages@, uint32_t width@, uint32_t height)"); + apply_type(0x00616800, "void __stdcall func(CURSORMODE mode)"); apply_type(0x006AA3B0, "int32_t __thiscall func(CTgaFile* this)"); apply_type(0x006AA3E0, "uint32_t __thiscall func(CTgaFile* this)"); apply_type(0x006AA420, "void __thiscall func(CTgaFile* this, uint8_t* pAlphaData, uint8_t* pNoAlphaData, uint8_t* alpha)"); @@ -29,6 +31,10 @@ static import_data_types() { apply_type(0x006AE900, "int32_t __thiscall func(CBLPFile* this, void* fileBits)"); apply_type(0x006AE990, "void __thiscall func(CBLPFile* this, uint8_t* data, void* tempbuffer, uint32_t colorSize)"); apply_type(0x006AE9E0, "void __thiscall func(CBLPFile* this, uint8_t* data, void* tempbuffer, uint32_t colorSize)"); + apply_type(0x006AEBA0, "void __thiscall func(CBLPFile* this, uint8_t* data, void* tempbuffer, uint32_t width, uint32_t height)"); + apply_type(0x006AEE70, "void __thiscall func(CBLPFile* this, uint8_t* data, void* tempbuffer, uint32_t width, uint32_t height)"); + apply_type(0x006AF140, "void __thiscall func(CBLPFile* this, uint8_t* data, void* tempbuffer, uint32_t width, uint32_t height)"); + apply_type(0x006AF340, "void __thiscall func(CBLPFile* this, uint8_t* data, void* tempbuffer, uint32_t width, uint32_t height)"); apply_type(0x006AF6A0, "uint32_t __thiscall func(CBLPFile* this, uint32_t mipLevel)"); apply_type(0x006AF730, "int32_t __thiscall func(CBLPFile *this, PIXEL_FORMAT format, uint32_t mipLevel, uint32_t* size, uint32_t* stride)"); apply_type(0x006AF810, "int32_t __thiscall func(CBLPFile* this, PIXEL_FORMAT format, uint32_t mipLevel, uint8_t* data, void* tempBuffer)"); @@ -44,11 +50,13 @@ static import_data_types() { apply_type(0x00774640, "void __thiscall func(SCritSect *this)"); apply_type(0x00774650, "void __thiscall func(SCritSect *this)"); apply_type(0x00819EA0, "void __stdcall func(int32_t function, FrameScript_Object* object, int32_t args, char* args_fmt, FrameScript_EventObject* eventObject)"); - apply_type(0x00AD2808, "char*[54]"); + apply_type(0x00AD2808, "char*[53]"); + apply_type(0x00AD90B0, "uint8_t[16]"); apply_type(0x00AD90C0, "uint8_t[2]"); apply_type(0x00B417C8, "uint32_t"); apply_type(0x00B417D0, "int32_t"); apply_type(0x00B41850, "CDataRecycler"); apply_type(0x00C25CD0, "int8_t"); - apply_type(0x00C26DF0, "CImVector[54][1024]"); + apply_type(0x00C26DE8, "CURSORMODE"); + apply_type(0x00C26DF0, "CImVector[53][1024]"); } diff --git a/3.3.5a/ida/import_symbols.idc b/3.3.5a/ida/import_symbols.idc index ec02387..a254f20 100644 --- a/3.3.5a/ida/import_symbols.idc +++ b/3.3.5a/ida/import_symbols.idc @@ -2077,7 +2077,9 @@ static main() { set_name(0x00614E60, "Script_GetVehicleUIIndicator"); set_name(0x00614EF0, "Script_GetVehicleUIIndicatorSeat"); set_name(0x006160B0, "CopyCursorImage"); + set_name(0x006162C0, "UpdateCursor"); set_name(0x006163B0, "CursorInitialize"); + set_name(0x00616800, "CursorSetMode"); set_name(0x00616AD0, "GxXformPush_EGxXform_C44Matrix"); set_name(0x00632050, "nullsub_4"); set_name(0x00653A10, "nullsub_5"); @@ -2394,6 +2396,7 @@ static main() { set_name(0x00809EA0, "Script_SpellStopCasting"); set_name(0x0080DC00, "Script_SpellTargetUnit"); set_name(0x00819EA0, "FrameScript_Execute"); + set_name(0x0081B530, "FrameScript_SignalEvent"); set_name(0x0081B720, "Script_GetText"); set_name(0x0081B7B0, "Script_CreateFont"); set_name(0x0081B820, "Script_GetCurrentKeyBoardFocus"); @@ -2627,6 +2630,7 @@ static main() { set_name(0x00A2E718, "CGxDeviceD3d__vtable"); set_name(0x00A2F500, "CGxDeviceD3d9Ex__vtable"); set_name(0x00AD2808, "s_cursorNames"); + set_name(0x00AD90B0, "CBLPFile__s_eightBitAlphaLookup"); set_name(0x00AD90C0, "CBLPFile__s_oneBitAlphaLookup"); set_name(0x00ADBAB4, "s_rect"); set_name(0x00ADBAC4, "s_consoleHotKey"); @@ -2638,6 +2642,8 @@ static main() { set_name(0x00B417D0, "s_interactiveCount"); set_name(0x00B41850, "s_messageRecycler"); set_name(0x00C25CD0, "s_cursorFile"); + set_name(0x00C25DD4, "s_cursorItemMipsWidth"); + set_name(0x00C25DD8, "s_cursorItemMipsHeight"); set_name(0x00C25DDC, "s_cursorItemMips"); set_name(0x00C25DE0, "s_cursorItemType"); set_name(0x00C25DE4, "s_cursorResetMode"); @@ -6780,8 +6786,12 @@ static main() { set_func_end(0x00614EF0, 0x00614FC6); set_func_start(0x006160B0, 0x006160B0); set_func_end(0x006160B0, 0x00616211); + set_func_start(0x006162C0, 0x006162C0); + set_func_end(0x006162C0, 0x006163AD); set_func_start(0x006163B0, 0x006163B0); set_func_end(0x006163B0, 0x006164A5); + set_func_start(0x00616800, 0x00616800); + set_func_end(0x00616800, 0x0061682E); set_func_start(0x00616AD0, 0x00616AD0); set_func_end(0x00616AD0, 0x00616AE8); set_func_start(0x00632050, 0x00632050); @@ -7403,6 +7413,8 @@ static main() { set_func_end(0x0080DC00, 0x0080DCE3); set_func_start(0x00819EA0, 0x00819EA0); set_func_end(0x00819EA0, 0x0081A2B5); + set_func_start(0x0081B530, 0x0081B530); + set_func_end(0x0081B530, 0x0081B549); set_func_start(0x0081B720, 0x0081B720); set_func_end(0x0081B720, 0x0081B7AF); set_func_start(0x0081B7B0, 0x0081B7B0); diff --git a/3.3.5a/include/cursor/types.h b/3.3.5a/include/cursor/types.h new file mode 100644 index 0000000..41594fb --- /dev/null +++ b/3.3.5a/include/cursor/types.h @@ -0,0 +1,69 @@ +#ifndef CURSOR_TYPES_H +#define CURSOR_TYPES_H + +enum CURSORITEMTYPE { + CURSOR_EMPTY = 0, + CURSOR_ITEM = 1, + CURSOR_MONEY = 2, + CURSOR_SPELL = 3, + NUM_CURSOR_ITEM_TYPES = 4 +}; + +enum CURSORMODE { + NO_CURSOR = 0, + POINT_CURSOR = 1, + CAST_CURSOR = 2, + BUY_CURSOR = 3, + ATTACK_CURSOR = 4, + INTERACT_CURSOR = 5, + SPEAK_CURSOR = 6, + INSPECT_CURSOR = 7, + PICKUP_CURSOR = 8, + TAXI_CURSOR = 9, + TRAINER_CURSOR = 10, + MINE_CURSOR = 11, + SKIN_CURSOR = 12, + GATHER_CURSOR = 13, + LOCK_CURSOR = 14, + MAIL_CURSOR = 15, + LOOT_ALL_CURSOR = 16, + REPAIR_CURSOR = 17, + REPAIRNPC_CURSOR = 18, + ITEM_CURSOR = 19, + SKIN_HORDE_CURSOR = 20, + SKIN_ALLIANCE_CURSOR = 21, + INNKEEPER_CURSOR = 22, + QUEST_CURSOR = 23, + QUEST_REPEATABLE_CURSOR = 24, + QUEST_TURNIN_CURSOR = 25, + VEHICLE_CURSOR = 26, + POINT_ERROR_CURSOR = 27, + CAST_ERROR_CURSOR = 28, + BUY_ERROR_CURSOR = 29, + ATTACK_ERROR_CURSOR = 30, + INTERACT_ERROR_CURSOR = 31, + SPEAK_ERROR_CURSOR = 32, + INSPECT_ERROR_CURSOR = 33, + PICKUP_ERROR_CURSOR = 34, + TAXI_ERROR_CURSOR = 35, + TRAINER_ERROR_CURSOR = 36, + MINE_ERROR_CURSOR = 37, + SKIN_ERROR_CURSOR = 38, + GATHER_ERROR_CURSOR = 39, + LOCK_ERROR_CURSOR = 40, + MAIL_ERROR_CURSOR = 41, + LOOT_ALL_ERROR_CURSOR = 42, + REPAIR_ERROR_CURSOR = 43, + REPAIRNPC_ERROR_CURSOR = 44, + ITEM_ERROR_CURSOR = 45, + SKIN_HORDE_ERROR_CURSOR = 46, + SKIN_ALLIANCE_ERROR_CURSOR = 47, + INNKEEPER_ERROR_CURSOR = 48, + QUEST_ERROR_CURSOR = 49, + QUEST_REPEATABLE_ERROR_CURSOR = 50, + QUEST_TURNIN_ERROR_CURSOR = 51, + VEHICLE_ERROR_CURSOR = 52, + NUM_CURSOR_MODES = 53 +}; + +#endif diff --git a/3.3.5a/include/main.h b/3.3.5a/include/main.h index 7b68227..0c053a2 100644 --- a/3.3.5a/include/main.h +++ b/3.3.5a/include/main.h @@ -9,6 +9,8 @@ #include "common/datarecycler.h" #include "common/status.h" +#include "cursor/types.h" + #include "d3d9/caps.h" #include "d3d9/device.h" diff --git a/3.3.5a/symbol/cursor/func.sym b/3.3.5a/symbol/cursor/func.sym index 398f510..d8cbb07 100644 --- a/3.3.5a/symbol/cursor/func.sym +++ b/3.3.5a/symbol/cursor/func.sym @@ -1,2 +1,4 @@ CursorInitialize 006163B0 f end=006164A5 -CopyCursorImage 006160B0 f end=00616211 \ No newline at end of file +CopyCursorImage 006160B0 f end=00616211 type="int32_t __usercall func@(uint32_t** image@, MipBits* mipImages@, uint32_t width@, uint32_t height)" +UpdateCursor 006162C0 f end=006163AD +CursorSetMode 00616800 f end=0061682E type="void __stdcall func(CURSORMODE mode)" \ No newline at end of file diff --git a/3.3.5a/symbol/cursor/label.sym b/3.3.5a/symbol/cursor/label.sym index 56ffbac..db4b5f7 100644 --- a/3.3.5a/symbol/cursor/label.sym +++ b/3.3.5a/symbol/cursor/label.sym @@ -1,7 +1,9 @@ -s_cursorImages 00C26DF0 l type="CImVector[54][1024]" -s_cursorNames 00AD2808 l type="char*[54]" -s_cursorMode 00C26DE8 l +s_cursorImages 00C26DF0 l type="CImVector[53][1024]" +s_cursorNames 00AD2808 l type="char*[53]" +s_cursorMode 00C26DE8 l type="CURSORMODE" s_cursorResetMode 00C25DE4 l s_cursorItemType 00C25DE0 l s_cursorItemMips 00C25DDC l -s_cursorFile 00C25CD0 l type="int8_t" ; wonder why it's this type +s_cursorItemMipsWidth 00C25DD4 l +s_cursorItemMipsHeight 00C25DD8 l +s_cursorFile 00C25CD0 l type="int8_t" ; wonder why it's this type \ No newline at end of file diff --git a/3.3.5a/symbol/framescript/func.sym b/3.3.5a/symbol/framescript/func.sym index 9158062..78f527c 100644 --- a/3.3.5a/symbol/framescript/func.sym +++ b/3.3.5a/symbol/framescript/func.sym @@ -1 +1,2 @@ -FrameScript_Execute 00819EA0 f end=0081A2B5 type="void __stdcall func(int32_t function, FrameScript_Object* object, int32_t args, char* args_fmt, FrameScript_EventObject* eventObject)" \ No newline at end of file +FrameScript_Execute 00819EA0 f end=0081A2B5 type="void __stdcall func(int32_t function, FrameScript_Object* object, int32_t args, char* args_fmt, FrameScript_EventObject* eventObject)" +FrameScript_SignalEvent 0081B530 f end=0081B549 \ No newline at end of file diff --git a/3.3.5a/symbol/main.sym b/3.3.5a/symbol/main.sym index 2d2c843..8d3f409 100644 --- a/3.3.5a/symbol/main.sym +++ b/3.3.5a/symbol/main.sym @@ -2071,8 +2071,10 @@ Script_UnitDebuff 00614CF0 f end=00614D3F Script_UnitAura 00614D40 f end=00614D83 Script_GetVehicleUIIndicator 00614E60 f end=00614EEE Script_GetVehicleUIIndicatorSeat 00614EF0 f end=00614FC6 -CopyCursorImage 006160B0 f end=00616211 +CopyCursorImage 006160B0 f end=00616211 type="int32_t __usercall func@(uint32_t** image@, MipBits* mipImages@, uint32_t width@, uint32_t height)" +UpdateCursor 006162C0 f end=006163AD CursorInitialize 006163B0 f end=006164A5 +CursorSetMode 00616800 f end=0061682E type="void __stdcall func(CURSORMODE mode)" GxXformPush_EGxXform_C44Matrix 00616AD0 f end=00616AE8 nullsub_4 00632050 f nullsub_5 00653A10 f @@ -2204,10 +2206,10 @@ CBLPFile__Close 006AE8B0 f end=006AE8DA type="void __thiscall func(CBLPFile* thi CBLPFile__Source 006AE900 f end=006AE990 type="int32_t __thiscall func(CBLPFile* this, void* fileBits)" CBLPFile__DecompPalFastPath 006AE990 f end=006AE9D6 type="void __thiscall func(CBLPFile* this, uint8_t* data, void* tempbuffer, uint32_t colorSize)" CBLPFile__DecompPalARGB8888 006AE9E0 f end=006AEB93 type="void __thiscall func(CBLPFile* this, uint8_t* data, void* tempbuffer, uint32_t colorSize)" -CBLPFile__DecompPalARGB4444DitherFloydSteinberg 006AEBA0 f end=006AEE61 -CBLPFile__DecompPalARGB1555DitherFloydSteinberg 006AEE70 f end=006AF133 -CBLPFile__DecompPalARGB565DitherFloydSteinberg 006AF140 f end=006AF33F -CBLPFile__DecompPalARGB2565DitherFloydSteinberg 006AF340 f end=006AF65D +CBLPFile__DecompPalARGB4444DitherFloydSteinberg 006AEBA0 f end=006AEE61 type="void __thiscall func(CBLPFile* this, uint8_t* data, void* tempbuffer, uint32_t width, uint32_t height)" +CBLPFile__DecompPalARGB1555DitherFloydSteinberg 006AEE70 f end=006AF133 type="void __thiscall func(CBLPFile* this, uint8_t* data, void* tempbuffer, uint32_t width, uint32_t height)" +CBLPFile__DecompPalARGB565DitherFloydSteinberg 006AF140 f end=006AF33F type="void __thiscall func(CBLPFile* this, uint8_t* data, void* tempbuffer, uint32_t width, uint32_t height)" +CBLPFile__DecompPalARGB2565DitherFloydSteinberg 006AF340 f end=006AF65D type="void __thiscall func(CBLPFile* this, uint8_t* data, void* tempbuffer, uint32_t width, uint32_t height)" CBLPFile__Pixels 006AF6A0 f end=006AF6D1 type="uint32_t __thiscall func(CBLPFile* this, uint32_t mipLevel)" CBLPFile__GetFormatSize 006AF730 f end=006AF7E9 type="int32_t __thiscall func(CBLPFile *this, PIXEL_FORMAT format, uint32_t mipLevel, uint32_t* size, uint32_t* stride)" CBLPFile__DecompPal 006AF810 f end=006AF984 type="int32_t __thiscall func(CBLPFile* this, PIXEL_FORMAT format, uint32_t mipLevel, uint8_t* data, void* tempBuffer)" @@ -2389,6 +2391,7 @@ Script_SpellStopTargeting 00809E30 f end=00809E96 Script_SpellStopCasting 00809EA0 f end=00809F7E Script_SpellTargetUnit 0080DC00 f end=0080DCE3 FrameScript_Execute 00819EA0 f end=0081A2B5 type="void __stdcall func(int32_t function, FrameScript_Object* object, int32_t args, char* args_fmt, FrameScript_EventObject* eventObject)" +FrameScript_SignalEvent 0081B530 f end=0081B549 Script_GetText 0081B720 f end=0081B7AF Script_CreateFont 0081B7B0 f end=0081B81E Script_GetCurrentKeyBoardFocus 0081B820 f end=0081B86C @@ -2619,16 +2622,19 @@ nullsub_150 009DE1D0 f s_pixelFormatToMipBitsCache 009F1074 l CGxDevice__vtable 00A2DDC0 l CGxDeviceOpenGl__vtable 00A2E198 l -s_cursorNames 00AD2808 l type="char*[54]" +s_cursorNames 00AD2808 l type="char*[53]" +CBLPFile__s_eightBitAlphaLookup 00AD90B0 l type="uint8_t[16]" CBLPFile__s_oneBitAlphaLookup 00AD90C0 l type="uint8_t[2]" s_interactiveCount 00B417D0 l type="int32_t" s_messageRecycler 00B41850 l type="CDataRecycler" s_cursorFile 00C25CD0 l type="int8_t" ; wonder why it's this type +s_cursorItemMipsWidth 00C25DD4 l +s_cursorItemMipsHeight 00C25DD8 l s_cursorItemMips 00C25DDC l s_cursorItemType 00C25DE0 l s_cursorResetMode 00C25DE4 l -s_cursorMode 00C26DE8 l -s_cursorImages 00C26DF0 l type="CImVector[54][1024]" +s_cursorMode 00C26DE8 l type="CURSORMODE" +s_cursorImages 00C26DF0 l type="CImVector[53][1024]" g_theGxDevicePtr 00C5DF88 l CGxDevice__s_uiVertexShader 00C5DFDC l CGxDevice__s_shadowConstants 00C5DFE0 l diff --git a/3.3.5a/symbol/texture/func.sym b/3.3.5a/symbol/texture/func.sym index 8259f3f..d685e3e 100644 --- a/3.3.5a/symbol/texture/func.sym +++ b/3.3.5a/symbol/texture/func.sym @@ -11,10 +11,10 @@ CBLPFile__Lock2 006AFCE0 f end=006AFF06 type="int32_t __thiscall func(CBLPFile* CBLPFile__GetFormatSize 006AF730 f end=006AF7E9 type="int32_t __thiscall func(CBLPFile *this, PIXEL_FORMAT format, uint32_t mipLevel, uint32_t* size, uint32_t* stride)" CBLPFile__DecompPalARGB8888 006AE9E0 f end=006AEB93 type="void __thiscall func(CBLPFile* this, uint8_t* data, void* tempbuffer, uint32_t colorSize)" CBLPFile__DecompPalFastPath 006AE990 f end=006AE9D6 type="void __thiscall func(CBLPFile* this, uint8_t* data, void* tempbuffer, uint32_t colorSize)" -CBLPFile__DecompPalARGB4444DitherFloydSteinberg 006AEBA0 f end=006AEE61 -CBLPFile__DecompPalARGB1555DitherFloydSteinberg 006AEE70 f end=006AF133 -CBLPFile__DecompPalARGB565DitherFloydSteinberg 006AF140 f end=006AF33F -CBLPFile__DecompPalARGB2565DitherFloydSteinberg 006AF340 f end=006AF65D +CBLPFile__DecompPalARGB4444DitherFloydSteinberg 006AEBA0 f end=006AEE61 type="void __thiscall func(CBLPFile* this, uint8_t* data, void* tempbuffer, uint32_t width, uint32_t height)" +CBLPFile__DecompPalARGB1555DitherFloydSteinberg 006AEE70 f end=006AF133 type="void __thiscall func(CBLPFile* this, uint8_t* data, void* tempbuffer, uint32_t width, uint32_t height)" +CBLPFile__DecompPalARGB565DitherFloydSteinberg 006AF140 f end=006AF33F type="void __thiscall func(CBLPFile* this, uint8_t* data, void* tempbuffer, uint32_t width, uint32_t height)" +CBLPFile__DecompPalARGB2565DitherFloydSteinberg 006AF340 f end=006AF65D type="void __thiscall func(CBLPFile* this, uint8_t* data, void* tempbuffer, uint32_t width, uint32_t height)" CBLPFile__DecompPal 006AF810 f end=006AF984 type="int32_t __thiscall func(CBLPFile* this, PIXEL_FORMAT format, uint32_t mipLevel, uint8_t* data, void* tempBuffer)" CTgaFile__AddAlphaChannel_internal 006AA420 f end=006AA51E type="void __thiscall func(CTgaFile* this, uint8_t* pAlphaData, uint8_t* pNoAlphaData, uint8_t* alpha)" ; private utility method CTgaFile__AddAlphaChannel 006AB390 f end=006AB447 type="int32_t __thiscall func(CTgaFile* this, void* pImg)" ; public method diff --git a/3.3.5a/symbol/texture/label.sym b/3.3.5a/symbol/texture/label.sym index 6d12fb1..c700436 100644 --- a/3.3.5a/symbol/texture/label.sym +++ b/3.3.5a/symbol/texture/label.sym @@ -1,2 +1,3 @@ s_pixelFormatToMipBitsCache 009F1074 l -CBLPFile__s_oneBitAlphaLookup 00AD90C0 l type="uint8_t[2]" \ No newline at end of file +CBLPFile__s_oneBitAlphaLookup 00AD90C0 l type="uint8_t[2]" +CBLPFile__s_eightBitAlphaLookup 00AD90B0 l type="uint8_t[16]" \ No newline at end of file diff --git a/3.3.5a/x32dbg/game.dd32 b/3.3.5a/x32dbg/game.dd32 index 5122ef9..c97382f 100644 --- a/3.3.5a/x32dbg/game.dd32 +++ b/3.3.5a/x32dbg/game.dd32 @@ -16592,6 +16592,14 @@ "icount": "0x0", "parent": "0x2160b0" }, + { + "manual": true, + "start": "0x2162c0", + "end": "0x2163ac", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x2162c0" + }, { "manual": true, "start": "0x2163b0", @@ -16600,6 +16608,14 @@ "icount": "0x0", "parent": "0x2163b0" }, + { + "manual": true, + "start": "0x216800", + "end": "0x21682d", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x216800" + }, { "manual": true, "start": "0x216ad0", @@ -19120,6 +19136,14 @@ "icount": "0x0", "parent": "0x419ea0" }, + { + "manual": true, + "start": "0x41b530", + "end": "0x41b548", + "module": "wow.exe", + "icount": "0x0", + "parent": "0x41b530" + }, { "manual": true, "start": "0x41b720", @@ -33382,12 +33406,24 @@ "text": "CopyCursorImage", "address": "0x2160b0" }, + { + "manual": true, + "module": "wow.exe", + "text": "UpdateCursor", + "address": "0x2162c0" + }, { "manual": true, "module": "wow.exe", "text": "CursorInitialize", "address": "0x2163b0" }, + { + "manual": true, + "module": "wow.exe", + "text": "CursorSetMode", + "address": "0x216800" + }, { "manual": true, "module": "wow.exe", @@ -35284,6 +35320,12 @@ "text": "FrameScript_Execute", "address": "0x419ea0" }, + { + "manual": true, + "module": "wow.exe", + "text": "FrameScript_SignalEvent", + "address": "0x41b530" + }, { "manual": true, "module": "wow.exe", @@ -36682,6 +36724,12 @@ "text": "s_cursorNames", "address": "0x6d2808" }, + { + "manual": true, + "module": "wow.exe", + "text": "CBLPFile__s_eightBitAlphaLookup", + "address": "0x6d90b0" + }, { "manual": true, "module": "wow.exe", @@ -36748,6 +36796,18 @@ "text": "s_cursorFile", "address": "0x825cd0" }, + { + "manual": true, + "module": "wow.exe", + "text": "s_cursorItemMipsWidth", + "address": "0x825dd4" + }, + { + "manual": true, + "module": "wow.exe", + "text": "s_cursorItemMipsHeight", + "address": "0x825dd8" + }, { "manual": true, "module": "wow.exe",