1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-15 06:04:49 +01:00

clean up bnet related code

This commit is contained in:
FunkyFr3sh 2019-08-08 03:19:15 +02:00
parent cbebdd4160
commit f400504dd8
5 changed files with 10 additions and 42 deletions

View File

@ -125,7 +125,6 @@ typedef struct IDirectDrawImpl
BOOL altenter;
BOOL hidecursor;
BOOL accurateTimers;
int bnetHack;
BOOL bnetActive;
BOOL bnetD3d9Fullscreen;
SpeedLimiter ticksLimiter;

View File

@ -818,7 +818,7 @@ HRESULT __stdcall ddraw_SetDisplayMode(IDirectDrawImpl *This, DWORD width, DWORD
}
}
if (!ddraw->windowed && ddraw->bnetHack && ddraw->renderer == render_main)
if (!ddraw->windowed && ddraw->renderer == render_main)
This->render.height++;
if (!ddraw->handlemouse)
@ -944,7 +944,7 @@ HRESULT __stdcall ddraw_SetDisplayMode2(IDirectDrawImpl *This, DWORD width, DWOR
void ToggleFullscreen()
{
if (ddraw->bnetHack && ddraw->bnetActive && ddraw->renderer == render_d3d9_main)
if (ddraw->bnetActive && ddraw->renderer == render_d3d9_main)
return;
if (ddraw->windowed)
@ -1248,7 +1248,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
int x = (int)(short)LOWORD(lParam);
int y = (int)(short)HIWORD(lParam);
if (ddraw->bnetHack && x != -32000 && y != -32000)
if (ddraw->bnetActive && x != -32000 && y != -32000)
UpdateBnetPos(x, y);
if (inSizeMove || ddraw->wine)
@ -1716,16 +1716,6 @@ HRESULT WINAPI DirectDrawEnumerateA(LPDDENUMCALLBACK lpCallback, LPVOID lpContex
return DD_OK;
}
//Force redraw when the "Player Profile" screen exits - Idea taken from Aqrit's war2 ddraw
static WNDPROC ButtonWndProc_original;
LRESULT __stdcall ButtonWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
if (msg == WM_DESTROY)
RedrawWindow(NULL, NULL, NULL, RDW_ERASE | RDW_INVALIDATE | RDW_ALLCHILDREN);
return ButtonWndProc_original(hwnd, msg, wParam, lParam);
}
int stdout_open = 0;
HRESULT WINAPI DirectDrawCreate(GUID FAR* lpGUID, LPDIRECTDRAW FAR* lplpDD, IUnknown FAR* pUnkOuter)
{
@ -1778,16 +1768,5 @@ HRESULT WINAPI DirectDrawCreate(GUID FAR* lpGUID, LPDIRECTDRAW FAR* lplpDD, IUnk
Settings_Load();
if (ddraw->bnetHack)
{
WNDCLASS wc;
HINSTANCE hInst = GetModuleHandle(NULL);
GetClassInfo(NULL, "Button", &wc);
wc.hInstance = hInst;
ButtonWndProc_original = wc.lpfnWndProc;
wc.lpfnWndProc = ButtonWndProc;
RegisterClass(&wc);
}
return DD_OK;
}

View File

@ -143,7 +143,7 @@ void mouse_lock()
{
RECT rc;
if (ddraw->bnetHack && ddraw->bnetActive)
if (ddraw->bnetActive)
return;
if (ddraw->devmode)
@ -416,8 +416,7 @@ BOOL WINAPI fake_EnableWindow(HWND hWnd, BOOL bEnable)
{
if (ddraw && ddraw->hWnd == hWnd)
{
if (ddraw->bnetHack)
return FALSE;
return FALSE;
}
return real_EnableWindow(hWnd, bEnable);
@ -427,7 +426,9 @@ BOOL WINAPI fake_DestroyWindow(HWND hWnd)
{
BOOL result = real_DestroyWindow(hWnd);
if (ddraw && ddraw->hWnd != hWnd && ddraw->bnetActive && ddraw->bnetHack && !FindWindowEx(HWND_DESKTOP, NULL, "SDlgDialog", NULL))
RedrawWindow(NULL, NULL, NULL, RDW_ERASE | RDW_INVALIDATE | RDW_ALLCHILDREN);
if (ddraw && ddraw->hWnd != hWnd && ddraw->bnetActive && !FindWindowEx(HWND_DESKTOP, NULL, "SDlgDialog", NULL))
{
ddraw->bnetActive = FALSE;
mouse_lock();
@ -446,7 +447,7 @@ HWND WINAPI fake_CreateWindowExA(
DWORD dwExStyle, LPCSTR lpClassName, LPCSTR lpWindowName, DWORD dwStyle, int X, int Y,
int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam)
{
if (lpClassName && _strcmpi(lpClassName, "SDlgDialog") == 0 && ddraw && ddraw->bnetHack)
if (lpClassName && _strcmpi(lpClassName, "SDlgDialog") == 0 && ddraw)
{
if (!ddraw->bnetActive)
{

View File

@ -42,7 +42,6 @@ void Settings_Load()
ddraw->noactivateapp = GetBool("noactivateapp", FALSE);
ddraw->vhack = GetBool("vhack", FALSE);
ddraw->accurateTimers = GetBool("accuratetimers", FALSE);
ddraw->bnetHack = GetBool("bnetHack", TRUE);
WindowRect.right = GetInt("width", 0);
WindowRect.bottom = GetInt("height", 0);
@ -284,9 +283,6 @@ static void CreateSettingsIni()
"; Note: Can be used to fix issues related to new features added by cnc-ddraw such as windowed mode or stretching\n"
"hook=1\n"
"\n"
"; Workaround for battle.net on Diablo and Warcraft 2 BNE\n"
"bnetHack=true\n"
"\n"
"\n"
"\n"
"; ### Game specific settings ###\n"
@ -411,13 +407,6 @@ static void CreateSettingsIni()
"noactivateapp=true\n"
"handlemouse=false\n"
"maxfps=60\n"
"; Diablo\n"
"[Diablo]\n"
"bnetHack=true\n"
"\n"
"; Warcraft 2 Battle.net Edition\n"
"[Warcraft II BNE]\n"
"bnetHack=true\n"
"\n"
, fh);

View File

@ -1005,7 +1005,7 @@ HRESULT __stdcall ddraw_surface_Unlock(IDirectDrawSurfaceImpl *This, LPVOID lpRe
printf("DirectDrawSurface::Unlock(This=%p, lpRect=%p)\n", This, lpRect);
#endif
HWND hWnd = ddraw->bnetHack ? FindWindowEx(HWND_DESKTOP, NULL, "SDlgDialog", NULL) : NULL;
HWND hWnd = ddraw->bnetActive ? FindWindowEx(HWND_DESKTOP, NULL, "SDlgDialog", NULL) : NULL;
if (hWnd && (This->caps & DDSCAPS_PRIMARYSURFACE))
{
if (ddraw->primary->palette && ddraw->primary->palette->data_rgb)