From e24cbb242326fda063c343db7d21c4d58c0b232d Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Fri, 30 Aug 2019 03:33:58 +0200 Subject: [PATCH] Clean up init_disable_screensaver --- Source/automap.cpp | 2 +- Source/control.cpp | 2 +- Source/drlg_l1.cpp | 6 ++---- Source/init.cpp | 32 +++++++++++++++++++------------- 4 files changed, 23 insertions(+), 19 deletions(-) diff --git a/Source/automap.cpp b/Source/automap.cpp index f2446d3c5..432b8cc5f 100644 --- a/Source/automap.cpp +++ b/Source/automap.cpp @@ -577,7 +577,7 @@ void SetAutomapView(int x, int y) return; } - automapview[xx][yy] = 1; + automapview[xx][yy] = TRUE; maptype = GetAutomapType(xx, yy, FALSE); solid = maptype & 0x4000; diff --git a/Source/control.cpp b/Source/control.cpp index a1277ca16..541f2e817 100644 --- a/Source/control.cpp +++ b/Source/control.cpp @@ -2638,7 +2638,7 @@ void control_press_enter() } if (i >= 8) { strcpy(sgszTalkSave[sgbNextTalkSave], sgszTalkMsg); - sgbNextTalkSave = sgbNextTalkSave + 1; + sgbNextTalkSave++; sgbNextTalkSave &= 7; } else { talk_save = sgbNextTalkSave - 1; diff --git a/Source/drlg_l1.cpp b/Source/drlg_l1.cpp index 014fdc5eb..6f200496a 100644 --- a/Source/drlg_l1.cpp +++ b/Source/drlg_l1.cpp @@ -615,10 +615,8 @@ void DRLG_L1Shadows() dungeon[x - 1][y - 1] = SPATS[i].nv1; if (SPATS[i].nv2 && !L5dflags[x][y - 1]) dungeon[x][y - 1] = SPATS[i].nv2; - if (SPATS[i].nv3) { - if (!L5dflags[x - 1][y]) - dungeon[x - 1][y] = SPATS[i].nv3; - } + if (SPATS[i].nv3 && !L5dflags[x - 1][y]) + dungeon[x - 1][y] = SPATS[i].nv3; } } } diff --git a/Source/init.cpp b/Source/init.cpp index 221ee9743..a4691033e 100644 --- a/Source/init.cpp +++ b/Source/init.cpp @@ -113,24 +113,30 @@ void init_disable_screensaver(BOOLEAN disable) char Data[16]; DWORD Type, cbData; HKEY phkResult; + LRESULT success; // BUGFIX: this is probably the worst possible way to do this. Alternatives: ExtEscape() with SETPOWERMANAGEMENT, // SystemParametersInfo() with SPI_SETSCREENSAVEACTIVE/SPI_SETPOWEROFFACTIVE/SPI_SETLOWPOWERACTIVE - if (!RegOpenKeyEx(HKEY_CURRENT_USER, "Control Panel\\Desktop", 0, KEY_READ | KEY_WRITE, (PHKEY)&phkResult)) { - if (disable) { - cbData = 16; - if (!RegQueryValueEx(phkResult, "ScreenSaveActive", 0, &Type, (LPBYTE)Data, &cbData)) - screensaver_enabled_prev = Data[0] != '0'; - enabled = FALSE; - } else { - enabled = screensaver_enabled_prev; - } - Data[1] = 0; - Data[0] = enabled ? '1' : '0'; - RegSetValueEx(phkResult, "ScreenSaveActive", 0, REG_SZ, (const BYTE *)Data, 2); - RegCloseKey(phkResult); + success = RegOpenKeyEx(HKEY_CURRENT_USER, "Control Panel\\Desktop", 0, KEY_READ | KEY_WRITE, (PHKEY)&phkResult); + if (success != ERROR_SUCCESS) { + return; + } + + if (disable) { + cbData = 16; + success = RegQueryValueEx(phkResult, "ScreenSaveActive", 0, &Type, (LPBYTE)Data, &cbData); + if (success == ERROR_SUCCESS) + screensaver_enabled_prev = Data[0] != '0'; + enabled = FALSE; + } else { + enabled = screensaver_enabled_prev; } + + Data[1] = 0; + Data[0] = enabled ? '1' : '0'; + RegSetValueEx(phkResult, "ScreenSaveActive", 0, REG_SZ, (const BYTE *)Data, 2); + RegCloseKey(phkResult); } void init_create_window(int nCmdShow)