mirror of https://github.com/mgba-emu/mgba.git
Qt: Auto-select correct Gate type
This commit is contained in:
parent
8e75d420f4
commit
a64236ce21
|
@ -18,6 +18,14 @@ BattleChipView::BattleChipView(std::shared_ptr<CoreController> controller, QWidg
|
||||||
{
|
{
|
||||||
m_ui.setupUi(this);
|
m_ui.setupUi(this);
|
||||||
|
|
||||||
|
char title[9];
|
||||||
|
CoreController::Interrupter interrupter(m_controller);
|
||||||
|
mCore* core = m_controller->thread()->core;
|
||||||
|
title[8] = '\0';
|
||||||
|
core->getGameCode(core, title);
|
||||||
|
QString qtitle(title);
|
||||||
|
|
||||||
|
|
||||||
connect(m_ui.chipId, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), m_ui.inserted, [this]() {
|
connect(m_ui.chipId, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), m_ui.inserted, [this]() {
|
||||||
m_ui.inserted->setChecked(Qt::Unchecked);
|
m_ui.inserted->setChecked(Qt::Unchecked);
|
||||||
});
|
});
|
||||||
|
@ -29,32 +37,33 @@ BattleChipView::BattleChipView(std::shared_ptr<CoreController> controller, QWidg
|
||||||
|
|
||||||
connect(m_ui.gateBattleChip, &QAbstractButton::toggled, this, [this](bool on) {
|
connect(m_ui.gateBattleChip, &QAbstractButton::toggled, this, [this](bool on) {
|
||||||
if (on) {
|
if (on) {
|
||||||
setFlavor(4);
|
setFlavor(GBA_FLAVOR_BATTLECHIP_GATE);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
connect(m_ui.gateProgress, &QAbstractButton::toggled, this, [this](bool on) {
|
connect(m_ui.gateProgress, &QAbstractButton::toggled, this, [this](bool on) {
|
||||||
if (on) {
|
if (on) {
|
||||||
setFlavor(5);
|
setFlavor(GBA_FLAVOR_PROGRESS_GATE);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
connect(m_ui.gateBeastLink, &QAbstractButton::toggled, this, [this](bool on) {
|
connect(m_ui.gateBeastLink, &QAbstractButton::toggled, this, [this, qtitle](bool on) {
|
||||||
if (on) {
|
if (on) {
|
||||||
char title[9];
|
if (qtitle.endsWith('E') || qtitle.endsWith('P')) {
|
||||||
CoreController::Interrupter interrupter(m_controller);
|
setFlavor(GBA_FLAVOR_BEAST_LINK_GATE_US);
|
||||||
mCore* core = m_controller->thread()->core;
|
|
||||||
title[8] = '\0';
|
|
||||||
core->getGameCode(core, title);
|
|
||||||
if (title[7] == 'E' || title[7] == 'P') {
|
|
||||||
setFlavor(7);
|
|
||||||
} else {
|
} else {
|
||||||
setFlavor(6);
|
setFlavor(GBA_FLAVOR_BEAST_LINK_GATE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
m_controller->attachBattleChipGate();
|
m_controller->attachBattleChipGate();
|
||||||
setFlavor(4);
|
setFlavor(4);
|
||||||
|
if (qtitle.startsWith("AGB-B4B") || qtitle.startsWith("AGB-B4W") || qtitle.startsWith("AGB-BR4")) {
|
||||||
|
m_ui.gateBattleChip->setChecked(Qt::Checked);
|
||||||
|
} else if (qtitle.startsWith("AGB-BRB") || qtitle.startsWith("AGB-BRK")) {
|
||||||
|
m_ui.gateProgress->setChecked(Qt::Checked);
|
||||||
|
} else if (qtitle.startsWith("AGB-BR5") || qtitle.startsWith("AGB-BR6")) {
|
||||||
|
m_ui.gateBeastLink->setChecked(Qt::Checked);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BattleChipView::~BattleChipView() {
|
BattleChipView::~BattleChipView() {
|
||||||
|
@ -78,8 +87,8 @@ void BattleChipView::loadChipNames(int flavor) {
|
||||||
QStringList chipNames;
|
QStringList chipNames;
|
||||||
chipNames.append(tr("(None)"));
|
chipNames.append(tr("(None)"));
|
||||||
|
|
||||||
if (flavor == 7) {
|
if (flavor == GBA_FLAVOR_BEAST_LINK_GATE_US) {
|
||||||
flavor = 6;
|
flavor = GBA_FLAVOR_BEAST_LINK_GATE;
|
||||||
}
|
}
|
||||||
|
|
||||||
QFile file(QString(":/res/chip-names-%1.txt").arg(flavor));
|
QFile file(QString(":/res/chip-names-%1.txt").arg(flavor));
|
||||||
|
|
Loading…
Reference in New Issue