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 |