Browse Source

Remove check for multiple application instances

(it's currently not working any way)
pull/269/head
Anders Jenbo 7 years ago
parent
commit
5b2a878945
  1. 33
      Source/diablo.cpp
  2. 2
      Source/diablo.h
  3. 3
      SourceS/miniwin/misc.h
  4. 3
      SourceS/miniwin/misc_macro.h
  5. 18
      SourceX/miniwin/misc.cpp

33
Source/diablo.cpp

@ -230,19 +230,11 @@ void free_game()
FreeGameMem();
}
BOOL diablo_get_not_running()
{
SetLastError(0);
CreateEvent(NULL, FALSE, FALSE, "DiabloEvent");
return GetLastError() != ERROR_ALREADY_EXISTS;
}
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
HINSTANCE hInst;
int nData;
char szFileName[MAX_PATH];
BOOL bNoEvent;
hInst = hInstance;
ghInst = hInst;
@ -257,8 +249,7 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi
srand(GetTickCount());
InitHash();
bNoEvent = diablo_get_not_running();
if (!diablo_find_window("DIABLO") && bNoEvent) {
{
#ifdef _DEBUG
SFileEnableDirectAccess(TRUE);
#endif
@ -477,28 +468,6 @@ void diablo_init_screen()
ClrDiabloMsg();
}
BOOL diablo_find_window(LPCSTR lpClassName)
{
HWND hWnd, active;
hWnd = FindWindow(lpClassName, 0);
if (!hWnd)
return FALSE;
active = GetLastActivePopup(hWnd);
if (active)
hWnd = active;
active = GetTopWindow(hWnd);
if (!active)
active = hWnd;
SetForegroundWindow(hWnd);
SetFocus(active);
return TRUE;
}
BOOL PressEscKey()
{
BOOL rv = FALSE;

2
Source/diablo.h

@ -116,11 +116,9 @@ BOOL StartGame(BOOL bNewGame, BOOL bSinglePlayer);
void run_game_loop(unsigned int uMsg);
void start_game(unsigned int uMsg);
void free_game();
BOOL diablo_get_not_running();
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow);
void diablo_parse_flags(char *args);
void diablo_init_screen();
BOOL diablo_find_window(LPCSTR lpClassName);
void diablo_reload_process(HINSTANCE hInstance);
BOOL PressEscKey();
LRESULT CALLBACK DisableInputWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);

3
SourceS/miniwin/misc.h

@ -232,8 +232,6 @@ WINBOOL WINAPI PostMessageA(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
WINBOOL WINAPI DestroyWindow(HWND hWnd);
HWND WINAPI GetLastActivePopup(HWND hWnd);
HWND WINAPI GetTopWindow(HWND hWnd);
WINBOOL WINAPI SetForegroundWindow(HWND hWnd);
HWND WINAPI SetFocus(HWND hWnd);
HWND CreateWindowExA(
DWORD dwExStyle,
@ -248,7 +246,6 @@ HWND CreateWindowExA(
HMENU hMenu,
HINSTANCE hInstance,
LPVOID lpParam);
HWND WINAPI FindWindowA(LPCSTR lpClassName, LPCSTR lpWindowName);
BOOL InvalidateRect(HWND hWnd, const RECT *lpRect, BOOL bErase);
BOOL UpdateWindow(HWND hWnd);
BOOL ShowWindow(HWND hWnd, int nCmdShow);

3
SourceS/miniwin/misc_macro.h

@ -35,8 +35,6 @@
#define FOURCC_RIFF MAKEFOURCC('R', 'I', 'F', 'F')
#define ERROR_ALREADY_EXISTS 183
#define CreateEvent CreateEventA
#define PM_NOREMOVE DVL_PM_NOREMOVE
@ -47,7 +45,6 @@
#define DispatchMessage DispatchMessageA
#define PostMessage PostMessageA
#define CreateWindowEx CreateWindowExA
#define FindWindow FindWindowA
#define RegisterClassEx RegisterClassExA
#define GetUserName GetUserNameA
#define LoadImage LoadImageA

18
SourceX/miniwin/misc.cpp

@ -279,18 +279,6 @@ HWND GetLastActivePopup(HWND hWnd)
return hWnd;
}
HWND GetTopWindow(HWND hWnd)
{
UNIMPLEMENTED();
return NULL;
}
WINBOOL SetForegroundWindow(HWND hWnd)
{
UNIMPLEMENTED();
return true;
}
/**
* @return Always null as it's unused
*/
@ -301,12 +289,6 @@ HWND SetFocus(HWND hWnd)
return NULL;
}
HWND FindWindowA(LPCSTR lpClassName, LPCSTR lpWindowName)
{
DUMMY_PRINT("class: %s window: %s", nullstr(lpClassName), nullstr(lpWindowName));
return NULL;
}
void FakeWMDestroy()
{
MainWndProc(NULL, DVL_WM_DESTROY, 0, 0);

Loading…
Cancel
Save