Revision | 11da07d1e0833bbc9b4927812bf3c599c9a76080 (tree) |
---|---|
Time | 2017-05-20 04:05:21 |
Author | Face |
Commiter | Face |
OrbiterExtensions: made record event 2016 compatible
@@ -12,6 +12,8 @@ | ||
12 | 12 | #define VESSELSTRUCTOFFSET_RECORDING 0x0D32 |
13 | 13 | #define CODEOFFSET_INTERNALRECORDEVENTADDRESS 0xC |
14 | 14 | #define HOOKS 2 |
15 | +#define VERSIONS 2 // 0..2010, 1..2016 | |
16 | +#define ORBITER2016 160828 // 28th August 2016 | |
15 | 17 | |
16 | 18 | // ============================================================== |
17 | 19 | // Global variables |
@@ -44,10 +46,16 @@ | ||
44 | 46 | void *g_InternalRecordEvent; |
45 | 47 | |
46 | 48 | DWORD g_Hook; |
47 | -byte g_Original[HOOKS][9]= | |
49 | +byte g_Original[VERSIONS][HOOKS][9]= | |
48 | 50 | { |
49 | - {0x8b,0x44,0x24,0x04,0x8b,0x40,0x48,0xc2,0x04}, | |
50 | - {0x8B,0x09,0x80,0xB9,0x32,0x0D,0x00,0x00,0x00} | |
51 | + { | |
52 | + {0x8b,0x44,0x24,0x04,0x8b,0x40,0x48,0xc2,0x04}, | |
53 | + {0x8B,0x09,0x80,0xB9,0x32,0x0D,0x00,0x00,0x00} | |
54 | + }, | |
55 | + { | |
56 | + {0x8b,0x44,0x24,0x04,0x8b,0x40,0x48,0xc2,0x04}, | |
57 | + {0x8B,0x09,0x80,0xB9,0x22,0x0E,0x00,0x00,0x00} | |
58 | + } | |
51 | 59 | }; |
52 | 60 | |
53 | 61 | //The following arrays are: |
@@ -211,7 +219,8 @@ | ||
211 | 219 | } |
212 | 220 | p.pointer=(void *)&g_Hook; |
213 | 221 | |
214 | - if (memcmp((void *)g_Original[hook], address, 9)!=0) return -2; | |
222 | + int version = oapiGetOrbiterVersion()<ORBITER2016?0:1; | |
223 | + if (memcmp((void *)g_Original[version][hook], address, 9)!=0) return -2; | |
215 | 224 | for(int i=0;i<4;i++) g_Code[hook][5+i] = p.bytes[i]; |
216 | 225 | |
217 | 226 | return WriteCode(address, (void *)g_Code[hook], 9)*10; |
@@ -259,8 +268,9 @@ | ||
259 | 268 | } |
260 | 269 | break; |
261 | 270 | } |
271 | + int version = oapiGetOrbiterVersion()<ORBITER2016?0:1; | |
262 | 272 | if (memcmp((void *)g_Code[hook], address, 9)!=0) return -2; |
263 | - WriteCode(address, (void *)g_Original[hook], 9); | |
273 | + WriteCode(address, (void *)g_Original[version][hook], 9); | |
264 | 274 | |
265 | 275 | switch(hook) |
266 | 276 | { |