From a243efc74bf499e487ce0008adceb831da8fd890 Mon Sep 17 00:00:00 2001 From: tomcw Date: Fri, 24 Dec 2021 20:58:04 +0000 Subject: [PATCH] Fix for cmd line -dcd not being honoured (regression) --- source/CmdLine.cpp | 5 +---- source/CmdLine.h | 2 ++ source/Windows/AppleWin.cpp | 7 +++++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/source/CmdLine.cpp b/source/CmdLine.cpp index acfdca31c..d39a8baec 100644 --- a/source/CmdLine.cpp +++ b/source/CmdLine.cpp @@ -37,8 +37,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #include "Joystick.h" #include "SoundCore.h" #include "ParallelPrinter.h" -#include "CardManager.h" -#include "SerialComms.h" #include "Interface.h" CmdLine g_cmdLine; @@ -408,8 +406,7 @@ bool ProcessCmdLine(LPSTR lpCmdLine) } else if ((strcmp(lpCmdLine, "-dcd") == 0) || (strcmp(lpCmdLine, "-modem") == 0)) // GH#386 { - if (GetCardMgr().IsSSCInstalled()) - GetCardMgr().GetSSC()->SupportDCD(true); + g_cmdLine.supportDCD = true; } else if (strcmp(lpCmdLine, "-alt-enter=toggle-full-screen") == 0) // GH#556 { diff --git a/source/CmdLine.h b/source/CmdLine.h index b76dd0f4a..4a935e4f0 100644 --- a/source/CmdLine.h +++ b/source/CmdLine.h @@ -20,6 +20,7 @@ struct CmdLine bRemoveNoSlotClock = false; snesMaxAltControllerType[0] = false; snesMaxAltControllerType[1] = false; + supportDCD = false; szImageName_harddisk[HARDDISK_1] = NULL; szImageName_harddisk[HARDDISK_2] = NULL; szSnapshotName = NULL; @@ -59,6 +60,7 @@ struct CmdLine bool bSwapButtons0and1; bool bRemoveNoSlotClock; bool snesMaxAltControllerType[2]; + bool supportDCD; SS_CARDTYPE slotInsert[NUM_SLOTS]; LPCSTR szImageName_drive[NUM_SLOTS][NUM_DRIVES]; bool driveConnected[NUM_SLOTS][NUM_DRIVES]; diff --git a/source/Windows/AppleWin.cpp b/source/Windows/AppleWin.cpp index 80f419225..0caf82968 100644 --- a/source/Windows/AppleWin.cpp +++ b/source/Windows/AppleWin.cpp @@ -42,6 +42,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #include "Registry.h" #include "Riff.h" #include "SaveState.h" +#include "SerialComms.h" #include "SoundCore.h" #include "Speaker.h" #include "LanguageCard.h" @@ -670,6 +671,7 @@ static void RepeatInitialization(void) // NB. g_OldAppleWinVersion needed by LoadConfiguration() -> Config_Load_Video() const bool bShowAboutDlg = CheckOldAppleWinVersion(); // Post: g_OldAppleWinVersion + // Load configuration from Registry { bool loadImages = g_cmdLine.szSnapshotName == NULL; // don't load floppy/harddisk images if a snapshot is to be loaded later on LoadConfiguration(loadImages); @@ -747,6 +749,11 @@ static void RepeatInitialization(void) if (g_cmdLine.bSlotEmpty[SLOT6]) GetCardMgr().Remove(SLOT6); + if (g_cmdLine.supportDCD && GetCardMgr().IsSSCInstalled()) + { + GetCardMgr().GetSSC()->SupportDCD(true); + } + if (g_cmdLine.slotInsert[SLOT3] != CT_Empty && g_cmdLine.slotInsert[SLOT3] == CT_VidHD) // For now just support VidHD in slot 3 { GetCardMgr().Insert(SLOT3, g_cmdLine.slotInsert[SLOT3]);