diff --git a/profile/3.3.5a-windows-386/ida/batch/import_data_types.idc b/profile/3.3.5a-windows-386/ida/batch/import_data_types.idc index a54bec4..85e3e2f 100644 --- a/profile/3.3.5a-windows-386/ida/batch/import_data_types.idc +++ b/profile/3.3.5a-windows-386/ida/batch/import_data_types.idc @@ -397,12 +397,16 @@ static import_data_types() { apply_type(0x00769890, "bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)"); apply_type(0x00769950, "void __stdcall func(CGxFormat* format)"); apply_type(0x00769C00, "bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)"); + apply_type(0x00769C30, "bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)"); + apply_type(0x00769C60, "bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)"); apply_type(0x00769D00, "Hardware* __stdcall func()"); apply_type(0x0076A220, "bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)"); apply_type(0x0076A580, "bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)"); apply_type(0x0076AB80, "int32_t __stdcall func(char* title, int32_t multithreaded)"); apply_type(0x0076B3F0, "void __stdcall func(DefaultSettings* defaults, Hardware* hardware)"); apply_type(0x0076B520, "void __stdcall func(DefaultSettings* defaults, Hardware* hardware)"); + apply_type(0x0076B540, "void __stdcall func(Hardware* hardware@)"); + apply_type(0x0076B5A0, "void __usercall __noreturn func(int32_t messageID, const char* fallbackMessage)"); apply_type(0x0076BA30, "void __stdcall func(Hardware* hardware, bool* hwChanged)"); apply_type(0x0076E4A0, "void __stdcall func(uint32_t flags, uint8_t changeMask)"); apply_type(0x0076E540, "void* __stdcall func(uint32_t bytes, char* filename, int32_t linenumber, uint32_t flags)"); @@ -471,6 +475,7 @@ static import_data_types() { apply_type(0x0086ADC0, "uint64_t __thiscall func(OsTimeManager* this)"); apply_type(0x0086AEA0, "OsTimeManager* __thiscall func(OsTimeManager* this, int32_t a2)"); apply_type(0x0086BBA0, "uint64_t __stdcall func()"); + apply_type(0x0086C6E0, "int32_t __stdcall func(void* parentWindow, int32_t style, const char* message, const char* title)"); apply_type(0x0086D430, "void __stdcall func(TimingMethod timingMethod)"); apply_type(0x0086E200, "void __thiscall func(TSExplicitList_CGxBuf* this, CGxBuf* ptr)"); apply_type(0x008C8DE0, "EGxApi __stdcall func()"); @@ -777,6 +782,7 @@ static import_data_types() { apply_type(0x00ADBAD4, "RECTF"); apply_type(0x00ADBAE4, "uint32_t"); apply_type(0x00ADBBB0, "TSList_CONSOLELINE"); + apply_type(0x00ADBE54, "SoundHardware"); apply_type(0x00ADBE5C, "uint32_t[4]"); apply_type(0x00ADBE6C, "uint8_t[2][2]"); apply_type(0x00ADBE70, "uint32_t[2][2]"); @@ -848,6 +854,7 @@ static import_data_types() { apply_type(0x00CABAA0, "CVar*"); apply_type(0x00CABAA4, "CVar*"); apply_type(0x00CABAA8, "CVar*"); + apply_type(0x00CABAAC, "CVar*"); apply_type(0x00CABAB0, "CVar*"); apply_type(0x00CABAB4, "CVar*"); apply_type(0x00CABAB8, "CVar*"); @@ -858,6 +865,7 @@ static import_data_types() { apply_type(0x00CABAEC, "CVar*"); apply_type(0x00CABAF0, "DefaultSettings"); apply_type(0x00CABB30, "CVar*"); + apply_type(0x00CABB34, "CVar*"); apply_type(0x00CABB38, "Hardware"); apply_type(0x00CABB6C, "CVar*"); apply_type(0x00CABB70, "CVar*"); @@ -870,6 +878,8 @@ static import_data_types() { apply_type(0x00CABBAC, "CVar*"); apply_type(0x00CABBB0, "CVar*"); apply_type(0x00CABBB4, "CVar*"); + apply_type(0x00CABBB8, "char[256]"); + apply_type(0x00CABCB8, "CGxDevice*"); apply_type(0x00CABCBC, "bool"); apply_type(0x00CABCBD, "bool"); apply_type(0x00CABCBE, "bool"); diff --git a/profile/3.3.5a-windows-386/ida/batch/import_functions.idc b/profile/3.3.5a-windows-386/ida/batch/import_functions.idc index b12af78..7d66569 100644 --- a/profile/3.3.5a-windows-386/ida/batch/import_functions.idc +++ b/profile/3.3.5a-windows-386/ida/batch/import_functions.idc @@ -60,6 +60,7 @@ static import_functions() { set_func_cmt(0x0065C290, "00005410", 0); set_func_cmt(0x0065F520, "WowClientDB::GetRecordByIndex(int, void*)", 0); set_func_cmt(0x006811D0, "00005410", 0); + set_func_cmt(0x006811F0, "GxAdapterID(unsigned short&, unsigned short&, unsigned int&, unsigned int&)", 0); set_func_cmt(0x00681BE0, "UC", 0); set_func_cmt(0x00682400, "this is one of the functions named 'GxPrimVertexPtr' that uses the fixed-function pipeline", 0); set_func_cmt(0x00683670, "static void CGxDevice::LogOpen(void)", 0); diff --git a/profile/3.3.5a-windows-386/ida/batch/import_symbols.idc b/profile/3.3.5a-windows-386/ida/batch/import_symbols.idc index 70557bc..dafb9d0 100644 --- a/profile/3.3.5a-windows-386/ida/batch/import_symbols.idc +++ b/profile/3.3.5a-windows-386/ida/batch/import_symbols.idc @@ -2286,6 +2286,8 @@ static import_symbols() { set_name(0x0065C290, "WowClientDB__GetRecord"); set_name(0x0065F520, "WowClientDB_AchievementRec__GetRecordByIndex"); set_name(0x006811D0, "GxApiSupported"); + set_name(0x006811F0, "GxAdapterID"); + set_name(0x00681200, "GxAdapterInfer"); set_name(0x00681210, "GxAdapterMonitorModes"); set_name(0x00681220, "GxAdapterDesktopMode"); set_name(0x00681290, "GxDevCreate"); @@ -2297,6 +2299,7 @@ static import_symbols() { set_name(0x00681790, "GxSetMaxFPSBk"); set_name(0x006817A0, "GxGetMaxFPSBk"); set_name(0x006817C0, "GxLogOpen"); + set_name(0x006817D0, "GxLogClose"); set_name(0x006817E0, "GxLog"); set_name(0x00681950, "CGxFormat__CGxFormat"); set_name(0x00681A60, "GxDrawLockedElements"); @@ -2310,6 +2313,7 @@ static import_symbols() { set_name(0x00682400, "GxPrimVertexPtr@2"); set_name(0x006828C0, "GxPrimLockVertexPtrs"); set_name(0x00682A00, "GxScenePresent"); + set_name(0x00682B80, "GxDevDestroy"); set_name(0x00682CB0, "CGxDevice__DeviceCreate"); set_name(0x00682CD0, "CGxDevice__DeviceCreate@2"); set_name(0x00682CF0, "CGxDevice__DeviceDestroy"); @@ -2341,6 +2345,7 @@ static import_symbols() { set_name(0x00683650, "CGxDevice__CursorLock"); set_name(0x00683660, "CGxDevice__CursorSetDepth"); set_name(0x00683670, "CGxDevice__LogOpen"); + set_name(0x006836B0, "CGxDevice__LogClose"); set_name(0x006840F0, "CGxDevice__DeviceSetFormat"); set_name(0x00684170, "CGxDevice__DeviceSetGamma"); set_name(0x00684190, "CGxDevice__DeviceSetGamma@2"); @@ -2395,6 +2400,8 @@ static import_symbols() { set_name(0x00689690, "CGxDevice__scalar_deleting_destructor"); set_name(0x006897C0, "CGxDevice__ShaderCreate"); set_name(0x00689A50, "CGxShader__Valid"); + set_name(0x00689C10, "CGxDevice__DeviceAdapterID"); + set_name(0x00689DB0, "CGxDevice__DeviceAdapterInfer"); set_name(0x00689E80, "CGxMonitorModeSort"); set_name(0x00689EA0, "CGxDevice__FindDisplayDevice"); set_name(0x00689EF0, "CGxDevice__NewD3d"); @@ -2697,6 +2704,9 @@ static import_symbols() { set_name(0x007698B0, "UpdateGxCVars"); set_name(0x00769950, "SetGxCVars"); set_name(0x00769C00, "CVGxStereoEnabledCallback"); + set_name(0x00769C30, "CVGxStereoConvergenceCallback"); + set_name(0x00769C60, "CVGxStereoSeparationCallback"); + set_name(0x00769C90, "ConsoleDeviceStereoInitialize"); set_name(0x00769D00, "ConsoleGetHardware"); set_name(0x00769D40, "ConsoleDeviceDestroy"); set_name(0x00769E10, "ValidateFormatMonitor"); @@ -2707,6 +2717,8 @@ static import_symbols() { set_name(0x0076AB80, "ConsoleDeviceInitialize"); set_name(0x0076B3F0, "SetDefaults"); set_name(0x0076B520, "ConsoleDetectSetDefaultsFormat"); + set_name(0x0076B540, "SetVideoIdx"); + set_name(0x0076B5A0, "PrintStartupError"); set_name(0x0076B620, "ConsoleDetectSaveHardware"); set_name(0x0076BA30, "ConsoleDetectDetectHardware"); set_name(0x0076E4A0, "SMemSetDebugFlags"); @@ -2768,6 +2780,7 @@ static import_symbols() { set_name(0x007757E0, "SLogCreate"); set_name(0x00775BB0, "SLogWrite"); set_name(0x00775BD0, "SUniConvertUTF16to8"); + set_name(0x00775D90, "SUniConvertUTF8to16Len"); set_name(0x00775EB0, "SUniConvertUTF8to16"); set_name(0x00777420, "SRgnCombineRectf"); set_name(0x00777590, "SRgnGetBoundingRectf"); @@ -2886,6 +2899,7 @@ static import_symbols() { set_name(0x0086A0D0, "OsInputGetMousePosition"); set_name(0x0086A130, "OsInputSetMousePosition"); set_name(0x0086A1A0, "OsGetDefaultWindowRect"); + set_name(0x0086A210, "OsWindowProc"); set_name(0x0086AB30, "OsTimeManager__Calibrate"); set_name(0x0086AD50, "OsTimeGetTestError"); set_name(0x0086AD70, "OsTimeGetTimingMethodName"); @@ -2915,7 +2929,9 @@ static import_symbols() { set_name(0x0086BC30, "OsPathGetRootChars"); set_name(0x0086BE50, "OsPathStripFilename"); set_name(0x0086BEA0, "OsGetExePath"); + set_name(0x0086C650, "OsGuiSetWindowTitle"); set_name(0x0086C6A0, "OsGuiGetWindow"); + set_name(0x0086C6D0, "OsGuiSetGxWindow"); set_name(0x0086C6E0, "OsGuiMessageBox"); set_name(0x0086D0A0, "OsIMEInitialize"); set_name(0x0086D0C0, "OsIMEDestroy"); @@ -3415,6 +3431,7 @@ static import_symbols() { set_name(0x00ADBAD4, "s_hRect"); set_name(0x00ADBAE4, "s_baseTextFlags"); set_name(0x00ADBBB0, "s_linelist"); + set_name(0x00ADBE54, "s_soundHwSettings"); set_name(0x00ADBE5C, "s_detailDoodadDensity"); set_name(0x00ADBE6C, "s_animatingDoodads"); set_name(0x00ADBE70, "s_waterLOD"); @@ -3440,30 +3457,30 @@ static import_symbols() { set_name(0x00B417D0, "s_interactiveCount"); set_name(0x00B41850, "s_messageRecycler"); set_name(0x00B6A9DC, "CGlueMgr__m_cursorMipBits"); - set_name(0x00BCFB8C, "m_hasControl"); - set_name(0x00BCFB90, "m_lastErrorMessage"); - set_name(0x00BD0748, "m_cursorItemType"); - set_name(0x00BD074C, "m_cursorHasAction"); - set_name(0x00BD0750, "m_cursorVirtualSlot"); - set_name(0x00BD0754, "m_cursorVirtualDisplay"); - set_name(0x00BD0758, "m_cursorVirtualID"); - set_name(0x00BD0770, "m_stackSplit"); - set_name(0x00BD0792, "m_inWorld"); - set_name(0x00BD0798, "m_interactMaxDistSq"); - set_name(0x00BD079C, "m_cursorMoney"); - set_name(0x00BD07B8, "m_lastTarget"); - set_name(0x00BD07C0, "m_lastEnemyTarget"); - set_name(0x00BD07C8, "m_lastFriendTraget"); - set_name(0x00BD07D8, "m_directionalTarget"); - set_name(0x00BD07E0, "m_cursorSpell"); - set_name(0x00BD07FC, "m_inCinematic"); - set_name(0x00BD0818, "m_corpseMapID"); - set_name(0x00BD081C, "m_corpseActualMapID"); - set_name(0x00BD0838, "m_areaSpiritHealerGUID"); - set_name(0x00BD0858, "m_instanceLockTime"); - set_name(0x00BD085C, "m_instanceLockComletedMask"); - set_name(0x00BD0860, "m_instanceLockExtending"); - set_name(0x00BD086C, "m_billingExpireTime"); + set_name(0x00BCFB8C, "CGGameUI__m_hasControl"); + set_name(0x00BCFB90, "CGGameUI__m_lastErrorMessage"); + set_name(0x00BD0748, "CGGameUI__m_cursorItemType"); + set_name(0x00BD074C, "CGGameUI__m_cursorHasAction"); + set_name(0x00BD0750, "CGGameUI__m_cursorVirtualSlot"); + set_name(0x00BD0754, "CGGameUI__m_cursorVirtualDisplay"); + set_name(0x00BD0758, "CGGameUI__m_cursorVirtualID"); + set_name(0x00BD0770, "CGGameUI__m_stackSplit"); + set_name(0x00BD0792, "CGGameUI__m_inWorld"); + set_name(0x00BD0798, "CGGameUI__m_interactMaxDistSq"); + set_name(0x00BD079C, "CGGameUI__m_cursorMoney"); + set_name(0x00BD07B8, "CGGameUI__m_lastTarget"); + set_name(0x00BD07C0, "CGGameUI__m_lastEnemyTarget"); + set_name(0x00BD07C8, "CGGameUI__m_lastFriendTraget"); + set_name(0x00BD07D8, "CGGameUI__m_directionalTarget"); + set_name(0x00BD07E0, "CGGameUI__m_cursorSpell"); + set_name(0x00BD07FC, "CGGameUI__m_inCinematic"); + set_name(0x00BD0818, "CGGameUI__m_corpseMapID"); + set_name(0x00BD081C, "CGGameUI__m_corpseActualMapID"); + set_name(0x00BD0838, "CGGameUI__m_areaSpiritHealerGUID"); + set_name(0x00BD0858, "CGGameUI__m_instanceLockTime"); + set_name(0x00BD085C, "CGGameUI__m_instanceLockComletedMask"); + set_name(0x00BD0860, "CGGameUI__m_instanceLockExtending"); + set_name(0x00BD086C, "CGGameUI__m_billingExpireTime"); set_name(0x00C25CD0, "s_cursorFile"); set_name(0x00C25DD4, "s_cursorItemMipsWidth"); set_name(0x00C25DD8, "s_cursorItemMipsHeight"); @@ -3522,6 +3539,7 @@ static import_symbols() { set_name(0x00CABAA0, "s_cvGxMaximize"); set_name(0x00CABAA4, "s_cvGxMultisample"); set_name(0x00CABAA8, "s_cvGxCursor"); + set_name(0x00CABAAC, "s_cvGxStereoSeparation"); set_name(0x00CABAB0, "s_cvGxMultisampleQuality"); set_name(0x00CABAB4, "s_cvGxResolution"); set_name(0x00CABAB8, "s_cvHwDetect"); @@ -3532,6 +3550,7 @@ static import_symbols() { set_name(0x00CABAEC, "s_cvGxVSync"); set_name(0x00CABAF0, "s_defaults"); set_name(0x00CABB30, "s_cvVideoOptionsVersion"); + set_name(0x00CABB34, "s_cvGxStereoConvergence"); set_name(0x00CABB38, "s_hardware"); set_name(0x00CABB6C, "s_cvMaxFPSBk"); set_name(0x00CABB70, "s_cvGxTripleBuffer"); @@ -3544,6 +3563,8 @@ static import_symbols() { set_name(0x00CABBAC, "s_cvWidescreen"); set_name(0x00CABBB0, "s_cvGxWindow"); set_name(0x00CABBB4, "s_cvWindowResizeLock"); + set_name(0x00CABBB8, "s_windowTitle"); + set_name(0x00CABCB8, "s_device"); set_name(0x00CABCBC, "s_hardwareDetected"); set_name(0x00CABCBD, "s_hwChanged"); set_name(0x00CABCBE, "s_hwDetect"); diff --git a/profile/3.3.5a-windows-386/x64dbg/game.dd32 b/profile/3.3.5a-windows-386/x64dbg/game.dd32 index 6be218d..5d19e36 100644 Binary files a/profile/3.3.5a-windows-386/x64dbg/game.dd32 and b/profile/3.3.5a-windows-386/x64dbg/game.dd32 differ diff --git a/profile/3.3.5a-windows-386/x64dbg/types.json b/profile/3.3.5a-windows-386/x64dbg/types.json index 46664bb..3d47d9f 100644 --- a/profile/3.3.5a-windows-386/x64dbg/types.json +++ b/profile/3.3.5a-windows-386/x64dbg/types.json @@ -332,6 +332,10 @@ "type": "void**", "name": "TEXTURERECREATIONCALLBACK" }, + { + "type": "long long", + "name": "TimingMethod" + }, { "type": "int32_t", "name": "intptr_t" @@ -2283,6 +2287,103 @@ } ] }, + { + "name": "CDataStore", + "size": 24, + "members": [ + { + "type": "CDataStore__v_table*", + "name": "v_table", + "offset": 0 + }, + { + "type": "uint8_t*", + "name": "m_data", + "offset": 4 + }, + { + "type": "uint32_t", + "name": "m_base", + "offset": 8 + }, + { + "type": "uint32_t", + "name": "m_alloc", + "offset": 12 + }, + { + "type": "uint32_t", + "name": "m_size", + "offset": 16 + }, + { + "type": "uint32_t", + "name": "m_read", + "offset": 20 + } + ] + }, + { + "name": "CDataStore__v_table", + "size": 44, + "members": [ + { + "type": "void*", + "name": "fn_InternalInitialize", + "offset": 0 + }, + { + "type": "void*", + "name": "fn_InternalDestroy", + "offset": 4 + }, + { + "type": "void*", + "name": "fn_InternalFetchRead", + "offset": 8 + }, + { + "type": "void*", + "name": "fn_InternalFetchWrite", + "offset": 12 + }, + { + "type": "void*", + "name": "fn_destructor", + "offset": 16 + }, + { + "type": "void*", + "name": "fn_IsRead", + "offset": 20 + }, + { + "type": "void*", + "name": "fn_Reset", + "offset": 24 + }, + { + "type": "void*", + "name": "fn_Finalize", + "offset": 28 + }, + { + "type": "void*", + "name": "fn_GetBufferParams", + "offset": 32 + }, + { + "type": "void*", + "name": "fn_DetachBuffer", + "offset": 36 + }, + { + "type": "void*", + "name": "fn_GetHeaderSpace", + "offset": 40 + } + ] + }, { "name": "CGxDeviceD3d__GxVertexDecl", "size": 4, @@ -11375,6 +11476,17 @@ } ] }, + { + "name": "HEVENTCONTEXT__", + "size": 4, + "members": [ + { + "type": "int32_t", + "name": "unused", + "offset": 0 + } + ] + }, { "name": "HFACE__", "size": 4, @@ -21800,6 +21912,127 @@ } ] }, + { + "name": "ProcessorFeatures", + "size": 92, + "members": [ + { + "type": "uint32_t", + "name": "std_0b", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "std_0d", + "offset": 4 + }, + { + "type": "uint32_t", + "name": "std_0c", + "offset": 8 + }, + { + "type": "uint32_t", + "name": "std_0a", + "offset": 12 + }, + { + "type": "uint32_t", + "name": "std_1b", + "offset": 16 + }, + { + "type": "uint32_t", + "name": "std_1d", + "offset": 20 + }, + { + "type": "uint32_t", + "name": "std_4a", + "offset": 24 + }, + { + "type": "uint32_t", + "name": "ext_0a", + "offset": 28 + }, + { + "type": "uint32_t", + "name": "ext_1c", + "offset": 32 + }, + { + "type": "uint32_t", + "name": "ext_1d", + "offset": 36 + }, + { + "type": "uint32_t", + "name": "ext_8c", + "offset": 40 + }, + { + "type": "uint32_t", + "name": "ext_2a", + "offset": 44 + }, + { + "type": "uint32_t", + "name": "ext_2b", + "offset": 48 + }, + { + "type": "uint32_t", + "name": "ext_2c", + "offset": 52 + }, + { + "type": "uint32_t", + "name": "ext_2d", + "offset": 56 + }, + { + "type": "uint32_t", + "name": "ext_3a", + "offset": 60 + }, + { + "type": "uint32_t", + "name": "ext_3b", + "offset": 64 + }, + { + "type": "uint32_t", + "name": "ext_3c", + "offset": 68 + }, + { + "type": "uint32_t", + "name": "ext_3d", + "offset": 72 + }, + { + "type": "uint32_t", + "name": "ext_4a", + "offset": 76 + }, + { + "type": "uint32_t", + "name": "ext_4b", + "offset": 80 + }, + { + "type": "uint32_t", + "name": "ext_4c", + "offset": 84 + }, + { + "type": "uint32_t", + "name": "ext_4d", + "offset": 88 + } + ] + }, { "name": "QuestFactionRewardRec", "size": 44, @@ -22015,6 +22248,78 @@ "name": "SFile", "size": 0 }, + { + "name": "SSyncObject", + "size": 4, + "members": [ + { + "type": "void*", + "name": "m_opaqueData", + "offset": 0 + } + ] + }, + { + "name": "STORMOPTIONS", + "size": 44, + "members": [ + { + "type": "int32_t", + "name": "smemleaksilentwarning", + "offset": 0 + }, + { + "type": "int32_t", + "name": "serrleaksilentwarning", + "offset": 4 + }, + { + "type": "uint32_t", + "name": "wavechunksize", + "offset": 8 + }, + { + "type": "int32_t", + "name": "opt0C", + "offset": 12 + }, + { + "type": "int32_t", + "name": "opt10", + "offset": 16 + }, + { + "type": "int32_t", + "name": "opt14", + "offset": 20 + }, + { + "type": "int32_t", + "name": "opt18", + "offset": 24 + }, + { + "type": "int32_t", + "name": "opt1C", + "offset": 28 + }, + { + "type": "int32_t", + "name": "sregunicode", + "offset": 32 + }, + { + "type": "int32_t", + "name": "opt24", + "offset": 36 + }, + { + "type": "int32_t", + "name": "opt28", + "offset": 40 + } + ] + }, { "name": "ScalingStatDistributionRec", "size": 88, @@ -32038,6 +32343,28 @@ } ] }, + { + "name": "SEvent", + "size": 4, + "members": [ + { + "type": "SSyncObject", + "name": "b_base", + "offset": 0 + } + ] + }, + { + "name": "SThread", + "size": 4, + "members": [ + { + "type": "SSyncObject", + "name": "b_base", + "offset": 0 + } + ] + }, { "name": "RCString", "size": 12, @@ -33684,6 +34011,37 @@ } ] }, + { + "name": "OsTimeManager", + "size": 40, + "members": [ + { + "type": "double", + "name": "scaleToMs", + "offset": 0 + }, + { + "type": "TimingMethod", + "name": "timingMethod", + "offset": 8 + }, + { + "type": "uint32_t", + "name": "timingTestError", + "offset": 16 + }, + { + "type": "int64_t", + "name": "performanceFrequency", + "offset": 24 + }, + { + "type": "double", + "name": "timeBegin", + "offset": 32 + } + ] + }, { "name": "WowClientDB_Common_AchievementRec", "size": 24,