- Timestamp:
- Mar 17, 2009, 1:12:24 PM (16 years ago)
- Location:
- Daodan
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
Daodan/src/Daodan.c
r273 r274 12 12 { 13 13 // Font texture cache doubled 14 DDrPatch_Byte ((void*)0x00400000+ 0x00020ea7, 0x20);15 DDrPatch_Byte ((void*)0x00400000+ 0x00020f4a, 0x40);14 DDrPatch_Byte (OniExe + 0x00020ea7, 0x20); 15 DDrPatch_Byte (OniExe + 0x00020f4a, 0x40); 16 16 17 17 // Now supports textures up to 512x512 18 DDrPatch_Byte ((void*)0x00400000+ 0x00005251, 0x10);18 DDrPatch_Byte (OniExe + 0x00005251, 0x10); 19 19 20 20 // Non-"_Final" levels are now valid 21 DDrPatch_Byte ((void*)0x00400000+ 0x000206a8, 0x01);21 DDrPatch_Byte (OniExe + 0x000206a8, 0x01); 22 22 23 23 // Pathfinding grid cache size x8 24 DDrPatch_Byte ((void*)0x00400000+ 0x0010b03b, 0x20);25 DDrPatch_Byte ((void*)0x00400000+ 0x0010b04c, 0x20);24 DDrPatch_Byte (OniExe + 0x0010b03b, 0x20); 25 DDrPatch_Byte (OniExe + 0x0010b04c, 0x20); 26 26 27 27 // Projectile awareness fixed 28 DDrPatch_Byte ((void*)0x00400000+ 0x0009c07c, 0x6c);29 DDrPatch_Byte ((void*)0x00400000+ 0x0009c080, 0x70);30 DDrPatch_Byte ((void*)0x00400000+ 0x0009c084, 0x74);31 DDrPatch_Byte ((void*)0x00400000+ 0x0009c110, 0x6c);28 DDrPatch_Byte (OniExe + 0x0009c07c, 0x6c); 29 DDrPatch_Byte (OniExe + 0x0009c080, 0x70); 30 DDrPatch_Byte (OniExe + 0x0009c084, 0x74); 31 DDrPatch_Byte (OniExe + 0x0009c110, 0x6c); 32 32 33 33 // Forced DirectInput (for Windows NT) 34 DDrPatch_Byte ((void*)0x00400000+ 0x00002e6d, 0xeb);34 DDrPatch_Byte (OniExe + 0x00002e6d, 0xeb); 35 35 36 36 // Makes wp_fadetime actually have a function 37 37 const char fadetime_patch[] = { 0x66, 0x8B, 0x1D, 0xC4, 0x7D, 0x62, 0x00, 0x66, 0x89, 0x5E, 0x46, 0x5B, 0x5E, 0x83, 0xC4, 0x14, 0xC3 }; 38 DDrPatch_Const ((void*)0x00400000+ 0x0011a889, fadetime_patch);39 DDrPatch_Byte ((void*)0x00400000 + 0x0011a560,31);38 DDrPatch_Const (OniExe + 0x0011a889, fadetime_patch); 39 DDrPatch_Byte (OniExe + 0x0011a560, 0x31); 40 40 41 41 // Sets the fadetime to 4800 by default 42 DDrPatch_Int16 ((void*)0x00400000+ 0x0011ab0e, 0x12c0);42 DDrPatch_Int16 (OniExe + 0x0011ab0e, 0x12c0); 43 43 44 44 // Hackish fix for Konoko not kicking guns 45 45 const char kickgun_patch[] = { 0x00, 0x05, 0x00, 0x00, 0x00, 0xC7, 0x05, 0x1C, 0xC9, 0x5E, 0x00, 0x70, 0xB8, 0x43, 0x00, 0xC7, 0x05, 0x20, 0xC9, 0x5E, 0x00, 0x20, 0xBE, 0x43 }; 46 DDrPatch_Const ((void*)0x00400000+ 0x000dc420, kickgun_patch);46 DDrPatch_Const (OniExe + 0x000dc420, kickgun_patch); 47 47 48 48 // Cooldown timer exploit fix ^_^ 49 49 const char cooldown_patch[] = { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 }; 50 DDrPatch_Const ((void*)0x00400000+ 0x0011a825, cooldown_patch);50 DDrPatch_Const (OniExe + 0x0011a825, cooldown_patch); 51 51 52 52 // const char throwtest_patch[] = { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 }; 53 // DDrPatch_Const( (void*)0x00400000+ 0x000dc190, throwtest_patch);53 // DDrPatch_Const(OniExe + 0x000dc190, throwtest_patch); 54 54 55 55 return true; 56 56 } 57 57 58 void DDrMain(int argc, char* argv[])58 void __cdecl DDrMain(int argc, char* argv[]) 59 59 { 60 60 DDrPatch_Init(); … … 74 74 DDrONiModule = GetModuleHandle(NULL); 75 75 76 DDrPatch_MakeCall( (void*)0x00400000+ 0x0010fb49, DDrMain);76 DDrPatch_MakeCall(OniExe + 0x0010fb49, DDrMain); 77 77 78 78 break; -
Daodan/src/Daodan_Patch.h
r272 r274 6 6 7 7 #define DDrPatch_Const(d, c) DDrPatch_String(d, c, sizeof(c)) 8 9 #define OniExe ((void*)0x00400000) 8 10 9 11 bool DDrPatch_MakeJump(void* from, void* to); -
Daodan/src/Oni_Symbols.S
r273 r274 2 2 3 3 // MSVC6.0 stdlib 4 symbol ( _oni_malloc , 0x0011fc24 ) 5 symbol ( _oni_free , 0x0011fbf5 ) 6 4 7 symbol ( _oni_fopen , 0x0011ea9f ) 8 symbol ( _oni_fflush , 0x0011eab2 ) 5 9 symbol ( _oni_fprintf , 0x0011ebbf ) 6 symbol ( _oni_ fflush , 0x0011eab2)10 symbol ( _oni_vsprintf , 0x0011e860 ) 7 11 8 12 // Oni Engine
Note:
See TracChangeset
for help on using the changeset viewer.