From b6988d21a53e9c1ec87d0bdf20be39ae85c945c0 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 8 Mar 2018 14:21:24 +0300 Subject: fixes #1175 (Advaimg artifacts) --- plugins/SplashScreen/src/main.cpp | 10 +- plugins/SplashScreen/src/options.cpp | 551 +++++++++++++++-------------------- 2 files changed, 244 insertions(+), 317 deletions(-) diff --git a/plugins/SplashScreen/src/main.cpp b/plugins/SplashScreen/src/main.cpp index 0c8b476dc5..87b877927e 100644 --- a/plugins/SplashScreen/src/main.cpp +++ b/plugins/SplashScreen/src/main.cpp @@ -23,15 +23,12 @@ CLIST_INTERFACE *pcli; HINSTANCE hInst = nullptr; int hLangpack; -static HMODULE hAdvaimg = nullptr; - BOOL bstartup = true; // startup? BOOL bserviceinvoked = false; BOOL bmodulesloaded = false; // modules are loaded -BOOL png2dibavail = true; // can we use png2dib service? // path to miranda's dir, config file path, splash path, sound path -wchar_t szDllName[MAX_PATH], szSplashFile[MAX_PATH], szSoundFile[MAX_PATH], szhAdvaimgPath[MAX_PATH], szPrefix[128], inBuf[80]; +wchar_t szDllName[MAX_PATH], szSplashFile[MAX_PATH], szSoundFile[MAX_PATH], szPrefix[128], inBuf[80]; wchar_t *szMirDir; char szVersion[MAX_PATH]; #ifdef _DEBUG @@ -64,7 +61,6 @@ void SplashMain() if (bstartup) { // Retrive path to exe of current running Miranda is located szMirDir = Utils_ReplaceVarsW(L"%miranda_path%"); - mir_snwprintf(szhAdvaimgPath, L"%s\\plugins\\advaimg.dll", szMirDir); Miranda_GetVersionText(szVersion, MAX_PATH); #ifdef _DEBUG @@ -270,10 +266,6 @@ extern "C" int __declspec(dllexport) Unload(void) { UnregisterClass(SPLASH_CLASS, hInst); - // Freeing loaded libraries - if (hAdvaimg) - FreeLibrary(hAdvaimg); - #ifdef _DEBUG logMessage(L"Unload", L"Job done"); #endif diff --git a/plugins/SplashScreen/src/options.cpp b/plugins/SplashScreen/src/options.cpp index 000556cbbc..a3f76b5dce 100644 --- a/plugins/SplashScreen/src/options.cpp +++ b/plugins/SplashScreen/src/options.cpp @@ -43,356 +43,291 @@ BOOL Exists(LPCTSTR strName) INT_PTR CALLBACK DlgProcOptions(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { + wchar_t tmp[MAX_PATH]; + switch (msg) { case WM_INITDIALOG: + TranslateDialogDefault(hwndDlg); + + ReadDbConfig(); + wchar_t inBuf[80]; { - TranslateDialogDefault(hwndDlg); - if (!png2dibavail) { - ShowWindow(GetDlgItem(hwndDlg, IDC_PNG2DIBWARN), SW_SHOW); - EnableWindow(GetDlgItem(hwndDlg, IDC_ACTIVE), false); - EnableWindow(GetDlgItem(hwndDlg, IDC_RANDOM), false); - EnableWindow(GetDlgItem(hwndDlg, IDC_SPLASHPATH), false); - EnableWindow(GetDlgItem(hwndDlg, IDC_CHOOSESPLASH), false); - EnableWindow(GetDlgItem(hwndDlg, IDC_SHOWVERSION), false); - EnableWindow(GetDlgItem(hwndDlg, IDC_VERSIONPREFIX), false); - EnableWindow(GetDlgItem(hwndDlg, IDC_SHOWTIME), false); - EnableWindow(GetDlgItem(hwndDlg, IDC_ST_SPIN), false); - EnableWindow(GetDlgItem(hwndDlg, IDC_FADEIN), false); - EnableWindow(GetDlgItem(hwndDlg, IDC_FISTEP), false); - EnableWindow(GetDlgItem(hwndDlg, IDC_FI_SPIN), false); - EnableWindow(GetDlgItem(hwndDlg, IDC_FADEOUT), false); - EnableWindow(GetDlgItem(hwndDlg, IDC_FOSTEP), false); - EnableWindow(GetDlgItem(hwndDlg, IDC_FO_SPIN), false); + DBVARIANT dbv = { 0 }; + if (!db_get_ws(NULL, MODNAME, "Path", &dbv)) { + mir_wstrcpy(inBuf, dbv.ptszVal); + db_free(&dbv); } - else { - ReadDbConfig(); - wchar_t inBuf[80]; - DBVARIANT dbv = { 0 }; - if (!db_get_ws(NULL, MODNAME, "Path", &dbv)) { - mir_wstrcpy(inBuf, dbv.ptszVal); - db_free(&dbv); - } - else - mir_wstrcpy(inBuf, L"splash\\splash.png"); - SetDlgItemText(hwndDlg, IDC_SPLASHPATH, inBuf); + else mir_wstrcpy(inBuf, L"splash\\splash.png"); + SetDlgItemText(hwndDlg, IDC_SPLASHPATH, inBuf); - if (!db_get_ws(NULL, MODNAME, "Sound", &dbv)) { - mir_wstrcpy(inBuf, dbv.ptszVal); - db_free(&dbv); - } - else - mir_wstrcpy(inBuf, L"sounds\\startup.wav"); - SetDlgItemText(hwndDlg, IDC_SNDPATH, inBuf); - - if (!db_get_ws(NULL, MODNAME, "VersionPrefix", &dbv)) { - mir_wstrcpy(inBuf, dbv.ptszVal); - db_free(&dbv); - } - else - mir_wstrcpy(inBuf, L""); - SetDlgItemText(hwndDlg, IDC_VERSIONPREFIX, inBuf); - - if (options.active) - CheckDlgButton(hwndDlg, IDC_ACTIVE, BST_CHECKED); - if (options.playsnd && !options.inheritGS) - CheckDlgButton(hwndDlg, IDC_PLAYSND, BST_INDETERMINATE); - else if (options.playsnd) - CheckDlgButton(hwndDlg, IDC_PLAYSND, BST_CHECKED); - EnableWindow(GetDlgItem(hwndDlg, IDC_LOOPSOUND), false); - if (options.fadein) - CheckDlgButton(hwndDlg, IDC_FADEIN, BST_CHECKED); - if (options.fadeout) - CheckDlgButton(hwndDlg, IDC_FADEOUT, BST_CHECKED); - if (options.random) - CheckDlgButton(hwndDlg, IDC_RANDOM, BST_CHECKED); - if (options.showversion) - CheckDlgButton(hwndDlg, IDC_SHOWVERSION, BST_CHECKED); - - SetDlgItemText(hwndDlg, IDC_SHOWTIME, _itow(options.showtime, inBuf, 10)); - SetDlgItemText(hwndDlg, IDC_FISTEP, _itow(options.fisteps, inBuf, 10)); - SetDlgItemText(hwndDlg, IDC_FOSTEP, _itow(options.fosteps, inBuf, 10)); - - SendDlgItemMessage(hwndDlg, IDC_SHOWTIME, EM_LIMITTEXT, 5, 0); + if (!db_get_ws(NULL, MODNAME, "Sound", &dbv)) { + mir_wstrcpy(inBuf, dbv.ptszVal); + db_free(&dbv); } + else mir_wstrcpy(inBuf, L"sounds\\startup.wav"); + SetDlgItemText(hwndDlg, IDC_SNDPATH, inBuf); - return TRUE; + if (!db_get_ws(NULL, MODNAME, "VersionPrefix", &dbv)) { + mir_wstrcpy(inBuf, dbv.ptszVal); + db_free(&dbv); + } + else mir_wstrcpy(inBuf, L""); + SetDlgItemText(hwndDlg, IDC_VERSIONPREFIX, inBuf); } - case WM_COMMAND: - { - switch (LOWORD(wParam)) { - case IDC_PREVIEW: - { - ShowSplash(true); - break; - } + if (options.active) + CheckDlgButton(hwndDlg, IDC_ACTIVE, BST_CHECKED); + if (options.playsnd && !options.inheritGS) + CheckDlgButton(hwndDlg, IDC_PLAYSND, BST_INDETERMINATE); + else if (options.playsnd) + CheckDlgButton(hwndDlg, IDC_PLAYSND, BST_CHECKED); + EnableWindow(GetDlgItem(hwndDlg, IDC_LOOPSOUND), false); + if (options.fadein) + CheckDlgButton(hwndDlg, IDC_FADEIN, BST_CHECKED); + if (options.fadeout) + CheckDlgButton(hwndDlg, IDC_FADEOUT, BST_CHECKED); + if (options.random) + CheckDlgButton(hwndDlg, IDC_RANDOM, BST_CHECKED); + if (options.showversion) + CheckDlgButton(hwndDlg, IDC_SHOWVERSION, BST_CHECKED); + + SetDlgItemText(hwndDlg, IDC_SHOWTIME, _itow(options.showtime, inBuf, 10)); + SetDlgItemText(hwndDlg, IDC_FISTEP, _itow(options.fisteps, inBuf, 10)); + SetDlgItemText(hwndDlg, IDC_FOSTEP, _itow(options.fosteps, inBuf, 10)); + + SendDlgItemMessage(hwndDlg, IDC_SHOWTIME, EM_LIMITTEXT, 5, 0); + return TRUE; - case IDC_ACTIVE: - case IDC_PLAYSND: - case IDC_LOOPSOUND: - case IDC_FADEIN: - case IDC_FADEOUT: - case IDC_SHOWTIME: - case IDC_RANDOM: - case IDC_SHOWVERSION: - case IDC_FISTEP: - case IDC_FOSTEP: - { - if (IsDlgButtonChecked(hwndDlg, IDC_FADEIN)) { - EnableWindow(GetDlgItem(hwndDlg, IDC_FISTEP), true); - EnableWindow(GetDlgItem(hwndDlg, IDC_FI_SPIN), true); - } - else { - EnableWindow(GetDlgItem(hwndDlg, IDC_FISTEP), false); - EnableWindow(GetDlgItem(hwndDlg, IDC_FI_SPIN), false); - } - if (IsDlgButtonChecked(hwndDlg, IDC_FADEOUT)) { - EnableWindow(GetDlgItem(hwndDlg, IDC_FOSTEP), true); - EnableWindow(GetDlgItem(hwndDlg, IDC_FO_SPIN), true); - } - else { - EnableWindow(GetDlgItem(hwndDlg, IDC_FOSTEP), false); - EnableWindow(GetDlgItem(hwndDlg, IDC_FO_SPIN), false); - } + case WM_COMMAND: + switch (LOWORD(wParam)) { + case IDC_PREVIEW: + ShowSplash(true); + break; + + case IDC_ACTIVE: + case IDC_PLAYSND: + case IDC_LOOPSOUND: + case IDC_FADEIN: + case IDC_FADEOUT: + case IDC_SHOWTIME: + case IDC_RANDOM: + case IDC_SHOWVERSION: + case IDC_FISTEP: + case IDC_FOSTEP: + if (IsDlgButtonChecked(hwndDlg, IDC_FADEIN)) { + EnableWindow(GetDlgItem(hwndDlg, IDC_FISTEP), true); + EnableWindow(GetDlgItem(hwndDlg, IDC_FI_SPIN), true); + } + else { + EnableWindow(GetDlgItem(hwndDlg, IDC_FISTEP), false); + EnableWindow(GetDlgItem(hwndDlg, IDC_FI_SPIN), false); + } + if (IsDlgButtonChecked(hwndDlg, IDC_FADEOUT)) { + EnableWindow(GetDlgItem(hwndDlg, IDC_FOSTEP), true); + EnableWindow(GetDlgItem(hwndDlg, IDC_FO_SPIN), true); + } + else { + EnableWindow(GetDlgItem(hwndDlg, IDC_FOSTEP), false); + EnableWindow(GetDlgItem(hwndDlg, IDC_FO_SPIN), false); + } - if ((HWND)lParam != GetFocus()) - return 0; - else { - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - break; - } - break; - } + if ((HWND)lParam != GetFocus()) + return 0; - case IDC_CHOOSESPLASH: - { - wchar_t szTempPath[MAX_PATH], initDir[MAX_PATH]; + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + break; - if (Exists(szSplashFile)) { - mir_wstrcpy(initDir, szSplashFile); - wchar_t *pos = wcsrchr(initDir, '\\'); - if (pos != nullptr) - *pos = 0; - } - else { - szMirDir = Utils_ReplaceVarsW(L"%miranda_path%"); - mir_wstrcpy(initDir, szMirDir); - mir_free(szMirDir); - } + case IDC_CHOOSESPLASH: + wchar_t szTempPath[MAX_PATH], initDir[MAX_PATH]; - wchar_t tmp[MAX_PATH]; - mir_snwprintf(tmp, L"%s (*.png, *.bmp)%c*.png;*.bmp%c%c", TranslateT("Graphic files"), 0, 0, 0); - - OPENFILENAME ofn = { 0 }; - ofn.lStructSize = OPENFILENAME_SIZE_VERSION_400; - ofn.lpstrFilter = tmp; - ofn.lpstrFile = szTempPath; - ofn.nMaxFile = MAX_PATH; - ofn.nMaxFileTitle = MAX_PATH; - ofn.Flags = OFN_HIDEREADONLY; - ofn.lpstrInitialDir = initDir; - *szTempPath = '\0'; - ofn.lpstrDefExt = L""; - - if (GetOpenFileName(&ofn)) { - mir_wstrcpy(szSplashFile, szTempPath); - - #ifdef _DEBUG - logMessage(L"Set path", szSplashFile); - #endif - // Make path relative - int result = PathToRelativeW(szTempPath, szPath2Spash); - if (result && mir_wstrlen(szPath2Spash) > 0) { - if (options.random) { - wchar_t *pos = wcsrchr(szPath2Spash, '\\'); - if (pos != nullptr) { - *pos = 0; - mir_wstrcat(szPath2Spash, L"\\"); - } + if (Exists(szSplashFile)) { + mir_wstrcpy(initDir, szSplashFile); + wchar_t *pos = wcsrchr(initDir, '\\'); + if (pos != nullptr) + *pos = 0; + } + else mir_wstrcpy(initDir, szMirDir); + + mir_snwprintf(tmp, L"%s (*.png, *.bmp)%c*.png;*.bmp%c%c", TranslateT("Graphic files"), 0, 0, 0); + { + OPENFILENAME ofn = { 0 }; + ofn.lStructSize = OPENFILENAME_SIZE_VERSION_400; + ofn.lpstrFilter = tmp; + ofn.lpstrFile = szTempPath; + ofn.nMaxFile = MAX_PATH; + ofn.nMaxFileTitle = MAX_PATH; + ofn.Flags = OFN_HIDEREADONLY; + ofn.lpstrInitialDir = initDir; + *szTempPath = '\0'; + ofn.lpstrDefExt = L""; + + if (GetOpenFileName(&ofn)) { + mir_wstrcpy(szSplashFile, szTempPath); + + #ifdef _DEBUG + logMessage(L"Set path", szSplashFile); + #endif + // Make path relative + int result = PathToRelativeW(szTempPath, szPath2Spash); + if (result && mir_wstrlen(szPath2Spash) > 0) { + if (options.random) { + wchar_t *pos = wcsrchr(szPath2Spash, '\\'); + if (pos != nullptr) { + *pos = 0; + mir_wstrcat(szPath2Spash, L"\\"); } - - SetDlgItemText(hwndDlg, IDC_SPLASHPATH, szPath2Spash); } - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); + SetDlgItemText(hwndDlg, IDC_SPLASHPATH, szPath2Spash); } - break; + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); } - case IDC_GETSPLASHES: - Utils_OpenUrl("https://miranda-ng.org/addons/category/15"); break; + } - case IDC_CHOOSESND: - { - wchar_t szTempPath[MAX_PATH], initDir[MAX_PATH]; - wchar_t *pos; - - if (Exists(szSoundFile)) { - mir_wstrcpy(initDir, szSoundFile); - pos = wcsrchr(initDir, '\\'); - if (pos != nullptr) *pos = 0; - } - else { - szMirDir = Utils_ReplaceVarsW(L"%miranda_path%"); - mir_wstrcpy(initDir, szMirDir); - mir_free(szMirDir); - } + case IDC_GETSPLASHES: + Utils_OpenUrl("https://miranda-ng.org/addons/category/15"); + break; - OPENFILENAME ofn = { 0 }; - ofn.lStructSize = OPENFILENAME_SIZE_VERSION_400; - wchar_t tmp[MAX_PATH]; - mir_snwprintf(tmp, L"%s (*.wav, *.mp3)%c*.wav;*.mp3%c%c", TranslateT("Sound Files"), 0, 0, 0); - ofn.lpstrFilter = tmp; - ofn.hwndOwner = nullptr; - ofn.lpstrFile = szTempPath; - ofn.nMaxFile = MAX_PATH; - ofn.nMaxFileTitle = MAX_PATH; - ofn.Flags = OFN_HIDEREADONLY; - ofn.lpstrInitialDir = initDir; - *szTempPath = '\0'; - ofn.lpstrDefExt = L""; - - if (GetOpenFileName(&ofn)) { - mir_wstrcpy(szSoundFile, szTempPath); - - #ifdef _DEBUG + case IDC_CHOOSESND: + if (Exists(szSoundFile)) { + mir_wstrcpy(initDir, szSoundFile); + wchar_t *pos = wcsrchr(initDir, '\\'); + if (pos != nullptr) + *pos = 0; + } + else mir_wstrcpy(initDir, szMirDir); + { + OPENFILENAME ofn = {}; + ofn.lStructSize = OPENFILENAME_SIZE_VERSION_400; + mir_snwprintf(tmp, L"%s (*.wav, *.mp3)%c*.wav;*.mp3%c%c", TranslateT("Sound Files"), 0, 0, 0); + ofn.lpstrFilter = tmp; + ofn.hwndOwner = nullptr; + ofn.lpstrFile = szTempPath; + ofn.nMaxFile = MAX_PATH; + ofn.nMaxFileTitle = MAX_PATH; + ofn.Flags = OFN_HIDEREADONLY; + ofn.lpstrInitialDir = initDir; + *szTempPath = '\0'; + ofn.lpstrDefExt = L""; + + if (GetOpenFileName(&ofn)) { + mir_wstrcpy(szSoundFile, szTempPath); + + #ifdef _DEBUG logMessage(L"Set sound path", szSoundFile); - #endif - - // Make path relative - int result = PathToRelativeW(szTempPath, szSoundFilePath); - if (result && mir_wstrlen(szSoundFile) > 0) - SetDlgItemText(hwndDlg, IDC_SNDPATH, szSoundFilePath); + #endif - SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - } + // Make path relative + int result = PathToRelativeW(szTempPath, szSoundFilePath); + if (result && mir_wstrlen(szSoundFile) > 0) + SetDlgItemText(hwndDlg, IDC_SNDPATH, szSoundFilePath); - break; + SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); } } + break; - default: - { + default: if (HIWORD(wParam) != EN_CHANGE || (HWND)lParam != GetFocus()) return 0; else SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); - } - break; + break; } case WM_NOTIFY: - { - if (((LPNMHDR)lParam)->idFrom == 0) - switch (((LPNMHDR)lParam)->code) { - case PSN_APPLY: - { - wchar_t tmp[MAX_PATH]; - - GetDlgItemText(hwndDlg, IDC_SPLASHPATH, tmp, _countof(tmp)); - db_set_ws(NULL, MODNAME, "Path", tmp); - - GetDlgItemText(hwndDlg, IDC_SNDPATH, tmp, _countof(tmp)); - db_set_ws(NULL, MODNAME, "Sound", tmp); - - GetDlgItemText(hwndDlg, IDC_VERSIONPREFIX, tmp, _countof(tmp)); - db_set_ws(NULL, MODNAME, "VersionPrefix", tmp); - mir_wstrcpy(szPrefix, tmp); - - GetDlgItemText(hwndDlg, IDC_SHOWTIME, tmp, _countof(tmp)); - db_set_dw(NULL, MODNAME, "TimeToShow", _wtoi(tmp)); - options.showtime = _wtoi(tmp); - - GetDlgItemText(hwndDlg, IDC_FISTEP, tmp, _countof(tmp)); - db_set_dw(NULL, MODNAME, "FadeinSpeed", _wtoi(tmp)); - options.fisteps = _wtoi(tmp); - - GetDlgItemText(hwndDlg, IDC_FOSTEP, tmp, _countof(tmp)); - db_set_dw(NULL, MODNAME, "FadeoutSpeed", _wtoi(tmp)); - options.fosteps = _wtoi(tmp); - - if (IsDlgButtonChecked(hwndDlg, IDC_ACTIVE)) { - db_set_b(NULL, MODNAME, "Active", 1); - options.active = 1; - } - else { - db_set_b(NULL, MODNAME, "Active", 0); - options.active = 0; - } - - if (IsDlgButtonChecked(hwndDlg, IDC_PLAYSND)) { - db_set_b(NULL, MODNAME, "PlaySound", 1); - options.playsnd = 1; - db_set_b(NULL, MODNAME, "InheritGlobalSound", 1); - options.inheritGS = 1; - } - else { - db_set_b(NULL, MODNAME, "PlaySound", 0); - options.playsnd = 0; - db_set_b(NULL, MODNAME, "InheritGlobalSound", 0); - options.inheritGS = 0; - } + if (((LPNMHDR)lParam)->idFrom == 0) { + switch (((LPNMHDR)lParam)->code) { + case PSN_APPLY: + GetDlgItemText(hwndDlg, IDC_SPLASHPATH, tmp, _countof(tmp)); + db_set_ws(NULL, MODNAME, "Path", tmp); + + GetDlgItemText(hwndDlg, IDC_SNDPATH, tmp, _countof(tmp)); + db_set_ws(NULL, MODNAME, "Sound", tmp); + + GetDlgItemText(hwndDlg, IDC_VERSIONPREFIX, tmp, _countof(tmp)); + db_set_ws(NULL, MODNAME, "VersionPrefix", tmp); + mir_wstrcpy(szPrefix, tmp); + + GetDlgItemText(hwndDlg, IDC_SHOWTIME, tmp, _countof(tmp)); + db_set_dw(NULL, MODNAME, "TimeToShow", _wtoi(tmp)); + options.showtime = _wtoi(tmp); + + GetDlgItemText(hwndDlg, IDC_FISTEP, tmp, _countof(tmp)); + db_set_dw(NULL, MODNAME, "FadeinSpeed", _wtoi(tmp)); + options.fisteps = _wtoi(tmp); + + GetDlgItemText(hwndDlg, IDC_FOSTEP, tmp, _countof(tmp)); + db_set_dw(NULL, MODNAME, "FadeoutSpeed", _wtoi(tmp)); + options.fosteps = _wtoi(tmp); + + if (IsDlgButtonChecked(hwndDlg, IDC_ACTIVE)) { + db_set_b(NULL, MODNAME, "Active", 1); + options.active = 1; + } + else { + db_set_b(NULL, MODNAME, "Active", 0); + options.active = 0; + } - if (IsDlgButtonChecked(hwndDlg, IDC_PLAYSND) == BST_INDETERMINATE) { - db_set_b(NULL, MODNAME, "PlaySound", 1); - options.playsnd = 1; - db_set_b(NULL, MODNAME, "InheritGlobalSound", 0); - options.inheritGS = 0; - } + if (IsDlgButtonChecked(hwndDlg, IDC_PLAYSND)) { + db_set_b(NULL, MODNAME, "PlaySound", 1); + options.playsnd = 1; + db_set_b(NULL, MODNAME, "InheritGlobalSound", 1); + options.inheritGS = 1; + } + else { + db_set_b(NULL, MODNAME, "PlaySound", 0); + options.playsnd = 0; + db_set_b(NULL, MODNAME, "InheritGlobalSound", 0); + options.inheritGS = 0; + } - /* - if (IsDlgButtonChecked(hwndDlg, IDC_LOOPSOUND)) - { - WritePrivateProfileString("Splash","LoopSound","1",szIniFile); - options.loopsnd = 1; - } - else - { - WritePrivateProfileString("Splash","LoopSound","0",szIniFile); - options.loopsnd = 0; - } - */ + if (IsDlgButtonChecked(hwndDlg, IDC_PLAYSND) == BST_INDETERMINATE) { + db_set_b(NULL, MODNAME, "PlaySound", 1); + options.playsnd = 1; + db_set_b(NULL, MODNAME, "InheritGlobalSound", 0); + options.inheritGS = 0; + } - if (IsDlgButtonChecked(hwndDlg, IDC_FADEIN)) { - db_set_b(NULL, MODNAME, "FadeIn", 1); - options.fadein = 1; - } - else { - db_set_b(NULL, MODNAME, "FadeIn", 0); - options.fadein = 0; - } - if (IsDlgButtonChecked(hwndDlg, IDC_FADEOUT)) { - db_set_b(NULL, MODNAME, "FadeOut", 1); - options.fadeout = 1; - } - else { - db_set_b(NULL, MODNAME, "FadeOut", 0); - options.fadeout = 0; - } - if (IsDlgButtonChecked(hwndDlg, IDC_RANDOM)) { - db_set_b(NULL, MODNAME, "Random", 1); - options.random = 1; - } - else { - db_set_b(NULL, MODNAME, "Random", 0); - options.random = 0; - } - if (IsDlgButtonChecked(hwndDlg, IDC_SHOWVERSION)) { - db_set_b(NULL, MODNAME, "ShowVersion", 1); - options.showversion = 1; - } - else { - db_set_b(NULL, MODNAME, "ShowVersion", 0); - options.showversion = 0; - } - return TRUE; - } + if (IsDlgButtonChecked(hwndDlg, IDC_FADEIN)) { + db_set_b(NULL, MODNAME, "FadeIn", 1); + options.fadein = 1; + } + else { + db_set_b(NULL, MODNAME, "FadeIn", 0); + options.fadein = 0; + } + if (IsDlgButtonChecked(hwndDlg, IDC_FADEOUT)) { + db_set_b(NULL, MODNAME, "FadeOut", 1); + options.fadeout = 1; + } + else { + db_set_b(NULL, MODNAME, "FadeOut", 0); + options.fadeout = 0; + } + if (IsDlgButtonChecked(hwndDlg, IDC_RANDOM)) { + db_set_b(NULL, MODNAME, "Random", 1); + options.random = 1; } + else { + db_set_b(NULL, MODNAME, "Random", 0); + options.random = 0; + } + if (IsDlgButtonChecked(hwndDlg, IDC_SHOWVERSION)) { + db_set_b(NULL, MODNAME, "ShowVersion", 1); + options.showversion = 1; + } + else { + db_set_b(NULL, MODNAME, "ShowVersion", 0); + options.showversion = 0; + } + return TRUE; + } } - - case WM_DESTROY: break; } return FALSE; -- cgit v1.2.3