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 f23dc42..fab6265 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 @@ -6,7 +6,45 @@ static import_data_types() { apply_type(0x00401030, "void __stdcall func(void* ptr)"); apply_type(0x00408070, "void __stdcall func(float* minX, float* maxX, float* minY, float* maxY, float* minZ, float* maxZ)"); apply_type(0x00409670, "void __thiscall func(CGxDevice* this)"); + apply_type(0x004271D0, "bool __stdcall func(char* name, Blizzard__File__Info* info)"); + apply_type(0x00427250, "Blizzard__File__Info* __stdcall func(Blizzard__File__StreamRecord* file)"); + apply_type(0x004272C0, "bool __stdcall func(Blizzard__File__StreamRecord* file, Blizzard__File__FileInfo* info)"); + apply_type(0x00427CC0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00427D10, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00428500, "char* __stdcall func(char* str)"); + apply_type(0x00428670, "int32_t __stdcall func(char* dst, const char* src, int32_t count)"); + apply_type(0x00428940, "int32_t __stdcall func(uint8_t* dst, uint32_t dstmaxchars, const uint16_t* src, uint32_t srcmaxchars, uint32_t* dstchars, uint32_t* srcchars)"); + apply_type(0x00428B00, "int32_t __stdcall func(uint16_t* dst, uint32_t dstmaxchars, const uint8_t* src, uint32_t srcmaxchars, uint32_t* dstchars, uint32_t* srcchars)"); + apply_type(0x00428F00, "Blizzard__Time__Timestamp __stdcall func(uint64_t fileTime)"); apply_type(0x0042D440, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x0042D620, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x004325C0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00433590, "void __stdcall func(uint8_t *buffer, uint32_t buffersize, const char *str)"); + apply_type(0x00435580, "void __stdcall func(Blizzard__File__StreamRecord* file)"); + apply_type(0x004356B0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00435790, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00435890, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x004359C0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00454A50, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00454AC0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00454AE0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00454B50, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00454CB0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00454CF0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00454E70, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00454FD0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00455050, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x004550C0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00455130, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x004554C0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00455730, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x004558F0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00455910, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00455A30, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00455B10, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00455BA0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00455CA0, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); + apply_type(0x00455D20, "int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)"); apply_type(0x0047B6F0, "int32_t __stdcall func(CMDOPT)"); apply_type(0x0047B700, "char* __stdcall func(CMDOPT)"); apply_type(0x0047B720, "int32_t __stdcall func()"); @@ -46,13 +84,17 @@ static import_data_types() { apply_type(0x004BE9C0, "HTEXTFONT __stdcall func(char* fontName, uint32_t fontFlags, float fontHeight)"); apply_type(0x004C4B80, "void __thiscall func(TSGrowableArray_C3Vector* this, uint32_t count)"); apply_type(0x00532AF0, "CGxCaps* __thiscall func(CGxDevice* this)"); + apply_type(0x0054EFE0, "void __fastcall func(TSGrowableArray_C2iVector* this, C2iVector* resolution)"); apply_type(0x0057FDD0, "void __thiscall func(TSGrowableArray_C2Vector* this, uint32_t count)"); 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(0x00616CA0, "void __thiscall func(TSGrowableArray_CImVector* this, uint32_t count)"); + apply_type(0x006811D0, "int32_t __stdcall func(EGxApi api)"); apply_type(0x00681210, "int32_t __stdcall func(TSGrowableArray_CGxMonitorMode* modes)"); apply_type(0x00681220, "int32_t __stdcall func(CGxMonitorMode* mode)"); apply_type(0x00681630, "void __stdcall func(CGxQuery** query, EGxQueryType type)"); + apply_type(0x00681770, "void __stdcall func(uint32_t maxFPS)"); + apply_type(0x00681790, "void __stdcall func(uint32_t maxFPSBk)"); apply_type(0x006817C0, "void __stdcall func()"); apply_type(0x006817E0, "int __stdcall func(char* format, ...)"); apply_type(0x00681A60, "void __stdcall func()"); @@ -147,7 +189,12 @@ static import_data_types() { apply_type(0x006890C0, "void __thiscall func(CGxDevice* this)"); apply_type(0x00689690, "void __thiscall func(CGxDevice* this, uint8_t __flags)"); apply_type(0x006897C0, "void __thiscall func(CGxDevice* this, CGxShader**, EGxShTarget, char*, char*, int32_t)"); + apply_type(0x00689E80, "int32_t __stdcall func(void* a, void* b)"); + apply_type(0x00689EA0, "int32_t __stdcall func(PDISPLAY_DEVICEA device, uint32_t flag)"); apply_type(0x00689EF0, "CGxDevice* __stdcall func()"); + apply_type(0x0068A090, "CGxMonitorMode* __thiscall func(TSGrowableArray_CGxMonitorMode* this)"); + apply_type(0x0068A0F0, "void __thiscall func(TSGrowableArray_CGxMonitorMode* this, uint32_t count)"); + apply_type(0x0068A4C0, "void __stdcall func(TSGrowableArray_CGxMonitorMode* modes)"); apply_type(0x0068BBC0, "void __thiscall func(CGxDeviceOpenGl* this)"); apply_type(0x0068BF20, "CGxDevice* __stdcall func()"); apply_type(0x0068C220, "CGxDevice* __stdcall func()"); @@ -304,6 +351,7 @@ static import_data_types() { apply_type(0x00769610, "bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)"); apply_type(0x00769650, "bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)"); apply_type(0x007696A0, "bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)"); + apply_type(0x007696D0, "void __stdcall func(char* list)"); apply_type(0x00769810, "bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)"); apply_type(0x00769830, "bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)"); apply_type(0x00769860, "bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)"); @@ -373,8 +421,8 @@ static import_data_types() { apply_type(0x00818070, "void __stdcall func(lua_State* L, int startIndex, char* buffer, uint32_t bufferSize)"); apply_type(0x00819830, "void __thiscall func(FrameScript_Object* this)"); apply_type(0x00819EA0, "void __stdcall func(int32_t function, FrameScript_Object* object, int32_t args, char* args_fmt, FrameScript_EventObject* eventObject)"); + apply_type(0x0086BBA0, "uint64_t __stdcall func()"); apply_type(0x0086E200, "void __thiscall func(TSExplicitList_CGxBuf* this, CGxBuf* ptr)"); - apply_type(0x008A1420, "bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)"); apply_type(0x008C8DE0, "EGxApi __stdcall func()"); apply_type(0x0095BFB0, "int32_t __stdcall func()"); apply_type(0x0095F3A0, "void __thiscall func(CSimpleModel* this)"); @@ -423,9 +471,13 @@ static import_data_types() { apply_type(0x00961470, "int32_t __stdcall func(lua_State* L)"); apply_type(0x009614B0, "int32_t __stdcall func(lua_State* L)"); apply_type(0x009AD000, "void __thiscall func(DayNight__DNGlare* this, char* a1)"); + apply_type(0x009E537C, "uint32_t[7]"); + apply_type(0x009E5398, "uint8_t[256]"); apply_type(0x009E9EC8, "uint32_t[7]"); apply_type(0x00A2DDC0, "CGxDevice__vtable"); apply_type(0x00AB90AC, "Blizzard__File__Filesystem*"); + apply_type(0x00AB91C0, "Blizzard__File__Filesystem"); + apply_type(0x00AB92C0, "Blizzard__File__Filesystem"); apply_type(0x00AC1B9C, "TSExplicitList_CILayer"); apply_type(0x00AD2808, "char*[53]"); apply_type(0x00AD305C, "WowClientDB_AchievementRec"); @@ -679,11 +731,14 @@ static import_data_types() { apply_type(0x00ADBEC0, "float[4][2]"); apply_type(0x00ADBEE0, "float[4][2]"); apply_type(0x00ADBF00, "float[5][2]"); + apply_type(0x00ADBF88, "WowClientDB_VideoHardwareRec"); apply_type(0x00AF4998, "WowClientDB_LightSkyboxRec"); apply_type(0x00AF49BC, "WowClientDB_LightIntBandRec"); apply_type(0x00AF49E0, "WowClientDB_LightFloatBandRec"); apply_type(0x00AF4A04, "WowClientDB_LightParamsRec"); apply_type(0x00AF4A28, "WowClientDB_LightRec"); + apply_type(0x00B38A5C, "Blizzard__Lock__DoOnceData"); + apply_type(0x00B38A64, "Blizzard__Lock__DoOnceData"); apply_type(0x00B417C8, "uint32_t"); apply_type(0x00B417D0, "int32_t"); apply_type(0x00B41850, "CDataRecycler"); @@ -693,6 +748,8 @@ static import_data_types() { apply_type(0x00C26DE8, "CURSORMODE"); apply_type(0x00C26DF0, "uint32_t[53][1024]"); apply_type(0x00C5DE9C, "int32_t"); + apply_type(0x00C5DF74, "uint32_t"); + apply_type(0x00C5DF7C, "uint32_t"); apply_type(0x00C5DF88, "CGxDevice*"); apply_type(0x00C5FFF8, "HSLOG"); apply_type(0x00CA1690, "float"); @@ -740,6 +797,7 @@ static import_data_types() { apply_type(0x00CABABC, "CVar*"); apply_type(0x00CABAC0, "CVar*"); apply_type(0x00CABAC4, "CVar*"); + apply_type(0x00CABAC8, "int32_t[9]"); apply_type(0x00CABAEC, "CVar*"); apply_type(0x00CABAF0, "DefaultSettings"); apply_type(0x00CABB30, "CVar*"); @@ -748,6 +806,7 @@ static import_data_types() { apply_type(0x00CABB70, "CVar*"); apply_type(0x00CABB74, "CVar*"); apply_type(0x00CABB78, "CVar*"); + apply_type(0x00CABB7C, "uint32_t[9]"); apply_type(0x00CABBA0, "CVar*"); apply_type(0x00CABBA4, "CVar*"); apply_type(0x00CABBA8, "CVar*"); @@ -764,5 +823,7 @@ static import_data_types() { apply_type(0x00CABDA8, "CGxFormat"); apply_type(0x00CABE00, "CGxFormat"); apply_type(0x00CABE98, "CGxFormat[5]"); + apply_type(0x00D41580, "int32_t"); + apply_type(0x00D415C8, "uint64_t"); apply_type(0x00D43020, "int32_t"); } 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 31b166b..6ee3808 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 @@ -51,12 +51,14 @@ static import_functions() { set_func_cmt(0x00659B80, "WowClientDB::LoadRecords(SFile*, char const*, int)", 0); set_func_cmt(0x0065C290, "00005410", 0); set_func_cmt(0x0065F520, "WowClientDB::GetRecordByIndex(int, void*)", 0); + set_func_cmt(0x006811D0, "00005410", 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); set_func_cmt(0x00684C40, "CGxDevice::Log(CGxCaps const&) const", 0); set_func_cmt(0x006859E0, "CGxDevice::IRsForceUpdate(EGxRenderState)", 0); set_func_cmt(0x00685A70, "CGxDevice::IRsForceUpdate()", 0); + set_func_cmt(0x00689EA0, "UC", 0); set_func_cmt(0x0069FE10, "UC (invented name)", 0); set_func_cmt(0x006AA350, "UC", 0); set_func_cmt(0x006AA420, "private utility method", 0); @@ -110,6 +112,7 @@ static import_functions() { set_func_cmt(0x0081AC90, "vFrameScript_SignalEvent(unsigned int, char const*, char*)", 0); set_func_cmt(0x0081B530, "FrameScript_SignalEvent(unsigned int, char const*, ...)", 0); set_func_cmt(0x0081B5F0, "FrameScript_CreateEvents(char const**, unsigned int)", 0); + set_func_cmt(0x008A1420, "known names: System_File::Shutdown, CVGxVideoOptionsVersionCallback", 0); set_func_cmt(0x008E5250, "Script_ToggleTris", 0); set_func_cmt(0x0095D110, "CDataAllocator::GetData(int, char const*, int)", 0); set_func_cmt(0x0095D1B0, "CDataAllocator::PutData(void*, char const*, int)", 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 bdaa5e8..4dd0c20 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 @@ -2,8 +2,8 @@ static import_symbols() { // Set/create names - set_name(0x00401010, "operator_new"); - set_name(0x00401030, "operator_delete_array"); + set_name(0x00401010, "Blizzard__Memory__Allocate"); + set_name(0x00401030, "Blizzard__Memory__Free"); set_name(0x00401070, "CDataStore__FetchWrite"); set_name(0x004010D0, "CDataStore__IsRead"); set_name(0x004010E0, "CDataStore__Reset"); @@ -42,12 +42,65 @@ static import_symbols() { set_name(0x00424F80, "SFile__Open"); set_name(0x004270F0, "Blizzard__File__Close"); set_name(0x00427130, "Blizzard__File__Delete"); + set_name(0x004271D0, "Blizzard__File__GetFileInfo"); + set_name(0x00427250, "Blizzard__File__GetFileInfo@2"); + set_name(0x004272C0, "Blizzard__File__GetFileInfo@3"); + set_name(0x004273A0, "Blizzard__File__GetPos"); + set_name(0x00427410, "Blizzard__File__GetRootChars"); + set_name(0x00427470, "Blizzard__File__GetWorkingDirectory"); + set_name(0x004274C0, "Blizzard__File__IsAbsolutePath"); set_name(0x00427500, "Blizzard__File__MakeAbsolutePath"); set_name(0x00427560, "Blizzard__File__Move"); + set_name(0x004275B0, "Blizzard__File__Copy"); set_name(0x00427600, "Blizzard__File__Open"); set_name(0x004276C0, "Blizzard__File__Read"); set_name(0x004279B0, "Blizzard__File__Write"); + set_name(0x00427C70, "System_File__FromNativeAttributes"); + set_name(0x00427CC0, "System_File__ReadP"); + set_name(0x00427D10, "System_File__WriteP"); + set_name(0x00428500, "Blizzard__String__FindFilename"); + set_name(0x00428670, "Blizzard__String__Copy"); + set_name(0x00428940, "Blizzard__Unicode__ConvertUTF16to8"); + set_name(0x00428B00, "Blizzard__Unicode__ConvertUTF8to16"); + set_name(0x00428F00, "Blizzard__Time__FromFileTime"); + set_name(0x0042CEA0, "Blizzard__File__CreateDirectory"); + set_name(0x0042CFB0, "HoistAll"); set_name(0x0042D440, "System_File__Stacked__file_init"); + set_name(0x0042D620, "System_File__Close"); + set_name(0x0042E670, "Blizzard__String__Format"); + set_name(0x004325C0, "System_File__GetRootChars"); + set_name(0x00433590, "System_File__FromNativeName"); + set_name(0x00433650, "Blizzard__String__QuickNativePath_300__QuickNativePath"); + set_name(0x00435580, "System_File__GetFileInfoByFile"); + set_name(0x004356B0, "System_File__Exists"); + set_name(0x00435790, "System_File__MakeAbsolutePath"); + set_name(0x00435890, "System_File__Move"); + set_name(0x004359C0, "System_File__Delete"); + set_name(0x00454870, "System_File__read_overlapped"); + set_name(0x00454910, "System_File__write_overlapped"); + set_name(0x00454A50, "System_File__SetWorkingDirectory"); + set_name(0x00454AC0, "System_File__Create"); + set_name(0x00454AE0, "System_File__GetWorkingDirectory"); + set_name(0x00454B50, "System_File__ProcessDirFast"); + set_name(0x00454CB0, "System_File__Flush"); + set_name(0x00454CF0, "System_File__GetFileInfo"); + set_name(0x00454E70, "System_File__GetFreeSpace"); + set_name(0x00454FD0, "System_File__GetPos"); + set_name(0x00455050, "System_File__IsAbsolutePath"); + set_name(0x004550C0, "System_File__IsReadOnly"); + set_name(0x00455130, "System_File__CreateDirectory"); + set_name(0x004554C0, "System_File__Copy"); + set_name(0x00455730, "System_File__Open"); + set_name(0x004558F0, "System_File__Read"); + set_name(0x00455910, "System_File__RemoveDirectory"); + set_name(0x00455A30, "System_File__SetCacheMode"); + set_name(0x00455B10, "System_File__SetEOF"); + set_name(0x00455BA0, "System_File__SetAttributes"); + set_name(0x00455CA0, "System_File__SetPos"); + set_name(0x00455D20, "System_File__Write"); + set_name(0x00457820, "System_File__read_locked"); + set_name(0x00457910, "System_File__write_locked"); + set_name(0x00459910, "System_File__detect_io_mode"); set_name(0x00461B00, "OsCloseFile"); set_name(0x00461B50, "OsReadFile"); set_name(0x00461BD0, "OsGetFileSize"); @@ -862,6 +915,7 @@ static import_symbols() { set_name(0x0054ED80, "Script_SetupFullscreenScale"); set_name(0x0054EE60, "Script_GetVideoCaps"); set_name(0x0054EF90, "Script_IsStereoVideoAvailable"); + set_name(0x0054EFE0, "AddResolution"); set_name(0x0054F430, "Script_GetScreenResolutions"); set_name(0x0054F4A0, "Script_GetCurrentResolution"); set_name(0x0054F570, "Script_SetScreenResolution"); @@ -2139,12 +2193,15 @@ static import_symbols() { set_name(0x00659B80, "WowClientDB_CharBaseInfoRec__LoadRecords"); set_name(0x0065C290, "WowClientDB__GetRecord"); set_name(0x0065F520, "WowClientDB_AchievementRec__GetRecordByIndex"); + set_name(0x006811D0, "GxApiSupported"); set_name(0x00681210, "GxAdapterMonitorModes"); set_name(0x00681220, "GxAdapterDesktopMode"); set_name(0x00681290, "GxDevCreate"); set_name(0x006813B0, "GxSceneClear"); set_name(0x006813D0, "GxTexUpdate"); set_name(0x00681630, "GxQueryCreate"); + set_name(0x00681770, "GxSetMaxFPS"); + set_name(0x00681790, "GxSetMaxFPSBk"); set_name(0x006817C0, "GxLogOpen"); set_name(0x006817E0, "GxLog"); set_name(0x00681A60, "GxDrawLockedElements"); @@ -2243,7 +2300,12 @@ static import_symbols() { set_name(0x00689690, "CGxDevice__scalar_deleting_destructor"); set_name(0x006897C0, "CGxDevice__ShaderCreate"); set_name(0x00689A50, "CGxShader__Valid"); + set_name(0x00689E80, "CGxMonitorModeSort"); + set_name(0x00689EA0, "CGxDevice__FindDisplayDevice"); set_name(0x00689EF0, "CGxDevice__NewD3d"); + set_name(0x0068A090, "TSGrowableArray_CGxMonitorMode__New"); + set_name(0x0068A0F0, "TSGrowableArray_CGxMonitorMode__SetCount"); + set_name(0x0068A4C0, "CGxDevice__AdapterMonitorModes"); set_name(0x0068BBC0, "CGxDeviceOpenGl__CGxDeviceOpenGl"); set_name(0x0068BF20, "CGxDevice__NewOpenGl"); set_name(0x0068C220, "CGxDevice__NewD3d9Ex"); @@ -2520,6 +2582,7 @@ static import_symbols() { set_name(0x00769610, "CVGxMultisampleCallback"); set_name(0x00769650, "CVGxMultisampleQualityCallback"); set_name(0x007696A0, "CVGxFixLagCallback"); + set_name(0x007696D0, "ConsoleGxOverride"); set_name(0x00769810, "CVGxOverrideCallback"); set_name(0x00769830, "CVGxMaxFPSCallback"); set_name(0x00769860, "CVGxMaxFPSBkCallback"); @@ -2586,7 +2649,9 @@ static import_symbols() { set_name(0x00774690, "SSyncObject__Wait"); set_name(0x00774720, "SEvent__Set"); set_name(0x00774730, "SEvent__Reset"); + set_name(0x007754A0, "SLogClose"); set_name(0x007757E0, "SLogCreate"); + set_name(0x00775BB0, "SLogWrite"); set_name(0x00777420, "SRgnCombineRectf"); set_name(0x00777590, "SRgnGetBoundingRectf"); set_name(0x00777940, "SRgnDelete"); @@ -2694,6 +2759,7 @@ static import_symbols() { set_name(0x00856760, "luaD_call"); set_name(0x00857CA0, "_luaV_execute"); set_name(0x008695B0, "RestoreMouse"); + set_name(0x00869620, "OsInputSetWindowResizeLock"); set_name(0x00869720, "OsInputInitialize"); set_name(0x00869760, "OsInputDestroy"); set_name(0x00869D90, "OsInputSetEventPollProc"); @@ -2706,11 +2772,14 @@ static import_symbols() { set_name(0x0086AE20, "OsGetAsyncTimeMs"); set_name(0x0086B0C0, "OsSystemEnableCpuLog"); set_name(0x0086B240, "OsGetProcessorCount"); + set_name(0x0086B780, "OsIsRemoteSession"); + set_name(0x0086BBA0, "OsGetAsyncClocksPerSecond"); set_name(0x0086BBD0, "OsGetExeName"); set_name(0x0086BC30, "OsPathGetRootChars"); set_name(0x0086BE50, "OsPathStripFilename"); set_name(0x0086BEA0, "OsGetExePath"); set_name(0x0086C6A0, "OsGuiGetWindow"); + set_name(0x0086C6E0, "OsGuiMessageBox"); set_name(0x0086D0A0, "OsIMEInitialize"); set_name(0x0086D0C0, "OsIMEDestroy"); set_name(0x0086E200, "TSExplicitList_CGxBuf__LinkToTail"); @@ -2719,10 +2788,10 @@ static import_symbols() { set_name(0x0086F880, "OsCallInitializeContext"); set_name(0x00872280, "OsClipboardGetString"); set_name(0x008722A0, "OsClipboardPutString"); - set_name(0x008726F0, "InternalClipboardGetString"); - set_name(0x008727E0, "InternalClipboardPutString"); + set_name(0x008726F0, "IOsClipboardGetString"); + set_name(0x008727E0, "IOsClipboardPutString"); set_name(0x00872C10, "CShaderEffect__UpdateProjMatrix"); - set_name(0x008A1420, "CVGxVideoOptionsVersionCallback"); + set_name(0x008A1420, "return_one_byte_sub"); set_name(0x008C8DE0, "GxDefaultApi"); set_name(0x008E5250, "return_zero4_sub"); set_name(0x0095BFB0, "ConsoleCommandHistoryDepth"); @@ -2944,13 +3013,19 @@ static import_symbols() { set_name(0x009DE1B0, "nullsub_148"); set_name(0x009DE1C0, "nullsub_149"); set_name(0x009DE1D0, "nullsub_150"); - set_name(0x009E9EC8, "firstByteMark"); + set_name(0x009E537C, "firstByteMark"); + set_name(0x009E5398, "bytesFromUTF8"); + set_name(0x009E9EC8, "firstByteMark@2"); set_name(0x009F1074, "s_pixelFormatToMipBitsCache"); set_name(0x00A2DDC0, "CGxDevice__vtable"); set_name(0x00A2E198, "CGxDeviceOpenGl__vtable"); set_name(0x00A2E718, "CGxDeviceD3d__vtable"); set_name(0x00A2F500, "CGxDeviceD3d9Ex__vtable"); set_name(0x00AB90AC, "System_File__Stacked__s_manager"); + set_name(0x00AB912C, "System_File__read_func"); + set_name(0x00AB91B4, "System_File__write_func"); + set_name(0x00AB91C0, "System_File__Stacked__s_nullstack"); + set_name(0x00AB92C0, "System_File__Stacked__s_basestack"); set_name(0x00AC1B9C, "s_zorderlist"); set_name(0x00AD2808, "s_cursorNames"); set_name(0x00AD305C, "g_achievementDB"); @@ -3204,11 +3279,14 @@ static import_symbols() { set_name(0x00ADBEC0, "s_smallCull"); set_name(0x00ADBEE0, "s_distCull"); set_name(0x00ADBF00, "s_farClip"); + set_name(0x00ADBF88, "g_videoHardwareDB"); set_name(0x00AF4998, "g_lightSkyboxDB"); set_name(0x00AF49BC, "g_lightIntBandDB"); set_name(0x00AF49E0, "g_lightFloatBandDB"); set_name(0x00AF4A04, "g_lightParamsDB"); set_name(0x00AF4A28, "g_lightDB"); + set_name(0x00B38A5C, "System_File__s_read_init"); + set_name(0x00B38A64, "System_File__s_write_init"); set_name(0x00B417C8, "s_mainThread"); set_name(0x00B417D0, "s_interactiveCount"); set_name(0x00B41850, "s_messageRecycler"); @@ -3223,6 +3301,8 @@ static import_symbols() { set_name(0x00C26DE8, "s_cursorMode"); set_name(0x00C26DF0, "s_cursorImages"); set_name(0x00C5DE9C, "_CURRENT_LANGUAGE"); + set_name(0x00C5DF74, "s_maxFPSBk"); + set_name(0x00C5DF7C, "s_maxFPS"); set_name(0x00C5DF88, "g_theGxDevicePtr"); set_name(0x00C5DFDC, "CGxDevice__s_uiVertexShader"); set_name(0x00C5DFE0, "CGxDevice__s_shadowConstants"); @@ -3275,6 +3355,7 @@ static import_symbols() { set_name(0x00CABABC, "s_cvGxOverride"); set_name(0x00CABAC0, "s_cvGxFixLag"); set_name(0x00CABAC4, "s_cvMaxFPS"); + set_name(0x00CABAC8, "s_consoleGxOverrideSet"); set_name(0x00CABAEC, "s_cvGxVSync"); set_name(0x00CABAF0, "s_defaults"); set_name(0x00CABB30, "s_cvVideoOptionsVersion"); @@ -3283,6 +3364,7 @@ static import_symbols() { set_name(0x00CABB70, "s_cvGxTripleBuffer"); set_name(0x00CABB74, "s_cvGxDepthBits"); set_name(0x00CABB78, "s_cvGxColorBits"); + set_name(0x00CABB7C, "s_consoleGxOverrideVal"); set_name(0x00CABBA0, "s_cvGxApi"); set_name(0x00CABBA4, "s_cvGxAspect"); set_name(0x00CABBA8, "s_cvFixedFunction"); @@ -3299,5 +3381,7 @@ static import_symbols() { set_name(0x00CABDA8, "s_fallbackFormat"); set_name(0x00CABE00, "s_lastGoodFormat"); set_name(0x00CABE98, "s_formats"); + set_name(0x00D41580, "s_WindowResizeLock"); + set_name(0x00D415C8, "s_cpuTicksPerSecond"); set_name(0x00D43020, "CShaderEffect__s_enableShaders"); } diff --git a/profile/3.3.5a-windows-386/include/bc/file/filesystem.h b/profile/3.3.5a-windows-386/include/bc/file/filesystem.h index 503f773..6139d20 100644 --- a/profile/3.3.5a-windows-386/include/bc/file/filesystem.h +++ b/profile/3.3.5a-windows-386/include/bc/file/filesystem.h @@ -41,7 +41,7 @@ enum Blizzard__File__Operation { num_operations }; -#define FS_OP(N) bool (*f_##N)(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms) +#define FS_OP(N) bool (*N)(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms) // 0x7C bytes = 4 + 4 + (29 * 4) struct Blizzard__File__Filesystem { diff --git a/profile/3.3.5a-windows-386/include/bc/file/info.h b/profile/3.3.5a-windows-386/include/bc/file/info.h new file mode 100644 index 0000000..7e21c7d --- /dev/null +++ b/profile/3.3.5a-windows-386/include/bc/file/info.h @@ -0,0 +1,22 @@ +#ifndef BC_FILE_INFO_H +#define BC_FILE_INFO_H + +#include "bc/time/timestamp.h" + +DECLARE_STRUCT(Blizzard__File__FileInfo); + +struct Blizzard__File__FileInfo { + char* name; + uint32_t unk04; + // uint32_t unk08; + // uint32_t unk0C; + uint64_t size; // 08 + uint32_t attributes; + Blizzard__Time__Timestamp creationTime; + Blizzard__Time__Timestamp lastWriteTime; + Blizzard__Time__Timestamp lastAccessTime; + int32_t exists; + int32_t normal; +}; + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/include/bc/file/processdir.h b/profile/3.3.5a-windows-386/include/bc/file/processdir.h new file mode 100644 index 0000000..bb5bb03 --- /dev/null +++ b/profile/3.3.5a-windows-386/include/bc/file/processdir.h @@ -0,0 +1,15 @@ +#ifndef BC_FILE_PROCESS_DIR_H +#define BC_FILE_PROCESS_DIR_H + +DECLARE_STRUCT(Blizzard__File__ProcessDirParms); + +struct Blizzard__File__ProcessDirParms { + const char* dir; + const char* item; + void* param; + bool isdir; +}; + +typedef bool (*Blizzard__File__ProcessDirCallback)(const Blizzard__File__ProcessDirParms* parms); + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/include/bc/file/stream.h b/profile/3.3.5a-windows-386/include/bc/file/stream.h index 897f766..6f5aae7 100644 --- a/profile/3.3.5a-windows-386/include/bc/file/stream.h +++ b/profile/3.3.5a-windows-386/include/bc/file/stream.h @@ -1,10 +1,19 @@ #ifndef BC_FILE_STREAM_H #define BC_FILE_STREAM_H +#include "bc/file/info.h" + DECLARE_STRUCT(Blizzard__File__StreamRecord); struct Blizzard__File__StreamRecord { - void* handle; + void* filehandle; + uint32_t flags; + bool haveinfo; + uint32_t unk0C; + Blizzard__File__FileInfo info; + int32_t* unk48; + char* name; // name is a pointer to &filehandle (0x00) + sizeof(StreamRecord) + // extra buffer that holds the actual data of name }; #endif \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/include/bc/lock/do_once.h b/profile/3.3.5a-windows-386/include/bc/lock/do_once.h new file mode 100644 index 0000000..b3dd63b --- /dev/null +++ b/profile/3.3.5a-windows-386/include/bc/lock/do_once.h @@ -0,0 +1,11 @@ +#ifndef BC_LOCK_DO_ONCE_H +#define BC_LOCK_DO_ONCE_H + +DECLARE_STRUCT(Blizzard__Lock__DoOnceData); + +struct Blizzard__Lock__DoOnceData { + bool done; + int32_t atomic; +}; + +#endif diff --git a/profile/3.3.5a-windows-386/include/bc/string/quicknativepath.h b/profile/3.3.5a-windows-386/include/bc/string/quicknativepath.h new file mode 100644 index 0000000..80bc619 --- /dev/null +++ b/profile/3.3.5a-windows-386/include/bc/string/quicknativepath.h @@ -0,0 +1,15 @@ +#ifndef BC_STRING_QUICK_NATIVE_PATH_H +#define BC_STRING_QUICK_NATIVE_PATH_H + +#define BC_STRING_QUICK_NATIVE_PATH(N) \ +typedef struct Blizzard__String__QuickNativePath_##N Blizzard__String__QuickNativePath_##N; \ +struct Blizzard__String__QuickNativePath_##N { \ + uint32_t length; \ + char* path; \ + char buffer[N]; \ +} + +BC_STRING_QUICK_NATIVE_PATH(300); +BC_STRING_QUICK_NATIVE_PATH(1024); + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/include/bc/systemfile/stacked.h b/profile/3.3.5a-windows-386/include/bc/systemfile/stacked.h index 45060b6..60b0216 100644 --- a/profile/3.3.5a-windows-386/include/bc/systemfile/stacked.h +++ b/profile/3.3.5a-windows-386/include/bc/systemfile/stacked.h @@ -1,10 +1,35 @@ #ifndef BC_SYSTEM_FILE_STACKED_H #define BC_SYSTEM_FILE_STACKED_H +#include "system/types.h" +#include "bc/file/stream.h" +#include "bc/file/info.h" +#include "bc/file/processdir.h" + DECLARE_STRUCT(System_File__Stacked__FileParms); struct System_File__Stacked__FileParms { - uint32_t offset; + // the offset of the file operation + // inside Blizzard::File::Filesystem + uint32_t op; //0x0 + // name/path to a file or directory + char* name; //0x4 + char* newname; // 0x8 + Blizzard__File__StreamRecord* file; // 0xC + Blizzard__File__FileInfo* info; + uint32_t extra[17]; // 0x10 + uint32_t flags; + void* data; // + uint32_t count; + int64_t offset; + uint32_t unk__; + char* buffer; + int32_t buffersize; + bool unkbool1; + bool unkbool2; + void* dirwalkparam; + Blizzard__File__ProcessDirCallback dirwalkcallback; + uint32_t extra3[2]; }; #endif diff --git a/profile/3.3.5a-windows-386/include/bc/time/timestamp.h b/profile/3.3.5a-windows-386/include/bc/time/timestamp.h new file mode 100644 index 0000000..f4497b1 --- /dev/null +++ b/profile/3.3.5a-windows-386/include/bc/time/timestamp.h @@ -0,0 +1,6 @@ +#ifndef BC_TIME_TIMESTAMP_H +#define BC_TIME_TIMESTAMP_H + +typedef int64_t Blizzard__Time__Timestamp; + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/include/common/handle.h b/profile/3.3.5a-windows-386/include/common/handle.h index 14e7d6a..9389530 100644 --- a/profile/3.3.5a-windows-386/include/common/handle.h +++ b/profile/3.3.5a-windows-386/include/common/handle.h @@ -3,12 +3,12 @@ #include "system/types.h" -#if !defined(DECLARE_HANDLE) -#define DECLARE_HANDLE(name) \ -typedef struct name##__ { \ +#define DECLARE_HANDLE(I) \ +typedef struct I##__ I##__; \ +struct I##__ { \ int32_t unused; \ -}* name -#endif +}; \ +typedef I##__* I DECLARE_STRUCT(CHandleObject); diff --git a/profile/3.3.5a-windows-386/include/db/records.h b/profile/3.3.5a-windows-386/include/db/records.h index 13e9d10..c7228c0 100644 --- a/profile/3.3.5a-windows-386/include/db/records.h +++ b/profile/3.3.5a-windows-386/include/db/records.h @@ -3166,2869 +3166,6 @@ struct gtSpellScalingRec { }; -struct AchievementRec { - int32_t m_ID; - int32_t m_faction; - int32_t m_instanceID; - int32_t m_supercedes; - const char* m_title; - const char* m_description; - int32_t m_category; - int32_t m_points; - int32_t m_uiOrder; - int32_t m_flags; - int32_t m_iconID; - const char* m_reward; - int32_t m_minimumCriteria; - int32_t m_sharesCriteria; -}; - -struct Achievement_CategoryRec { - int32_t m_ID; - int32_t m_parent; - const char* m_name; - int32_t m_uiOrder; -}; - -struct Achievement_CriteriaRec { - int32_t m_ID; - int32_t m_achievementID; - int32_t m_type; - int32_t m_assetID; - int32_t m_quantity; - int32_t m_startEvent; - int32_t m_startAsset; - int32_t m_failEvent; - int32_t m_failAsset; - const char* m_description; - int32_t m_flags; - int32_t m_timerStartEvent; - int32_t m_timerAssetID; - int32_t m_timerTime; - int32_t m_uiOrder; -}; - -struct AnimKitRec { - int32_t m_ID; - int32_t m_oneShotDuration; - int32_t m_oneShotStopAnimKitID; -}; - -struct AnimKitBoneSetRec { - int32_t m_ID; - const char* m_name; - int32_t m_boneDataID; - int32_t m_parentAnimKitBoneSetID; - int32_t m_extraBoneCount; - int32_t m_altAnimKitBoneSetID; -}; - -struct AnimKitBoneSetAliasRec { - int32_t m_ID; - int32_t m_boneDataID; - int32_t m_animKitBoneSetID; -}; - -struct AnimKitConfigRec { - int32_t m_ID; - int32_t m_configFlags; -}; - -struct AnimKitConfigBoneSetRec { - int32_t m_ID; - int32_t m_parentAnimKitConfigID; - int32_t m_animKitBoneSetID; - int32_t m_animKitPriorityID; -}; - -struct AnimKitPriorityRec { - int32_t m_ID; - int32_t m_priority; -}; - -struct AnimKitSegmentRec { - int32_t m_ID; - int32_t m_parentAnimKitID; - int32_t m_animID; - int32_t m_animStartTime; - int32_t m_animKitConfigID; - int32_t m_startCondition; - int32_t m_startConditionParam; - int32_t m_startConditionDelay; - int32_t m_endCondition; - int32_t m_endConditionParam; - int32_t m_endConditionDelay; - float m_speed; - int32_t m_segmentFlags; - int32_t m_forcedVariation; - int32_t m_overrideConfigFlags; - int32_t m_loopToSegmentIndex; -}; - -struct AnimReplacementRec { - int32_t m_ID; - int32_t m_srcAnimID; - int32_t m_dstAnimID; - int32_t m_parentAnimReplacementSetID; -}; - -struct AnimReplacementSetRec { - int32_t m_ID; - int32_t m_execOrder; -}; - -struct AnimationDataRec { - int32_t m_ID; - const char* m_name; - int32_t m_weaponflags; - int32_t m_bodyflags; - int32_t m_flags; - int32_t m_fallback; - int32_t m_behaviorID; - int32_t m_behaviorTier; -}; - -struct AreaAssignmentRec { - int32_t m_ID; - int32_t m_mapID; - int32_t m_areaID; - int32_t m_chunkX; - int32_t m_chunkY; -}; - -struct AreaGroupRec { - int32_t m_ID; - int32_t m_areaID[6]; - int32_t m_nextAreaID; -}; - -struct AreaPOIRec { - int32_t m_ID; - int32_t m_importance; - int32_t m_icon[9]; - int32_t m_factionID; - float m_pos[3]; - int32_t m_continentID; - int32_t m_flags; - int32_t m_areaID; - const char* m_name; - const char* m_description; - int32_t m_worldStateID; - int32_t m_worldMapLink; -}; - -struct AreaTableRec { - int32_t m_ID; - int32_t m_continentID; - int32_t m_parentAreaID; - int32_t m_areaBit; - int32_t m_flags; - int32_t m_soundProviderPref; - int32_t m_soundProviderPrefUnderwater; - int32_t m_ambienceID; - int32_t m_zoneMusic; - int32_t m_introSound; - int32_t m_explorationLevel; - const char* m_areaName; - int32_t m_factionGroupMask; - int32_t m_liquidTypeID[4]; - float m_minElevation; - float m_ambientMultiplier; - int32_t m_lightID; -}; - -struct AreaTriggerRec { - int32_t m_ID; - int32_t m_continentID; - float m_pos[3]; - float m_radius; - float m_boxLength; - float m_boxWidth; - float m_boxHeight; - float m_boxYaw; -}; - -struct ArmorLocationRec { - int32_t m_ID; - float m_clothmodifier; - float m_leathermodifier; - float m_chainmodifier; - float m_platemodifier; - float m_modifier; -}; - -struct AttackAnimKitsRec { - int32_t m_ID; - int32_t m_itemSubclassID; - int32_t m_animTypeID; - int32_t m_animFrequency; - int32_t m_whichHand; -}; - -struct AttackAnimTypesRec { - int32_t m_animID; - const char* m_animName; - int32_t m_generatedID; -}; - -struct AuctionHouseRec { - int32_t m_ID; - int32_t m_factionID; - int32_t m_depositRate; - int32_t m_consignmentRate; - const char* m_name; -}; - -struct BankBagSlotPricesRec { - int32_t m_ID; - int32_t m_cost; -}; - -struct BannedAddonsRec { - int32_t m_ID; - int32_t m_nameMd5[4]; - int32_t m_versionMd5[4]; - int32_t m_lastModified; - int32_t m_flags; -}; - -struct BarberShopStyleRec { - int32_t m_ID; - int32_t m_type; - const char* m_displayName; - const char* m_description; - float m_costModifier; - int32_t m_race; - int32_t m_sex; - int32_t m_data; -}; - -struct BattlemasterListRec { - int32_t m_ID; - int32_t m_mapID[8]; - int32_t m_instanceType; - int32_t m_groupsAllowed; - const char* m_name; - int32_t m_maxGroupSize; - int32_t m_holidayWorldState; - int32_t m_minLevel; - int32_t m_maxLevel; -}; - -struct CameraModeRec { - int32_t m_ID; - const char* m_name; - int32_t m_type; - int32_t m_flags; - float m_positionOffset[3]; - float m_targetOffset[3]; - float m_positionSmoothing; - float m_rotationSmoothing; - float m_fieldOfView; - int32_t m_lockedPositionOffsetBase; - int32_t m_lockedPositionOffsetDirection; - int32_t m_lockedTargetOffsetBase; - int32_t m_lockedTargetOffsetDirection; -}; - -struct CameraShakesRec { - int32_t m_ID; - int32_t m_shakeType; - int32_t m_direction; - float m_amplitude; - float m_frequency; - float m_duration; - float m_phase; - float m_coefficient; -}; - -struct Cfg_CategoriesRec { - int32_t m_ID; - int32_t m_localeMask; - int32_t m_createCharsetMask; - int32_t m_flags; - const char* m_name; -}; - -struct Cfg_ConfigsRec { - int32_t m_ID; - int32_t m_realmType; - int32_t m_playerKillingAllowed; - int32_t m_roleplaying; -}; - -struct CharBaseInfoRec { - int8_t m_raceID; - int8_t m_classID; - int32_t m_generatedID; -}; - -struct CharHairGeosetsRec { - int32_t m_ID; - int32_t m_raceID; - int32_t m_sexID; - int32_t m_variationID; - int32_t m_geosetID; - int32_t m_showscalp; -}; - -struct CharHairTexturesRec { - int32_t m_ID; - int32_t m_field_0_5_3_3368_001_race; // unconfirmed - int32_t m_field_0_5_3_3368_002_gender; // unconfirmed - int32_t m_field_0_5_3_3368_003; // unconfirmed - int32_t m_field_0_5_3_3368_004_mayberacemask; // unconfirmed - int32_t m_field_0_5_3_3368_005_the_x_in_hair_xy_blp; // unconfirmed - int32_t m_field_0_5_3_3368_006; // unconfirmed - int32_t m_field_0_5_3_3368_007; // unconfirmed -}; - -struct CharSectionsRec { - int32_t m_ID; - int32_t m_raceID; - int32_t m_sexID; - int32_t m_baseSection; - const char* m_textureName[3]; - int32_t m_flags; - int32_t m_variationIndex; - int32_t m_colorIndex; -}; - -struct CharStartOutfitRec { - int32_t m_ID; - int8_t m_raceID; - int8_t m_classID; - int8_t m_sexID; - int8_t m_outfitID; - int32_t m_itemID[24]; - int32_t m_displayItemID[24]; - int32_t m_inventoryType[24]; -}; - -struct CharTitlesRec { - int32_t m_ID; - int32_t m_conditionID; - const char* m_name; - const char* m_name1; - int32_t m_maskID; -}; - -struct CharVariationsRec { - int32_t m_raceID; - int32_t m_sexID; - int32_t m_textureHoldLayer[4]; - int32_t m_generatedID; -}; - -struct CharacterFacialHairStylesRec { - int32_t m_raceID; - int32_t m_sexID; - int32_t m_variationID; - int32_t m_geoset[5]; - int32_t m_generatedID; -}; - -struct ChatChannelsRec { - int32_t m_ID; - int32_t m_flags; - int32_t m_factionGroup; - const char* m_name; - const char* m_shortcut; -}; - -struct ChatProfanityRec { - int32_t m_ID; - const char* m_text; - int32_t m_language; -}; - -struct ChrClassesRec { - int32_t m_ID; - int32_t m_damageBonusStat; - int32_t m_displayPower; - const char* m_petNameToken; - const char* m_name; - const char* m_nameFemale; - const char* m_nameMale; - const char* m_filename; - int32_t m_spellClassSet; - int32_t m_flags; - int32_t m_cinematicSequenceID; - int32_t m_requiredExpansion; -}; - -struct ChrRacesRec { - int32_t m_ID; - int32_t m_flags; - int32_t m_factionID; - int32_t m_explorationSoundID; - int32_t m_maleDisplayID; - int32_t m_femaleDisplayID; - const char* m_clientPrefix; - int32_t m_baseLanguage; - int32_t m_creatureType; - int32_t m_resSicknessSpellID; - int32_t m_splashSoundID; - const char* m_clientFileString; - int32_t m_cinematicSequenceID; - int32_t m_alliance; - const char* m_name; - const char* m_nameFemale; - const char* m_nameMale; - const char* m_facialHairCustomization[2]; - const char* m_hairCustomization; - int32_t m_requiredExpansion; -}; - -struct CinematicCameraRec { - int32_t m_ID; - const char* m_model; - int32_t m_soundID; - float m_origin[3]; - float m_originFacing; -}; - -struct CinematicSequencesRec { - int32_t m_ID; - int32_t m_soundID; - int32_t m_camera[8]; -}; - -struct CreatureDisplayInfoRec { - int32_t m_ID; - int32_t m_modelID; - int32_t m_soundID; - int32_t m_extendedDisplayInfoID; - float m_creatureModelScale; - int32_t m_creatureModelAlpha; - const char* m_textureVariation[3]; - const char* m_portraitTextureName; - int32_t m_sizeClass; - int32_t m_bloodID; - int32_t m_npcsoundID; - int32_t m_particleColorID; - int32_t m_creatureGeosetData; - int32_t m_objectEffectPackageID; -}; - -struct CreatureDisplayInfoExtraRec { - int32_t m_ID; - int32_t m_displayRaceID; - int32_t m_displaySexID; - int32_t m_skinID; - int32_t m_faceID; - int32_t m_hairStyleID; - int32_t m_hairColorID; - int32_t m_facialHairID; - int32_t m_npcitemDisplay[11]; - int32_t m_flags; - const char* m_bakeName; -}; - -struct CreatureFamilyRec { - int32_t m_ID; - float m_minScale; - int32_t m_minScaleLevel; - float m_maxScale; - int32_t m_maxScaleLevel; - int32_t m_skillLine[2]; - int32_t m_petFoodMask; - int32_t m_petTalentType; - int32_t m_categoryEnumID; - const char* m_name; - const char* m_iconFile; -}; - -struct CreatureModelDataRec { - int32_t m_ID; - int32_t m_flags; - const char* m_modelName; - int32_t m_sizeClass; - float m_modelScale; - int32_t m_bloodID; - int32_t m_footprintTextureID; - float m_footprintTextureLength; - float m_footprintTextureWidth; - float m_footprintParticleScale; - int32_t m_foleyMaterialID; - int32_t m_footstepShakeSize; - int32_t m_deathThudShakeSize; - int32_t m_soundID; - float m_collisionWidth; - float m_collisionHeight; - float m_mountHeight; - float m_geoBoxMinX; - float m_geoBoxMinY; - float m_geoBoxMinZ; - float m_geoBoxMaxX; - float m_geoBoxMaxY; - float m_geoBoxMaxZ; - float m_worldEffectScale; - float m_attachedEffectScale; - float m_missileCollisionRadius; - float m_missileCollisionPush; - float m_missileCollisionRaise; -}; - -struct CreatureMovementInfoRec { - int32_t m_ID; - float m_smoothFacingChaseRate; -}; - -struct CreatureSoundDataRec { - int32_t m_ID; - int32_t m_soundExertionID; - int32_t m_soundExertionCriticalID; - int32_t m_soundInjuryID; - int32_t m_soundInjuryCriticalID; - int32_t m_soundInjuryCrushingBlowID; - int32_t m_soundDeathID; - int32_t m_soundStunID; - int32_t m_soundStandID; - int32_t m_soundFootstepID; - int32_t m_soundAggroID; - int32_t m_soundWingFlapID; - int32_t m_soundWingGlideID; - int32_t m_soundAlertID; - int32_t m_soundFidget[5]; - int32_t m_customAttack[4]; - int32_t m_npcsoundID; - int32_t m_loopSoundID; - int32_t m_creatureImpactType; - int32_t m_soundJumpStartID; - int32_t m_soundJumpEndID; - int32_t m_soundPetAttackID; - int32_t m_soundPetOrderID; - int32_t m_soundPetDismissID; - float m_fidgetDelaySecondsMin; - float m_fidgetDelaySecondsMax; - int32_t m_birthSoundID; - int32_t m_spellCastDirectedSoundID; - int32_t m_submergeSoundID; - int32_t m_submergedSoundID; - int32_t m_creatureSoundDataIdpet; -}; - -struct CreatureSpellDataRec { - int32_t m_ID; - int32_t m_spells[4]; - int32_t m_availability[4]; -}; - -struct CreatureTypeRec { - int32_t m_ID; - const char* m_name; - int32_t m_flags; -}; - -struct CurrencyCategoryRec { - int32_t m_ID; - int32_t m_flags; - const char* m_name; -}; - -struct CurrencyTypesRec { - int32_t m_ID; - int32_t m_itemID; - int32_t m_categoryID; - int32_t m_bitIndex; -}; - -struct DanceMovesRec { - int32_t m_ID; - int32_t m_type; - int32_t m_param; - int32_t m_fallback; - int32_t m_racemask; - const char* m_internalName; - const char* m_name; - int32_t m_lockID; -}; - -struct DeathThudLookupsRec { - int32_t m_ID; - int32_t m_sizeClass; - int32_t m_terrainTypeSoundID; - int32_t m_soundEntryID; - int32_t m_soundEntryIdwater; -}; - -struct DeclinedWordRec { - int32_t m_ID; - const char* m_word; -}; - -struct DeclinedWordCasesRec { - int32_t m_ID; - int32_t m_declinedWordID; - int32_t m_caseIndex; - const char* m_declinedWord; -}; - -struct DestructibleModelDataRec { - int32_t m_ID; - int32_t m_state0ImpactEffectDoodadSet; - int32_t m_state0AmbientDoodadSet; - int32_t m_state1WMO; - int32_t m_state1DestructionDoodadSet; - int32_t m_state1ImpactEffectDoodadSet; - int32_t m_state1AmbientDoodadSet; - int32_t m_state2WMO; - int32_t m_state2DestructionDoodadSet; - int32_t m_state2ImpactEffectDoodadSet; - int32_t m_state2AmbientDoodadSet; - int32_t m_state3WMO; - int32_t m_state3InitDoodadSet; - int32_t m_state3AmbientDoodadSet; - int32_t m_ejectDirection; - int32_t m_repairGroundFx; - int32_t m_doNotHighlight; - int32_t m_healEffect; - int32_t m_healEffectSpeed; -}; - -struct DungeonEncounterRec { - int32_t m_ID; - int32_t m_mapID; - int32_t m_difficulty; - int32_t m_orderIndex; - int32_t m_bit; - const char* m_name; - int32_t m_spellIconID; -}; - -struct DungeonMapRec { - int32_t m_ID; - int32_t m_mapID; - int32_t m_floorIndex; - float m_minX; - float m_maxX; - float m_minY; - float m_maxY; - int32_t m_parentWorldMapID; -}; - -struct DungeonMapChunkRec { - int32_t m_ID; - int32_t m_mapID; - int32_t m_wmogroupID; - int32_t m_dungeonMapID; - float m_minZ; -}; - -struct DurabilityCostsRec { - int32_t m_ID; - int32_t m_weaponSubClassCost[21]; - int32_t m_armorSubClassCost[8]; -}; - -struct DurabilityQualityRec { - int32_t m_ID; - float m_data; -}; - -struct EmotesRec { - int32_t m_ID; - const char* m_emoteSlashCommand; - int32_t m_animID; - int32_t m_emoteFlags; - int32_t m_emoteSpecProc; - int32_t m_emoteSpecProcParam; - int32_t m_eventSoundID; -}; - -struct EmotesTextRec { - int32_t m_ID; - const char* m_name; - int32_t m_emoteID; - int32_t m_emoteText[16]; -}; - -struct EmotesTextDataRec { - int32_t m_ID; - const char* m_text; -}; - -struct EmotesTextSoundRec { - int32_t m_ID; - int32_t m_emotesTextID; - int32_t m_raceID; - int32_t m_sexID; - int32_t m_soundID; -}; - -struct EnvironmentalDamageRec { - int32_t m_ID; - int32_t m_enumID; - int32_t m_visualkitID; -}; - -struct ExhaustionRec { - int32_t m_ID; - int32_t m_xp; - float m_factor; - float m_outdoorHours; - float m_innHours; - const char* m_name; - float m_threshold; -}; - -struct FactionRec { - int32_t m_ID; - int32_t m_reputationIndex; - int32_t m_reputationRaceMask[4]; - int32_t m_reputationClassMask[4]; - int32_t m_reputationBase[4]; - int32_t m_reputationFlags[4]; - int32_t m_parentFactionID; - float m_parentFactionMod[2]; - int32_t m_parentFactionCap[2]; - const char* m_name; - const char* m_description; -}; - -struct FactionGroupRec { - int32_t m_ID; - int32_t m_maskID; - const char* m_internalName; - const char* m_name; -}; - -struct FactionTemplateRec { - int32_t m_ID; - int32_t m_faction; - int32_t m_flags; - int32_t m_factionGroup; - int32_t m_friendGroup; - int32_t m_enemyGroup; - int32_t m_enemies[4]; - int32_t m_friend[4]; -}; - -struct FileDataRec { - int32_t m_ID; - const char* m_filename; - const char* m_filepath; -}; - -struct FootprintTexturesRec { - int32_t m_ID; - const char* m_footstepFilename; -}; - -struct FootstepTerrainLookupRec { - int32_t m_ID; - int32_t m_creatureFootstepID; - int32_t m_terrainSoundID; - int32_t m_soundID; - int32_t m_soundIdsplash; -}; - -struct GMSurveyAnswersRec { - int32_t m_ID; - int32_t m_sortIndex; - int32_t m_gmsurveyQuestionID; - const char* m_answer; -}; - -struct GMSurveyCurrentSurveyRec { - int32_t m_langid; - int32_t m_gmsurveyID; - int32_t m_generatedID; -}; - -struct GMSurveyQuestionsRec { - int32_t m_ID; - const char* m_question; -}; - -struct GMSurveySurveysRec { - int32_t m_ID; - int32_t m_[10]; -}; - -struct GMTicketCategoryRec { - int32_t m_ID; - const char* m_category; -}; - -struct GameObjectArtKitRec { - int32_t m_ID; - const char* m_textureVariation[3]; - const char* m_attachModel[4]; -}; - -struct GameObjectDisplayInfoRec { - int32_t m_ID; - const char* m_modelName; - int32_t m_sound[10]; - float m_geoBoxMin[3]; - float m_geoBoxMax[3]; - int32_t m_objectEffectPackageID; -}; - -struct GameTablesRec { - const char* m_name; - int32_t m_numRows; - int32_t m_numColumns; - int32_t m_generatedID; -}; - -struct GameTipsRec { - int32_t m_ID; - const char* m_text; -}; - -struct GemPropertiesRec { - int32_t m_ID; - int32_t m_enchantID; - int32_t m_maxcountInv; - int32_t m_maxcountItem; - int32_t m_type; -}; - -struct GlueScreenEmoteRec { - int32_t m_ID; - int32_t m_classID; - int32_t m_raceID; - int32_t m_sexID; - int32_t m_leftHandItemType; - int32_t m_rightHandItemType; - int32_t m_animKitID; - int32_t m_spellVisualKitID; -}; - -struct GlyphPropertiesRec { - int32_t m_ID; - int32_t m_spellID; - int32_t m_glyphSlotFlags; - int32_t m_spellIconID; -}; - -struct GlyphSlotRec { - int32_t m_ID; - int32_t m_type; - int32_t m_tooltip; -}; - -struct GroundEffectDoodadRec { - int32_t m_ID; - const char* m_doodadpath; - int32_t m_flags; -}; - -struct GroundEffectTextureRec { - int32_t m_ID; - int32_t m_doodadID[4]; - int32_t m_doodadWeight[4]; - int32_t m_density; - int32_t m_sound; -}; - -struct GuildPerkSpellsRec { - int32_t m_ID; - int32_t m_guildLevel; - int32_t m_spellID; -}; - -struct HelmetGeosetVisDataRec { - int32_t m_ID; - int32_t m_hideGeoset[7]; -}; - -struct HolidayDescriptionsRec { - int32_t m_ID; - const char* m_description; -}; - -struct HolidayNamesRec { - int32_t m_ID; - const char* m_name; -}; - -struct HolidaysRec { - int32_t m_ID; - int32_t m_duration[10]; - int32_t m_date[26]; - int32_t m_region; - int32_t m_looping; - int32_t m_calendarFlags[10]; - int32_t m_holidayNameID; - int32_t m_holidayDescriptionID; - const char* m_textureFileName; - int32_t m_priority; - int32_t m_calendarFilterType; - int32_t m_flags; -}; - -struct ItemRec { - int32_t m_ID; - int32_t m_classID; - int32_t m_subclassID; - int32_t m_soundOverrideSubclassID; - int32_t m_material; - int32_t m_displayInfoID; - int32_t m_inventoryType; - int32_t m_sheatheType; -}; - -struct ItemArmorQualityRec { - int32_t m_ID; - float m_qualitymod[7]; - int32_t m_itemLevel; -}; - -struct ItemArmorShieldRec { - int32_t m_ID; - int32_t m_itemLevel; - float m_quality[7]; -}; - -struct ItemArmorTotalRec { - int32_t m_ID; - int32_t m_itemLevel; - float m_cloth; - float m_leather; - float m_mail; - float m_plate; -}; - -struct ItemBagFamilyRec { - int32_t m_ID; - const char* m_name; -}; - -struct ItemClassRec { - int32_t m_classID; - int32_t m_subclassMapID; - int32_t m_flags; - const char* m_className; - int32_t m_generatedID; -}; - -struct ItemCondExtCostsRec { - int32_t m_ID; - int32_t m_condExtendedCost; // unconfirmed - int32_t m_itemExtendedCostEntry; - int32_t m_arenaSeason; // unconfirmed -}; - -struct ItemDamageAmmoRec { - int32_t m_ID; - float m_quality[7]; - int32_t m_itemLevel; -}; - -struct ItemDamageOneHandRec { - int32_t m_ID; - float m_quality[7]; - int32_t m_itemLevel; -}; - -struct ItemDamageOneHandCasterRec { - int32_t m_ID; - float m_quality[7]; - int32_t m_itemLevel; -}; - -struct ItemDamageRangedRec { - int32_t m_ID; - float m_quality[7]; - int32_t m_itemLevel; -}; - -struct ItemDamageThrownRec { - int32_t m_ID; - float m_quality[7]; - int32_t m_itemLevel; -}; - -struct ItemDamageTwoHandRec { - int32_t m_ID; - float m_quality[7]; - int32_t m_itemLevel; -}; - -struct ItemDamageTwoHandCasterRec { - int32_t m_ID; - float m_quality[7]; - int32_t m_itemLevel; -}; - -struct ItemDamageWandRec { - int32_t m_ID; - float m_quality[7]; - int32_t m_itemLevel; -}; - -struct ItemDisplayInfoRec { - int32_t m_ID; - const char* m_modelName[2]; - const char* m_modelTexture[2]; - const char* m_inventoryIcon[2]; - int32_t m_geosetGroup[3]; - int32_t m_flags; - int32_t m_spellVisualID; - int32_t m_groupSoundIndex; - int32_t m_helmetGeosetVisID[2]; - const char* m_texture[8]; - int32_t m_itemVisual; - int32_t m_particleColorID; -}; - -struct ItemExtendedCostRec { - int32_t m_ID; - int32_t m_honorPoints; - int32_t m_arenaPoints; - int32_t m_arenaBracket; - int32_t m_itemID[5]; - int32_t m_itemCount[5]; - int32_t m_requiredArenaRating; - int32_t m_itemPurchaseGroup; -}; - -struct ItemGroupSoundsRec { - int32_t m_ID; - int32_t m_sound[4]; -}; - -struct ItemLimitCategoryRec { - int32_t m_ID; - const char* m_name; - int32_t m_quantity; - int32_t m_flags; -}; - -struct ItemPetFoodRec { - int32_t m_ID; - const char* m_name; -}; - -struct ItemPurchaseGroupRec { - int32_t m_ID; - int32_t m_itemID[8]; - const char* m_name; -}; - -struct ItemRandomPropertiesRec { - int32_t m_ID; - const char* m_name; - int32_t m_enchantment[5]; - const char* m_name_lang; -}; - -struct ItemRandomSuffixRec { - int32_t m_ID; - const char* m_name; - const char* m_internalName; - int32_t m_enchantment[5]; - int32_t m_allocationPct[5]; -}; - -struct ItemReforgeRec { - int32_t m_ID; // unconfirmed - int32_t m_sourceStat; // unconfirmed - float m_sourceMultiplier; // unconfirmed - int32_t m_targetStat; // unconfirmed - float m_targetMultiplier; // unconfirmed -}; - -struct ItemSetRec { - int32_t m_ID; - const char* m_name; - int32_t m_itemID[17]; - int32_t m_setSpellID[8]; - int32_t m_setThreshold[8]; - int32_t m_requiredSkill; - int32_t m_requiredSkillRank; -}; - -struct ItemSubClassRec { - int32_t m_classID; - int32_t m_subClassID; - int32_t m_prerequisiteProficiency; - int32_t m_postrequisiteProficiency; - int32_t m_flags; - int32_t m_displayFlags; - int32_t m_weaponParrySeq; - int32_t m_weaponReadySeq; - int32_t m_weaponAttackSeq; - int32_t m_weaponSwingSize; - const char* m_displayName; - const char* m_verboseName; - int32_t m_generatedID; -}; - -struct ItemSubClassMaskRec { - int32_t m_classID; - int32_t m_mask; - const char* m_name; - int32_t m_generatedID; -}; - -struct ItemVisualEffectsRec { - int32_t m_ID; - const char* m_model; -}; - -struct ItemVisualsRec { - int32_t m_ID; - int32_t m_slot[5]; -}; - -struct LFGDungeonExpansionRec { - int32_t m_ID; - int32_t m_lfgID; - int32_t m_expansionLevel; - int32_t m_randomID; - int32_t m_hardLevelMin; - int32_t m_hardLevelMax; - int32_t m_targetLevelMin; - int32_t m_targetLevelMax; -}; - -struct LFGDungeonGroupRec { - int32_t m_ID; - const char* m_name; - int32_t m_orderIndex; - int32_t m_parentGroupID; - int32_t m_typeID; -}; - -struct LFGDungeonsRec { - int32_t m_ID; - const char* m_name; - int32_t m_minLevel; - int32_t m_maxLevel; - int32_t m_targetLevel; - int32_t m_targetLevelMin; - int32_t m_targetLevelMax; - int32_t m_mapID; - int32_t m_difficulty; - int32_t m_flags; - int32_t m_typeID; - int32_t m_faction; - const char* m_textureFilename; - int32_t m_expansionLevel; - int32_t m_orderIndex; - int32_t m_groupID; - const char* m_description; -}; - -struct LanguageWordsRec { - int32_t m_ID; - int32_t m_languageID; - const char* m_word; -}; - -struct LanguagesRec { - int32_t m_ID; - const char* m_name; -}; - -struct LightRec { - int32_t m_ID; - int32_t m_continentID; - float m_gameCoords[3]; - float m_gameFalloffStart; - float m_gameFalloffEnd; - int32_t m_lightParamsID[8]; -}; - -struct LightFloatBandRec { - int32_t m_ID; - int32_t m_num; - int32_t m_time[16]; - float m_data[16]; -}; - -struct LightIntBandRec { - int32_t m_ID; - int32_t m_num; - int32_t m_time[16]; - int32_t m_data[16]; -}; - -struct LightParamsRec { - int32_t m_ID; - int32_t m_highlightSky; - int32_t m_lightSkyboxID; - float m_glow; - float m_waterShallowAlpha; - float m_waterDeepAlpha; - float m_oceanShallowAlpha; - float m_oceanDeepAlpha; - int32_t m_flags; -}; - -struct LightSkyboxRec { - int32_t m_ID; - const char* m_name; - int32_t m_flags; -}; - -struct LiquidMaterialRec { - int32_t m_ID; - int32_t m_lvf; - int32_t m_flags; -}; - -struct LiquidObjectRec { - int32_t m_ID; - float m_flowDirection; - float m_flowSpeed; - int32_t m_liquidTypeID; - int32_t m_fishable; - int32_t m_reflection; -}; - -struct LiquidTypeRec { - int32_t m_ID; - const char* m_name; - int32_t m_flags; - int32_t m_soundBank; - int32_t m_soundID; - int32_t m_spellID; - float m_maxDarkenDepth; - float m_fogDarkenIntensity; - float m_ambDarkenIntensity; - float m_dirDarkenIntensity; - int32_t m_lightID; - float m_particleScale; - int32_t m_particleMovement; - int32_t m_particleTexSlots; - int32_t m_materialID; - const char* m_texture[6]; - int32_t m_color[2]; - float m_float[18]; - int32_t m_int[4]; -}; - -struct LoadingScreenTaxiSplinesRec { - int32_t m_ID; - int32_t m_pathID; - float m_locx[8]; - float m_locy[8]; - int32_t m_legIndex; -}; - -struct LoadingScreensRec { - int32_t m_ID; - const char* m_name; - const char* m_fileName; - int32_t m_hasWideScreen; -}; - -struct LockRec { - int32_t m_ID; - int32_t m_type[8]; - int32_t m_index[8]; - int32_t m_skill[8]; - int32_t m_action[8]; -}; - -struct LockTypeRec { - int32_t m_ID; - const char* m_name; - const char* m_resourceName; - const char* m_verb; - const char* m_cursorName; -}; - -struct MailTemplateRec { - int32_t m_ID; - const char* m_subject; - const char* m_body; -}; - -struct MapRec { - int32_t m_ID; - const char* m_directory; - int32_t m_instanceType; - int32_t m_flags; // unconfirmed - int32_t m_pvp; - const char* m_mapName; - int32_t m_areaTableID; - const char* m_mapDescription0; - const char* m_mapDescription1; - int32_t m_loadingScreenID; - float m_minimapIconScale; - int32_t m_corpseMapID; - float m_corpse[2]; - int32_t m_timeOfDayOverride; - int32_t m_expansionID; - int32_t m_raidOffset; - int32_t m_maxPlayers; -}; - -struct MapDifficultyRec { - int32_t m_ID; - int32_t m_mapID; - int32_t m_difficulty; - const char* m_message; - int32_t m_raidDuration; - int32_t m_maxPlayers; - const char* m_difficultystring; -}; - -struct MaterialRec { - int32_t m_ID; - int32_t m_flags; - int32_t m_foleySoundID; - int32_t m_sheatheSoundID; - int32_t m_unsheatheSoundID; -}; - -struct MountTypeRec { - int32_t m_ID; - int32_t m_capability[8]; -}; - -struct MovieRec { - int32_t m_ID; - const char* m_filename; - int32_t m_volume; -}; - -struct MovieFileDataRec { - int32_t m_fileDataID; - int32_t m_resolution; - int32_t m_generatedID; -}; - -struct MovieVariationRec { - int32_t m_ID; - int32_t m_movieID; - int32_t m_fileDataID; -}; - -struct NPCSoundsRec { - int32_t m_ID; - int32_t m_soundID[4]; -}; - -struct NameGenRec { - int32_t m_ID; - const char* m_name; - int32_t m_raceID; - int32_t m_sex; -}; - -struct NamesProfanityRec { - int32_t m_ID; - const char* m_name; - int32_t m_language; -}; - -struct NamesReservedRec { - int32_t m_ID; - const char* m_name; - int32_t m_language; -}; - -struct ObjectEffectRec { - int32_t m_ID; - const char* m_name; - int32_t m_objectEffectGroupID; - int32_t m_triggerType; - int32_t m_eventType; - int32_t m_effectRecType; - int32_t m_effectRecID; - int32_t m_attachment; - float m_offset[3]; - int32_t m_objectEffectModifierID; -}; - -struct ObjectEffectGroupRec { - int32_t m_ID; - const char* m_name; -}; - -struct ObjectEffectModifierRec { - int32_t m_ID; - int32_t m_inputType; - int32_t m_mapType; - int32_t m_outputType; - float m_param[4]; -}; - -struct ObjectEffectPackageRec { - int32_t m_ID; - const char* m_name; -}; - -struct ObjectEffectPackageElemRec { - int32_t m_ID; - int32_t m_objectEffectPackageID; - int32_t m_objectEffectGroupID; - int32_t m_stateType; -}; - -struct OverrideSpellDataRec { - int32_t m_ID; - int32_t m_spells[10]; - int32_t m_flags; -}; - -struct PVPDifficultyRec { - int32_t m_ID; - int32_t m_mapID; - int32_t m_rangeIndex; - int32_t m_minLevel; - int32_t m_maxLevel; - int32_t m_difficulty; -}; - -struct PackageRec { - int32_t m_ID; - const char* m_icon; - int32_t m_cost; - const char* m_name; -}; - -struct PageTextMaterialRec { - int32_t m_ID; - const char* m_name; -}; - -struct PaperDollItemFrameRec { - const char* m_itemButtonName; - const char* m_slotIcon; - int32_t m_slotNumber; - int32_t m_generatedID; -}; - -struct ParticleColorRec { - int32_t m_ID; - int32_t m_start[3]; - int32_t m_mid[3]; - int32_t m_end[3]; -}; - -struct PetPersonalityRec { - int32_t m_ID; - const char* m_name; - int32_t m_happinessThreshold[3]; - float m_happinessDamage[3]; -}; - -struct PetitionTypeRec { - int32_t m_ID; // unconfirmed - const char* m_name; // unconfirmed - int32_t m_type; // unconfirmed -}; - -struct PhaseRec { - int32_t m_ID; - int32_t m_mapID; - int32_t m_parentMapID[2]; // unconfirmed - const char* m_name; - int32_t m_flags; -}; - -struct PhaseShiftZoneSoundsRec { - int32_t m_ID; - int32_t m_areaID; - int32_t m_wmoareaID; - int32_t m_phaseID; - int32_t m_phaseGroupID; - int32_t m_phaseUseFlags; - int32_t m_zoneIntroMusicID; - int32_t m_zoneMusicID; - int32_t m_soundAmbienceID; - int32_t m_soundProviderPreferencesID; - int32_t m_uwzoneIntroMusicID; - int32_t m_uwzoneMusicID; - int32_t m_uwsoundAmbienceID; - int32_t m_uwsoundProviderPreferencesID; -}; - -struct PhaseXPhaseGroupRec { - int32_t m_ID; - int32_t m_phaseID; - int32_t m_phaseGroupID; -}; - -struct PowerDisplayRec { - int32_t m_ID; - int32_t m_actualType; - const char* m_globalStringBaseTag; - int8_t m_red; - int8_t m_green; - int8_t m_blue; -}; - -struct QuestFactionRewardRec { - int32_t m_ID; - int32_t m_difficulty[10]; -}; - -struct QuestInfoRec { - int32_t m_ID; - const char* m_infoName; -}; - -struct QuestSortRec { - int32_t m_ID; - const char* m_sortName; -}; - -struct QuestXPRec { - int32_t m_ID; - int32_t m_difficulty[10]; -}; - -struct RandPropPointsRec { - int32_t m_ID; - int32_t m_epic[5]; - int32_t m_superior[5]; - int32_t m_good[5]; -}; - -struct ResearchBranchRec { - int32_t m_ID; - const char* m_name; - int32_t m_researchFieldID; - int32_t m_currencyID; - const char* m_texture; - int32_t m_itemID; -}; - -struct ResistancesRec { - int32_t m_ID; - int32_t m_flags; - int32_t m_fizzleSoundID; - const char* m_name; -}; - -struct ScalingStatDistributionRec { - int32_t m_ID; - int32_t m_statID[10]; - int32_t m_bonus[10]; - int32_t m_maxlevel; -}; - -struct ScalingStatValuesRec { - int32_t m_ID; - int32_t m_charlevel; - int32_t m_shoulderBudget; - int32_t m_trinketBudget; - int32_t m_weaponBudget1h; - int32_t m_rangedBudget; - int32_t m_clothShoulderArmor; - int32_t m_leatherShoulderArmor; - int32_t m_mailShoulderArmor; - int32_t m_plateShoulderArmor; - int32_t m_weaponDps1h; - int32_t m_weaponDps2h; - int32_t m_spellcasterDps1h; - int32_t m_spellcasterDps2h; - int32_t m_rangedDps; - int32_t m_wandDps; - int32_t m_spellPower; - int32_t m_primaryBudget; - int32_t m_tertiaryBudget; - int32_t m_clothCloakArmor; - int32_t m_clothChestArmor; - int32_t m_leatherChestArmor; - int32_t m_mailChestArmor; - int32_t m_plateChestArmor; -}; - -struct ScreenEffectRec { - int32_t m_ID; - const char* m_name; - int32_t m_effect; - int32_t m_param[4]; - int32_t m_lightParamsID; - int32_t m_soundAmbienceID; - int32_t m_zoneMusicID; -}; - -struct ServerMessagesRec { - int32_t m_ID; - const char* m_text; -}; - -struct SheatheSoundLookupsRec { - int32_t m_ID; - int32_t m_classID; - int32_t m_subclassID; - int32_t m_material; - int32_t m_checkMaterial; - int32_t m_sheatheSound; - int32_t m_unsheatheSound; -}; - -struct SkillCostsDataRec { - int32_t m_ID; - int32_t m_skillCostsID; - int32_t m_cost[3]; -}; - -struct SkillLineRec { - int32_t m_ID; - int32_t m_categoryID; - int32_t m_skillCostsID; - const char* m_displayName; - const char* m_description; - int32_t m_spellIconID; - const char* m_alternateVerb; - int32_t m_canLink; -}; - -struct SkillLineAbilityRec { - int32_t m_ID; - int32_t m_skillLine; - int32_t m_spell; - int32_t m_raceMask; - int32_t m_classMask; - int32_t m_excludeRace; - int32_t m_excludeClass; - int32_t m_minSkillLineRank; - int32_t m_supercededBySpell; - int32_t m_acquireMethod; - int32_t m_trivialSkillLineRankHigh; - int32_t m_trivialSkillLineRankLow; - int32_t m_characterPoints[2]; -}; - -struct SkillLineCategoryRec { - int32_t m_ID; - const char* m_name; - int32_t m_sortIndex; -}; - -struct SkillRaceClassInfoRec { - int32_t m_ID; - int32_t m_skillID; - int32_t m_raceMask; - int32_t m_classMask; - int32_t m_flags; - int32_t m_minLevel; - int32_t m_skillTierID; - int32_t m_skillCostIndex; -}; - -struct SkillTiersRec { - int32_t m_ID; - int32_t m_cost[16]; - int32_t m_value[16]; -}; - -struct SoundAmbienceRec { - int32_t m_ID; - int32_t m_ambienceID[2]; -}; - -struct SoundEmittersRec { - int32_t m_ID; - float m_position[3]; - float m_direction[3]; - int32_t m_soundEntryAdvancedID; - int32_t m_mapID; - const char* m_name; -}; - -struct SoundEntriesRec { - int32_t m_ID; - int32_t m_soundType; - const char* m_name; - const char* m_file[10]; - int32_t m_freq[10]; - const char* m_directoryBase; - float m_volumeFloat; - int32_t m_flags; - float m_minDistance; - float m_distanceCutoff; - int32_t m_eaxdef; - int32_t m_soundEntriesAdvancedID; -}; - -struct SoundEntriesAdvancedRec { - int32_t m_ID; - int32_t m_soundEntryID; - float m_innerRadius2d; - int32_t m_timeA; - int32_t m_timeB; - int32_t m_timeC; - int32_t m_timeD; - int32_t m_randomOffsetRange; - int32_t m_usage; - int32_t m_timeIntervalMin; - int32_t m_timeIntervalMax; - int32_t m_volumeSliderCategory; - float m_duckToSfx; - float m_duckToMusic; - float m_duckToAmbience; - float m_innerRadiusOfInfluence; - float m_outerRadiusOfInfluence; - int32_t m_timeToDuck; - int32_t m_timeToUnduck; - float m_insideAngle; - float m_outsideAngle; - float m_outsideVolume; - float m_outerRadius2d; - const char* m_name; -}; - -struct SoundFilterRec { - int32_t m_ID; - const char* m_name; -}; - -struct SoundFilterElemRec { - int32_t m_ID; - int32_t m_soundFilterID; - int32_t m_orderIndex; - int32_t m_filterType; - float m_params[9]; -}; - -struct SoundProviderPreferencesRec { - int32_t m_ID; - const char* m_description; - int32_t m_flags; - int32_t m_eaxenvironmentSelection; - float m_eaxdecayTime; - float m_eax2EnvironmentSize; - float m_eax2EnvironmentDiffusion; - int32_t m_eax2Room; - int32_t m_eax2RoomHf; - float m_eax2DecayHfratio; - int32_t m_eax2Reflections; - float m_eax2ReflectionsDelay; - int32_t m_eax2Reverb; - float m_eax2ReverbDelay; - float m_eax2RoomRolloff; - float m_eax2AirAbsorption; - int32_t m_eax3RoomLf; - float m_eax3DecayLfratio; - float m_eax3EchoTime; - float m_eax3EchoDepth; - float m_eax3ModulationTime; - float m_eax3ModulationDepth; - float m_eax3Hfreference; - float m_eax3Lfreference; -}; - -struct SoundSamplePreferencesRec { - int32_t m_ID; - int32_t m_field_0_6_0_3592_001; // unconfirmed - int32_t m_field_0_6_0_3592_002; // unconfirmed - int32_t m_eax2SampleRoom; - int32_t m_field_0_6_0_3592_004; // unconfirmed - int32_t m_field_0_6_0_3592_005; // unconfirmed - float m_field_0_6_0_3592_006; // unconfirmed - int32_t m_field_0_6_0_3592_007; // unconfirmed - float m_eax2SampleOcclusionLfratio; - float m_eax2SampleOcclusionRoomRatio; - int32_t m_field_0_6_0_3592_010; // unconfirmed - float m_eax1EffectLevel; - int32_t m_field_0_6_0_3592_012; // unconfirmed - float m_field_0_6_0_3592_013; // unconfirmed - float m_eax3SampleExclusion; - float m_field_0_6_0_3592_015; // unconfirmed - int32_t m_field_0_6_0_3592_016; // unconfirmed -}; - -struct SoundWaterTypeRec { - int32_t m_ID; - int32_t m_soundType; - int32_t m_soundSubtype; - int32_t m_soundID; -}; - -struct SpamMessagesRec { - int32_t m_ID; - const char* m_text; -}; - -struct SpellRec { - int32_t m_ID; - int32_t m_category; - int32_t m_dispelType; - int32_t m_mechanic; - int32_t m_attributes; - int32_t m_attributesEx; - int32_t m_attributesExB; - int32_t m_attributesExC; - int32_t m_attributesExD; - int32_t m_attributesExE; - int32_t m_attributesExF; - int32_t m_attributesExG; - int32_t m_shapeshiftMask[2]; - int32_t m_shapeshiftExclude[2]; - int32_t m_targets; - int32_t m_targetCreatureType; - int32_t m_requiresSpellFocus; - int32_t m_facingCasterFlags; - int32_t m_casterAuraState; - int32_t m_targetAuraState; - int32_t m_excludeCasterAuraState; - int32_t m_excludeTargetAuraState; - int32_t m_casterAuraSpell; - int32_t m_targetAuraSpell; - int32_t m_excludeCasterAuraSpell; - int32_t m_excludeTargetAuraSpell; - int32_t m_castingTimeIndex; - int32_t m_recoveryTime; - int32_t m_categoryRecoveryTime; - int32_t m_interruptFlags; - int32_t m_auraInterruptFlags; - int32_t m_channelInterruptFlags; - int32_t m_procTypeMask; - int32_t m_procChance; - int32_t m_procCharges; - int32_t m_maxLevel; - int32_t m_baseLevel; - int32_t m_spellLevel; - int32_t m_durationIndex; - int32_t m_powerType; - int32_t m_manaCost; - int32_t m_manaCostPerLevel; - int32_t m_manaPerSecond; - int32_t m_manaPerSecondPerLevel; - int32_t m_rangeIndex; - float m_speed; - int32_t m_modalNextSpell; - int32_t m_cumulativeAura; - int32_t m_totem[2]; - int32_t m_reagent[8]; - int32_t m_reagentCount[8]; - int32_t m_equippedItemClass; - int32_t m_equippedItemSubclass; - int32_t m_equippedItemInvTypes; - int32_t m_effect[3]; - int32_t m_effectDieSides[3]; - float m_effectRealPointsPerLevel[3]; - int32_t m_effectBasePoints[3]; - int32_t m_effectMechanic[3]; - int32_t m_implicitTargetA[3]; - int32_t m_implicitTargetB[3]; - int32_t m_effectRadiusIndex[3]; - int32_t m_effectAura[3]; - int32_t m_effectAuraPeriod[3]; - float m_effectAmplitude[3]; - int32_t m_effectChainTargets[3]; - int32_t m_effectItemType[3]; - int32_t m_effectMiscValue[3]; - int32_t m_effectMiscValueB[3]; - int32_t m_effectTriggerSpell[3]; - float m_effectPointsPerCombo[3]; - int32_t m_effectSpellClassMaskA[3]; - int32_t m_effectSpellClassMaskB[3]; - int32_t m_effectSpellClassMaskC[3]; - int32_t m_spellVisualID[2]; - int32_t m_spellIconID; - int32_t m_activeIconID; - int32_t m_spellPriority; - const char* m_name; - const char* m_nameSubtext; - const char* m_description; - const char* m_auraDescription; - int32_t m_manaCostPct; - int32_t m_startRecoveryCategory; - int32_t m_startRecoveryTime; - int32_t m_maxTargetLevel; - int32_t m_spellClassSet; - int32_t m_spellClassMask[3]; - int32_t m_maxTargets; - int32_t m_defenseType; - int32_t m_preventionType; - int32_t m_stanceBarOrder; - float m_effectChainAmplitude[3]; - int32_t m_minFactionID; - int32_t m_minReputation; - int32_t m_requiredAuraVision; - int32_t m_requiredTotemCategoryID[2]; - int32_t m_requiredAreasID; - int32_t m_schoolMask; - int32_t m_runeCostID; - int32_t m_spellMissileID; - int32_t m_powerDisplayID; - float m_effectBonusCoefficient[3]; - int32_t m_descriptionVariablesID; - int32_t m_difficulty; -}; - -struct SpellAuraOptionsRec { - int32_t m_ID; - int32_t m_cumulativeAura; - int32_t m_procChance; - int32_t m_procCharges; - int32_t m_procTypeMask; -}; - -struct SpellAuraRestrictionsRec { - int32_t m_ID; - int32_t m_casterAuraState; - int32_t m_targetAuraState; - int32_t m_excludeCasterAuraState; - int32_t m_excludeTargetAuraState; - int32_t m_casterAuraSpell; - int32_t m_targetAuraSpell; - int32_t m_excludeCasterAuraSpell; - int32_t m_excludeTargetAuraSpell; -}; - -struct SpellCastTimesRec { - int32_t m_ID; - int32_t m_base; - int32_t m_perLevel; - int32_t m_minimum; -}; - -struct SpellCastingRequirementsRec { - int32_t m_ID; - int32_t m_facingCasterFlags; - int32_t m_minFactionID; - int32_t m_minReputation; - int32_t m_requiredAreasID; - int32_t m_requiredAuraVision; - int32_t m_requiresSpellFocus; -}; - -struct SpellCategoriesRec { - int32_t m_ID; - int32_t m_category; - int32_t m_defenseType; - int32_t m_dispelType; - int32_t m_mechanic; - int32_t m_preventionType; - int32_t m_startRecoveryCategory; -}; - -struct SpellCategoryRec { - int32_t m_ID; - int32_t m_flags; -}; - -struct SpellChainEffectsRec { - int32_t m_ID; - float m_avgSegLen; - float m_width; - float m_noiseScale; - float m_texCoordScale; - int32_t m_segDuration; - int32_t m_segDelay; - const char* m_texture; - int32_t m_flags; - int32_t m_jointCount; - float m_jointOffsetRadius; - int32_t m_jointsPerMinorJoint; - int32_t m_minorJointsPerMajorJoint; - float m_minorJointScale; - float m_majorJointScale; - float m_jointMoveSpeed; - float m_jointSmoothness; - float m_minDurationBetweenJointJumps; - float m_maxDurationBetweenJointJumps; - float m_waveHeight; - float m_waveFreq; - float m_waveSpeed; - float m_minWaveAngle; - float m_maxWaveAngle; - float m_minWaveSpin; - float m_maxWaveSpin; - float m_arcHeight; - float m_minArcAngle; - float m_maxArcAngle; - float m_minArcSpin; - float m_maxArcSpin; - float m_delayBetweenEffects; - float m_minFlickerOnDuration; - float m_maxFlickerOnDuration; - float m_minFlickerOffDuration; - float m_maxFlickerOffDuration; - float m_pulseSpeed; - float m_pulseOnLength; - float m_pulseFadeLength; - int8_t m_alpha; - int8_t m_red; - int8_t m_green; - int8_t m_blue; - int8_t m_blendMode; - const char* m_combo; - int32_t m_renderLayer; - float m_textureLength; - float m_wavePhase; -}; - -struct SpellClassOptionsRec { - int32_t m_ID; - int32_t m_modalNextSpell; - int32_t m_spellClassMask[3]; - int32_t m_spellClassSet; -}; - -struct SpellCooldownsRec { - int32_t m_ID; - int32_t m_categoryRecoveryTime; - int32_t m_recoveryTime; - int32_t m_startRecoveryTime; -}; - -struct SpellDescriptionVariablesRec { - int32_t m_ID; - const char* m_variables; -}; - -struct SpellDifficultyRec { - int32_t m_ID; - int32_t m_difficultySpellID[4]; -}; - -struct SpellDispelTypeRec { - int32_t m_ID; - const char* m_name; - int32_t m_mask; - int32_t m_immunityPossible; - const char* m_internalName; -}; - -struct SpellDurationRec { - int32_t m_ID; - int32_t m_duration; - int32_t m_durationPerLevel; - int32_t m_maxDuration; -}; - -struct SpellEffectRec { - int32_t m_ID; - int32_t m_effect; - float m_effectAmplitude; - int32_t m_effectAura; - int32_t m_effectAuraPeriod; - int32_t m_effectBasePoints; - float m_effectBonusCoefficient; - float m_effectChainAmplitude; - int32_t m_effectChainTargets; - int32_t m_effectDieSides; - int32_t m_effectItemType; - int32_t m_effectMechanic; - int32_t m_effectMiscValue[2]; - float m_effectPointsPerResource; - int32_t m_effectRadiusIndex[2]; - float m_effectRealPointsPerLevel; - int32_t m_effectSpellClassMask[3]; - int32_t m_effectTriggerSpell; - int32_t m_implicitTarget[2]; - int32_t m_spellID; - int32_t m_effectIndex; -}; - -struct SpellEffectCameraShakesRec { - int32_t m_ID; - int32_t m_cameraShake[3]; -}; - -struct SpellEquippedItemsRec { - int32_t m_ID; - int32_t m_equippedItemClass; - int32_t m_equippedItemInvTypes; - int32_t m_equippedItemSubclass; -}; - -struct SpellFocusObjectRec { - int32_t m_ID; - const char* m_name; -}; - -struct SpellIconRec { - int32_t m_ID; - const char* m_textureFilename; -}; - -struct SpellInterruptsRec { - int32_t m_ID; - int32_t m_auraInterruptFlags[2]; - int32_t m_channelInterruptFlags[2]; - int32_t m_interruptFlags; -}; - -struct SpellItemEnchantmentRec { - int32_t m_ID; - int32_t m_charges; - int32_t m_effect[3]; - int32_t m_effectPointsMin[3]; - int32_t m_effectPointsMax[3]; - int32_t m_effectArg[3]; - const char* m_name; - int32_t m_itemVisual; - int32_t m_flags; - int32_t m_srcItemID; - int32_t m_conditionID; - int32_t m_requiredSkillID; - int32_t m_requiredSkillRank; - int32_t m_minLevel; -}; - -struct SpellItemEnchantmentConditionRec { - int32_t m_ID; - int8_t m_ltOperandType[5]; - int32_t m_ltOperand[5]; - int8_t m_operator[5]; - int8_t m_rtOperandType[5]; - int32_t m_rtOperand[5]; - int8_t m_logic[5]; -}; - -struct SpellLevelsRec { - int32_t m_ID; - int32_t m_baseLevel; - int32_t m_maxLevel; - int32_t m_spellLevel; -}; - -struct SpellMechanicRec { - int32_t m_ID; - const char* m_stateName; -}; - -struct SpellMissileRec { - int32_t m_ID; - int32_t m_flags; - float m_defaultPitchMin; - float m_defaultPitchMax; - float m_defaultSpeedMin; - float m_defaultSpeedMax; - float m_randomizeFacingMin; - float m_randomizeFacingMax; - float m_randomizePitchMin; - float m_randomizePitchMax; - float m_randomizeSpeedMin; - float m_randomizeSpeedMax; - float m_gravity; - float m_maxDuration; - float m_collisionRadius; -}; - -struct SpellMissileMotionRec { - int32_t m_ID; - const char* m_name; - const char* m_scriptBody; - int32_t m_flags; - int32_t m_missileCount; -}; - -struct SpellPowerRec { - int32_t m_ID; - int32_t m_manaCost; - int32_t m_manaCostPerLevel; - int32_t m_powerCost; // unconfirmed - int32_t m_manaPerSecond; - int32_t m_powerDisplayID; -}; - -struct SpellRadiusRec { - int32_t m_ID; - float m_radius; - float m_radiusPerLevel; - float m_radiusMax; -}; - -struct SpellRangeRec { - int32_t m_ID; - float m_rangeMin[2]; - float m_rangeMax[2]; - int32_t m_flags; - const char* m_displayName; - const char* m_displayNameShort; -}; - -struct SpellReagentsRec { - int32_t m_ID; - int32_t m_reagent[8]; - int32_t m_reagentCount[8]; -}; - -struct SpellRuneCostRec { - int32_t m_ID; - int32_t m_blood; - int32_t m_unholy; - int32_t m_frost; - int32_t m_runicPower; -}; - -struct SpellScalingRec { - int32_t m_ID; - int32_t m_castTimeMin; - int32_t m_castTimeMax; - int32_t m_castTimeMaxLevel; - int32_t m_class; - float m_coefficient[3]; - float m_variance[3]; - float m_comboPointsCoefficient[3]; - float m_nerfFactor; - int32_t m_nerfMaxLevel; -}; - -struct SpellShapeshiftRec { - int32_t m_ID; - int32_t m_shapeshiftExclude[2]; - int32_t m_shapeshiftMask[2]; - int32_t m_stanceBarOrder; -}; - -struct SpellShapeshiftFormRec { - int32_t m_ID; - int32_t m_bonusActionBar; - const char* m_name; - int32_t m_flags; - int32_t m_creatureType; - int32_t m_attackIconID; - int32_t m_combatRoundTime; - int32_t m_creatureDisplayID[4]; - int32_t m_presetSpellID[8]; -}; - -struct SpellTargetRestrictionsRec { - int32_t m_ID; - int32_t m_maxTargets; - int32_t m_maxTargetLevel; - int32_t m_targetCreatureType; - int32_t m_targets; -}; - -struct SpellTotemsRec { - int32_t m_ID; - int32_t m_requiredTotemCategoryID[2]; - int32_t m_totem[2]; -}; - -struct SpellVisualRec { - int32_t m_ID; - int32_t m_precastKit; - int32_t m_castKit; - int32_t m_impactKit; - int32_t m_stateKit; - int32_t m_stateDoneKit; - int32_t m_channelKit; - int32_t m_hasMissile; - int32_t m_missileModel; - int32_t m_missilePathType; - int32_t m_missileDestinationAttachment; - int32_t m_missileSound; - int32_t m_animEventSoundID; - int32_t m_flags; - int32_t m_casterImpactKit; - int32_t m_targetImpactKit; - int32_t m_missileAttachment; - int32_t m_missileFollowGroundHeight; - int32_t m_missileFollowGroundDropSpeed; - int32_t m_missileFollowGroundApproach; - int32_t m_missileFollowGroundFlags; - int32_t m_missileMotion; - int32_t m_missileTargetingKit; - int32_t m_instantAreaKit; - int32_t m_impactAreaKit; - int32_t m_persistentAreaKit; - float m_missileCastOffset[3]; - float m_missileImpactOffset[3]; -}; - -struct SpellVisualEffectNameRec { - int32_t m_ID; - const char* m_name; - const char* m_fileName; - float m_areaEffectSize; - float m_scale; - float m_minAllowedScale; - float m_maxAllowedScale; -}; - -struct SpellVisualKitRec { - int32_t m_ID; - int32_t m_startAnimID; - int32_t m_animID; - int32_t m_headEffect; - int32_t m_chestEffect; - int32_t m_baseEffect; - int32_t m_leftHandEffect; - int32_t m_rightHandEffect; - int32_t m_breathEffect; - int32_t m_leftWeaponEffect; - int32_t m_rightWeaponEffect; - int32_t m_specialEffect[3]; - int32_t m_worldEffect; - int32_t m_soundID; - int32_t m_shakeID; - int32_t m_charProc[4]; - float m_charParamZero[4]; - float m_charParamOne[4]; - float m_charParamTwo[4]; - float m_charParamThree[4]; - int32_t m_flags; -}; - -struct SpellVisualKitAreaModelRec { - int32_t m_ID; - const char* m_name; - int32_t m_enumID; -}; - -struct SpellVisualKitModelAttachRec { - int32_t m_ID; - int32_t m_parentSpellVisualKitID; - int32_t m_spellVisualEffectNameID; - int32_t m_attachmentID; - float m_offset[3]; - float m_yaw; - float m_pitch; - float m_roll; -}; - -struct SpellVisualPrecastTransitionsRec { - int32_t m_ID; - const char* m_precastLoadAnimName; - const char* m_precastHoldAnimName; -}; - -struct StableSlotPricesRec { - int32_t m_ID; - int32_t m_cost; -}; - -struct Startup_StringsRec { - int32_t m_ID; - const char* m_name; - const char* m_message; -}; - -struct StationeryRec { - int32_t m_ID; - int32_t m_itemID; - const char* m_texture; - int32_t m_flags; -}; - -struct StringLookupsRec { - int32_t m_ID; - const char* m_string; -}; - -struct SummonPropertiesRec { - int32_t m_ID; - int32_t m_control; - int32_t m_faction; - int32_t m_title; - int32_t m_slot; - int32_t m_flags; -}; - -struct TalentRec { - int32_t m_ID; - int32_t m_tabID; - int32_t m_tierID; - int32_t m_columnIndex; - int32_t m_spellRank[9]; - int32_t m_prereqTalent[3]; - int32_t m_prereqRank[3]; - int32_t m_flags; - int32_t m_requiredSpellID; - int32_t m_categoryMask[2]; -}; - -struct TalentTabRec { - int32_t m_ID; - const char* m_name; - int32_t m_spellIconID; - int32_t m_raceMask; - int32_t m_classMask; - int32_t m_categoryEnumID; // unconfirmed - int32_t m_orderIndex; - const char* m_backgroundFile; -}; - -struct TaxiNodesRec { - int32_t m_ID; - int32_t m_continentID; - float m_pos[3]; - const char* m_name; - int32_t m_mountCreatureID[2]; -}; - -struct TaxiPathRec { - int32_t m_ID; - int32_t m_fromTaxiNode; - int32_t m_toTaxiNode; - int32_t m_cost; -}; - -struct TaxiPathNodeRec { - int32_t m_ID; - int32_t m_pathID; - int32_t m_nodeIndex; - int32_t m_continentID; - float m_loc[3]; - int32_t m_flags; - int32_t m_delay; - int32_t m_arrivalEventID; - int32_t m_departureEventID; -}; - -struct TeamContributionPointsRec { - int32_t m_ID; - float m_data; -}; - -struct TerrainMaterialRec { - int32_t m_ID; - const char* m_name; - int32_t m_shader; - const char* m_envMapPath; -}; - -struct TerrainTypeRec { - int32_t m_terrainID; - const char* m_terrainDesc; - int32_t m_footstepSprayRun; - int32_t m_footstepSprayWalk; - int32_t m_soundID; - int32_t m_flags; - int32_t m_generatedID; -}; - -struct TerrainTypeSoundsRec { - int32_t m_ID; -}; - -struct TotemCategoryRec { - int32_t m_ID; - const char* m_name; - int32_t m_totemCategoryType; - int32_t m_totemCategoryMask; -}; - -struct TransportAnimationRec { - int32_t m_ID; - int32_t m_transportID; - int32_t m_timeIndex; - float m_pos[3]; - int32_t m_sequenceID; -}; - -struct TransportPhysicsRec { - int32_t m_ID; - float m_waveAmp; - float m_waveTimeScale; - float m_rollAmp; - float m_rollTimeScale; - float m_pitchAmp; - float m_pitchTimeScale; - float m_maxBank; - float m_maxBankTurnSpeed; - float m_speedDampThresh; - float m_speedDamp; -}; - -struct TransportRotationRec { - int32_t m_ID; - int32_t m_gameObjectsID; - int32_t m_timeIndex; - float m_rot[4]; -}; - -struct UISoundLookupsRec { - int32_t m_ID; - int32_t m_soundID; - const char* m_soundName; -}; - -struct UnitBloodRec { - int32_t m_ID; - int32_t m_combatBloodSpurtFront[2]; - int32_t m_combatBloodSpurtBack[2]; - const char* m_groundBlood[5]; -}; - -struct UnitBloodLevelsRec { - int32_t m_ID; - int32_t m_violencelevel[3]; -}; - -struct VehicleRec { - int32_t m_ID; - int32_t m_flags; - float m_turnSpeed; - float m_pitchSpeed; - float m_pitchMin; - float m_pitchMax; - int32_t m_seatID[8]; - float m_mouseLookOffsetPitch; - float m_cameraFadeDistScalarMin; - float m_cameraFadeDistScalarMax; - float m_cameraPitchOffset; - float m_facingLimitRight; - float m_facingLimitLeft; - float m_msslTrgtTurnLingering; - float m_msslTrgtPitchLingering; - float m_msslTrgtMouseLingering; - float m_msslTrgtEndOpacity; - float m_msslTrgtArcSpeed; - float m_msslTrgtArcRepeat; - float m_msslTrgtArcWidth; - float m_msslTrgtImpactRadius[2]; - const char* m_msslTrgtArcTexture; - const char* m_msslTrgtImpactTexture; - const char* m_msslTrgtImpactModel[2]; - float m_cameraYawOffset; - int32_t m_uiLocomotionType; - float m_msslTrgtImpactTexRadius; - int32_t m_vehicleUiindicatorID; - int32_t m_powerDisplayID[3]; -}; - -struct VehicleSeatRec { - int32_t m_ID; - float m_field_3_3_5_12213_001; // unconfirmed - int32_t m_attachmentID; - float m_attachmentOffset[3]; - float m_field_3_3_5_12213_004; // unconfirmed - float m_enterSpeed; - float m_enterGravity; - float m_enterMinDuration; - float m_enterMaxDuration; - float m_enterMinArcHeight; - float m_enterMaxArcHeight; - int32_t m_enterAnimStart; - int32_t m_enterAnimLoop; - int32_t m_rideAnimStart; - int32_t m_rideAnimLoop; - int32_t m_rideUpperAnimStart; - int32_t m_rideUpperAnimLoop; - float m_field_3_3_5_12213_017; // unconfirmed - float m_exitSpeed; - float m_exitGravity; - float m_exitMinDuration; - float m_exitMaxDuration; - float m_exitMinArcHeight; - float m_exitMaxArcHeight; - int32_t m_exitAnimStart; - int32_t m_exitAnimLoop; - int32_t m_exitAnimEnd; - float m_field_3_3_5_12213_027; // unconfirmed - float m_passengerPitch; - float m_field_3_3_5_12213_029; // unconfirmed - int32_t m_passengerAttachmentID; - int32_t m_vehicleEnterAnim; - int32_t m_vehicleExitAnim; - int32_t m_vehicleRideAnimLoop; - int32_t m_field_3_3_5_12213_034; // unconfirmed - int32_t m_vehicleExitAnimBone; - int32_t m_vehicleEnterAnimBone; - float m_field_3_3_5_12213_037; // unconfirmed - float m_field_3_3_5_12213_038; // unconfirmed - int32_t m_vehicleAbilityDisplay; - int32_t m_enterUisoundID; - int32_t m_field_3_3_5_12213_041; // unconfirmed - int32_t m_uiSkin; - float m_field_3_3_5_12213_043; // unconfirmed - float m_field_3_3_5_12213_044; // unconfirmed - float m_field_3_3_5_12213_045; // unconfirmed - int32_t m_field_3_3_5_12213_046; // unconfirmed - float m_field_3_3_5_12213_047; // unconfirmed - float m_field_3_3_5_12213_048; // unconfirmed - float m_field_3_3_5_12213_049; // unconfirmed - float m_field_3_3_5_12213_050; // unconfirmed - float m_field_3_3_5_12213_051; // unconfirmed - float m_field_3_3_5_12213_052; // unconfirmed - float m_field_3_3_5_12213_053; // unconfirmed - float m_field_3_3_5_12213_054; // unconfirmed - float m_field_3_3_5_12213_055; // unconfirmed -}; - -struct VehicleUIIndSeatRec { - int32_t m_ID; - int32_t m_vehicleUiindicatorID; - int32_t m_virtualSeatIndex; - float m_xpos; - float m_ypos; -}; - -struct VehicleUIIndicatorRec { - int32_t m_ID; - const char* m_backgroundTexture; -}; - -struct VideoHardwareRec { - int32_t m_ID; - int32_t m_vendorID; - int32_t m_deviceID; - int32_t m_farclipIdx; - int32_t m_terrainLoddistIdx; - int32_t m_terrainShadowLod; - int32_t m_detailDoodadDensityIdx; - int32_t m_detailDoodadAlpha; - int32_t m_animatingDoodadIdx; - int32_t m_trilinear; - int32_t m_numLights; - int32_t m_specularity; - int32_t m_waterLodidx; - int32_t m_particleDensityIdx; - int32_t m_unitDrawDistIdx; - int32_t m_smallCullDistIdx; - int32_t m_resolutionIdx; - int32_t m_baseMipLevel; - const char* m_oglOverrides; - const char* m_d3DOverrides; - int32_t m_fixLag; - int32_t m_multisample; - int32_t m_atlasdisable; -}; - -struct VocalUISoundsRec { - int32_t m_ID; - int32_t m_vocalUienum; - int32_t m_raceID; - int32_t m_normalSoundID[2]; - int32_t m_pissedSoundID[2]; -}; - -struct WMOAreaTableRec { - int32_t m_ID; - int32_t m_wmoid; - int32_t m_nameSetID; - int32_t m_wmogroupID; - int32_t m_soundProviderPref; - int32_t m_soundProviderPrefUnderwater; - int32_t m_ambienceID; - int32_t m_zoneMusic; - int32_t m_introSound; - int32_t m_flags; - int32_t m_areaTableID; - const char* m_areaName; -}; - -struct WeaponImpactSoundsRec { - int32_t m_ID; - int32_t m_weaponSubClassID; - int32_t m_parrySoundType; - int32_t m_impactSoundID[10]; - int32_t m_critImpactSoundID[10]; -}; - -struct WeaponSwingSounds2Rec { - int32_t m_ID; - int32_t m_swingType; - int32_t m_crit; - int32_t m_soundID; -}; - -struct WeatherRec { - int32_t m_ID; - int32_t m_ambienceID; - int32_t m_effectType; - float m_transitionSkyBox; - float m_effectColor[3]; - const char* m_effectTexture; -}; - -struct WorldChunkSoundsRec { - int32_t m_ID; - int32_t m_chunkX; - int32_t m_chunkY; - int32_t m_subchunkX; - int32_t m_subchunkY; - int32_t m_zoneIntroMusicID; - int32_t m_zoneMusicID; - int32_t m_soundAmbienceID; - int32_t m_soundProviderPreferencesID; -}; - -struct WorldMapAreaRec { - int32_t m_ID; - int32_t m_mapID; - int32_t m_areaID; - const char* m_areaName; - float m_locLeft; - float m_locRight; - float m_locTop; - float m_locBottom; - int32_t m_displayMapID; - int32_t m_defaultDungeonFloor; - int32_t m_parentWorldMapID; -}; - -struct WorldMapContinentRec { - int32_t m_ID; - int32_t m_mapID; - int32_t m_leftBoundary; - int32_t m_rightBoundary; - int32_t m_topBoundary; - int32_t m_bottomBoundary; - float m_continentOffset[2]; - float m_scale; - float m_taxiMin[2]; - float m_taxiMax[2]; - int32_t m_worldMapID; -}; - -struct WorldMapOverlayRec { - int32_t m_ID; - int32_t m_mapAreaID; - int32_t m_areaID[4]; - int32_t m_mapPointX; - int32_t m_mapPointY; - const char* m_textureName; - int32_t m_textureWidth; - int32_t m_textureHeight; - int32_t m_offsetX; - int32_t m_offsetY; - int32_t m_hitRectTop; - int32_t m_hitRectLeft; - int32_t m_hitRectBottom; - int32_t m_hitRectRight; -}; - -struct WorldMapTransformsRec { - int32_t m_ID; - int32_t m_mapID; - float m_regionMin[2]; - float m_regionMax[2]; - int32_t m_newMapID; - float m_regionOffset[2]; - int32_t m_newDungeonMapID; -}; - -struct WorldSafeLocsRec { - int32_t m_ID; - int32_t m_continent; - float m_loc[3]; - const char* m_areaName; -}; - -struct WorldStateUIRec { - int32_t m_ID; - int32_t m_mapID; - int32_t m_areaID; - int32_t m_phaseShift; - const char* m_icon; - const char* m_string; - const char* m_tooltip; - int32_t m_stateVariable; - int32_t m_type; - const char* m_dynamicIcon; - const char* m_dynamicTooltip; - const char* m_extendedUi; - int32_t m_extendedUistateVariable[3]; -}; - -struct WorldStateZoneSoundsRec { - int32_t m_worldStateID; - int32_t m_worldStateValue; - int32_t m_areaID; - int32_t m_wmoareaID; - int32_t m_zoneIntroMusicID; - int32_t m_zoneMusicID; - int32_t m_soundAmbienceID; - int32_t m_soundProviderPreferencesID; - int32_t m_generatedID; -}; - -struct WowError_StringsRec { - int32_t m_ID; - const char* m_name; // unconfirmed - const char* m_description; -}; - -struct ZoneIntroMusicTableRec { - int32_t m_ID; - const char* m_name; - int32_t m_soundID; - int32_t m_priority; - int32_t m_minDelayMinutes; -}; - -struct ZoneLightRec { - int32_t m_ID; - const char* m_name; - int32_t m_mapID; - int32_t m_lightID; -}; - -struct ZoneLightPointRec { - int32_t m_ID; - int32_t m_zoneLightID; - float m_pos[2]; - int32_t m_pointOrder; -}; - -struct ZoneMusicRec { - int32_t m_ID; - const char* m_setName; - int32_t m_silenceIntervalMin[2]; - int32_t m_silenceIntervalMax[2]; - int32_t m_sounds[2]; -}; - -struct gtBarberShopCostBaseRec { - float m_data; - int32_t m_generatedID; -}; - -struct gtChanceToMeleeCritRec { - float m_data; - int32_t m_generatedID; -}; - -struct gtChanceToMeleeCritBaseRec { - float m_data; - int32_t m_generatedID; -}; - -struct gtChanceToSpellCritRec { - float m_data; - int32_t m_generatedID; -}; - -struct gtChanceToSpellCritBaseRec { - float m_data; - int32_t m_generatedID; -}; - -struct gtCombatRatingsRec { - float m_data; - int32_t m_generatedID; -}; - -struct gtNPCManaCostScalerRec { - float m_data; - int32_t m_generatedID; -}; - -struct gtOCTClassCombatRatingScalarRec { - int32_t m_ID; - float m_data; -}; - -struct gtOCTRegenHPRec { - float m_data; - int32_t m_generatedID; -}; - -struct gtOCTRegenMPRec { - float m_data; - int32_t m_generatedID; -}; - -struct gtRegenHPPerSptRec { - float m_data; - int32_t m_generatedID; -}; - -struct gtRegenMPPerSptRec { - float m_data; - int32_t m_generatedID; -}; - -struct gtSpellScalingRec { - int32_t m_ID; - float m_data; -}; - - DB_CLIENT_DB(AchievementRec); DB_CLIENT_DB(Achievement_CategoryRec); DB_CLIENT_DB(Achievement_CriteriaRec); diff --git a/profile/3.3.5a-windows-386/include/gx/font.h b/profile/3.3.5a-windows-386/include/gx/font.h index e4c0088..41314a3 100644 --- a/profile/3.3.5a-windows-386/include/gx/font.h +++ b/profile/3.3.5a-windows-386/include/gx/font.h @@ -20,7 +20,6 @@ DECLARE_STRUCT(TEXTURECACHE); DECLARE_STRUCT(TEXTURECACHEROW); STORM_TS_LIST(CGxFont); -STORM_TS_LIST(CHARCODEDESC); STORM_TS_HASH(CHARCODEDESC, HASHKEY_NONE); diff --git a/profile/3.3.5a-windows-386/include/gx/format.h b/profile/3.3.5a-windows-386/include/gx/format.h index 4b81eca..ffae7b4 100644 --- a/profile/3.3.5a-windows-386/include/gx/format.h +++ b/profile/3.3.5a-windows-386/include/gx/format.h @@ -23,21 +23,23 @@ enum CGxFormat__Format { struct CGxFormat { uint32_t unk0; bool hwTnL; - // TODO: verify this name - bool hwCursor; // 0x5 + bool hwCursor; // 0x5, UC int8_t fixLag; int8_t window; - uint32_t unk8; + bool aspect; // UC int32_t maximize; CGxFormat__Format depthFormat; C2iVector size; - uint32_t unk1C; + // set by CVGxTripleBufferCallback + uint32_t backbuffers; // buffering? buffer? framebufferCount? uint32_t sampleCount; - float float24; // multisampleQuality? write at 00769693 + float multisampleQuality; // UC, write at 00769693 CGxFormat__Format colorFormat; uint32_t refreshRate; uint32_t vsync; - uint32_t unk34; + bool stereoEnabled; // UC, 34 + // something to do with fixed function? + // write at 0076AD4C uint32_t unk38; uint32_t unk3C; uint32_t unk40; diff --git a/profile/3.3.5a-windows-386/include/main.h b/profile/3.3.5a-windows-386/include/main.h index 9614919..ede534b 100644 --- a/profile/3.3.5a-windows-386/include/main.h +++ b/profile/3.3.5a-windows-386/include/main.h @@ -15,8 +15,12 @@ #include "bc/file/filesystem.h" #include "bc/file/stream.h" +#include "bc/file/processdir.h" +#include "bc/lock/do_once.h" +#include "bc/string/quicknativepath.h" #include "bc/systemfile/stacked.h" #include "bc/osfile.h" +#include "bc/time/timestamp.h" #include "camera/camera.h" @@ -125,6 +129,7 @@ #include "storm/array/uint8_t.h" #include "storm/array/uint32_t.h" #include "storm/array/float.h" +#include "storm/array/c2ivector.h" #include "storm/queue/timer_priority_uint32_t.h" diff --git a/profile/3.3.5a-windows-386/include/storm/array/c2ivector.h b/profile/3.3.5a-windows-386/include/storm/array/c2ivector.h new file mode 100644 index 0000000..85af6b7 --- /dev/null +++ b/profile/3.3.5a-windows-386/include/storm/array/c2ivector.h @@ -0,0 +1,10 @@ +#ifndef STORM_ARRAY_C_2I_VECTOR_H +#define STORM_ARRAY_C_2I_VECTOR_H + +#include "tempest/vector.h" + +#include "storm/array.h" + +STORM_TS_GROWABLE_ARRAY(C2iVector); + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/include/system/detect.h b/profile/3.3.5a-windows-386/include/system/detect.h index 6d164d3..e054f6b 100644 --- a/profile/3.3.5a-windows-386/include/system/detect.h +++ b/profile/3.3.5a-windows-386/include/system/detect.h @@ -1,7 +1,7 @@ #ifndef SYSTEM_DETECT_H #define SYSTEM_DETECT_H -#if !defined(IDA) && !defined(GHIDRA) && !defined(BINANA_GENERATOR) +#if !defined(__GNUC__) && !defined(IDA) && !defined(GHIDRA) && !defined(BINANA_GENERATOR) #error "Preprocessor mode not detected! You must define either IDA or GHIDRA or BINANA_GENERATOR" #endif diff --git a/profile/3.3.5a-windows-386/include/text/font.h b/profile/3.3.5a-windows-386/include/text/font.h index bed1f9b..eaa0c2e 100644 --- a/profile/3.3.5a-windows-386/include/text/font.h +++ b/profile/3.3.5a-windows-386/include/text/font.h @@ -5,6 +5,5 @@ DECLARE_HANDLE(HTEXTBLOCK); DECLARE_HANDLE(HTEXTFONT); -DECLARE_HANDLE(HFACE); #endif \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/symbol/bc/func.sym b/profile/3.3.5a-windows-386/symbol/bc/func.sym index 0cb98f9..e9960bf 100644 --- a/profile/3.3.5a-windows-386/symbol/bc/func.sym +++ b/profile/3.3.5a-windows-386/symbol/bc/func.sym @@ -1,14 +1,69 @@ +Blizzard__Memory__Allocate 00401010 f end=00401067 type="void* __stdcall func(uint32_t count)" +Blizzard__Memory__Free 00401030 f end=0040104B type="void __stdcall func(void* ptr)" ; void operator delete(void*) +Blizzard__File__Close 004270F0 f end=0042712f +Blizzard__File__Delete 00427130 f end=0042716F ; Blizzard::File::Delete(char const*) +Blizzard__File__GetFileInfo 004271D0 f end=00427242 type="bool __stdcall func(char* name, Blizzard__File__Info* info)" +Blizzard__File__GetFileInfo 00427250 f end=004272B8 type="Blizzard__File__Info* __stdcall func(Blizzard__File__StreamRecord* file)" +Blizzard__File__GetFileInfo 004272C0 f end=00427325 type="bool __stdcall func(Blizzard__File__StreamRecord* file, Blizzard__File__FileInfo* info)" +Blizzard__File__GetPos 004273A0 f end=00427406 +Blizzard__File__GetRootChars 00427410 f end=00427466 +Blizzard__File__GetWorkingDirectory 00427470 f end=004274B5 +Blizzard__File__IsAbsolutePath 004274C0 f end=004274FF +Blizzard__File__MakeAbsolutePath 00427500 f end=00427551 ; Blizzard::File::MakeAbsolutePath(char const*, char*, int, bool) +Blizzard__File__Move 00427560 f end=004275A8 ; Blizzard::File::Move(char const*, char const*) +Blizzard__File__Copy 004275B0 f end=004275FE Blizzard__File__Open 00427600 f end=0042765E Blizzard__File__Read 004276C0 f end=0042771F Blizzard__File__Write 004279B0 f end=00427A12 -Blizzard__File__Close 004270F0 f end=0042712f -Blizzard__File__Delete 00427130 f end=0042716F ; Blizzard::File::Delete(char const*) -Blizzard__File__MakeAbsolutePath 00427500 f end=00427551 ; Blizzard::File::MakeAbsolutePath(char const*, char*, int, bool) -Blizzard__File__Move 00427560 f end=004275A8 ; Blizzard::File::Move(char const*, char const*) +System_File__FromNativeAttributes 00427C70 f end=00427CBC +System_File__ReadP 00427CC0 f type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__WriteP 00427D10 f end=00427D5C type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +Blizzard__String__FindFilename 00428500 f end=00428538 type="char* __stdcall func(char* str)" +Blizzard__String__Copy 00428670 f end=004286BB type="int32_t __stdcall func(char* dst, const char* src, int32_t count)" +Blizzard__Unicode__ConvertUTF16to8 00428940 f end=00428AFC type="int32_t __stdcall func(uint8_t* dst, uint32_t dstmaxchars, const uint16_t* src, uint32_t srcmaxchars, uint32_t* dstchars, uint32_t* srcchars)" +Blizzard__Unicode__ConvertUTF8to16 00428B00 f end=00428C94 type="int32_t __stdcall func(uint16_t* dst, uint32_t dstmaxchars, const uint8_t* src, uint32_t srcmaxchars, uint32_t* dstchars, uint32_t* srcchars)" +Blizzard__Time__FromFileTime 00428F00 f end=00428F56 type="Blizzard__Time__Timestamp __stdcall func(uint64_t fileTime)" +Blizzard__File__CreateDirectory 0042CEA0 f end=0042CEE9 +HoistAll 0042CFB0 f end=0042D43E System_File__Stacked__file_init 0042D440 f end=0042D4F4 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Close 0042D620 f end=0042D64F type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +Blizzard__String__Format 0042E670 f end=0042E6A1 +System_File__GetRootChars 004325C0 f type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__FromNativeName 00433590 f end=00433650 type="void __stdcall func(uint8_t *buffer, uint32_t buffersize, const char *str)" +Blizzard__String__QuickNativePath_300__QuickNativePath 00433650 f end=0043375A +System_File__GetFileInfoByFile 00435580 f end=004356A2 type="void __stdcall func(Blizzard__File__StreamRecord* file)" +System_File__Exists 004356B0 f end=00435781 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__MakeAbsolutePath 00435790 f end=00435889 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Move 00435890 f end=004359B6 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Delete 004359C0 f end=00435A57 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__read_overlapped 00454870 f end=00454904 +System_File__write_overlapped 00454910 f end=004549A9 +System_File__SetWorkingDirectory 00454A50 f end=00454AB5 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Create 00454AC0 f end=00454AD3 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__GetWorkingDirectory 00454AE0 f end=00454B44 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__ProcessDirFast 00454B50 f end=00454CAA type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Flush 00454CB0 f end=00454CE2 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__GetFileInfo 00454CF0 f end=00454E6A type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__GetFreeSpace 00454E70 f end=00454FCE type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__GetPos 00454FD0 f end=0045504C type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__IsAbsolutePath 00455050 f type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__IsReadOnly 004550C0 f type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__CreateDirectory 00455130 f end=004554B1 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Copy 004554C0 f end=00455727 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Open 00455730 f end=004558E3 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Read 004558F0 f end=0045590E type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__RemoveDirectory 00455910 f end=00455A2E type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__SetCacheMode 00455A30 f end=00455B07 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__SetEOF 00455B10 f end=00455B94 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__SetAttributes 00455BA0 f end=00455C9A type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__SetPos 00455CA0 f end=00455D13 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Write 00455D20 f end=00455D3E type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__read_locked 00457820 f end=00457904 +System_File__write_locked 00457910 f end=004579f4 +System_File__detect_io_mode 00459910 f end=00459998 OsCloseFile 00461B00 f end=00461B09 OsReadFile 00461B50 f end=00461B88 OsGetFileSize 00461BD0 f end=00461BF4 +OsCreateDirectory 00461D10 f end=00461D3F OsSetCurrentDirectory 00461DB0 f end=00461DD7 OsCreateFile 00461FA0 f end=00461FFA -OsCreateDirectory 00461D10 f end=00461D3F \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/symbol/bc/label.sym b/profile/3.3.5a-windows-386/symbol/bc/label.sym index 7926e40..fb636ec 100644 --- a/profile/3.3.5a-windows-386/symbol/bc/label.sym +++ b/profile/3.3.5a-windows-386/symbol/bc/label.sym @@ -1 +1,9 @@ System_File__Stacked__s_manager 00AB90AC l type="Blizzard__File__Filesystem*" +System_File__read_func 00AB912C l ; type="int32_t (*)(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__write_func 00AB91B4 l ; type="int32_t (*)(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Stacked__s_nullstack 00AB91C0 l type="Blizzard__File__Filesystem" +System_File__Stacked__s_basestack 00AB92C0 l type="Blizzard__File__Filesystem" +System_File__s_read_init 00B38A5C l type="Blizzard__Lock__DoOnceData" +System_File__s_write_init 00B38A64 l type="Blizzard__Lock__DoOnceData" +firstByteMark 009E537C l type="uint32_t[7]" +bytesFromUTF8 009E5398 l type="uint8_t[256]" \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/symbol/client/func.sym b/profile/3.3.5a-windows-386/symbol/client/func.sym index 2d19edc..7908d27 100644 --- a/profile/3.3.5a-windows-386/symbol/client/func.sym +++ b/profile/3.3.5a-windows-386/symbol/client/func.sym @@ -1,5 +1,3 @@ -operator_new 00401010 f end=00401067 type="void* __stdcall func(uint32_t count)" -operator_delete_array 00401030 f end=0040104B type="void __stdcall func(void* ptr)" ; void operator delete(void*) SetPaths 00402B20 f end=00402B8B CommonMain 00406C70 f end=00406D64 InitializeGlobal 004067F0 f end=00406B67 diff --git a/profile/3.3.5a-windows-386/symbol/console/func.sym b/profile/3.3.5a-windows-386/symbol/console/func.sym index 55ad12a..6b87528 100644 --- a/profile/3.3.5a-windows-386/symbol/console/func.sym +++ b/profile/3.3.5a-windows-386/symbol/console/func.sym @@ -65,8 +65,10 @@ ValidateFormatMonitor 00769E10 f end=00769FF0 CCGxRestart 00769FF0 f end=0076A12E RegisterGxCVars 0076A630 f end=0076AAA8 ConsoleDeviceInitialize 0076AB80 f end=0076B287 type="int32_t __stdcall func(char* title, int32_t multithreaded)" +SetDefaults 0076B3F0 f type="void __stdcall func(DefaultSettings* defaults, Hardware* hardware)" ; void SetDefaults(DefaultSettings&, const Hardware&) ConsoleDetectSetDefaultsFormat 0076B520 f end=0076B53D type="void __stdcall func(DefaultSettings* defaults, Hardware* hardware)" ; ConsoleDetectSetDefaultsFormat(DefaultSettings&, const Hardware&) ConsoleDetectSaveHardware 0076B620 f end=0076B7DB ConsoleDetectDetectHardware 0076BA30 f end=0076BBE9 type="void __stdcall func(Hardware* hardware, bool* hwChanged)" ; ConsoleDetectDetectHardware(Hardware&, bool&) ConsoleCommandHistoryDepth 0095BFB0 f end=0095BFB6 type="int32_t __stdcall func()" -SetDefaults 0076B3F0 f type="void __stdcall func(DefaultSettings* defaults, Hardware* hardware)" ; void SetDefaults(DefaultSettings&, const Hardware&) \ No newline at end of file +ConsoleGxOverride 007696D0 f end=00769804 type="void __stdcall func(char* list)" +AddResolution 0054EFE0 f end=0054F046 type="void __fastcall func(TSGrowableArray_C2iVector* this, C2iVector* resolution)" \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/symbol/console/label.sym b/profile/3.3.5a-windows-386/symbol/console/label.sym index 14a364c..17a4299 100644 --- a/profile/3.3.5a-windows-386/symbol/console/label.sym +++ b/profile/3.3.5a-windows-386/symbol/console/label.sym @@ -1,3 +1,5 @@ +formatToInt 00AD87C4 l type="char*[8]" +g_gxApiNames 00AD87E4 l type="char*[6]" s_rect 00ADBAB4 l type="RECTF" ; RECTF s_consoleHotKey 00ADBAC4 l type="KEY" ; KEY s_historyIndex 00ADBAC8 l type="int32_t" ; int32 @@ -48,8 +50,10 @@ g_commandHistory 00CA3A28 l type="char[32][1024]" g_commandHistoryIndex 00CABA28 l type="uint32_t" g_defaultCommand 00CABA2C l type="COMMANDHANDLER" ; command function pointer g_consoleCommandHash 00CABA30 l type="TSHashTable_CONSOLECOMMAND_HASHKEY_STRI" ; TSHashTable +s_consoleGxOverrideSet 00CABAC8 l type="int32_t[9]" s_defaults 00CABAF0 l type="DefaultSettings" s_hardware 00CABB38 l type="Hardware" +s_consoleGxOverrideVal 00CABB7C l type="uint32_t[9]" s_hardwareDetected 00CABCBC l type="bool" s_hwChanged 00CABCBD l type="bool" s_hwDetect 00CABCBE l type="bool" @@ -60,5 +64,4 @@ s_desktopFormat 00CABD40 l type="CGxFormat" s_fallbackFormat 00CABDA8 l type="CGxFormat" s_lastGoodFormat 00CABE00 l type="CGxFormat" s_formats 00CABE98 l type="CGxFormat[5]" -formatToInt 00AD87C4 l type="char*[8]" -g_gxApiNames 00AD87E4 l type="char*[6]" \ No newline at end of file +g_videoHardwareDB 00ADBF88 l type="WowClientDB_VideoHardwareRec" \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/symbol/cvar/func.sym b/profile/3.3.5a-windows-386/symbol/cvar/func.sym index 440550b..5bb23a3 100644 --- a/profile/3.3.5a-windows-386/symbol/cvar/func.sym +++ b/profile/3.3.5a-windows-386/symbol/cvar/func.sym @@ -17,4 +17,3 @@ CVGxWindowResizeLockCallback 00769890 f end=007698A9 type="bool __stdcall func(C CVGxStereoEnabledCallback 00769C00 f end=00769C2B type="bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)" CVGxResolutionCallback 0076A220 f end=0076A57F type="bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)" CVGxRefreshCallback 0076A580 f end=0076A62D type="bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)" -CVGxVideoOptionsVersionCallback 008A1420 f end=008A1423 type="bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)" \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/symbol/gx/func.sym b/profile/3.3.5a-windows-386/symbol/gx/func.sym index a543b90..2b65981 100644 --- a/profile/3.3.5a-windows-386/symbol/gx/func.sym +++ b/profile/3.3.5a-windows-386/symbol/gx/func.sym @@ -24,4 +24,8 @@ GxQueryCreate 00681630 f end=0068165B type="void __stdcall func(CGxQuery** query GxLogOpen 006817C0 f end=006817C5 type="void __stdcall func()" GxAdapterMonitorModes 00681210 f end=00681219 type="int32_t __stdcall func(TSGrowableArray_CGxMonitorMode* modes)" GxAdapterDesktopMode 00681220 f type="int32_t __stdcall func(CGxMonitorMode* mode)" -GxDefaultApi 008C8DE0 f type="EGxApi __stdcall func()" \ No newline at end of file +GxDefaultApi 008C8DE0 f type="EGxApi __stdcall func()" +GxApiSupported 006811D0 f end=006811F0 type="int32_t __stdcall func(EGxApi api)" ; 00005410 +GxSetMaxFPS 00681770 f end=0068177D type="void __stdcall func(uint32_t maxFPS)" +GxSetMaxFPSBk 00681790 f end=0068179D type="void __stdcall func(uint32_t maxFPSBk)" +CGxMonitorModeSort 00689E80 f type="int32_t __stdcall func(void* a, void* b)" \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/symbol/gx/label.sym b/profile/3.3.5a-windows-386/symbol/gx/label.sym new file mode 100644 index 0000000..cd8e9ef --- /dev/null +++ b/profile/3.3.5a-windows-386/symbol/gx/label.sym @@ -0,0 +1,2 @@ +s_maxFPS 00C5DF7C l type="uint32_t" +s_maxFPSBk 00C5DF74 l type="uint32_t" \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/symbol/gxdevice/func.sym b/profile/3.3.5a-windows-386/symbol/gxdevice/func.sym index f0e36be..63d0487 100644 --- a/profile/3.3.5a-windows-386/symbol/gxdevice/func.sym +++ b/profile/3.3.5a-windows-386/symbol/gxdevice/func.sym @@ -30,6 +30,7 @@ CGxDevice__ICursorUpdate 00683610 f end=00683632 type="void __stdcall func(EGxTe CGxDevice__CursorSetVisible 00683640 f end=00683650 type="void __thiscall func(CGxDevice* this, int32_t visible)" CGxDevice__CursorLock 00683650 f end=00683657 type="uint32_t* __thiscall func(CGxDevice* this)" CGxDevice__CursorSetDepth 00683660 f end=00683670 type="void __thiscall func(CGxDevice* this, float depth)" +CGxDevice__LogOpen 00683670 f end=006836A4 type="void __stdcall func()" ; static void CGxDevice::LogOpen(void) CGxDevice__DeviceSetFormat 006840F0 f end=0068416C type="int32_t __thiscall func(CGxDevice* this, CGxFormat* format)" CGxDevice__DeviceSetGamma 00684170 f end=00684189 type="void __thiscall func(CGxDevice* this, float gamma)" CGxDevice__DeviceSetGamma 00684190 f end=006841AF type="int32_t __thiscall func(CGxDevice* this, CGxGammaRamp* ramp)" @@ -83,8 +84,9 @@ CGxDevice__XformSetView 00689050 f end=006890C0 type="void __thiscall func(CGxDe CGxDevice__destructor 006890C0 f end=00689460 type="void __thiscall func(CGxDevice* this)" CGxDevice__scalar_deleting_destructor 00689690 f end=006896BB type="void __thiscall func(CGxDevice* this, uint8_t __flags)" CGxDevice__ShaderCreate 006897C0 f end=00689A49 type="void __thiscall func(CGxDevice* this, CGxShader**, EGxShTarget, char*, char*, int32_t)" +CGxDevice__FindDisplayDevice 00689EA0 f end=00689EF0 type="int32_t __stdcall func(PDISPLAY_DEVICEA device, uint32_t flag)" ; UC CGxDevice__NewD3d 00689EF0 f end=00689F14 type="CGxDevice* __stdcall func()" +CGxDevice__AdapterMonitorModes 0068A4C0 f end=0068A589 type="void __stdcall func(TSGrowableArray_CGxMonitorMode* modes)" CGxDevice__NewOpenGl 0068BF20 f end=0068BF44 type="CGxDevice* __stdcall func()" CGxDevice__NewD3d9Ex 0068C220 f end=0068C244 type="CGxDevice* __stdcall func()" CGxDevice__ITexWHDStartEnd 006A5EF0 f end=006A5FDF type="void __thiscall func(CGxDevice* this, CGxTex* texId, uint32_t* width, uint32_t* height, uint32_t* baseMip, uint32_t* mipCount)" -CGxDevice__LogOpen 00683670 f end=006836A4 type="void __stdcall func()" ; static void CGxDevice::LogOpen(void) \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/symbol/main.sym b/profile/3.3.5a-windows-386/symbol/main.sym index c1acae7..8ebc725 100644 --- a/profile/3.3.5a-windows-386/symbol/main.sym +++ b/profile/3.3.5a-windows-386/symbol/main.sym @@ -1,5 +1,5 @@ -operator_new 00401010 f end=00401067 type="void* __stdcall func(uint32_t count)" -operator_delete_array 00401030 f end=0040104B type="void __stdcall func(void* ptr)" ; void operator delete(void*) +Blizzard__Memory__Allocate 00401010 f end=00401067 type="void* __stdcall func(uint32_t count)" +Blizzard__Memory__Free 00401030 f end=0040104B type="void __stdcall func(void* ptr)" ; void operator delete(void*) CDataStore__FetchWrite 00401070 f ; protected: int __thiscall CDataStore::FetchWrite(unsigned int,unsigned int,char const *,int) CDataStore__IsRead 004010D0 f ; CDataStore::IsRead() const CDataStore__Reset 004010E0 f ; CDataStore::Reset() @@ -38,12 +38,65 @@ SFile__Load 00424E80 f end=00424F46 SFile__Open 00424F80 f end=00424F98 Blizzard__File__Close 004270F0 f end=0042712f Blizzard__File__Delete 00427130 f end=0042716F ; Blizzard::File::Delete(char const*) +Blizzard__File__GetFileInfo 004271D0 f end=00427242 type="bool __stdcall func(char* name, Blizzard__File__Info* info)" +Blizzard__File__GetFileInfo 00427250 f end=004272B8 type="Blizzard__File__Info* __stdcall func(Blizzard__File__StreamRecord* file)" +Blizzard__File__GetFileInfo 004272C0 f end=00427325 type="bool __stdcall func(Blizzard__File__StreamRecord* file, Blizzard__File__FileInfo* info)" +Blizzard__File__GetPos 004273A0 f end=00427406 +Blizzard__File__GetRootChars 00427410 f end=00427466 +Blizzard__File__GetWorkingDirectory 00427470 f end=004274B5 +Blizzard__File__IsAbsolutePath 004274C0 f end=004274FF Blizzard__File__MakeAbsolutePath 00427500 f end=00427551 ; Blizzard::File::MakeAbsolutePath(char const*, char*, int, bool) Blizzard__File__Move 00427560 f end=004275A8 ; Blizzard::File::Move(char const*, char const*) +Blizzard__File__Copy 004275B0 f end=004275FE Blizzard__File__Open 00427600 f end=0042765E Blizzard__File__Read 004276C0 f end=0042771F Blizzard__File__Write 004279B0 f end=00427A12 +System_File__FromNativeAttributes 00427C70 f end=00427CBC +System_File__ReadP 00427CC0 f type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__WriteP 00427D10 f end=00427D5C type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +Blizzard__String__FindFilename 00428500 f end=00428538 type="char* __stdcall func(char* str)" +Blizzard__String__Copy 00428670 f end=004286BB type="int32_t __stdcall func(char* dst, const char* src, int32_t count)" +Blizzard__Unicode__ConvertUTF16to8 00428940 f end=00428AFC type="int32_t __stdcall func(uint8_t* dst, uint32_t dstmaxchars, const uint16_t* src, uint32_t srcmaxchars, uint32_t* dstchars, uint32_t* srcchars)" +Blizzard__Unicode__ConvertUTF8to16 00428B00 f end=00428C94 type="int32_t __stdcall func(uint16_t* dst, uint32_t dstmaxchars, const uint8_t* src, uint32_t srcmaxchars, uint32_t* dstchars, uint32_t* srcchars)" +Blizzard__Time__FromFileTime 00428F00 f end=00428F56 type="Blizzard__Time__Timestamp __stdcall func(uint64_t fileTime)" +Blizzard__File__CreateDirectory 0042CEA0 f end=0042CEE9 +HoistAll 0042CFB0 f end=0042D43E System_File__Stacked__file_init 0042D440 f end=0042D4F4 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Close 0042D620 f end=0042D64F type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +Blizzard__String__Format 0042E670 f end=0042E6A1 +System_File__GetRootChars 004325C0 f type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__FromNativeName 00433590 f end=00433650 type="void __stdcall func(uint8_t *buffer, uint32_t buffersize, const char *str)" +Blizzard__String__QuickNativePath_300__QuickNativePath 00433650 f end=0043375A +System_File__GetFileInfoByFile 00435580 f end=004356A2 type="void __stdcall func(Blizzard__File__StreamRecord* file)" +System_File__Exists 004356B0 f end=00435781 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__MakeAbsolutePath 00435790 f end=00435889 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Move 00435890 f end=004359B6 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Delete 004359C0 f end=00435A57 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__read_overlapped 00454870 f end=00454904 +System_File__write_overlapped 00454910 f end=004549A9 +System_File__SetWorkingDirectory 00454A50 f end=00454AB5 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Create 00454AC0 f end=00454AD3 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__GetWorkingDirectory 00454AE0 f end=00454B44 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__ProcessDirFast 00454B50 f end=00454CAA type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Flush 00454CB0 f end=00454CE2 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__GetFileInfo 00454CF0 f end=00454E6A type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__GetFreeSpace 00454E70 f end=00454FCE type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__GetPos 00454FD0 f end=0045504C type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__IsAbsolutePath 00455050 f type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__IsReadOnly 004550C0 f type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__CreateDirectory 00455130 f end=004554B1 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Copy 004554C0 f end=00455727 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Open 00455730 f end=004558E3 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Read 004558F0 f end=0045590E type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__RemoveDirectory 00455910 f end=00455A2E type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__SetCacheMode 00455A30 f end=00455B07 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__SetEOF 00455B10 f end=00455B94 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__SetAttributes 00455BA0 f end=00455C9A type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__SetPos 00455CA0 f end=00455D13 type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Write 00455D20 f end=00455D3E type="int32_t __stdcall func(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__read_locked 00457820 f end=00457904 +System_File__write_locked 00457910 f end=004579f4 +System_File__detect_io_mode 00459910 f end=00459998 OsCloseFile 00461B00 f end=00461B09 OsReadFile 00461B50 f end=00461B88 OsGetFileSize 00461BD0 f end=00461BF4 @@ -858,6 +911,7 @@ Script_IsPlayerResolutionAvailable 0054EBC0 f end=0054EBFB Script_SetupFullscreenScale 0054ED80 f end=0054EE58 Script_GetVideoCaps 0054EE60 f end=0054EF87 Script_IsStereoVideoAvailable 0054EF90 f end=0054EFD5 +AddResolution 0054EFE0 f end=0054F046 type="void __fastcall func(TSGrowableArray_C2iVector* this, C2iVector* resolution)" Script_GetScreenResolutions 0054F430 f end=0054F49D Script_GetCurrentResolution 0054F4A0 f end=0054F561 Script_SetScreenResolution 0054F570 f end=0054F684 @@ -2135,12 +2189,15 @@ WowClientDB_Cfg_CategoriesRec__LoadRecords 00659910 f end=00659A03 ; WowClientDB WowClientDB_CharBaseInfoRec__LoadRecords 00659B80 f end=00659C82 ; WowClientDB::LoadRecords(SFile*, char const*, int) WowClientDB__GetRecord 0065C290 f end=0065C2B4 ; 00005410 WowClientDB_AchievementRec__GetRecordByIndex 0065F520 f end=0065F55B ; WowClientDB::GetRecordByIndex(int, void*) +GxApiSupported 006811D0 f end=006811F0 type="int32_t __stdcall func(EGxApi api)" ; 00005410 GxAdapterMonitorModes 00681210 f end=00681219 type="int32_t __stdcall func(TSGrowableArray_CGxMonitorMode* modes)" GxAdapterDesktopMode 00681220 f type="int32_t __stdcall func(CGxMonitorMode* mode)" GxDevCreate 00681290 f end=00681301 GxSceneClear 006813B0 f end=006813CD GxTexUpdate 006813D0 f end=006813EC GxQueryCreate 00681630 f end=0068165B type="void __stdcall func(CGxQuery** query, EGxQueryType type)" +GxSetMaxFPS 00681770 f end=0068177D type="void __stdcall func(uint32_t maxFPS)" +GxSetMaxFPSBk 00681790 f end=0068179D type="void __stdcall func(uint32_t maxFPSBk)" GxLogOpen 006817C0 f end=006817C5 type="void __stdcall func()" GxLog 006817E0 f end=006817F5 type="int __stdcall func(char* format, ...)" GxDrawLockedElements 00681A60 f end=00681AAB type="void __stdcall func()" @@ -2239,7 +2296,12 @@ CGxDevice__destructor 006890C0 f end=00689460 type="void __thiscall func(CGxDevi CGxDevice__scalar_deleting_destructor 00689690 f end=006896BB type="void __thiscall func(CGxDevice* this, uint8_t __flags)" CGxDevice__ShaderCreate 006897C0 f end=00689A49 type="void __thiscall func(CGxDevice* this, CGxShader**, EGxShTarget, char*, char*, int32_t)" CGxShader__Valid 00689A50 f end=00689A6F +CGxMonitorModeSort 00689E80 f type="int32_t __stdcall func(void* a, void* b)" +CGxDevice__FindDisplayDevice 00689EA0 f end=00689EF0 type="int32_t __stdcall func(PDISPLAY_DEVICEA device, uint32_t flag)" ; UC CGxDevice__NewD3d 00689EF0 f end=00689F14 type="CGxDevice* __stdcall func()" +TSGrowableArray_CGxMonitorMode__New 0068A090 f end=0068A0ED type="CGxMonitorMode* __thiscall func(TSGrowableArray_CGxMonitorMode* this)" +TSGrowableArray_CGxMonitorMode__SetCount 0068A0F0 f end=0068A165 type="void __thiscall func(TSGrowableArray_CGxMonitorMode* this, uint32_t count)" +CGxDevice__AdapterMonitorModes 0068A4C0 f end=0068A589 type="void __stdcall func(TSGrowableArray_CGxMonitorMode* modes)" CGxDeviceOpenGl__CGxDeviceOpenGl 0068BBC0 f end=0068BD15 type="void __thiscall func(CGxDeviceOpenGl* this)" CGxDevice__NewOpenGl 0068BF20 f end=0068BF44 type="CGxDevice* __stdcall func()" CGxDevice__NewD3d9Ex 0068C220 f end=0068C244 type="CGxDevice* __stdcall func()" @@ -2516,6 +2578,7 @@ CVGxCursorCallback 007695E0 f end=0076960A type="bool __stdcall func(CVar* h, ch CVGxMultisampleCallback 00769610 f end=0076964A type="bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)" CVGxMultisampleQualityCallback 00769650 f end=00769693 type="bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)" CVGxFixLagCallback 007696A0 f end=007696CA type="bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)" +ConsoleGxOverride 007696D0 f end=00769804 type="void __stdcall func(char* list)" CVGxOverrideCallback 00769810 f end=00769823 type="bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)" CVGxMaxFPSCallback 00769830 f end=00769856 type="bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)" CVGxMaxFPSBkCallback 00769860 f end=00769886 type="bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)" @@ -2582,7 +2645,9 @@ CSRWLock__Leave 00774660 f end=00774675 SSyncObject__Wait 00774690 f end=007746A4 SEvent__Set 00774720 f end=0077472A SEvent__Reset 00774730 f end=0077473A +SLogClose 007754A0 f end=007754F2 SLogCreate 007757E0 f end=007758D6 type="int32_t __stdcall func(char* filename, uint32_t flags, HSLOG* log)" +SLogWrite 00775BB0 f end=00775BC6 SRgnCombineRectf 00777420 f end=00777588 type="void __stdcall func(HSRGN handle, RECTF* rect, void* param, int32_t combinemode)" SRgnGetBoundingRectf 00777590 f end=00777897 type="void __stdcall func(HSRGN handle, RECTF* rect)" SRgnDelete 00777940 f end=00777971 type="void __stdcall func(HSRGN handle)" @@ -2690,6 +2755,7 @@ _luaD_precall 00856370 f luaD_call 00856760 f _luaV_execute 00857CA0 f RestoreMouse 008695B0 f end=008695FB +OsInputSetWindowResizeLock 00869620 f end=0086962D OsInputInitialize 00869720 f end=00869757 OsInputDestroy 00869760 f end=008697D3 OsInputSetEventPollProc 00869D90 f end=00869D9D @@ -2702,11 +2768,14 @@ OsGetDefaultWindowRect 0086A1A0 f end=0086A20C OsGetAsyncTimeMs 0086AE20 f end=0086AE2B OsSystemEnableCpuLog 0086B0C0 f end=0086B0CB OsGetProcessorCount 0086B240 f end=0086B27D +OsIsRemoteSession 0086B780 f end=0086B78C +OsGetAsyncClocksPerSecond 0086BBA0 f end=0086BBD0 type="uint64_t __stdcall func()" OsGetExeName 0086BBD0 f end=0086BC2F OsPathGetRootChars 0086BC30 f end=0086BC9E OsPathStripFilename 0086BE50 f end=0086BE9B OsGetExePath 0086BEA0 f end=0086BEBE OsGuiGetWindow 0086C6A0 f end=0086C6CE +OsGuiMessageBox 0086C6E0 f end=0086C7D0 OsIMEInitialize 0086D0A0 f end=0086D0B8 OsIMEDestroy 0086D0C0 f end=0086D0Df TSExplicitList_CGxBuf__LinkToTail 0086E200 f end=0086E25F type="void __thiscall func(TSExplicitList_CGxBuf* this, CGxBuf* ptr)" @@ -2715,10 +2784,10 @@ OsCallInitialize 0086F760 f end=0086F875 OsCallInitializeContext 0086F880 f end=0086F902 OsClipboardGetString 00872280 f end=00872297 OsClipboardPutString 008722A0 f end=008722BF -InternalClipboardGetString 008726F0 f end=008727BB -InternalClipboardPutString 008727E0 f end=008728B8 +IOsClipboardGetString 008726F0 f end=008727BB +IOsClipboardPutString 008727E0 f end=008728B8 CShaderEffect__UpdateProjMatrix 00872C10 f end=00872CD5 -CVGxVideoOptionsVersionCallback 008A1420 f end=008A1423 type="bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)" +return_one_byte_sub 008A1420 f end=008A1423 ; known names: System_File::Shutdown, CVGxVideoOptionsVersionCallback GxDefaultApi 008C8DE0 f type="EGxApi __stdcall func()" return_zero4_sub 008E5250 f end=008E5253 ; Script_ToggleTris ConsoleCommandHistoryDepth 0095BFB0 f end=0095BFB6 type="int32_t __stdcall func()" @@ -2940,6 +3009,8 @@ nullsub_147 009DE1A0 f nullsub_148 009DE1B0 f nullsub_149 009DE1C0 f nullsub_150 009DE1D0 f +firstByteMark 009E537C l type="uint32_t[7]" +bytesFromUTF8 009E5398 l type="uint8_t[256]" firstByteMark 009e9ec8 l type="uint32_t[7]" s_pixelFormatToMipBitsCache 009F1074 l CGxDevice__vtable 00A2DDC0 l type="CGxDevice__vtable" @@ -2947,6 +3018,10 @@ CGxDeviceOpenGl__vtable 00A2E198 l CGxDeviceD3d__vtable 00a2e718 l CGxDeviceD3d9Ex__vtable 00a2f500 l System_File__Stacked__s_manager 00AB90AC l type="Blizzard__File__Filesystem*" +System_File__read_func 00AB912C l ; type="int32_t (*)(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__write_func 00AB91B4 l ; type="int32_t (*)(Blizzard__File__Filesystem* fs, System_File__Stacked__FileParms* parms)" +System_File__Stacked__s_nullstack 00AB91C0 l type="Blizzard__File__Filesystem" +System_File__Stacked__s_basestack 00AB92C0 l type="Blizzard__File__Filesystem" s_zorderlist 00AC1B9C f type="TSExplicitList_CILayer" s_cursorNames 00AD2808 l type="char*[53]" g_achievementDB 00AD305C l type="WowClientDB_AchievementRec" ; 0xEB @@ -3200,11 +3275,14 @@ s_unitDrawDist 00ADBEA0 l type="float[4][2]" s_smallCull 00ADBEC0 l type="float[4][2]" s_distCull 00ADBEE0 l type="float[4][2]" s_farClip 00ADBF00 l type="float[5][2]" +g_videoHardwareDB 00ADBF88 l type="WowClientDB_VideoHardwareRec" g_lightSkyboxDB 00AF4998 l type="WowClientDB_LightSkyboxRec" ; 0x15F g_lightIntBandDB 00AF49BC l type="WowClientDB_LightIntBandRec" ; 0x15D g_lightFloatBandDB 00AF49E0 l type="WowClientDB_LightFloatBandRec" ; 0x15C g_lightParamsDB 00AF4A04 l type="WowClientDB_LightParamsRec" ; 0x15E g_lightDB 00AF4A28 l type="WowClientDB_LightRec" ; 0x15B +System_File__s_read_init 00B38A5C l type="Blizzard__Lock__DoOnceData" +System_File__s_write_init 00B38A64 l type="Blizzard__Lock__DoOnceData" s_mainThread 00b417c8 l type="uint32_t" s_interactiveCount 00B417D0 l type="int32_t" s_messageRecycler 00B41850 l type="CDataRecycler" @@ -3219,6 +3297,8 @@ s_cursorItem 00C25DE8 l type="uint32_t[1024]" s_cursorMode 00C26DE8 l type="CURSORMODE" s_cursorImages 00C26DF0 l type="uint32_t[53][1024]" _CURRENT_LANGUAGE 00C5DE9C l type="int32_t" +s_maxFPSBk 00C5DF74 l type="uint32_t" +s_maxFPS 00C5DF7C l type="uint32_t" g_theGxDevicePtr 00C5DF88 l type="CGxDevice*" CGxDevice__s_uiVertexShader 00C5DFDC l CGxDevice__s_shadowConstants 00C5DFE0 l @@ -3271,6 +3351,7 @@ s_cvHwDetect 00CABAB8 l type="CVar*" s_cvGxOverride 00CABABC l type="CVar*" s_cvGxFixLag 00CABAC0 l type="CVar*" s_cvMaxFPS 00CABAC4 l type="CVar*" +s_consoleGxOverrideSet 00CABAC8 l type="int32_t[9]" s_cvGxVSync 00CABAEC l type="CVar*" s_defaults 00CABAF0 l type="DefaultSettings" s_cvVideoOptionsVersion 00CABB30 l type="CVar*" @@ -3279,6 +3360,7 @@ s_cvMaxFPSBk 00CABB6C l type="CVar*" s_cvGxTripleBuffer 00CABB70 l type="CVar*" s_cvGxDepthBits 00CABB74 l type="CVar*" s_cvGxColorBits 00CABB78 l type="CVar*" +s_consoleGxOverrideVal 00CABB7C l type="uint32_t[9]" s_cvGxApi 00CABBA0 l type="CVar*" s_cvGxAspect 00CABBA4 l type="CVar*" s_cvFixedFunction 00CABBA8 l type="CVar*" @@ -3295,4 +3377,6 @@ s_desktopFormat 00CABD40 l type="CGxFormat" s_fallbackFormat 00CABDA8 l type="CGxFormat" s_lastGoodFormat 00CABE00 l type="CGxFormat" s_formats 00CABE98 l type="CGxFormat[5]" +s_WindowResizeLock 00D41580 l type="int32_t" +s_cpuTicksPerSecond 00D415C8 l type="uint64_t" CShaderEffect__s_enableShaders 00D43020 l type="int32_t" diff --git a/profile/3.3.5a-windows-386/symbol/nullsub/func.sym b/profile/3.3.5a-windows-386/symbol/nullsub/func.sym index 59c8da5..6188cb2 100644 --- a/profile/3.3.5a-windows-386/symbol/nullsub/func.sym +++ b/profile/3.3.5a-windows-386/symbol/nullsub/func.sym @@ -155,4 +155,5 @@ nullsub_148 009DE1B0 f nullsub_149 009DE1C0 f nullsub_150 009DE1D0 f return_zero4_sub 008E5250 f end=008E5253 ; Script_ToggleTris -purecall 0040BAA5 f end=0040BACF \ No newline at end of file +purecall 0040BAA5 f end=0040BACF +return_one_byte_sub 008A1420 f end=008A1423 ; known names: System_File::Shutdown, CVGxVideoOptionsVersionCallback \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/symbol/os/func.sym b/profile/3.3.5a-windows-386/symbol/os/func.sym index 221fcf1..333050f 100644 --- a/profile/3.3.5a-windows-386/symbol/os/func.sym +++ b/profile/3.3.5a-windows-386/symbol/os/func.sym @@ -5,23 +5,27 @@ OsInputGetMousePosition 0086A0D0 f end=0086A130 OsInputSetMousePosition 0086A130 f end=0086A194 OsInputSetMouseMode 0086A020 f end=0086A063 OsInputSetEventPollProc 00869D90 f end=00869D9D +OsInputSetWindowResizeLock 00869620 f end=0086962D CenterMouse 00869DB0 f end=00869DF6 RestoreMouse 008695B0 f end=008695FB OsGetAsyncTimeMs 0086AE20 f end=0086AE2B OsSystemEnableCpuLog 0086B0C0 f end=0086B0CB OsGetProcessorCount 0086B240 f end=0086B27D +OsGetAsyncClocksPerSecond 0086BBA0 f end=0086BBD0 type="uint64_t __stdcall func()" OsGetExeName 0086BBD0 f end=0086BC2F OsPathGetRootChars 0086BC30 f end=0086BC9E OsPathStripFilename 0086BE50 f end=0086BE9B OsGetExePath 0086BEA0 f end=0086BEBE OsGuiGetWindow 0086C6A0 f end=0086C6CE +OsGuiMessageBox 0086C6E0 f end=0086C7D0 OsGetDefaultWindowRect 0086A1A0 f end=0086A20C OsIMEInitialize 0086D0A0 f end=0086D0B8 OsIMEDestroy 0086D0C0 f end=0086D0Df -InternalClipboardPutString 008727E0 f end=008728B8 -InternalClipboardGetString 008726F0 f end=008727BB +IOsClipboardPutString 008727E0 f end=008728B8 +IOsClipboardGetString 008726F0 f end=008727BB OsClipboardPutString 008722A0 f end=008722BF OsClipboardGetString 00872280 f end=00872297 OsCallSetContext 0086F5A0 f end=0086F5EA OsCallInitializeContext 0086F880 f end=0086F902 -OsCallInitialize 0086F760 f end=0086F875 \ No newline at end of file +OsCallInitialize 0086F760 f end=0086F875 +OsIsRemoteSession 0086B780 f end=0086B78C \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/symbol/os/label.sym b/profile/3.3.5a-windows-386/symbol/os/label.sym new file mode 100644 index 0000000..527aeeb --- /dev/null +++ b/profile/3.3.5a-windows-386/symbol/os/label.sym @@ -0,0 +1,2 @@ +s_WindowResizeLock 00D41580 l type="int32_t" +s_cpuTicksPerSecond 00D415C8 l type="uint64_t" \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/symbol/storm/func.sym b/profile/3.3.5a-windows-386/symbol/storm/func.sym index 96b638b..98bb27d 100644 --- a/profile/3.3.5a-windows-386/symbol/storm/func.sym +++ b/profile/3.3.5a-windows-386/symbol/storm/func.sym @@ -46,6 +46,8 @@ SSyncObject__Wait 00774690 f end=007746A4 SEvent__Set 00774720 f end=0077472A SEvent__Reset 00774730 f end=0077473A SLogCreate 007757E0 f end=007758D6 type="int32_t __stdcall func(char* filename, uint32_t flags, HSLOG* log)" +SLogClose 007754A0 f end=007754F2 +SLogWrite 00775BB0 f end=00775BC6 SRgnCombineRectf 00777420 f end=00777588 type="void __stdcall func(HSRGN handle, RECTF* rect, void* param, int32_t combinemode)" SRgnGetBoundingRectf 00777590 f end=00777897 type="void __stdcall func(HSRGN handle, RECTF* rect)" SRgnDelete 00777940 f end=00777971 type="void __stdcall func(HSRGN handle)" @@ -85,3 +87,5 @@ SBigDel 0077C6A0 f end=0077C6F6 type="void __stdcall func(BigData* num)" SBigMul 0077C700 f end=0077C71F type="void __stdcall func(BigData* a, BigData* b, BigData* c)" PowMod 0077C720 f end=0077C97B type="void __stdcall func(BigBuffer* a, BigBuffer* b, BigBuffer* c, BigBuffer* d, BigStack* stack)" SBigPowMod 0077C980 f end=0077C9A4 type="void __stdcall func(BigData* a, BigData* b, BigData* c, BigData* d)" +TSGrowableArray_CGxMonitorMode__SetCount 0068A0F0 f end=0068A165 type="void __thiscall func(TSGrowableArray_CGxMonitorMode* this, uint32_t count)" +TSGrowableArray_CGxMonitorMode__New 0068A090 f end=0068A0ED type="CGxMonitorMode* __thiscall func(TSGrowableArray_CGxMonitorMode* this)" \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/x64dbg/game.dd32 b/profile/3.3.5a-windows-386/x64dbg/game.dd32 index 99b9f3d..cf0aed8 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 de75eca..780b919 100644 --- a/profile/3.3.5a-windows-386/x64dbg/types.json +++ b/profile/3.3.5a-windows-386/x64dbg/types.json @@ -12,6 +12,14 @@ "type": "int", "name": "Blizzard__File__Operation" }, + { + "type": "void**", + "name": "Blizzard__File__ProcessDirCallback" + }, + { + "type": "int64_t", + "name": "Blizzard__Time__Timestamp" + }, { "type": "int", "name": "CATEGORY" @@ -1566,159 +1574,234 @@ }, { "type": "void**", - "name": "f_cd", + "name": "cd", "offset": 8 }, { "type": "void**", - "name": "f_close", + "name": "close", "offset": 12 }, { "type": "void**", - "name": "f_create", + "name": "create", "offset": 16 }, { "type": "void**", - "name": "f_cwd", + "name": "cwd", "offset": 20 }, { "type": "void**", - "name": "f_dirwalk", + "name": "dirwalk", "offset": 24 }, { "type": "void**", - "name": "f_exists", + "name": "exists", "offset": 28 }, { "type": "void**", - "name": "f_flush", + "name": "flush", "offset": 32 }, { "type": "void**", - "name": "f_getfileinfo", + "name": "getfileinfo", "offset": 36 }, { "type": "void**", - "name": "f_getfreespace", + "name": "getfreespace", "offset": 40 }, { "type": "void**", - "name": "f_getpos", + "name": "getpos", "offset": 44 }, { "type": "void**", - "name": "f_getrootchars", + "name": "getrootchars", "offset": 48 }, { "type": "void**", - "name": "f_isabspath", + "name": "isabspath", "offset": 52 }, { "type": "void**", - "name": "f_isreadonly", + "name": "isreadonly", "offset": 56 }, { "type": "void**", - "name": "f_makeabspath", + "name": "makeabspath", "offset": 60 }, { "type": "void**", - "name": "f_mkdir", + "name": "mkdir", "offset": 64 }, { "type": "void**", - "name": "f_move", + "name": "move", "offset": 68 }, { "type": "void**", - "name": "f_copy", + "name": "copy", "offset": 72 }, { "type": "void**", - "name": "f_open", + "name": "open", "offset": 76 }, { "type": "void**", - "name": "f_read", + "name": "read", "offset": 80 }, { "type": "void**", - "name": "f_readp", + "name": "readp", "offset": 84 }, { "type": "void**", - "name": "f_rmdir", + "name": "rmdir", "offset": 88 }, { "type": "void**", - "name": "f_setcachemode", + "name": "setcachemode", "offset": 92 }, { "type": "void**", - "name": "f_seteof", + "name": "seteof", "offset": 96 }, { "type": "void**", - "name": "f_setfileinfo", + "name": "setfileinfo", "offset": 100 }, { "type": "void**", - "name": "f_setpos", + "name": "setpos", "offset": 104 }, { "type": "void**", - "name": "f_unlink", + "name": "unlink", "offset": 108 }, { "type": "void**", - "name": "f_write", + "name": "write", "offset": 112 }, { "type": "void**", - "name": "f_writep", + "name": "writep", "offset": 116 }, { "type": "void**", - "name": "f_shutdown", + "name": "shutdown", "offset": 120 } ] }, { - "name": "Blizzard__File__StreamRecord", - "size": 4, + "name": "Blizzard__File__ProcessDirParms", + "size": 16, "members": [ { - "type": "void*", - "name": "handle", + "type": "char*", + "name": "dir", "offset": 0 + }, + { + "type": "char*", + "name": "item", + "offset": 4 + }, + { + "type": "void*", + "name": "param", + "offset": 8 + }, + { + "type": "bool", + "name": "isdir", + "offset": 12 + } + ] + }, + { + "name": "Blizzard__Lock__DoOnceData", + "size": 8, + "members": [ + { + "type": "bool", + "name": "done", + "offset": 0 + }, + { + "type": "int32_t", + "name": "atomic", + "offset": 4 + } + ] + }, + { + "name": "Blizzard__String__QuickNativePath_1024", + "size": 1032, + "members": [ + { + "type": "uint32_t", + "name": "length", + "offset": 0 + }, + { + "type": "char*", + "name": "path", + "offset": 4 + }, + { + "type": "char", + "name": "buffer", + "arrsize": 1024, + "offset": 8 + } + ] + }, + { + "name": "Blizzard__String__QuickNativePath_300", + "size": 308, + "members": [ + { + "type": "uint32_t", + "name": "length", + "offset": 0 + }, + { + "type": "char*", + "name": "path", + "offset": 4 + }, + { + "type": "char", + "name": "buffer", + "arrsize": 300, + "offset": 8 } ] }, @@ -25448,17 +25531,6 @@ } ] }, - { - "name": "System_File__Stacked__FileParms", - "size": 4, - "members": [ - { - "type": "uint32_t", - "name": "offset", - "offset": 0 - } - ] - }, { "name": "TExtraInstanceRecyclable", "size": 4, @@ -25691,6 +25763,32 @@ } ] }, + { + "name": "TSGrowableArray_C2iVector", + "size": 16, + "members": [ + { + "type": "uint32_t", + "name": "m_alloc", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "m_count", + "offset": 4 + }, + { + "type": "C2iVector*", + "name": "m_data", + "offset": 8 + }, + { + "type": "uint32_t", + "name": "m_chunk", + "offset": 12 + } + ] + }, { "name": "TSGrowableArray_C3Vector", "size": 16, @@ -29278,6 +29376,155 @@ } ] }, + { + "name": "System_File__Stacked__FileParms", + "size": 144, + "members": [ + { + "type": "uint32_t", + "name": "op", + "offset": 0 + }, + { + "type": "char*", + "name": "name", + "offset": 4 + }, + { + "type": "char*", + "name": "newname", + "offset": 8 + }, + { + "type": "Blizzard__File__StreamRecord*", + "name": "file", + "offset": 12 + }, + { + "type": "Blizzard__File__FileInfo*", + "name": "info", + "offset": 16 + }, + { + "type": "uint32_t", + "name": "extra", + "arrsize": 17, + "offset": 20 + }, + { + "type": "uint32_t", + "name": "flags", + "offset": 88 + }, + { + "type": "void*", + "name": "data", + "offset": 92 + }, + { + "type": "uint32_t", + "name": "count", + "offset": 96 + }, + { + "type": "int64_t", + "name": "offset", + "offset": 104 + }, + { + "type": "uint32_t", + "name": "unk__", + "offset": 112 + }, + { + "type": "char*", + "name": "buffer", + "offset": 116 + }, + { + "type": "int32_t", + "name": "buffersize", + "offset": 120 + }, + { + "type": "bool", + "name": "unkbool1", + "offset": 124 + }, + { + "type": "bool", + "name": "unkbool2", + "offset": 125 + }, + { + "type": "void*", + "name": "dirwalkparam", + "offset": 128 + }, + { + "type": "Blizzard__File__ProcessDirCallback", + "name": "dirwalkcallback", + "offset": 132 + }, + { + "type": "uint32_t", + "name": "extra3", + "arrsize": 2, + "offset": 136 + } + ] + }, + { + "name": "Blizzard__File__FileInfo", + "size": 56, + "members": [ + { + "type": "char*", + "name": "name", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "unk04", + "offset": 4 + }, + { + "type": "uint64_t", + "name": "size", + "offset": 8 + }, + { + "type": "uint32_t", + "name": "attributes", + "offset": 16 + }, + { + "type": "Blizzard__Time__Timestamp", + "name": "creationTime", + "offset": 24 + }, + { + "type": "Blizzard__Time__Timestamp", + "name": "lastWriteTime", + "offset": 32 + }, + { + "type": "Blizzard__Time__Timestamp", + "name": "lastAccessTime", + "offset": 40 + }, + { + "type": "int32_t", + "name": "exists", + "offset": 48 + }, + { + "type": "int32_t", + "name": "normal", + "offset": 52 + } + ] + }, { "name": "CGxMonitorMode", "size": 16, @@ -29664,8 +29911,8 @@ "offset": 7 }, { - "type": "uint32_t", - "name": "unk8", + "type": "bool", + "name": "aspect", "offset": 8 }, { @@ -29685,7 +29932,7 @@ }, { "type": "uint32_t", - "name": "unk1C", + "name": "backbuffers", "offset": 28 }, { @@ -29695,7 +29942,7 @@ }, { "type": "float", - "name": "float24", + "name": "multisampleQuality", "offset": 36 }, { @@ -29714,8 +29961,8 @@ "offset": 48 }, { - "type": "uint32_t", - "name": "unk34", + "type": "bool", + "name": "stereoEnabled", "offset": 52 }, { @@ -37284,6 +37531,47 @@ } ] }, + { + "name": "Blizzard__File__StreamRecord", + "size": 80, + "members": [ + { + "type": "void*", + "name": "filehandle", + "offset": 0 + }, + { + "type": "uint32_t", + "name": "flags", + "offset": 4 + }, + { + "type": "bool", + "name": "haveinfo", + "offset": 8 + }, + { + "type": "uint32_t", + "name": "unk0C", + "offset": 12 + }, + { + "type": "Blizzard__File__FileInfo", + "name": "info", + "offset": 16 + }, + { + "type": "int32_t*", + "name": "unk48", + "offset": 72 + }, + { + "type": "char*", + "name": "name", + "offset": 76 + } + ] + }, { "name": "BLPHeader", "size": 1172,