Browse Source

Clean up lock_buf_priv

pull/25/head
Anders Jenbo 8 years ago committed by Dennis Duda
parent
commit
c5fa8a1a94
  1. 53
      Source/dx.cpp

53
Source/dx.cpp

@ -186,34 +186,34 @@ void __fastcall j_lock_buf_priv(BYTE idx) {
void __cdecl lock_buf_priv() void __cdecl lock_buf_priv()
{ {
Screen *v0; // eax
int v1; // eax
DDSURFACEDESC v2; // [esp+0h] [ebp-6Ch]
EnterCriticalSection(&sgMemCrit); EnterCriticalSection(&sgMemCrit);
v0 = (Screen *)sgpBackBuf; if ( sgpBackBuf ) {
if ( sgpBackBuf ) gpBuffer = (Screen *)sgpBackBuf;
goto LABEL_8; sgdwLockCount++;
if ( lpDDSBackBuf ) return;
{
if ( sgdwLockCount )
goto LABEL_9;
v2.dwSize = sizeof(v2);
v1 = lpDDSBackBuf->Lock(NULL, &v2, DDLOCK_WAIT, NULL);
if ( v1 )
DDErrMsg(v1, 235, "C:\\Src\\Diablo\\Source\\dx.cpp");
v0 = (Screen *)v2.lpSurface;
gpBufEnd += (unsigned int)v2.lpSurface;
LABEL_8:
gpBuffer = v0;
goto LABEL_9;
} }
Sleep(20000);
TermMsg("lock_buf_priv"); if ( !lpDDSBackBuf ) {
LABEL_9: Sleep(20000);
++sgdwLockCount; TermMsg("lock_buf_priv");
sgdwLockCount++;
return;
}
if ( sgdwLockCount ) {
sgdwLockCount++;
return;
}
DDSURFACEDESC ddsd;
ddsd.dwSize = sizeof(ddsd);
HRESULT error_code = lpDDSBackBuf->Lock(NULL, &ddsd, DDLOCK_WAIT, NULL);
if ( error_code != DD_OK )
DDErrMsg(error_code, 235, "C:\\Src\\Diablo\\Source\\dx.cpp");
gpBufEnd += (int)ddsd.lpSurface;
gpBuffer = (Screen *)ddsd.lpSurface;
sgdwLockCount++;
} }
// 69CF0C: using guessed type int gpBufEnd;
void __fastcall j_unlock_buf_priv(BYTE idx) { void __fastcall j_unlock_buf_priv(BYTE idx) {
#ifdef _DEBUG #ifdef _DEBUG
@ -236,14 +236,13 @@ void __cdecl unlock_buf_priv()
gpBufEnd -= (int)gpBuffer; gpBufEnd -= (int)gpBuffer;
gpBuffer = NULL; gpBuffer = NULL;
if ( !sgpBackBuf ) { if ( !sgpBackBuf ) {
int error_code = lpDDSBackBuf->Unlock(NULL); HRESULT error_code = lpDDSBackBuf->Unlock(NULL);
if ( error_code != DD_OK ) if ( error_code != DD_OK )
DDErrMsg(error_code, 273, "C:\\Src\\Diablo\\Source\\dx.cpp"); DDErrMsg(error_code, 273, "C:\\Src\\Diablo\\Source\\dx.cpp");
} }
} }
LeaveCriticalSection(&sgMemCrit); LeaveCriticalSection(&sgMemCrit);
} }
// 69CF0C: using guessed type int gpBufEnd;
void __cdecl dx_cleanup() void __cdecl dx_cleanup()
{ {

Loading…
Cancel
Save