This commit is contained in:
Arisotura 2024-10-24 14:00:11 +02:00
parent 6d3ea6a485
commit 1666049531
4 changed files with 34 additions and 22 deletions

View File

@ -1972,25 +1972,36 @@ bool EmuInstance::gbaCartInserted()
return gbaCartType != -1;
}
QString EmuInstance::gbaAddonName(int addon)
{
switch (addon)
{
case GBAAddon_RumblePak:
return "Rumble Pak";
case GBAAddon_RAMExpansion:
return "Memory expansion";
}
return "???";
}
QString EmuInstance::gbaCartLabel()
{
if (consoleType == 1) return "none (DSi)";
switch (gbaCartType)
if (gbaCartType == 0)
{
case 0:
{
QString ret = QString::fromStdString(baseGBAROMName);
QString ret = QString::fromStdString(baseGBAROMName);
int maxlen = 32;
if (ret.length() > maxlen)
ret = ret.left(maxlen-6) + "..." + ret.right(3);
int maxlen = 32;
if (ret.length() > maxlen)
ret = ret.left(maxlen-6) + "..." + ret.right(3);
return ret;
}
case GBAAddon_RAMExpansion:
return "Memory expansion";
return ret;
}
else if (gbaCartType != -1)
{
return gbaAddonName(gbaCartType);
}
return "(none)";

View File

@ -186,6 +186,7 @@ private:
void loadGBAAddon(int type);
void ejectGBACart();
bool gbaCartInserted();
QString gbaAddonName(int addon);
QString gbaCartLabel();
void audioInit();

View File

@ -623,7 +623,7 @@ void EmuThread::handleMessages()
break;
case msg_EjectGBACart:
emuInstance->ejectCart();
emuInstance->ejectGBACart();
break;
}

View File

@ -313,15 +313,15 @@ MainWindow::MainWindow(int id, EmuInstance* inst, QWidget* parent) :
QMenu* submenu = menu->addMenu("Insert add-on cart");
QAction* act;
act = submenu->addAction("Memory expansion");
act->setData(QVariant(GBAAddon_RAMExpansion));
connect(act, &QAction::triggered, this, &MainWindow::onInsertGBAAddon);
actInsertGBAAddon.append(act);
act = submenu->addAction("Rumble Pak");
act->setData(QVariant(GBAAddon_RumblePak));
connect(act, &QAction::triggered, this, &MainWindow::onInsertGBAAddon);
actInsertGBAAddon.append(act);
int addons[] = {GBAAddon_RAMExpansion, GBAAddon_RumblePak, -1};
for (int i = 0; addons[i] != -1; i++)
{
int addon = addons[i];
act = submenu->addAction(emuInstance->gbaAddonName(addon));
act->setData(QVariant(addon));
connect(act, &QAction::triggered, this, &MainWindow::onInsertGBAAddon);
actInsertGBAAddon.append(act);
}
}
actEjectGBACart = menu->addAction("Eject cart");