Added FriendVouchers and PortalSkip to PrimeHack cheat's tab.

This commit is contained in:
SirMangler 2021-03-28 03:40:33 +01:00
parent a9b8f0cacf
commit 22715e9dc3
5 changed files with 17 additions and 2 deletions

View File

@ -254,6 +254,7 @@ void SConfig::SaveCoreSettings(IniFile& ini)
core->Set("PrimeSkipMP2Portal", bPrimePortalSkip);
core->Set("PrimeSkippableCutscenes", bPrimeSkipCutscene);
core->Set("PrimeRestoreScanDash", bPrimeRestoreDashing);
core->Set("PrimeFriendVouchers", bPrimeFriendVouchers);
}
void SConfig::SaveMovieSettings(IniFile& ini)
@ -529,6 +530,7 @@ void SConfig::LoadCoreSettings(IniFile& ini)
core->Get("PrimeSkipMP2Portal", &bPrimePortalSkip, false);
core->Get("PrimeSkippableCutscenes", &bPrimeSkipCutscene, false);
core->Get("PrimeRestoreScanDash", &bPrimeRestoreDashing, false);
core->Get("PrimeFriendVouchers", &bPrimeFriendVouchers, true);
}
void SConfig::LoadMovieSettings(IniFile& ini)
@ -779,6 +781,8 @@ void SConfig::LoadDefaults()
bJITBranchOff = false;
bJITRegisterCacheOff = false;
bPrimeFriendVouchers = true;
ResetRunningGameMetadata();
}

View File

@ -153,6 +153,7 @@ struct SConfig
bool bPrimeSkipCutscene = false;
bool bPrimeRestoreDashing = false;
bool bPrimePortalSkip = false;
bool bPrimeFriendVouchers = true;
// Interface settings
bool bConfirmStop = false;

View File

@ -168,7 +168,8 @@ void HackManager::update_mod_states() {
set_mod_enabled("invulnerability", GetInvulnerability());
set_mod_enabled("skip_cutscene", GetSkipCutscene());
set_mod_enabled("restore_dashing", GetRestoreDashing());
set_mod_enabled("friend_vouchers_cheat", SConfig::GetInstance().bEnableCheats);
set_mod_enabled("friend_vouchers_cheat", SConfig::GetInstance().bPrimeFriendVouchers);
set_mod_enabled("portal_skip_mp2", SConfig::GetInstance().bPrimePortalSkip);
// Disallow any PrimeHack control mods
if (!SConfig::GetInstance().bEnablePrimeHack) {

View File

@ -29,12 +29,14 @@ void PrimeCheatsWidget::CreateWidgets()
m_checkbox_skipcutscenes = new QCheckBox(tr("Skippable Cutscenes"));
m_checkbox_scandash = new QCheckBox(tr("Restore Scan Dash"));
m_checkbox_skipportalmp2 = new QCheckBox(tr("Skip MP2 Portal Cutscene (Trilogy Only)"));
m_checkbox_friendvouchers = new QCheckBox(tr("Remove Friend Vouchers Requirement (Trilogy Only)"));
layout->addWidget(m_checkbox_noclip);
layout->addWidget(m_checkbox_invulnerability);
layout->addWidget(m_checkbox_skipcutscenes);
layout->addWidget(m_checkbox_scandash);
layout->addWidget(m_checkbox_skipportalmp2);
layout->addWidget(m_checkbox_friendvouchers);
main_layout->addWidget(group_box);
main_layout->addStretch();
@ -49,6 +51,7 @@ void PrimeCheatsWidget::ConnectWidgets()
connect(m_checkbox_skipcutscenes, &QCheckBox::toggled, this, &PrimeCheatsWidget::OnSaveConfig);
connect(m_checkbox_scandash, &QCheckBox::toggled, this, &PrimeCheatsWidget::OnSaveConfig);
connect(m_checkbox_skipportalmp2, &QCheckBox::toggled, this, &PrimeCheatsWidget::OnSaveConfig);
connect(m_checkbox_friendvouchers, &QCheckBox::toggled, this, &PrimeCheatsWidget::OnSaveConfig);
}
void PrimeCheatsWidget::OnSaveConfig()
@ -59,7 +62,8 @@ void PrimeCheatsWidget::OnSaveConfig()
settings.bPrimeSkipCutscene = m_checkbox_skipcutscenes->isChecked();
settings.bPrimeRestoreDashing = m_checkbox_scandash->isChecked();
settings.bPrimePortalSkip = m_checkbox_skipportalmp2->isChecked();
settings.bPrimeFriendVouchers = m_checkbox_friendvouchers->isChecked();
settings.SaveSettings();
}
@ -71,6 +75,7 @@ void PrimeCheatsWidget::OnLoadConfig()
m_checkbox_skipcutscenes->setChecked(settings.bPrimeSkipCutscene);
m_checkbox_scandash->setChecked(settings.bPrimeRestoreDashing);
m_checkbox_skipportalmp2->setChecked(settings.bPrimePortalSkip);
m_checkbox_friendvouchers->setChecked(settings.bPrimeFriendVouchers);
}
void PrimeCheatsWidget::AddDescriptions()
@ -85,10 +90,13 @@ void PrimeCheatsWidget::AddDescriptions()
QT_TR_NOOP("Re-enable the ability to dash with the scan visor. This is a speed-running trick in the original release, and was subsequently patched in later releases.");
static const char TR_SKIPPORTAL[] =
QT_TR_NOOP("Skips having to watch the portal cutscenes in Metroid Prime 2 (Trilogy), allowing you to teleport immediately.");
static const char TR_FRIENDVOUCHERS[] =
QT_TR_NOOP("Removes the friend voucher cost from all purchasable extras. This is on by default as friend-vouchers are impossible to obtain.");
m_checkbox_noclip->setToolTip(tr(TR_NOCLIP));
m_checkbox_invulnerability->setToolTip(tr(TR_INVULNERABILITY));
m_checkbox_skipcutscenes->setToolTip(tr(TR_SKIPCUTSCENES));
m_checkbox_scandash->setToolTip(tr(TR_SCANDASH));
m_checkbox_skipportalmp2->setToolTip(tr(TR_SKIPPORTAL));
m_checkbox_friendvouchers->setToolTip(tr(TR_FRIENDVOUCHERS));
}

View File

@ -21,4 +21,5 @@ private:
QCheckBox* m_checkbox_skipcutscenes;
QCheckBox* m_checkbox_scandash;
QCheckBox* m_checkbox_skipportalmp2;
QCheckBox* m_checkbox_friendvouchers;
};