source: Daodan/Daodan.c@ 270

Last change on this file since 270 was 270, checked in by rossy, 16 years ago

commented out throwtest patch

File size: 2.5 KB
Line 
1#include "Daodan.h"
2#include "Daodan_Patch.h"
3#include "Daodan_Utility.h"
4
5#include "BFW_Utility.h"
6
7HMODULE DDrDLLModule;
8HMODULE DDrONiModule;
9
10bool DDrPatch_Init()
11{
12 // Font texture cache doubled
13 DDrPatch_Byte ((void*)0x00400000 + 0x00020ea7, 0x20);
14 DDrPatch_Byte ((void*)0x00400000 + 0x00020f4a, 0x40);
15
16 // Now supports textures up to 512x512
17 DDrPatch_Byte ((void*)0x00400000 + 0x00005251, 0x10);
18
19 // Non-"_Final" levels are now valid
20 DDrPatch_Byte ((void*)0x00400000 + 0x000206a8, 0x01);
21
22 // Pathfinding grid cache size x8
23 DDrPatch_Byte ((void*)0x00400000 + 0x0010b03b, 0x20);
24 DDrPatch_Byte ((void*)0x00400000 + 0x0010b04c, 0x20);
25
26 // Projectile awareness fixed
27 DDrPatch_Byte ((void*)0x00400000 + 0x0009c07c, 0x6c);
28 DDrPatch_Byte ((void*)0x00400000 + 0x0009c080, 0x70);
29 DDrPatch_Byte ((void*)0x00400000 + 0x0009c084, 0x74);
30 DDrPatch_Byte ((void*)0x00400000 + 0x0009c110, 0x6c);
31
32 // Forced DirectInput (for Windows NT)
33 DDrPatch_Byte ((void*)0x00400000 + 0x00002e6d, 0xeb);
34
35 // Makes wp_fadetime actually have a function
36 const char fadetime_patch[] = { 0x66, 0x8B, 0x1D, 0xC4, 0x7D, 0x62, 0x00, 0x66, 0x89, 0x5E, 0x46, 0x5B, 0x5E, 0x83, 0xC4, 0x14, 0xC3 };
37 DDrPatch_Const((void*)0x00400000 + 0x0011a889, fadetime_patch);
38 DDrPatch_Byte ((void*)0x00400000 + 0x0011a560, 31);
39
40 // Sets the fadetime to 4800 by default
41 DDrPatch_Int16((void*)0x00400000 + 0x0011ab0e, 0x12c0);
42
43 // Hackish fix for Konoko not kicking guns
44 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 };
45 DDrPatch_Const((void*)0x00400000 + 0x000dc420, kickgun_patch);
46
47 // Cooldown timer exploit fix ^_^
48 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 };
49 DDrPatch_Const((void*)0x00400000 + 0x0011a825, cooldown_patch);
50
51// const char throwtest_patch[] = { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 };
52// DDrPatch_Const((void*)0x00400000 + 0x000dc190, throwtest_patch);
53
54 return true;
55}
56
57BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved)
58{
59 switch (fdwReason)
60 {
61 case DLL_PROCESS_ATTACH:
62 DDrDLLModule = hinstDLL;
63 DDrONiModule = GetModuleHandle(NULL);
64
65 DDrPatch_MakeJump(UUrStartupMessage, DDrStartupMessage);
66 DDrPatch_Init();
67 break;
68 }
69 return TRUE;
70}
Note: See TracBrowser for help on using the repository browser.