Skip to content

Commit 409f2ca

Browse files
committed
add support for older versions of game maker
1 parent 855d035 commit 409f2ca

File tree

2 files changed

+68
-32
lines changed

2 files changed

+68
-32
lines changed

DBGHELP.dev

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ ResourceIncludes=
1111
MakeIncludes=
1212
Compiler=-DBUILDING_DLL=1_@@_
1313
CppCompiler=-DBUILDING_DLL=1_@@_
14-
Linker=--def def.def_@@_
14+
Linker="../../../Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib32/libwinmm.a"_@@_
1515
IsCpp=1
1616
Icon=
1717
ExeOutput=
@@ -28,25 +28,25 @@ Folders=
2828
IncludeVersionInfo=1
2929
SupportXPThemes=0
3030
CompilerSet=3
31-
CompilerSettings=000000d100000000000000001
31+
CompilerSettings=000000d101000000000000001
3232
UnitCount=1
3333

3434
[VersionInfo]
3535
Major=1
36-
Minor=0
36+
Minor=1
3737
Release=0
3838
Build=0
3939
LanguageID=1033
4040
CharsetID=1252
4141
CompanyName=
42-
FileVersion=1.0.0.0
42+
FileVersion=1.1.0.0
4343
FileDescription=GM:Studio Scheduler fix github.com/omicronrex/gms_scheduler_fix
4444
InternalName=
4545
LegalCopyright=
4646
LegalTrademarks=
4747
OriginalFilename=
4848
ProductName=
49-
ProductVersion=1.0.0.0
49+
ProductVersion=1.1.0.0
5050
AutoIncBuildNr=0
5151
SyncProduct=1
5252

@@ -58,5 +58,5 @@ Compile=1
5858
Link=1
5959
Priority=1000
6060
OverrideBuildCmd=0
61-
BuildCmd=
61+
BuildCmd=$(CPP) -c dllmain.cpp -o dllmain.o $(CXXFLAGS)
6262

dllmain.cpp

Lines changed: 62 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,76 @@
1+
#define WNetGetConnectionA WNetGetConnectionA_orig
12
#include <windows.h>
3+
#undef WNetGetConnectionA
4+
#define DLLEXP extern "C" __declspec(dllexport) __stdcall
25

3-
extern "C" __declspec(dllexport) __stdcall BOOL SymInitialize(void* a, void* b, void* c) {
6+
//dbghelp.dll
7+
DLLEXP BOOL SymInitialize(void* a, void* b, void* c) {
48
return TRUE;
59
}
6-
extern "C" __declspec(dllexport) __stdcall BOOL MiniDumpWriteDump(void* a, void* b, void* c, void* d, void* e, void* f, void* g) {
10+
DLLEXP BOOL MiniDumpWriteDump(void* a, void* b, void* c, void* d, void* e, void* f, void* g) {
711
return TRUE;
812
}
9-
extern "C" __declspec(dllexport) __stdcall BOOL SymFromAddr(void* a, void* b, void* c, void* d) {
13+
DLLEXP BOOL SymFromAddr(void* a, void* b, void* c, void* d) {
1014
return TRUE;
1115
}
16+
DLLEXP BOOL SymGetSymFromAddr(void* a, void* b, void* c, void* d) {
17+
return TRUE;
18+
}
19+
DLLEXP BOOL SymSetOptions(void* a) {
20+
return TRUE;
21+
}
22+
DLLEXP DWORD SymGetOptions(void* a) {
23+
return 0;
24+
}
25+
DLLEXP DWORD WNetGetConnectionA(void* a, void* b, void* c) {
26+
return 0;
27+
}
28+
DLLEXP DWORD SymLoadModule64(void* a, void* b, void* c, void* d, void* e, void* f) {
29+
return 4096;
30+
}
31+
DLLEXP BOOL SymGetModuleInfo64(void* a, void* b, void* c) {
32+
return TRUE;
33+
}
34+
DLLEXP BOOL SymGetLineFromAddr64(void* a, void* b, void* c, void* d) {
35+
return TRUE;
36+
}
37+
DLLEXP BOOL SymGetSymFromAddr64(void* a, void* b, void* c, void* d) {
38+
return TRUE;
39+
}
40+
41+
42+
#define ClosePrinter ClosePrinter_orig
43+
#undef ClosePrinter
44+
#define DocumentPropertiesW DocumentPropertiesW_orig
45+
#undef DocumentPropertiesW
46+
#define EnumPrintersW EnumPrintersW_orig
47+
#undef EnumPrintersW
48+
#define GetDefaultPrinterW GetDefaultPrinterW_orig
49+
#undef GetDefaultPrinterW
50+
#define OpenPrinterW OpenPrinterW_orig
51+
#undef OpenPrinterW
52+
#define DocumentPropertiesA DocumentPropertiesA_orig
53+
#undef DocumentPropertiesA
54+
#define EnumPrintersA EnumPrintersA_orig
55+
#undef EnumPrintersA
56+
#define GetDefaultPrinterA GetDefaultPrinterA_orig
57+
#undef GetDefaultPrinterA
58+
#define OpenPrinterA OpenPrinterA_orig
59+
#undef OpenPrinterA
1260

61+
//winspool.drv
62+
DLLEXP WINBOOL ClosePrinter(HANDLE a) {return TRUE;}
63+
DLLEXP LONG DocumentPropertiesW(HWND a, HANDLE b, LPWSTR c, PDEVMODEW d, PDEVMODEW e, DWORD f) {return 0;}
64+
DLLEXP WINBOOL EnumPrintersW(DWORD a, LPWSTR b, DWORD c, LPBYTE d, DWORD e, LPDWORD f, LPDWORD g) {return TRUE;}
65+
DLLEXP WINBOOL GetDefaultPrinterW(LPWSTR a, LPDWORD b) {return TRUE;}
66+
DLLEXP WINBOOL OpenPrinterW(LPWSTR a, LPHANDLE b, LPPRINTER_DEFAULTSW c) {return TRUE;}
67+
DLLEXP LONG DocumentPropertiesA(HWND a, HANDLE b, LPSTR c, PDEVMODEA d, PDEVMODEA e, DWORD f) {return 0;}
68+
DLLEXP WINBOOL EnumPrintersA(DWORD a, LPSTR b, DWORD c, LPBYTE d, DWORD e, LPDWORD f, LPDWORD g) {return TRUE;}
69+
DLLEXP WINBOOL GetDefaultPrinterA(LPSTR a, LPDWORD b) {return TRUE;}
70+
DLLEXP WINBOOL OpenPrinterA(LPSTR a, LPHANDLE b, LPPRINTER_DEFAULTSA c) {return TRUE;}
1371

1472
BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)
1573
{
16-
switch(fdwReason)
17-
{
18-
case DLL_PROCESS_ATTACH:
19-
{
20-
timeBeginPeriod((UINT)1);
21-
break;
22-
}
23-
case DLL_PROCESS_DETACH:
24-
{
25-
timeEndPeriod((UINT)1);
26-
break;
27-
}
28-
case DLL_THREAD_ATTACH:
29-
{
30-
break;
31-
}
32-
case DLL_THREAD_DETACH:
33-
{
34-
break;
35-
}
36-
}
37-
38-
/* Return TRUE on success, FALSE on failure */
74+
timeBeginPeriod(1);
3975
return TRUE;
4076
}

0 commit comments

Comments
 (0)