From 508a653a3d27c0f8a03a0ffe2df2bf8e5c73a6f1 Mon Sep 17 00:00:00 2001 From: galaxyhaxz Date: Fri, 19 Apr 2019 05:10:41 -0500 Subject: [PATCH] the big PR of the day --- Source/diablo.cpp | 34 ++++++++++++++++++++-------------- Source/diablo.h | 2 +- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/Source/diablo.cpp b/Source/diablo.cpp index d7738f9f6..01d9c3cec 100644 --- a/Source/diablo.cpp +++ b/Source/diablo.cpp @@ -1024,22 +1024,28 @@ BOOL PressSysKey(int wParam) return TRUE; } -void diablo_hotkey_msg(int dwMsg) +void diablo_hotkey_msg(DWORD dwMsg) { - char Filename[MAX_PATH]; - char ReturnedString[MAX_SEND_STR_LEN]; - char *separator; - - if (gbMaxPlayers != 1) { - if (!GetModuleFileName(ghInst, Filename, sizeof(Filename))) - app_fatal("Can't get program name"); - separator = strrchr(Filename, '\\'); - if (separator) - *separator = '\0'; - strcat(Filename, "\\Diablo.ini"); - GetPrivateProfileString("NetMsg", spszMsgKeyTbl[dwMsg], spszMsgTbl[dwMsg], ReturnedString, sizeof(ReturnedString), Filename); - NetSendCmdString(-1, ReturnedString); + char *s; + char szFileName[MAX_PATH]; + char szMsg[MAX_SEND_STR_LEN]; + + if(gbMaxPlayers == 1) { + return; + } + if(GetModuleFileName(ghInst, szFileName, sizeof(szFileName)) == 0) { + app_fatal("Can't get program name"); } + + s = strrchr(szFileName, '\\'); + if(s != NULL) { + *s = '\0'; + } + + strcat(szFileName, "\\Diablo.ini"); + /// ASSERT: assert(dwMsg < sizeof(spszMsgTbl) / sizeof(spszMsgTbl[0])); + GetPrivateProfileString("NetMsg", spszMsgKeyTbl[dwMsg], spszMsgTbl[dwMsg], szMsg, sizeof(szMsg), szFileName); + NetSendCmdString(-1, szMsg); } // 48436C: using guessed type char *spszMsgTbl[4]; // 48437C: using guessed type char *spszMsgKeyTbl[4]; diff --git a/Source/diablo.h b/Source/diablo.h index b97a6de56..b6592fba0 100644 --- a/Source/diablo.h +++ b/Source/diablo.h @@ -54,7 +54,7 @@ void LeftMouseUp(); void RightMouseDown(); void j_gmenu_on_mouse_move(LPARAM lParam); BOOL PressSysKey(int wParam); -void diablo_hotkey_msg(int dwMsg); +void diablo_hotkey_msg(DWORD dwMsg); void ReleaseKey(int vkey); void PressKey(int vkey); void diablo_pause_game();