diff --git a/ddraw.dll b/ddraw.dll index fd2497f..311d6f2 100644 Binary files a/ddraw.dll and b/ddraw.dll differ diff --git a/render.c b/render.c index 5cc2180..a2475ce 100644 --- a/render.c +++ b/render.c @@ -28,6 +28,8 @@ BOOL detect_cutscene(); DWORD WINAPI render_main(void) { + Sleep(500); + int i,j; HGLRC hRC; diff --git a/render_soft.c b/render_soft.c index 71dc188..8ec628a 100644 --- a/render_soft.c +++ b/render_soft.c @@ -51,6 +51,8 @@ BOOL detect_cutscene() DWORD WINAPI render_soft_main(void) { + Sleep(500); + PBITMAPINFO bmi = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD) * 256); bmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER); diff --git a/surface.c b/surface.c index ead1812..8ff2ea8 100644 --- a/surface.c +++ b/surface.c @@ -121,9 +121,8 @@ HRESULT __stdcall ddraw_surface_Blt(IDirectDrawSurfaceImpl *This, LPRECT lpDestR for(y=y0; ywidth, from+=Source->width) memcpy(to, from, s); - LeaveCriticalSection(&ddraw->cs); - ReleaseSemaphore(ddraw->render.sem, 1, NULL); + LeaveCriticalSection(&ddraw->cs); } else {