| 1 |
#ifndef ONI_H |
| 2 |
#error Do not include this file directly, include Oni/Oni.h instead! |
| 3 |
#endif |
| 4 |
|
| 5 |
#ifndef SYMBOLS_VAR_H |
| 6 |
#define SYMBOLS_VAR_H |
| 7 |
|
| 8 |
//Define variables of Oni: #define VARNAME (*((TYPE*)ADDRESS)) |
| 9 |
|
| 10 |
// AIs are deaf (ger: "taub") |
| 11 |
#define ai2_deaf (*((onibool*)0x005ec0c1)) |
| 12 |
|
| 13 |
// Option "debug" ... but what does it do? |
| 14 |
#define AKgDebug_DebugMaps (*((onibool*)0x006b2204)) |
| 15 |
|
| 16 |
// Option "debugfiles" ... but what does it do? |
| 17 |
#define BFgDebugFileEnable (*((onibool*)0x0055c8d0)) |
| 18 |
|
| 19 |
// Command line instance |
| 20 |
#define COgCommandLine (*((void**)0x00571b74)) |
| 21 |
#define COgConsoleLines (*((void**)0x005cb468)) |
| 22 |
|
| 23 |
// Default console text color |
| 24 |
#define COgDefaultTextShade (*((uint32_t*)0x00533f70)) |
| 25 |
|
| 26 |
// Default console text shadow color |
| 27 |
#define COgDefaultTextShadow (*((uint32_t*)0x00533f74)) |
| 28 |
|
| 29 |
// Console text fade timeout |
| 30 |
#define COgFadeTimeValue (*((uint32_t*)0x00533f68)) |
| 31 |
|
| 32 |
// Game termination flag (ONiRunGame loops on it). |
| 33 |
#define ONgTerminateGame (*((UUtBool*)0x00630ffd)) |
| 34 |
|
| 35 |
// Window manager is running (drawing and updating windows). |
| 36 |
#define WMgActive (*((UUtBool*)0x005e99a0)) |
| 37 |
|
| 38 |
// Set by WinMain, used by UUrPlatform_Initialize and ONrPlatform_Initialize, |
| 39 |
// which copies it into ONgPlatformData. |
| 40 |
#define ONgInstance (*((HINSTANCE*)0x0061f9e4)) |
| 41 |
|
| 42 |
// Keeps initial gamma ramp value (before any change). |
| 43 |
#define GLgInitialGammaRamp (((M3tWin32GammaRamp*)0x0055fdfc)) |
| 44 |
|
| 45 |
// Nonzero when gamma ramp was successfully read into GLgInitialGammaRamp. |
| 46 |
#define GLgGammaRampValid (*((int*)0x005603fc)) |
| 47 |
|
| 48 |
// OpenGL: list of pointers to opengl32.dll functions (and a few functions from GL extensions) |
| 49 |
#define gl_api (*((gl_api_t**)0x00560604)) |
| 50 |
|
| 51 |
// OpenGL render engine descriptor (resolutions, flags, context methods) |
| 52 |
#define gl (*((gl_engine_t**)0x00560600)) |
| 53 |
|
| 54 |
// Initial display mode (saved by gl_library_is_loaded). |
| 55 |
#define GLgInitialMode (*((DEVMODE*)0x0055fd60)) |
| 56 |
|
| 57 |
// False to prevent Oni from changing display settings (however Bink |
| 58 |
// player does not respect this setting). |
| 59 |
#define M3gResolutionSwitch (*((onibool*)0x00531634)) |
| 60 |
|
| 61 |
// Startup.txt file handle |
| 62 |
#define ONgFileStartup (*((FILE**)0x005711b8)) |
| 63 |
|
| 64 |
// Current GameState |
| 65 |
#define ONgGameState (*((GameState**)0x005ece7c)) |
| 66 |
|
| 67 |
// Current ONtPlatformData |
| 68 |
#define ONgPlatformData (*((ONtPlatformData*)0x00631008)) |
| 69 |
|
| 70 |
// Load non levelX_final-files yes/no |
| 71 |
#define opt_ignore_private_data (*((onibool*)0x006370f0)) |
| 72 |
|
| 73 |
// Play sound yes/no |
| 74 |
#define opt_sound (*((onibool*)0x006370fc)) |
| 75 |
|
| 76 |
// Option "findsounds" ... but what does it do? |
| 77 |
#define SSgSearchOnDisk (*((onibool*)0x005eb758)) |
| 78 |
|
| 79 |
// OBJgTriggerVolume_Visible - bsl var to show trigger volumes |
| 80 |
#define OBJgTriggerVolume_Visible (*((bool*)0x005ec6c4)) |
| 81 |
|
| 82 |
//#define OBJgFlag_DrawFlags (*((void*)0x005ec624)) |
| 83 |
//#define OBJgFlag_ViewPrefix (*((void*)0x005ec650)) |
| 84 |
//#define OBJgFlag_DrawNameDistance (*((void*)0x005ec634)) |
| 85 |
|
| 86 |
// Oni's platform input system stores the window HWND in this global |
| 87 |
#define LIgPlatform_HWND (*((HWND *)0x0055cae8)) |
| 88 |
|
| 89 |
// Is Oni's input system active? True in gameplay and false in menus. |
| 90 |
// LIrPlatform_Mode_Set gets called when this changes. |
| 91 |
#define LIgMode_Internal (*((UUtBool *)0x0055fd40)) |
| 92 |
|
| 93 |
// List of bindings from Oni's internal key codes to LItActionDescriptions |
| 94 |
#define LIgBindingArray ((LItBinding *)0x0055fa20) |
| 95 |
|
| 96 |
// Is "Invert Mouse" checked in the Options menu? If so, platform specific input |
| 97 |
// code should invert the cursor's Y offset when building LItActionBuffers. |
| 98 |
#define LIgMode_InvertMouse (*((UUtBool *)0x0052ecf4)) |
| 99 |
|
| 100 |
// This is a map from DirectInput scan codes to Oni's internal key codes, the |
| 101 |
// latter of which mostly match ASCII for a US keyboard layout. DirectInput scan |
| 102 |
// codes are mostly the same as the PS2 make codes that Windows uses in other |
| 103 |
// APIs except that extended keys are represented by bit 0x80 being set. |
| 104 |
#define LIgPlatform_ScanCodeToChar ((uint8_t *)0x005292b8) |
| 105 |
|
| 106 |
// Script variable to enable/disable centering the cursor in the window when |
| 107 |
// processing input. On by default. |
| 108 |
#define LIgCenterCursor (*((int *)0x0052d88d)) |
| 109 |
|
| 110 |
// List of bindable input actions |
| 111 |
#define LIgActionDescriptions ((LItActionDescription*)0x0052db18) |
| 112 |
|
| 113 |
#endif |