Fixes for cmd-line support (#1491, PR #1496)

Fix bad_cast for inconsistent cmd-line options.
Allow Parallel, SSC & VidHD card insertion into any slot.
Allow floppy/HDD image insertion into any slot.
. if inserting a floppy image, and the slot had no Disk II card, then insert one (consistent with HDD images).
This commit is contained in:
Tom Charlesworth authored and GitHub committed 2026-05-02 18:24:25 +01:00
1 parent fabc5104f3
commit 22dca96cbb
6 files changed
+132 -170

No files matched your search

+9 -2
View File
@@ -170,8 +170,15 @@ void Snapshot_GetDefaultFilenameAndPath(std::string& defaultFilename, std::strin
// Attempt to get a default filename/path based on harddisk plugged-in or floppy disk inserted
// . Priority given to harddisk over floppy images
if (GetCardMgr().QuerySlot(SLOT7) == CT_GenericHDD)
dynamic_cast<HarddiskInterfaceCard&>(GetCardMgr().GetRef(SLOT7)).GetFilenameAndPathForSaveState(defaultFilename, defaultPath);
for (int i = NUM_SLOTS - 1; i >= 0; i--) // scan slots backwards: 7->0
{
if (GetCardMgr().QuerySlot(i) == CT_GenericHDD)
{
dynamic_cast<HarddiskInterfaceCard&>(GetCardMgr().GetRef(SLOT7)).GetFilenameAndPathForSaveState(defaultFilename, defaultPath);
if (!defaultFilename.empty())
break;
}
}
if (defaultFilename.empty())
GetCardMgr().GetDisk2CardMgr().GetFilenameAndPathForSaveState(defaultFilename, defaultPath);