Fix for cmd line -dcd not being honoured (regression)

This commit is contained in:
tomcw 2021-12-24 20:58:04 +00:00
parent a727db7cc5
commit a243efc74b
3 changed files with 10 additions and 4 deletions

View File

@ -37,8 +37,6 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#include "Joystick.h" #include "Joystick.h"
#include "SoundCore.h" #include "SoundCore.h"
#include "ParallelPrinter.h" #include "ParallelPrinter.h"
#include "CardManager.h"
#include "SerialComms.h"
#include "Interface.h" #include "Interface.h"
CmdLine g_cmdLine; CmdLine g_cmdLine;
@ -408,8 +406,7 @@ bool ProcessCmdLine(LPSTR lpCmdLine)
} }
else if ((strcmp(lpCmdLine, "-dcd") == 0) || (strcmp(lpCmdLine, "-modem") == 0)) // GH#386 else if ((strcmp(lpCmdLine, "-dcd") == 0) || (strcmp(lpCmdLine, "-modem") == 0)) // GH#386
{ {
if (GetCardMgr().IsSSCInstalled()) g_cmdLine.supportDCD = true;
GetCardMgr().GetSSC()->SupportDCD(true);
} }
else if (strcmp(lpCmdLine, "-alt-enter=toggle-full-screen") == 0) // GH#556 else if (strcmp(lpCmdLine, "-alt-enter=toggle-full-screen") == 0) // GH#556
{ {

View File

@ -20,6 +20,7 @@ struct CmdLine
bRemoveNoSlotClock = false; bRemoveNoSlotClock = false;
snesMaxAltControllerType[0] = false; snesMaxAltControllerType[0] = false;
snesMaxAltControllerType[1] = false; snesMaxAltControllerType[1] = false;
supportDCD = false;
szImageName_harddisk[HARDDISK_1] = NULL; szImageName_harddisk[HARDDISK_1] = NULL;
szImageName_harddisk[HARDDISK_2] = NULL; szImageName_harddisk[HARDDISK_2] = NULL;
szSnapshotName = NULL; szSnapshotName = NULL;
@ -59,6 +60,7 @@ struct CmdLine
bool bSwapButtons0and1; bool bSwapButtons0and1;
bool bRemoveNoSlotClock; bool bRemoveNoSlotClock;
bool snesMaxAltControllerType[2]; bool snesMaxAltControllerType[2];
bool supportDCD;
SS_CARDTYPE slotInsert[NUM_SLOTS]; SS_CARDTYPE slotInsert[NUM_SLOTS];
LPCSTR szImageName_drive[NUM_SLOTS][NUM_DRIVES]; LPCSTR szImageName_drive[NUM_SLOTS][NUM_DRIVES];
bool driveConnected[NUM_SLOTS][NUM_DRIVES]; bool driveConnected[NUM_SLOTS][NUM_DRIVES];

View File

@ -42,6 +42,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#include "Registry.h" #include "Registry.h"
#include "Riff.h" #include "Riff.h"
#include "SaveState.h" #include "SaveState.h"
#include "SerialComms.h"
#include "SoundCore.h" #include "SoundCore.h"
#include "Speaker.h" #include "Speaker.h"
#include "LanguageCard.h" #include "LanguageCard.h"
@ -670,6 +671,7 @@ static void RepeatInitialization(void)
// NB. g_OldAppleWinVersion needed by LoadConfiguration() -> Config_Load_Video() // NB. g_OldAppleWinVersion needed by LoadConfiguration() -> Config_Load_Video()
const bool bShowAboutDlg = CheckOldAppleWinVersion(); // Post: g_OldAppleWinVersion 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 bool loadImages = g_cmdLine.szSnapshotName == NULL; // don't load floppy/harddisk images if a snapshot is to be loaded later on
LoadConfiguration(loadImages); LoadConfiguration(loadImages);
@ -747,6 +749,11 @@ static void RepeatInitialization(void)
if (g_cmdLine.bSlotEmpty[SLOT6]) if (g_cmdLine.bSlotEmpty[SLOT6])
GetCardMgr().Remove(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 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]); GetCardMgr().Insert(SLOT3, g_cmdLine.slotInsert[SLOT3]);