From 6cda64dfc420b8d2096133a4c5634c9db7527a36 Mon Sep 17 00:00:00 2001 From: superp00t Date: Thu, 3 Apr 2025 02:21:40 -0400 Subject: [PATCH] feat(console): add more work to understand ConsoleDeviceInitialize --- .../include/common/datastore.h | 31 ++++++++++++ .../include/event/context.h | 1 + profile/3.3.5a-windows-386/include/main.h | 5 ++ .../include/os/processorfeatures.h | 41 ++++++++++++++++ .../include/os/timemanager.h | 26 ++++++++++ .../include/storm/options.h | 34 +++++++++++++ .../3.3.5a-windows-386/include/storm/thread.h | 19 +++++++- .../symbol/console/func.sym | 7 ++- .../symbol/console/label.sym | 5 +- .../3.3.5a-windows-386/symbol/cvar/func.sym | 2 + .../3.3.5a-windows-386/symbol/cvar/label.sym | 2 + profile/3.3.5a-windows-386/symbol/gx/func.sym | 48 ++++++++++--------- .../symbol/gxdevice/func.sym | 3 ++ profile/3.3.5a-windows-386/symbol/main.sym | 22 ++++++++- profile/3.3.5a-windows-386/symbol/os/func.sym | 5 +- .../3.3.5a-windows-386/symbol/storm/func.sym | 1 + 16 files changed, 224 insertions(+), 28 deletions(-) create mode 100644 profile/3.3.5a-windows-386/include/common/datastore.h create mode 100644 profile/3.3.5a-windows-386/include/os/processorfeatures.h create mode 100644 profile/3.3.5a-windows-386/include/os/timemanager.h create mode 100644 profile/3.3.5a-windows-386/include/storm/options.h diff --git a/profile/3.3.5a-windows-386/include/common/datastore.h b/profile/3.3.5a-windows-386/include/common/datastore.h new file mode 100644 index 0000000..804da93 --- /dev/null +++ b/profile/3.3.5a-windows-386/include/common/datastore.h @@ -0,0 +1,31 @@ +#ifndef COMMON_DATA_STORE_H +#define COMMON_DATA_STORE_H + +DECLARE_STRUCT(CDataStore__v_table); +DECLARE_STRUCT(CDataStore); + +struct CDataStore__v_table{ + void* fn_InternalInitialize; + void* fn_InternalDestroy; + void* fn_InternalFetchRead; + void* fn_InternalFetchWrite; + void* fn_destructor; + void* fn_IsRead; + void* fn_Reset; + void* fn_Finalize; + void* fn_GetBufferParams; + void* fn_DetachBuffer; + void* fn_GetHeaderSpace; +}; + +struct CDataStore { + CDataStore__v_table* v_table; + uint8_t* m_data; + uint32_t m_base; + uint32_t m_alloc; + uint32_t m_size; + uint32_t m_read; +}; + +#endif + diff --git a/profile/3.3.5a-windows-386/include/event/context.h b/profile/3.3.5a-windows-386/include/event/context.h index 255c7b7..f77f329 100644 --- a/profile/3.3.5a-windows-386/include/event/context.h +++ b/profile/3.3.5a-windows-386/include/event/context.h @@ -17,6 +17,7 @@ DECLARE_ENUM(SCHEDSTATE); DECLARE_STRUCT(EvtContext); DECLARE_STRUCT(EvtTimer); DECLARE_HANDLE(HPROPCONTEXT); +DECLARE_HANDLE(HEVENTCONTEXT); // EvtContext::SCHEDSTATE enum SCHEDSTATE { diff --git a/profile/3.3.5a-windows-386/include/main.h b/profile/3.3.5a-windows-386/include/main.h index edb58c8..9ab5b84 100644 --- a/profile/3.3.5a-windows-386/include/main.h +++ b/profile/3.3.5a-windows-386/include/main.h @@ -23,6 +23,7 @@ #include "common/handle.h" #include "common/instance.h" #include "common/datarecycler.h" +#include "common/datastore.h" #include "common/status.h" #include "common/refcount.h" #include "common/rcstring.h" @@ -76,6 +77,9 @@ #include "m2/shared.h" #include "m2/types.h" +#include "os/processorfeatures.h" +#include "os/timemanager.h" + #include "screen/layer.h" #include "storm/array.h" @@ -87,6 +91,7 @@ #include "storm/region.h" #include "storm/thread.h" #include "storm/log.h" +#include "storm/options.h" #include "tempest/box.h" #include "tempest/matrix.h" diff --git a/profile/3.3.5a-windows-386/include/os/processorfeatures.h b/profile/3.3.5a-windows-386/include/os/processorfeatures.h new file mode 100644 index 0000000..cbd2c81 --- /dev/null +++ b/profile/3.3.5a-windows-386/include/os/processorfeatures.h @@ -0,0 +1,41 @@ +#ifndef OS_PROCESSOR_FEATURES_H +#define OS_PROCESSOR_FEATURES_H + +DECLARE_STRUCT(ProcessorFeatures); + +struct ProcessorFeatures { + // vendor ID string + uint32_t std_0b; // 00 + uint32_t std_0d; // 04 + uint32_t std_0c; // 08 + // standard + uint32_t std_0a; // 0C + + uint32_t std_1b; // 10 + uint32_t std_1d; // 14 + uint32_t std_4a; // 18 + // extended + uint32_t ext_0a; // 1C + + uint32_t ext_1c; // 20 + uint32_t ext_1d; // 24 + uint32_t ext_8c; // 28 + + // processor brand string + uint32_t ext_2a; // 2C + uint32_t ext_2b; // 30 + uint32_t ext_2c; // 34 + uint32_t ext_2d; // 38 + + uint32_t ext_3a; // 3C + uint32_t ext_3b; // 40 + uint32_t ext_3c; // 44 + uint32_t ext_3d; // 48 + + uint32_t ext_4a; // 4c + uint32_t ext_4b; // 50 + uint32_t ext_4c; // 54 + uint32_t ext_4d; // 58 +}; + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/include/os/timemanager.h b/profile/3.3.5a-windows-386/include/os/timemanager.h new file mode 100644 index 0000000..d934720 --- /dev/null +++ b/profile/3.3.5a-windows-386/include/os/timemanager.h @@ -0,0 +1,26 @@ +#ifndef OS_TIME_MANAGER_H +#define OS_TIME_MANAGER_H + +#include "storm/thread.h" + +DECLARE_ENUM(TimingMethod); +DECLARE_STRUCT(OsTimeManager); + +enum TimingMethod { + BestAvailable = 0, + // GetTickCount (Windows), mach_absolute_time (MacOS) + SystemMethod1 = 1, + // QueryPerformanceCounter (Windows), Carbon Microseconds (MacOS) + SystemMethod2 = 2, + NotSet = 0xFFFFFFFF, +}; + +struct OsTimeManager { + double scaleToMs; + TimingMethod timingMethod; + uint32_t timingTestError; + int64_t performanceFrequency; + double timeBegin; +}; + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/include/storm/options.h b/profile/3.3.5a-windows-386/include/storm/options.h new file mode 100644 index 0000000..f3c30d5 --- /dev/null +++ b/profile/3.3.5a-windows-386/include/storm/options.h @@ -0,0 +1,34 @@ +#ifndef STORM_OPTIONS_H +#define STORM_OPTIONS_H + +DECLARE_STRUCT(STORMOPTIONS); + +struct STORMOPTIONS { + // int smemleaksilentwarning; + // int serrleaksilentwarning; + // unsigned int wavechunksize; + // int alignstreamingwavedata; + // int echotooutputdebugstring; + // int serrsuppresslogs; + // int crcenabled; + // int orderedprintfenabled; + // int noreaderrordialog; + // int assertlogonly; + // int serrsuppressdialogs; + // int serrignorerecoverable; + + // uint64_t opt00; // dword_CAE950 + int32_t smemleaksilentwarning; // dword_CAE958 + int32_t serrleaksilentwarning; // dword_CAE95C + uint32_t wavechunksize; // dword_CAE960 + int32_t opt0C; // dword_CAE964 + int32_t opt10; // dword_CAE968 + int32_t opt14; // dword_CAE96C + int32_t opt18; // dword_CAE970 + int32_t opt1C; // dword_CAE974 + int32_t sregunicode; // dword_CAE978 + int32_t opt24; // dword_CAE97C + int32_t opt28; // dword_CAE980 +}; + +#endif \ No newline at end of file diff --git a/profile/3.3.5a-windows-386/include/storm/thread.h b/profile/3.3.5a-windows-386/include/storm/thread.h index fe05e3d..30785fb 100644 --- a/profile/3.3.5a-windows-386/include/storm/thread.h +++ b/profile/3.3.5a-windows-386/include/storm/thread.h @@ -1,9 +1,13 @@ #ifndef STORM_THREAD_H #define STORM_THREAD_H +DECLARE_STRUCT(SCritSect); +DECLARE_STRUCT(SSyncObject); +DECLARE_STRUCT(SEvent); +DECLARE_STRUCT(SThread); + #include "system/types.h" -DECLARE_STRUCT(SCritSect); typedef struct CSRWLock CSRWLock; struct SCritSect { @@ -14,4 +18,17 @@ struct CSRWLock { uint8_t m_opaqueData[12]; }; +struct SSyncObject { + // HANDLE + void* m_opaqueData; +}; + +struct SEvent { + SSyncObject b_base; +}; + +struct SThread { + SSyncObject b_base; +}; + #endif \ No newline at end of file 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 6b87528..a8c298b 100644 --- a/profile/3.3.5a-windows-386/symbol/console/func.sym +++ b/profile/3.3.5a-windows-386/symbol/console/func.sym @@ -1,3 +1,4 @@ +AddResolution 0054EFE0 f end=0054F046 type="void __fastcall func(TSGrowableArray_C2iVector* this, C2iVector* resolution)" GenerateNodeString 00763680 f end=0076372C type="void __stdcall func(CONSOLELINE* node)" SetInputString 00763730 f end=007637CD type="void __stdcall func(char* text)" ; UC ReserveInputSpace 007637D0 f end=0076382B type="void __fastcall func(CONSOLELINE* lineptr, uint32_t chars)" @@ -57,8 +58,10 @@ ConsoleCommandUnregister 007689E0 f end=00768A19 type="void __stdcall func(char* ConsoleCommandComplete 00768A20 f end=00768AD6 type="int32_t __stdcall func(char* partial, char** previous, int32_t direction)" ConsoleCommandRegister 00769100 f end=007691B3 type="int32_t __stdcall func(char* command, COMMANDHANDLER handler, CATEGORY category, char* helpText)" ConsoleAccessGetEnabled 00769230 f end=00769236 type="int32_t __stdcall func()" +ConsoleGxOverride 007696D0 f end=00769804 type="void __stdcall func(char* list)" UpdateGxCVars 007698B0 f end=0076994A ; 00005400 SetGxCVars 00769950 f end=00769BF5 type="void __stdcall func(CGxFormat* format)" ; SetGxCVars(CGxFormat const&) +ConsoleDeviceStereoInitialize 00769C90 f end=00769CF9 ConsoleGetHardware 00769D00 f end=00769D0F type="Hardware* __stdcall func()" ConsoleDeviceDestroy 00769D40 f end=00769D7D ; 00005400 ValidateFormatMonitor 00769E10 f end=00769FF0 @@ -67,8 +70,8 @@ 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&) +SetVideoIdx 0076B540 f end=0076B594 type="void __stdcall func(Hardware* hardware@)" +PrintStartupError 0076B5A0 f end=0076B616 type="void __usercall __noreturn func(int32_t messageID, const char* fallbackMessage)" 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()" -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 17a4299..7babd36 100644 --- a/profile/3.3.5a-windows-386/symbol/console/label.sym +++ b/profile/3.3.5a-windows-386/symbol/console/label.sym @@ -7,6 +7,7 @@ s_fontHeight 00ADBACC l type="float" ; float s_hRect 00ADBAD4 l type="RECTF" ; RECTF s_baseTextFlags 00ADBAE4 l type="uint32_t" ; uint32 s_linelist 00ADBBB0 l type="TSList_CONSOLELINE" +s_soundHwSettings 00ADBE54 l type="SoundHardware" s_detailDoodadDensity 00ADBE5C l type="uint32_t[4]" s_animatingDoodads 00ADBE6C l type="uint8_t[2][2]" s_waterLOD 00ADBE70 l type="uint32_t[2][2]" @@ -15,6 +16,7 @@ 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" s_caretpixheight 00CA1690 l type="float" s_caret 00CA1694 l type="int32_t" ; int32 s_copyText 00CA1698 l @@ -54,6 +56,8 @@ 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_windowTitle 00CABBB8 l type="char[256]" +s_device 00CABCB8 l type="CGxDevice*" s_hardwareDetected 00CABCBC l type="bool" s_hwChanged 00CABCBD l type="bool" s_hwDetect 00CABCBE l type="bool" @@ -64,4 +68,3 @@ 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]" -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 5bb23a3..b5e714f 100644 --- a/profile/3.3.5a-windows-386/symbol/cvar/func.sym +++ b/profile/3.3.5a-windows-386/symbol/cvar/func.sym @@ -15,5 +15,7 @@ CVGxMaxFPSCallback 00769830 f end=00769856 type="bool __stdcall func(CVar* h, ch CVGxMaxFPSBkCallback 00769860 f end=00769886 type="bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)" CVGxWindowResizeLockCallback 00769890 f end=007698A9 type="bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)" CVGxStereoEnabledCallback 00769C00 f end=00769C2B type="bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)" +CVGxStereoConvergenceCallback 00769C30 f end=00769C54 type="bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)" +CVGxStereoSeparationCallback 00769C60 f end=00769C84 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)" diff --git a/profile/3.3.5a-windows-386/symbol/cvar/label.sym b/profile/3.3.5a-windows-386/symbol/cvar/label.sym index 1c303b1..7dad249 100644 --- a/profile/3.3.5a-windows-386/symbol/cvar/label.sym +++ b/profile/3.3.5a-windows-386/symbol/cvar/label.sym @@ -3,6 +3,7 @@ s_cvGxRefresh 00CABA9C l type="CVar*" s_cvGxMaximize 00CABAA0 l type="CVar*" s_cvGxMultisample 00CABAA4 l type="CVar*" s_cvGxCursor 00CABAA8 l type="CVar*" +s_cvGxStereoSeparation 00CABAAC l type="CVar*" s_cvGxMultisampleQuality 00CABAB0 l type="CVar*" s_cvGxResolution 00CABAB4 l type="CVar*" s_cvHwDetect 00CABAB8 l type="CVar*" @@ -11,6 +12,7 @@ s_cvGxFixLag 00CABAC0 l type="CVar*" s_cvMaxFPS 00CABAC4 l type="CVar*" s_cvGxVSync 00CABAEC l type="CVar*" s_cvVideoOptionsVersion 00CABB30 l type="CVar*" +s_cvGxStereoConvergence 00CABB34 l type="CVar*" s_cvMaxFPSBk 00CABB6C l type="CVar*" s_cvGxTripleBuffer 00CABB70 l type="CVar*" s_cvGxDepthBits 00CABB74 l type="CVar*" 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 f58956a..66dae06 100644 --- a/profile/3.3.5a-windows-386/symbol/gx/func.sym +++ b/profile/3.3.5a-windows-386/symbol/gx/func.sym @@ -1,33 +1,37 @@ -GxDevCreate 00681290 f end=00681301 -GxLog 006817E0 f end=006817F5 type="int __stdcall func(char* format, ...)" -OnPaint 004A8720 f end=004A8B58 -GxCapsWindowSizeInScreenCoords 00493BF0 f end=00493C09 -GxTexCreate 00681CB0 f end=00681D87 -GxTexUpdate 006813D0 f end=006813EC -GxXformProjection 004BEC70 f end=004BEC88 GxXformSetProjection 00408030 f end=00408049 GxXformViewport 00408070 f end=004080D9 type="void __stdcall func(float* minX, float* maxX, float* minY, float* maxY, float* minZ, float* maxZ)" -GxXformSetViewport 00681F60 f end=00682124 type="void __stdcall func(float minX, float maxX, float minY, float maxY, float minZ, float maxZ)" GxXformProjNativeTranspose 00408110 f end=0040820F -GxXformPush_EGxXform_C44Matrix 00616AD0 f end=00616AE8 -GxXformPop 0057C420 f end=0057C44A -GxRsSet_int32_t 00408BF0 f end=00408C27 -GxRsSet_CGxShader 00408240 f end=00408258 -GxDraw 00482A40 f end=00482A5D GxShaderConstantsSet 00408210 f end=0040823B +GxRsSet_CGxShader 00408240 f end=00408258 +GxRsSet_int32_t 00408BF0 f end=00408C27 GxBufLock 004829D0 f end=004829E9 GxBufUnlock 004829F0 f end=00482A13 GxBufStream 00482A20 f end=00482A3C -GxScenePresent 00682A00 f end=00682A33 -GxSceneClear 006813B0 f end=006813CD -GxQueryCreate 00681630 f end=0068165B type="void __stdcall func(CGxQuery** query, EGxQueryType type)" -GxLogOpen 006817C0 f end=006817C5 type="void __stdcall func()" +GxDraw 00482A40 f end=00482A5D +GxCapsWindowSizeInScreenCoords 00493BF0 f end=00493C09 +OnPaint 004A8720 f end=004A8B58 +GxXformProjection 004BEC70 f end=004BEC88 +GxXformPop 0057C420 f end=0057C44A +GxXformPush_EGxXform_C44Matrix 00616AD0 f end=00616AE8 +GxApiSupported 006811D0 f end=006811F0 type="int32_t __stdcall func(EGxApi api)" ; 00005410 +GxAdapterID 006811F0 f end=006811F9 ; GxAdapterID(unsigned short&, unsigned short&, unsigned int&, unsigned int&) +GxAdapterInfer 00681200 f end=00681209 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()" -GxApiSupported 006811D0 f end=006811F0 type="int32_t __stdcall func(EGxApi api)" ; 00005410 +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)" -CGxMonitorModeSort 00689E80 f type="int32_t __stdcall func(void* a, void* b)" GxGetMaxFPS 00681780 f end=00681786 -GxGetMaxFPSBk 006817A0 f end=006817A6 \ No newline at end of file +GxSetMaxFPSBk 00681790 f end=0068179D type="void __stdcall func(uint32_t maxFPSBk)" +GxGetMaxFPSBk 006817A0 f end=006817A6 +GxLogOpen 006817C0 f end=006817C5 type="void __stdcall func()" +GxLog 006817E0 f end=006817F5 type="int __stdcall func(char* format, ...)" +GxTexCreate 00681CB0 f end=00681D87 +GxXformSetViewport 00681F60 f end=00682124 type="void __stdcall func(float minX, float maxX, float minY, float maxY, float minZ, float maxZ)" +GxScenePresent 00682A00 f end=00682A33 +GxDevDestroy 00682B80 f end=00682C35 +GxLogClose 006817D0 f end=006817D5 +CGxMonitorModeSort 00689E80 f type="int32_t __stdcall func(void* a, void* b)" +GxDefaultApi 008C8DE0 f type="EGxApi __stdcall func()" 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 63d0487..f261e50 100644 --- a/profile/3.3.5a-windows-386/symbol/gxdevice/func.sym +++ b/profile/3.3.5a-windows-386/symbol/gxdevice/func.sym @@ -31,6 +31,7 @@ CGxDevice__CursorSetVisible 00683640 f end=00683650 type="void __thiscall func(C 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__LogClose 006836B0 f end=006836CA 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)" @@ -84,6 +85,8 @@ 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__DeviceAdapterID 00689C10 f end=00689DA2 +CGxDevice__DeviceAdapterInfer 00689DB0 f end=00689E7B 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)" diff --git a/profile/3.3.5a-windows-386/symbol/main.sym b/profile/3.3.5a-windows-386/symbol/main.sym index 8c1a427..3afad9a 100644 --- a/profile/3.3.5a-windows-386/symbol/main.sym +++ b/profile/3.3.5a-windows-386/symbol/main.sym @@ -2249,6 +2249,8 @@ WowClientDB_CharBaseInfoRec__LoadRecords 00659B80 f end=00659C82 ; WowClientDB::GetRecordByIndex(int, void*) GxApiSupported 006811D0 f end=006811F0 type="int32_t __stdcall func(EGxApi api)" ; 00005410 +GxAdapterID 006811F0 f end=006811F9 ; GxAdapterID(unsigned short&, unsigned short&, unsigned int&, unsigned int&) +GxAdapterInfer 00681200 f end=00681209 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 @@ -2260,6 +2262,7 @@ GxGetMaxFPS 00681780 f end=00681786 GxSetMaxFPSBk 00681790 f end=0068179D type="void __stdcall func(uint32_t maxFPSBk)" GxGetMaxFPSBk 006817A0 f end=006817A6 GxLogOpen 006817C0 f end=006817C5 type="void __stdcall func()" +GxLogClose 006817D0 f end=006817D5 GxLog 006817E0 f end=006817F5 type="int __stdcall func(char* format, ...)" CGxFormat__CGxFormat 00681950 f type="CGxFormat* __thiscall func(CGxFormat* this)" GxDrawLockedElements 00681A60 f end=00681AAB type="void __stdcall func()" @@ -2273,6 +2276,7 @@ GxPrimLockIndexPtr 006823A0 f end=006823F8 type="void __stdcall func(EGxPrim pri GxPrimVertexPtr 00682400 f end=00682781 type="void __stdcall func(uint32_t vertexCount, C3Vector* pos, uint32_t posStride, C3Vector* normal, uint32_t normalStride, CImVector* color, uint32_t colorStride, C2Vector* tex0, uint32_t tex0Stride, C2Vector* tex1, uint32_t tex1Stride)" ; this is one of the functions named 'GxPrimVertexPtr' that uses the fixed-function pipeline GxPrimLockVertexPtrs 006828C0 f end=006828FE type="void __stdcall func(uint32_t vertexCount, C3Vector* pos, uint32_t posStride, C3Vector* normal, uint32_t normalStride, CImVector* color, uint32_t colorStride, uint8_t* bone, uint32_t boneStride, C2Vector* tex0, uint32_t tex0Stride, C2Vector* tex1, uint32_t tex1Stride)" GxScenePresent 00682A00 f end=00682A33 +GxDevDestroy 00682B80 f end=00682C35 CGxDevice__DeviceCreate 00682CB0 f end=00682CCB type="void __thiscall func(CGxDevice* this, int32_t (*windowProc)(void*, uint32_t, uintptr_t, intptr_t), CGxFormat* format)" CGxDevice__DeviceCreate 00682CD0 f end=00682CF0 type="void __thiscall func(CGxDevice* this, uintptr_t hwnd, CGxFormat* format)" CGxDevice__DeviceDestroy 00682CF0 f end=00682CFB type="void __thiscall func(CGxDevice* this)" @@ -2304,6 +2308,7 @@ CGxDevice__CursorSetVisible 00683640 f end=00683650 type="void __thiscall func(C 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__LogClose 006836B0 f end=006836CA 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)" @@ -2358,6 +2363,8 @@ 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 +CGxDevice__DeviceAdapterID 00689C10 f end=00689DA2 +CGxDevice__DeviceAdapterInfer 00689DB0 f end=00689E7B 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()" @@ -2660,6 +2667,8 @@ CVGxWindowResizeLockCallback 00769890 f end=007698A9 type="bool __stdcall func(C UpdateGxCVars 007698B0 f end=0076994A ; 00005400 SetGxCVars 00769950 f end=00769BF5 type="void __stdcall func(CGxFormat* format)" ; SetGxCVars(CGxFormat const&) CVGxStereoEnabledCallback 00769C00 f end=00769C2B type="bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)" +CVGxStereoConvergenceCallback 00769C30 f end=00769C54 type="bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)" +CVGxStereoSeparationCallback 00769C60 f end=00769C84 type="bool __stdcall func(CVar* h, char* oldValue, char* newValue, void* arg)" ConsoleGetHardware 00769D00 f end=00769D0F type="Hardware* __stdcall func()" ConsoleDeviceDestroy 00769D40 f end=00769D7D ; 00005400 ValidateFormatMonitor 00769E10 f end=00769FF0 @@ -2670,6 +2679,8 @@ 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&) +SetVideoIdx 0076B540 f end=0076B594 type="void __stdcall func(Hardware* hardware@)" +PrintStartupError 0076B5A0 f end=0076B616 type="void __usercall __noreturn func(int32_t messageID, const char* fallbackMessage)" ConsoleDetectSaveHardware 0076B620 f end=0076B7DB ConsoleDetectDetectHardware 0076BA30 f end=0076BBE9 type="void __stdcall func(Hardware* hardware, bool* hwChanged)" ; ConsoleDetectDetectHardware(Hardware&, bool&) SMemSetDebugFlags 0076E4A0 f end=0076E4D2 type="void __stdcall func(uint32_t flags, uint8_t changeMask)" @@ -2731,6 +2742,7 @@ 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 SUniConvertUTF16to8 00775BD0 f end=00775D90 +SUniConvertUTF8to16Len 00775D90 f end=00775EAC SUniConvertUTF8to16 00775EB0 f end=00776064 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)" @@ -2849,6 +2861,7 @@ OsInputSetMouseMode 0086A020 f end=0086A063 OsInputGetMousePosition 0086A0D0 f end=0086A130 OsInputSetMousePosition 0086A130 f end=0086A194 OsGetDefaultWindowRect 0086A1A0 f end=0086A20C +OsWindowProc 0086A210 f end=0086AB24 OsTimeManager__Calibrate 0086AB30 f end=0086AD4A type="TimingMethod __thiscall func(OsTimeManager* this)" OsTimeGetTestError 0086AD50 f end=0086AD59 OsTimeGetTimingMethodName 0086AD70 f end=0086ADB8 type="char* __stdcall func(TimingMethod method)" @@ -2878,8 +2891,10 @@ OsGetExeName 0086BBD0 f end=0086BC2F OsPathGetRootChars 0086BC30 f end=0086BC9E OsPathStripFilename 0086BE50 f end=0086BE9B OsGetExePath 0086BEA0 f end=0086BEBE +OsGuiSetWindowTitle 0086C650 f end=0086C696 OsGuiGetWindow 0086C6A0 f end=0086C6CE -OsGuiMessageBox 0086C6E0 f end=0086C7D0 +OsGuiSetGxWindow 0086C6D0 f end=0086C6DD +OsGuiMessageBox 0086C6E0 f end=0086C7D0 type="int32_t __stdcall func(void* parentWindow, int32_t style, const char* message, const char* title)" OsIMEInitialize 0086D0A0 f end=0086D0B8 OsIMEDestroy 0086D0C0 f end=0086D0Df OsTimeStartup 0086D430 f end=0086D439 type="void __stdcall func(TimingMethod timingMethod)" @@ -3378,6 +3393,7 @@ s_fontHeight 00ADBACC l type="float" ; float s_hRect 00ADBAD4 l type="RECTF" ; RECTF s_baseTextFlags 00ADBAE4 l type="uint32_t" ; uint32 s_linelist 00ADBBB0 l type="TSList_CONSOLELINE" +s_soundHwSettings 00ADBE54 l type="SoundHardware" s_detailDoodadDensity 00ADBE5C l type="uint32_t[4]" s_animatingDoodads 00ADBE6C l type="uint8_t[2][2]" s_waterLOD 00ADBE70 l type="uint32_t[2][2]" @@ -3461,6 +3477,7 @@ s_cvGxRefresh 00CABA9C l type="CVar*" s_cvGxMaximize 00CABAA0 l type="CVar*" s_cvGxMultisample 00CABAA4 l type="CVar*" s_cvGxCursor 00CABAA8 l type="CVar*" +s_cvGxStereoSeparation 00CABAAC l type="CVar*" s_cvGxMultisampleQuality 00CABAB0 l type="CVar*" s_cvGxResolution 00CABAB4 l type="CVar*" s_cvHwDetect 00CABAB8 l type="CVar*" @@ -3471,6 +3488,7 @@ 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*" +s_cvGxStereoConvergence 00CABB34 l type="CVar*" s_hardware 00CABB38 l type="Hardware" s_cvMaxFPSBk 00CABB6C l type="CVar*" s_cvGxTripleBuffer 00CABB70 l type="CVar*" @@ -3483,6 +3501,8 @@ s_cvFixedFunction 00CABBA8 l type="CVar*" s_cvWidescreen 00CABBAC l type="CVar*" s_cvGxWindow 00CABBB0 l type="CVar*" s_cvWindowResizeLock 00CABBB4 l type="CVar*" +s_windowTitle 00CABBB8 l type="char[256]" +s_device 00CABCB8 l type="CGxDevice*" s_hardwareDetected 00CABCBC l type="bool" s_hwChanged 00CABCBD l type="bool" s_hwDetect 00CABCBE l type="bool" 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 08dd4a9..1a33395 100644 --- a/profile/3.3.5a-windows-386/symbol/os/func.sym +++ b/profile/3.3.5a-windows-386/symbol/os/func.sym @@ -9,6 +9,7 @@ OsInputSetMouseMode 0086A020 f end=0086A063 OsInputGetMousePosition 0086A0D0 f end=0086A130 OsInputSetMousePosition 0086A130 f end=0086A194 OsGetDefaultWindowRect 0086A1A0 f end=0086A20C +OsWindowProc 0086A210 f end=0086AB24 IOsGetProcessorFeatures 0086AF90 f end=0086B0BE OsSystemEnableCpuLog 0086B0C0 f end=0086B0CB IOsSystemCpuLog 0086B0D0 f end=0086B23D @@ -28,8 +29,10 @@ OsGetExeName 0086BBD0 f end=0086BC2F OsPathGetRootChars 0086BC30 f end=0086BC9E OsPathStripFilename 0086BE50 f end=0086BE9B OsGetExePath 0086BEA0 f end=0086BEBE +OsGuiSetWindowTitle 0086C650 f end=0086C696 OsGuiGetWindow 0086C6A0 f end=0086C6CE -OsGuiMessageBox 0086C6E0 f end=0086C7D0 +OsGuiSetGxWindow 0086C6D0 f end=0086C6DD +OsGuiMessageBox 0086C6E0 f end=0086C7D0 type="int32_t __stdcall func(void* parentWindow, int32_t style, const char* message, const char* title)" OsIMEInitialize 0086D0A0 f end=0086D0B8 OsIMEDestroy 0086D0C0 f end=0086D0Df OsCallSetContext 0086F5A0 f end=0086F5EA 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 f7cb448..b8c9c06 100644 --- a/profile/3.3.5a-windows-386/symbol/storm/func.sym +++ b/profile/3.3.5a-windows-386/symbol/storm/func.sym @@ -59,6 +59,7 @@ 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 SUniConvertUTF16to8 00775BD0 f end=00775D90 +SUniConvertUTF8to16Len 00775D90 f end=00775EAC SUniConvertUTF8to16 00775EB0 f end=00776064 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)"