Browse Source

Clean up dx_DirectDrawCreate

pull/25/head
Anders Jenbo 8 years ago committed by Dennis Duda
parent
commit
a39453dfeb
  1. 34
      Source/dx.cpp
  2. 2
      Source/dx.h

34
Source/dx.cpp

@ -4,7 +4,7 @@
void *sgpBackBuf; void *sgpBackBuf;
int dx_cpp_init_value; // weak int dx_cpp_init_value; // weak
IDirectDraw *lpDDInterface; LPDIRECTDRAW lpDDInterface;
IDirectDrawPalette *lpDDPalette; // idb IDirectDrawPalette *lpDDPalette; // idb
int sgdwLockCount; int sgdwLockCount;
Screen *gpBuffer; Screen *gpBuffer;
@ -159,32 +159,22 @@ void __cdecl dx_create_primary_surface()
ErrDlg(IDD_DIALOG1, v0, "C:\\Src\\Diablo\\Source\\dx.cpp", 109); ErrDlg(IDD_DIALOG1, v0, "C:\\Src\\Diablo\\Source\\dx.cpp", 109);
} }
HRESULT __fastcall dx_DirectDrawCreate(GUID *guid, IDirectDraw **DD, void *unknown) HRESULT __fastcall dx_DirectDrawCreate(LPGUID guid, LPDIRECTDRAW *lplpDD, LPUNKNOWN pUnkOuter)
{ {
IDirectDraw **v3; // ebp if (ghDiabMod == NULL) {
int v4; // eax
FARPROC v5; // ebx
int v6; // eax
GUID *v8; // [esp+10h] [ebp-4h]
v3 = DD;
v8 = guid;
if ( !ghDiabMod )
{
ghDiabMod = LoadLibrary("ddraw.dll"); ghDiabMod = LoadLibrary("ddraw.dll");
if ( !ghDiabMod ) if (ghDiabMod == NULL) {
{ ErrDlg(IDD_DIALOG4, GetLastError(), "C:\\Src\\Diablo\\Source\\dx.cpp", 122);
v4 = GetLastError();
ErrDlg(IDD_DIALOG4, v4, "C:\\Src\\Diablo\\Source\\dx.cpp", 122);
} }
} }
v5 = GetProcAddress(ghDiabMod, "DirectDrawCreate");
if ( !v5 ) HRESULT(WINAPI * DirectDrawCreate)
{ (LPGUID lpGuid, LPDIRECTDRAW * lplpDD, LPUNKNOWN pUnkOuter);
v6 = GetLastError(); DirectDrawCreate = (HRESULT(WINAPI *)(LPGUID, LPDIRECTDRAW *, LPUNKNOWN))GetProcAddress(ghDiabMod, "DirectDrawCreate");
ErrDlg(IDD_DIALOG4, v6, "C:\\Src\\Diablo\\Source\\dx.cpp", 127); if (DirectDrawCreate == NULL) {
ErrDlg(IDD_DIALOG4, GetLastError(), "C:\\Src\\Diablo\\Source\\dx.cpp", 127);
} }
return ((int (__stdcall *)(GUID *, IDirectDraw **, void *))v5)(v8, v3, unknown); return DirectDrawCreate(guid, lplpDD, pUnkOuter);
} }
void __fastcall j_lock_buf_priv(BYTE idx) { void __fastcall j_lock_buf_priv(BYTE idx) {

2
Source/dx.h

@ -22,7 +22,7 @@ void __cdecl dx_cleanup_mutex();
void __fastcall dx_init(HWND hWnd); void __fastcall dx_init(HWND hWnd);
void __cdecl dx_create_back_buffer(); void __cdecl dx_create_back_buffer();
void __cdecl dx_create_primary_surface(); void __cdecl dx_create_primary_surface();
HRESULT __fastcall dx_DirectDrawCreate(GUID *guid, IDirectDraw **DD, void *unknown); HRESULT __fastcall dx_DirectDrawCreate(LPGUID guid, LPDIRECTDRAW *lplpDD, LPUNKNOWN pUnkOuter);
void __fastcall j_lock_buf_priv(BYTE idx); void __fastcall j_lock_buf_priv(BYTE idx);
void __cdecl lock_buf_priv(); void __cdecl lock_buf_priv();
void __fastcall j_unlock_buf_priv(BYTE idx); void __fastcall j_unlock_buf_priv(BYTE idx);

Loading…
Cancel
Save