--- Daodan/src/Oni/Symbols_Var.h 2014/04/05 10:19:11 992 +++ Daodan/src/Oni/Symbols_Var.h 2021/10/24 02:50:48 1163 @@ -11,10 +11,10 @@ #define ai2_deaf (*((onibool*)0x005ec0c1)) // Option "debug" ... but what does it do? -#define AKgDebug_DebugMaps (*((char*)0x002b2204)) +#define AKgDebug_DebugMaps (*((onibool*)0x006b2204)) // Option "debugfiles" ... but what does it do? -#define BFgDebugFileEnable (*((bool*)0x0055c8d0)) +#define BFgDebugFileEnable (*((onibool*)0x0055c8d0)) // Command line instance #define COgCommandLine (*((void**)0x00571b74)) @@ -56,7 +56,7 @@ // False to prevent Oni from changing display settings (however Bink // player does not respect this setting). -#define M3gResolutionSwitch (*((char*)0x00531634)) +#define M3gResolutionSwitch (*((onibool*)0x00531634)) // Startup.txt file handle #define ONgFileStartup (*((FILE**)0x005711b8)) @@ -68,13 +68,13 @@ #define ONgPlatformData (*((ONtPlatformData*)0x00631008)) // Load non levelX_final-files yes/no -#define opt_ignore_private_data (*((char*)0x006370f0)) +#define opt_ignore_private_data (*((onibool*)0x006370f0)) // Play sound yes/no -#define opt_sound (*((char*)0x006370fc)) +#define opt_sound (*((onibool*)0x006370fc)) // Option "findsounds" ... but what does it do? -#define SSgSearchOnDisk (*((bool*)0x005eb758)) +#define SSgSearchOnDisk (*((onibool*)0x005eb758)) // OBJgTriggerVolume_Visible - bsl var to show trigger volumes #define OBJgTriggerVolume_Visible (*((bool*)0x005ec6c4)) @@ -83,4 +83,31 @@ //#define OBJgFlag_ViewPrefix (*((void*)0x005ec650)) //#define OBJgFlag_DrawNameDistance (*((void*)0x005ec634)) +// Oni's platform input system stores the window HWND in this global +#define LIgPlatform_HWND (*((HWND *)0x0055cae8)) + +// Is Oni's input system active? True in gameplay and false in menus. +// LIrPlatform_Mode_Set gets called when this changes. +#define LIgMode_Internal (*((UUtBool *)0x0055fd40)) + +// List of bindings from Oni's internal key codes to LItActionDescriptions +#define LIgBindingArray ((LItBinding *)0x0055fa20) + +// Is "Invert Mouse" checked in the Options menu? If so, platform specific input +// code should invert the cursor's Y offset when building LItActionBuffers. +#define LIgMode_InvertMouse (*((UUtBool *)0x0052ecf4)) + +// This is a map from DirectInput scan codes to Oni's internal key codes, the +// latter of which mostly match ASCII for a US keyboard layout. DirectInput scan +// codes are mostly the same as the PS2 make codes that Windows uses in other +// APIs except that extended keys are represented by bit 0x80 being set. +#define LIgPlatform_ScanCodeToChar ((uint8_t *)0x005292b8) + +// Script variable to enable/disable centering the cursor in the window when +// processing input. On by default. +#define LIgCenterCursor (*((int *)0x0052d88d)) + +// List of bindable input actions +#define LIgActionDescriptions ((LItActionDescription*)0x0052db18) + #endif