ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/src/Oni_Symbols.h
(Generate patch)

Comparing Daodan/src/Oni_Symbols.h (file contents):
Revision 688 by alloc, Mon Mar 4 14:21:23 2013 UTC vs.
Revision 690 by alloc, Wed Mar 6 18:33:15 2013 UTC

# Line 7 | Line 7
7   #include "Oni_Character.h"
8   #include "BFW_ScriptLang.h"
9  
10 #define DefVar(type, name, address) static type* _##name = (type*)address
11 DefVar( onibool,                ai2_deaf,                               0x005ec0c1 );
10  
11 < DefVar( HINSTANCE,              g_Instance,                             0x0061F9E4 );
11 > //Define variables of Oni: #define VARNAME (*((TYPE*)ADDRESS))
12  
13 < DefVar( gl_api_t*,              gl_api,                                 0x00560604 );
14 < DefVar( gl_engine_t*,   gl_eng,                                 0x00560600 );
17 < DefVar( WORD*,                  gl_gamma_ramp,                  0x0055fdfc );
18 < DefVar( int,                    gl_gamma_ramp_valid,    0x005603fc );
19 <
20 < DefVar( char,                   opt_ignore_private_data,0x006370f0 );
21 < DefVar( char,                   opt_sound,                              0x006370fc );
22 <
23 < DefVar( char,                   AKgDebug_DebugMaps,             0x002b2204 );
24 <
25 < DefVar( bool,                   BFgDebugFileEnable,             0x0055c8d0 );
26 <
27 < DefVar( uint32_t,               COgConsoleLines,                0x005cb468 );
28 < DefVar( uint32_t,               COgDefaultTextShade,    0x00533f70 );
29 < DefVar( uint32_t,               COgDefaultTextShadow,   0x00533f74 );
30 < DefVar( uint32_t,               COgFadeTimeValue,               0x00533f68 );
31 <
32 < DefVar( FILE*,                  ONgFileStartup,                 0x005711b8 );
33 < DefVar( GameState*,             ONgGameState,                   0x005ece7c );
34 < DefVar( ONtPlatformData,ONgPlatformData,                0x0053100c );
35 <
36 < DefVar( char,                   M3gResolutionSwitch,    0x00531634 );
37 <
38 < DefVar( bool,                   SSgSearchOnDisk,                0x005eb758 );
39 < #undef DefVar
40 < //Yes, I'm aware that there are a few ways this could go wrong
41 < //but in the interests of neatness and not having to go through and rename all the variables
42 < //and use annoying dereferencing, this will do.
43 <
44 < //...too bad there is no way to nest #defines...
45 < #define AKgDebug_DebugMaps (*_AKgDebug_DebugMaps)
46 < #define ai2_deaf (*_ai2_deaf)
47 < #define g_Instance (*_g_Instance)
48 < #define M3gResolutionSwitch (*_M3gResolutionSwitch)
49 < #define ONgGameState (*_ONgGameState)
50 < #define ONgPlatformData (*_ONgPlatformData)
51 < #define opt_ignore_private_data (*_opt_ignore_private_data)
52 < #define opt_sound (*_opt_sound)
53 < #define BFgDebugFileEnable (*_BFgDebugFileEnable)
54 < #define SSgSearchOnDisk (*_SSgSearchOnDisk)
55 < #define gl_gamma_ramp (*_gl_gamma_ramp)
56 < #define gl_gamma_ramp_valid (*_gl_gamma_ramp_valid)
57 < #define gl_api (*_gl_api)
58 < #define gl_eng (*_gl_eng)
59 < #define COgConsoleLines (*_COgConsoleLines)
60 < #define COgFadeTimeValue (*_COgFadeTimeValue)
61 < #define COgDefaultTextShade (*_COgDefaultTextShade)
62 < #define COgDefaultTextShadow (*_COgDefaultTextShadow)
63 < #define ONgFileStartup (*_ONgFileStartup)
13 > // AIs are deaf (ger: "taub")
14 > #define ai2_deaf                        (*((onibool*)0x005ec0c1))
15  
16 + // Option "debug" ... but what does it do?
17 + #define AKgDebug_DebugMaps      (*((char*)0x002b2204))
18  
19 + // Option "debugfiles" ... but what does it do?
20 + #define BFgDebugFileEnable      (*((bool*)0x0055c8d0))
21 +
22 + // Parameter 1 to COrTextArea_Print. Context pointer?
23 + #define COgConsoleLines         (*((uint32_t*)0x005cb468))
24 +
25 + // Default console text color
26 + #define COgDefaultTextShade     (*((uint32_t*)0x00533f70))
27 +
28 + // Default console text shadow color
29 + #define COgDefaultTextShadow    (*((uint32_t*)0x00533f74))
30 +
31 + // Console text fade timeout
32 + #define COgFadeTimeValue        (*((uint32_t*)0x00533f68))
33 +
34 + // Some kind of graphics context?
35 + #define g_Instance                      (*((HINSTANCE*)0x0061F9E4))
36 +
37 + // OpenGL Gamma related
38 + #define gl_gamma_ramp           (*((WORD**)0x0055fdfc))
39 +
40 + // OpenGL Gamma related
41 + #define gl_gamma_ramp_valid     (*((int*)0x005603fc))
42 +
43 + // OpenGL whatev?
44 + #define gl_api                          (*((gl_api_t**)0x00560604))
45 +
46 + // OpenGL whatev?
47 + #define gl_eng                          (*((gl_engine_t**)0x00560600))
48 +
49 + // Value of -switch/-noswitch?
50 + #define M3gResolutionSwitch     (*((char*)0x00531634))
51 +
52 + // Startup.txt file handle
53 + #define ONgFileStartup          (*((FILE**)0x005711b8))
54 +
55 + // Current GameState
56 + #define ONgGameState            (*((GameState**)0x005ece7c))
57 +
58 + // Current ONtPlatformData
59 + #define ONgPlatformData         (*((ONtPlatformData*)0x0053100c))
60 +
61 + // Load non levelX_final-files yes/no
62 + #define opt_ignore_private_data (*((char*)0x006370f0))
63 +
64 + // Play sound yes/no
65 + #define opt_sound                       (*((char*)0x006370fc))
66 +
67 + // Option "findsounds" ... but what does it do?
68 + #define SSgSearchOnDisk         (*((bool*)0x005eb758))
69 +
70 +
71 + // Method signature for script (BSL) functions
72   typedef uint16_t        ( ONICALL *sl_func)(sl_callinfo* callinfo, uint32_t numargs, sl_arg args[], int* dontuse1, int* dontuse2, sl_arg* ret);
73 +
74 + // Used by function definition below: OBJrObjectType_EnumerateObjects
75   typedef char            ( ONICALL *OBJtEnumCallback_Object)(void *inObject, int inUserData);
76  
77  
78 < #undef DefFunc
78 >
79   #define DefFunc( type, name, callingconvention, args, address) typedef type ( callingconvention * _##name ) args; static _##name name = (_##name)address
80 +
81 + // Orig timing functions, replaced by DDrMachineTime_* if option "usegettickcount" is enabled
82   DefFunc(int64_t, UUrMachineTime_High, ONICALL, (), 0x04026480);
83   DefFunc(double, UUrMachineTime_High_Frequency, ONICALL, (), 0x040264b0);
84   DefFunc(int64_t, UUrMachineTime_Sixtieths, ONICALL, (), 0x040263e0);
85 +
86 + // Code to initialize platform stuff (like disabling system key combination Alt+Tab)
87   DefFunc(void, UUrPlatform_Initialize, ONICALL, (), 0x04026010);
88   DefFunc(void, UUrPlatform_Terminate, ONICALL, (), 0x04026310);
89  
90 + // Oni's file access methods
91   DefFunc(FILE*, oni_fopen, __cdecl, (const char*, const char*), 0x0051ea9f);
92   DefFunc(int, oni_fprintf, __cdecl, (FILE*, const char*, ...), 0x0051ebbf);
93   DefFunc(int, oni_fflush, __cdecl, (FILE*), 0x0051eab2);
94  
95 + // Oni's main method?
96   DefFunc(void, ONiMain, __cdecl, (int ArgCount, char *ArgList[]), 0x004d3280);
97 +
98 + // Initialization code, used to hook in windowed modes
99   DefFunc(short, ONrPlatform_Initialize, ONICALL, (ONtPlatformData *PlatformData), 0x0050f670);
100   DefFunc(LRESULT, ONrPlatform_WindowProc, CALLBACK, (HWND Window, UINT Message, WPARAM WParam, LPARAM LParam), 0x0050f7a0);
101 +
102 + // Retrieves a list of resolutions, replaced by "daodan_enumerate_valid_display_modes"
103   DefFunc(unsigned int, gl_enumerate_valid_display_modes, ONICALL, (M3tDisplayMode modes[16]), 0x004083a0);
104   DefFunc(int, gl_platform_set_pixel_format, ONICALL, (HDC hdc), 0x00407b50);
105   DefFunc(int, gl_platform_initialize, ONICALL, (), 0x00407da0);

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)