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

View File

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

View File

@ -168,7 +168,8 @@ void HackManager::update_mod_states() {
set_mod_enabled("invulnerability", GetInvulnerability()); set_mod_enabled("invulnerability", GetInvulnerability());
set_mod_enabled("skip_cutscene", GetSkipCutscene()); set_mod_enabled("skip_cutscene", GetSkipCutscene());
set_mod_enabled("restore_dashing", GetRestoreDashing()); 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 // Disallow any PrimeHack control mods
if (!SConfig::GetInstance().bEnablePrimeHack) { if (!SConfig::GetInstance().bEnablePrimeHack) {

View File

@ -29,12 +29,14 @@ void PrimeCheatsWidget::CreateWidgets()
m_checkbox_skipcutscenes = new QCheckBox(tr("Skippable Cutscenes")); m_checkbox_skipcutscenes = new QCheckBox(tr("Skippable Cutscenes"));
m_checkbox_scandash = new QCheckBox(tr("Restore Scan Dash")); m_checkbox_scandash = new QCheckBox(tr("Restore Scan Dash"));
m_checkbox_skipportalmp2 = new QCheckBox(tr("Skip MP2 Portal Cutscene (Trilogy Only)")); 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_noclip);
layout->addWidget(m_checkbox_invulnerability); layout->addWidget(m_checkbox_invulnerability);
layout->addWidget(m_checkbox_skipcutscenes); layout->addWidget(m_checkbox_skipcutscenes);
layout->addWidget(m_checkbox_scandash); layout->addWidget(m_checkbox_scandash);
layout->addWidget(m_checkbox_skipportalmp2); layout->addWidget(m_checkbox_skipportalmp2);
layout->addWidget(m_checkbox_friendvouchers);
main_layout->addWidget(group_box); main_layout->addWidget(group_box);
main_layout->addStretch(); main_layout->addStretch();
@ -49,6 +51,7 @@ void PrimeCheatsWidget::ConnectWidgets()
connect(m_checkbox_skipcutscenes, &QCheckBox::toggled, this, &PrimeCheatsWidget::OnSaveConfig); connect(m_checkbox_skipcutscenes, &QCheckBox::toggled, this, &PrimeCheatsWidget::OnSaveConfig);
connect(m_checkbox_scandash, &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_skipportalmp2, &QCheckBox::toggled, this, &PrimeCheatsWidget::OnSaveConfig);
connect(m_checkbox_friendvouchers, &QCheckBox::toggled, this, &PrimeCheatsWidget::OnSaveConfig);
} }
void PrimeCheatsWidget::OnSaveConfig() void PrimeCheatsWidget::OnSaveConfig()
@ -59,6 +62,7 @@ void PrimeCheatsWidget::OnSaveConfig()
settings.bPrimeSkipCutscene = m_checkbox_skipcutscenes->isChecked(); settings.bPrimeSkipCutscene = m_checkbox_skipcutscenes->isChecked();
settings.bPrimeRestoreDashing = m_checkbox_scandash->isChecked(); settings.bPrimeRestoreDashing = m_checkbox_scandash->isChecked();
settings.bPrimePortalSkip = m_checkbox_skipportalmp2->isChecked(); settings.bPrimePortalSkip = m_checkbox_skipportalmp2->isChecked();
settings.bPrimeFriendVouchers = m_checkbox_friendvouchers->isChecked();
settings.SaveSettings(); settings.SaveSettings();
} }
@ -71,6 +75,7 @@ void PrimeCheatsWidget::OnLoadConfig()
m_checkbox_skipcutscenes->setChecked(settings.bPrimeSkipCutscene); m_checkbox_skipcutscenes->setChecked(settings.bPrimeSkipCutscene);
m_checkbox_scandash->setChecked(settings.bPrimeRestoreDashing); m_checkbox_scandash->setChecked(settings.bPrimeRestoreDashing);
m_checkbox_skipportalmp2->setChecked(settings.bPrimePortalSkip); m_checkbox_skipportalmp2->setChecked(settings.bPrimePortalSkip);
m_checkbox_friendvouchers->setChecked(settings.bPrimeFriendVouchers);
} }
void PrimeCheatsWidget::AddDescriptions() 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."); 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[] = 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."); 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_noclip->setToolTip(tr(TR_NOCLIP));
m_checkbox_invulnerability->setToolTip(tr(TR_INVULNERABILITY)); m_checkbox_invulnerability->setToolTip(tr(TR_INVULNERABILITY));
m_checkbox_skipcutscenes->setToolTip(tr(TR_SKIPCUTSCENES)); m_checkbox_skipcutscenes->setToolTip(tr(TR_SKIPCUTSCENES));
m_checkbox_scandash->setToolTip(tr(TR_SCANDASH)); m_checkbox_scandash->setToolTip(tr(TR_SCANDASH));
m_checkbox_skipportalmp2->setToolTip(tr(TR_SKIPPORTAL)); 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_skipcutscenes;
QCheckBox* m_checkbox_scandash; QCheckBox* m_checkbox_scandash;
QCheckBox* m_checkbox_skipportalmp2; QCheckBox* m_checkbox_skipportalmp2;
QCheckBox* m_checkbox_friendvouchers;
}; };