ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/src/Oni_Symbols.h
Revision: 677
Committed: Sat Mar 2 23:46:33 2013 UTC (12 years, 7 months ago) by alloc
Content type: text/x-chdr
File size: 11047 byte(s)
Log Message:
Daodan: Updated src to work with MinGW

File Contents

# Content
1 #ifndef ONI_SYMBOLS_H
2 #define ONI_SYMBOLS_H
3 #include "bool.h"
4 #include <stdio.h>
5 #include "Oni.h"
6 #include "oni_gl.h"
7 #include "Oni_Character.h"
8 #include "BFW_ScriptLang.h"
9 #define DefVar(type, name, address) static type* _##name = (type*)address
10 //variables
11
12 //DO THIS INSTEAD!
13 DefVar( onibool, ai2_deaf, 0x005ec0c1 );
14
15 DefVar( HINSTANCE, g_Instance, 0x0061F9E4 );
16
17 DefVar( gl_api_t*, gl_api, 0x00560604 );
18 DefVar( gl_engine_t*, gl_eng, 0x00560600 );
19 DefVar( WORD*, gl_gamma_ramp, 0x0055fdfc );
20 DefVar( int, gl_gamma_ramp_valid, 0x005603fc );
21
22 DefVar( char, opt_ignore_private_data,0x006370f0 );
23 DefVar( char, opt_sound, 0x006370fc );
24
25 DefVar( char, AKgDebug_DebugMaps, 0x002b2204 );
26
27 DefVar( bool, BFgDebugFileEnable, 0x0055c8d0 );
28
29 DefVar( uint32_t, COgConsoleLines, 0x005cb468 );
30 DefVar( uint32_t, COgDefaultTextShade, 0x00533f70 );
31 DefVar( uint32_t, COgDefaultTextShadow, 0x00533f74 );
32 DefVar( uint32_t, COgFadeTimeValue, 0x00533f68 );
33
34 DefVar( FILE*, ONgFileStartup, 0x005711b8 );
35 DefVar( GameState*, ONgGameState, 0x005ece7c );
36 DefVar( ONtPlatformData,ONgPlatformData, 0x0053100c );
37
38 DefVar( char, M3gResolutionSwitch, 0x00531634 );
39
40 DefVar( bool, SSgSearchOnDisk, 0x005eb758 );
41 #undef DefVar
42 //Yes, I'm aware that there are a few ways this could go wrong
43 //but in the interests of neatness and not having to go through and rename all the variables
44 //and use annoying dereferencing, this will do.
45
46 //...too bad there is no way to nest #defines...
47 #define AKgDebug_DebugMaps (*_AKgDebug_DebugMaps)
48 #define ai2_deaf (*_ai2_deaf)
49 #define g_Instance (*_g_Instance)
50 #define M3gResolutionSwitch (*_M3gResolutionSwitch)
51 #define ONgGameState (*_ONgGameState)
52 #define ONgPlatformData (*_ONgPlatformData)
53 #define opt_ignore_private_data (*_opt_ignore_private_data)
54 #define opt_sound (*_opt_sound)
55 #define BFgDebugFileEnable (*_BFgDebugFileEnable)
56 #define SSgSearchOnDisk (*_SSgSearchOnDisk)
57 #define gl_gamma_ramp (*_gl_gamma_ramp)
58 #define gl_gamma_ramp_valid (*_gl_gamma_ramp_valid)
59 #define gl_api (*_gl_api)
60 #define gl_eng (*_gl_eng)
61 #define COgConsoleLines (*_COgConsoleLines)
62 #define COgFadeTimeValue (*_COgFadeTimeValue)
63 #define COgDefaultTextShade (*_COgDefaultTextShade)
64 #define COgDefaultTextShadow (*_COgDefaultTextShadow)
65 #define ONgFileStartup (*_ONgFileStartup)
66
67
68 #undef $
69
70 //functions
71 //__fastcall isn't neccessary if you specify the correct calling convention.
72 typedef int64_t ( *_UUrMachineTime_High)();
73 typedef double ( *_UUrMachineTime_High_Frequency)();
74 typedef int64_t ( *_UUrMachineTime_Sixtieths)();
75 typedef void ( *_UUrPlatform_Initialize)();
76 typedef void ( *_UUrPlatform_Terminate)();
77
78 typedef FILE* ( __cdecl *_oni_fopen)(const char*, const char*);
79 typedef int ( __cdecl *_oni_fprintf)(FILE*, const char*, ...);
80 typedef int ( __cdecl *_oni_fflush)(FILE*);
81
82 typedef void ( __cdecl *_ONiMain)(int ArgCount, char *ArgList[]);
83 typedef short ( *_ONrPlatform_Initialize)(ONtPlatformData *PlatformData);
84 typedef LRESULT ( CALLBACK *_ONrPlatform_WindowProc)(HWND Window, UINT Message,
85 WPARAM WParam, LPARAM LParam);
86 typedef unsigned int ( *_gl_enumerate_valid_display_modes)(M3tDisplayMode modes[16]);
87 typedef int ( *_gl_platform_set_pixel_format)(HDC hdc);
88 typedef int ( *_gl_platform_initialize)();
89
90 typedef float ( *_ONrPersist_GetGamma)();
91 typedef uint8_t ( *_ONrPersist_GetWonGame)();
92
93 typedef void ( __cdecl *_UUrStartupMessage)(const char* fmt, ...);
94 typedef int16_t ( *_ONrGameState_NewCharacter)(void* CHAR, void* AISA,
95 void* flag, uint32_t* list_location);
96 typedef ActiveCharacter* ( *_ONrGetActiveCharacter)(void* CharacterPtr);
97 typedef void ( *_ONrCharacter_NewAnimationHook)(Character *ioCharacter, ActiveCharacter *ioActiveCharacter);
98 typedef void ( *_ONrCharacter_SetAnimationExternal)(Character *ioCharacter, short state, void* animation, int interpolation);
99
100 typedef void ( *_COrTextArea_Print)(uint32_t area, uint32_t priority,
101 uint32_t textshade, uint32_t textshadowshade,
102 const char* text, uint32_t unk_alwaws_0, uint32_t fadetime);
103 typedef uint8_t ONICALL ( *_ONrCheater)(uint32_t cheat);
104 typedef int ( __cdecl *_AUrMessageBox)(int Buttons, char *Message, ...);
105 typedef char* ONICALL ( *_SSrMessage_Find)(char* message_key); //Returns a prompt message from a message key
106 //typedef void ( *_ONiGameState_FindAutoPromptMessage)(char* Note, void* ptr);
107
108 typedef uint16_t (ONICALL *sl_func)(sl_callinfo* callinfo, uint32_t numargs, sl_arg args[], int* dontuse1, int* dontuse2, sl_arg* ret);
109 typedef uint16_t (ONICALL *_SLrScript_Command_Register_ReturnType)(char* name, char* desc, char* argfmt, sl_type type, sl_func callback);
110 typedef uint16_t (ONICALL *_SLrScript_Command_Register_Void)(char* name, char* desc, char* argfmt, sl_func callback);
111 typedef uint16_t (ONICALL *_SLrGlobalVariable_Register_Int32)(char* name, char* desc, int32_t* data);
112 typedef uint16_t (ONICALL *_SLrGlobalVariable_Register_Float)(char* name, char* desc, float* data);
113 typedef uint16_t (ONICALL *_SLrGlobalVariable_Register_String)(char* name, char* desc, char* data);
114
115 typedef int ( *_COrMessage_Print)(char* Message, char* Key, void* noidea);
116 //typedef void ( *_COrConsole_StatusLine_Display)();
117 typedef int16_t ( *_TMrInstance_GetDataPtr)(int tag, char* name, void* pointer);
118 typedef char* ( *_TMrInstance_GetInstanceName)(void* InstancePointer);
119
120 typedef int16_t ( *_TSrContext_DrawText)(uint32_t TSrContext, char* Text, char alpha, uint32_t usuallyzero, void* pRect);
121 //int16_t TSrContext_New ( TSFF*, size 7, ??? 1, ??? 1, ??? 0, TSrContext*);
122 typedef int16_t ( *_TSrContext_New)( void* FontInstance, int size, int hthsik1,int hthsik2,int hthsik3, void* TSrContext);
123
124 typedef int16_t ( *_TSrContext_SetShade)(
125 void *ioTextContext,
126 uint32_t inShade);
127 typedef void (* _ONrGameState_Timer_Start)( char* function, int time );
128 typedef uint16_t ( *_TRrAnimation_GetDuration)(void* Animation);
129 typedef uint16_t ( *_TRrAnimation_GetTo)(void* Animation);
130 typedef uint16_t ( *_TRrAnimation_GetFrom)(void* Animation);
131
132 typedef void
133 ( *_ONrCharacter_SetHitPoints)(
134 Character *ioCharacter,
135 uint32_t inHitPoints);
136 typedef void ( *_ONrCorpse_Create)(Character* Character);
137 //yes im cheating so badly.
138 typedef uint16_t ( *_iSetCharacterClass)(sl_callinfo* callinfo, uint32_t numargs, sl_arg args[], int* dontuse1, int* dontuse2, sl_arg* ret);
139 typedef uint16_t ( *_AI2iScript_Spawn)(sl_callinfo* callinfo, uint32_t numargs, sl_arg args[], int* dontuse1, int* dontuse2, sl_arg* ret);
140 typedef void * ( *_OBJrObjectType_GetObject_ByNumber)(int inObjectType, int inIndex);
141 typedef int ( *_OBJiObjectGroup_GetNumObjects)(void *inObjectGroup);
142
143 typedef void ( *_ONrGameState_DeleteCharacter)(Character *inCharacter);
144
145 typedef char (*OBJtEnumCallback_Object)(
146 void *inObject,
147 int inUserData);
148
149 typedef int ( *_OBJrObjectType_EnumerateObjects)(
150 int inObjectType,
151 OBJtEnumCallback_Object inEnumCallback,
152 int inUserData);
153
154 typedef void ( *_OBJrDoor_Open)( DoorObject *inObject, Character *inCharacter );
155 typedef void ( *_OBJrDoor_ForceOpen)(short id);
156 typedef short ( *_OBJrConsole_OnActivate)( void *inObject, Character *inCharacter );
157 //typedef void* ( *_OBJrConsole_GetByID)( short ID );
158 #define ExtFunc(name) extern _##name name
159 ExtFunc(SLrScript_Command_Register_ReturnType);
160 ExtFunc(SLrScript_Command_Register_Void);
161 ExtFunc(SLrGlobalVariable_Register_Int32);
162 ExtFunc(SLrGlobalVariable_Register_Float);
163 ExtFunc(SLrGlobalVariable_Register_String);
164 //ExtFunc(COrConsole_StatusLine_Display);
165 ExtFunc(OBJrObjectType_EnumerateObjects);
166 //ExtFunc(OBJiObjectGroup_GetNumObjects);
167 //ExtFunc(OBJrConsole_GetByID);
168 ExtFunc(AI2iScript_Spawn);
169
170 ExtFunc(TRrAnimation_GetDuration);
171 ExtFunc(TRrAnimation_GetFrom);
172 ExtFunc(TRrAnimation_GetTo);
173 ExtFunc(ONrGameState_Timer_Start);
174 extern _UUrMachineTime_High UUrMachineTime_High;
175 extern _UUrMachineTime_High_Frequency UUrMachineTime_High_Frequency;
176 extern _UUrMachineTime_Sixtieths UUrMachineTime_Sixtieths;
177 extern _UUrPlatform_Initialize UUrPlatform_Initialize;
178 extern _UUrPlatform_Terminate UUrPlatform_Terminate;
179
180 extern _oni_fopen oni_fopen;
181 extern _oni_fprintf oni_fprintf;
182 extern _oni_fflush oni_fflush;
183
184 extern _ONiMain ONiMain;
185 extern _ONrPlatform_Initialize ONrPlatform_Initialize;
186 extern _ONrPlatform_WindowProc ONrPlatform_WindowProc;
187
188 ExtFunc(COrMessage_Print);
189
190 ExtFunc(TMrInstance_GetDataPtr);
191 ExtFunc(TMrInstance_GetInstanceName);
192
193 ExtFunc(gl_enumerate_valid_display_modes);
194 ExtFunc(gl_platform_set_pixel_format);
195 ExtFunc(gl_platform_initialize);
196 ExtFunc(ONrPersist_GetGamma);
197 ExtFunc(ONrPersist_GetWonGame);
198 ExtFunc(UUrStartupMessage);
199
200 ExtFunc(ONrCharacter_SetAnimationExternal);
201
202 ExtFunc(ONrCharacter_NewAnimationHook);
203 ExtFunc(ONrCharacter_SetHitPoints);
204 ExtFunc(ONrGameState_NewCharacter);
205 ExtFunc(ONrGameState_DeleteCharacter);
206 ExtFunc(ONrGetActiveCharacter);
207 ExtFunc(ONrCorpse_Create);
208 ExtFunc(iSetCharacterClass);
209
210 ExtFunc(COrTextArea_Print);
211
212 ExtFunc(ONrCheater);
213 ExtFunc(AUrMessageBox);
214
215 ExtFunc(SSrMessage_Find);
216 //ExtFunc(ONiGameState_FindAutoPromptMessage);
217
218 ExtFunc(TSrContext_DrawText);
219 ExtFunc(TSrContext_New);
220 ExtFunc(TSrContext_SetShade);
221 ExtFunc(OBJrDoor_Open);
222 ExtFunc(OBJrDoor_ForceOpen);
223
224 ExtFunc(OBJrConsole_OnActivate);
225 //static const void* ( *OBJrConsole_GetByID)( short ID ) = (const void*(*)(short))0x004C0950;
226 #undef DefFunc
227 #define DefFunc( type, name, args, address) static const type ONICALL ( * name ) args = (const type (*) args )address;
228 DefFunc( void*, OBJrConsole_GetByID, (short ID), 0x004C0950);
229 DefFunc( void, COrConsole_StatusLine_Display, (), 0x00431E70 );
230 //typedef void ( *_ONiGameState_FindAutoPromptMessage)(char* Note, void* ptr);
231 DefFunc( void, ONiGameState_FindAutoPromptMessage, (char* Note, void* ptr), 0x004FDBE0 );
232 DefFunc( void, ONrCharacter_SetCharacterClass, (Character* Char, ONCC* Class), 0x004D7C30 );
233 DefFunc( short, TMrInstance_GetDataPtr_ByNumber, (int tag, int number, void** out), 0x00423680 );
234 DefFunc( uint32_t, TMrInstance_GetTagCount, (int tag), 0x004236F0);
235 //DefFunc( uint32_t, stdcall M3rTextureMap_New, (int tag), 0x041EB00);
236 //(short width, short height, int type, int allocated, int flags, char* name, void** output)
237 DefFunc( uint32_t, ONrCharacter_GetHealthShade, (uint32_t health, uint32_t maxhealth), 0x004EF450);
238 //DefFunc( short, TSrContext_SetShade, (void* context, int shade ), 0x0042EE50);
239 DefFunc( void, ONiDrawWeaponSight, (Character* Char), 0x004E1900 );
240 DefFunc( void, AI2rDisplayDebuggingInfo, (Character* Char), 0x0048C5F0 );
241 static const uint32_t ( * M3rTextureMap_New)(short width, short height, int type, int allocated, int flags, char* name, void** output)
242 = (const uint32_t(*)(short width, short height, int type, int allocated, int flags, char* name, void** output))0x041EB00;
243 #endif