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:
parent
cbebdd4160
commit
f400504dd8
@ -125,7 +125,6 @@ typedef struct IDirectDrawImpl
|
||||
BOOL altenter;
|
||||
BOOL hidecursor;
|
||||
BOOL accurateTimers;
|
||||
int bnetHack;
|
||||
BOOL bnetActive;
|
||||
BOOL bnetD3d9Fullscreen;
|
||||
SpeedLimiter ticksLimiter;
|
||||
|
27
src/main.c
27
src/main.c
@ -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;
|
||||
}
|
||||
|
11
src/mouse.c
11
src/mouse.c
@ -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)
|
||||
{
|
||||
|
@ -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);
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user