#ifndef ONI_H #error Do not include this file directly, include Oni/Oni.h instead! #endif #ifndef SYMBOLS_VAR_H #define SYMBOLS_VAR_H //Define variables of Oni: #define VARNAME (*((TYPE*)ADDRESS)) // AIs are deaf (ger: "taub") #define ai2_deaf (*((onibool*)0x005ec0c1)) // Option "debug" ... but what does it do? #define AKgDebug_DebugMaps (*((onibool*)0x006b2204)) // Option "debugfiles" ... but what does it do? #define BFgDebugFileEnable (*((onibool*)0x0055c8d0)) // Command line instance #define COgCommandLine (*((void**)0x00571b74)) #define COgConsoleLines (*((void**)0x005cb468)) // Default console text color #define COgDefaultTextShade (*((uint32_t*)0x00533f70)) // Default console text shadow color #define COgDefaultTextShadow (*((uint32_t*)0x00533f74)) // Console text fade timeout #define COgFadeTimeValue (*((uint32_t*)0x00533f68)) // Game termination flag (ONiRunGame loops on it). #define ONgTerminateGame (*((UUtBool*)0x00630ffd)) // Window manager is running (drawing and updating windows). #define WMgActive (*((UUtBool*)0x005e99a0)) // Set by WinMain, used by UUrPlatform_Initialize and ONrPlatform_Initialize, // which copies it into ONgPlatformData. #define ONgInstance (*((HINSTANCE*)0x0061f9e4)) // Keeps initial gamma ramp value (before any change). #define GLgInitialGammaRamp (((M3tWin32GammaRamp*)0x0055fdfc)) // Nonzero when gamma ramp was successfully read into GLgInitialGammaRamp. #define GLgGammaRampValid (*((int*)0x005603fc)) // OpenGL: list of pointers to opengl32.dll functions (and a few functions from GL extensions) #define gl_api (*((gl_api_t**)0x00560604)) // OpenGL render engine descriptor (resolutions, flags, context methods) #define gl (*((gl_engine_t**)0x00560600)) // Initial display mode (saved by gl_library_is_loaded). #define GLgInitialMode (*((DEVMODE*)0x0055fd60)) // False to prevent Oni from changing display settings (however Bink // player does not respect this setting). #define M3gResolutionSwitch (*((onibool*)0x00531634)) // Startup.txt file handle #define ONgFileStartup (*((FILE**)0x005711b8)) // Current GameState #define ONgGameState (*((GameState**)0x005ece7c)) // Current ONtPlatformData #define ONgPlatformData (*((ONtPlatformData*)0x00631008)) // Load non levelX_final-files yes/no #define opt_ignore_private_data (*((onibool*)0x006370f0)) // Play sound yes/no #define opt_sound (*((onibool*)0x006370fc)) // Option "findsounds" ... but what does it do? #define SSgSearchOnDisk (*((onibool*)0x005eb758)) // OBJgTriggerVolume_Visible - bsl var to show trigger volumes #define OBJgTriggerVolume_Visible (*((bool*)0x005ec6c4)) //#define OBJgFlag_DrawFlags (*((void*)0x005ec624)) //#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