From a7b48b2bfd094b00b966060d125ee856a4197581 Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Tue, 14 Nov 2017 20:13:55 +0100 Subject: [PATCH] add dummy DirectDrawEnumerateA, seems to be needed for some games --- ddraw.def | 1 + ddraw.dll | Bin 163840 -> 163840 bytes main.c | 9 +++++++-- render_soft.c | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ddraw.def b/ddraw.def index ac042f0..b2a829e 100644 --- a/ddraw.def +++ b/ddraw.def @@ -2,3 +2,4 @@ LIBRARY ddraw.dll EXPORTS DirectDrawCreate @1 + DirectDrawEnumerateA @2 diff --git a/ddraw.dll b/ddraw.dll index 3fdf56b66379b41ecce014286eff30e8bda26a70..5598be5a97b1bc62d37629bc132915ffc21b0029 100644 GIT binary patch delta 4047 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 delta 4027 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 SREPDRoxXw<+)}QP5C1QQY}Nb# diff --git a/main.c b/main.c index 85b0791..e45bc8a 100644 --- a/main.c +++ b/main.c @@ -614,6 +614,11 @@ struct IDirectDrawImplVtbl iface = ddraw_WaitForVerticalBlank }; +HRESULT WINAPI DirectDrawEnumerateA(LPDDENUMCALLBACK lpCallback, LPVOID lpContext) +{ + return DD_OK; +} + int stdout_open = 0; HRESULT WINAPI DirectDrawCreate(GUID FAR* lpGUID, LPDIRECTDRAW FAR* lplpDD, IUnknown FAR* pUnkOuter) { @@ -687,7 +692,7 @@ HRESULT WINAPI DirectDrawCreate(GUID FAR* lpGUID, LPDIRECTDRAW FAR* lplpDD, IUnk "; use letter- or windowboxing to make a best fit (GDI only!)\n" "boxing=false\n" "; real rendering rate, -1 = screen rate, 0 = unlimited, n = cap\n" - "max_fps=0\n" + "max_fps=120\n" "; vertical synchronization, enable if you get tearing (OpenGL only)\n" "vsync=false\n" "; scaling filter, nearest = sharp, linear = smooth (OpenGL only)\n" @@ -704,7 +709,7 @@ HRESULT WINAPI DirectDrawCreate(GUID FAR* lpGUID, LPDIRECTDRAW FAR* lplpDD, IUnk "renderer=gdi\n" "; force CPU0 affinity, avoids crashes with RA, *might* have a performance impact\n" "singlecpu=true\n" - "; Windows position, -1 = center to screen\n" + "; Window position, -1 = center to screen\n" "posX=-1\n" "posY=-1\n" "; Screenshot Hotkey, default = CTRL + G\n" diff --git a/render_soft.c b/render_soft.c index 8636b7c..d036c16 100644 --- a/render_soft.c +++ b/render_soft.c @@ -102,7 +102,7 @@ DWORD WINAPI render_soft_main(void) tick_start = timeGetTime(); } - EnterCriticalSection(&ddraw->cs); + EnterCriticalSection(&ddraw->cs); if (ddraw->primary && (ddraw->primary->palette || ddraw->bpp == 16)) {