couple of hd qol toggles

This commit is contained in:
TakaRikka
2026-04-04 02:37:59 -07:00
parent ec66b4c9f4
commit 7d41421702
7 changed files with 52 additions and 1 deletions
+1 -1
+3
View File
@@ -28,6 +28,9 @@ struct UserSettings {
// QoL
bool enableQuickTransform;
bool hideTvSettingsScreen;
bool biggerWallets;
bool noReturnRupees;
bool disableRupeeCutscenes;
// Preferences
bool enableMirrorMode;
+8
View File
@@ -23,6 +23,8 @@
#include "d/actor/d_a_npc_tkc.h"
#include <cstring>
#include "dusk/settings.h"
BOOL daAlink_c::checkEventRun() const {
return dComIfGp_event_runCheck() || checkPlayerDemoMode();
}
@@ -2230,6 +2232,12 @@ void daAlink_c::setGetSubBgm(int i_itemNo) {
}
BOOL daAlink_c::checkTreasureRupeeReturn(int i_itemNo) const {
#if TARGET_PC
if (dusk::getSettings().game.noReturnRupees) {
return FALSE;
}
#endif
static const int dummy = 0;
if (i_itemNo == dItemNo_LINKS_SAVINGS_e) {
+7
View File
@@ -17,6 +17,7 @@
#include "m_Do/m_Do_main.h"
#include "f_op/f_op_overlap_mng.h"
#include "dusk/memory.h"
#include "dusk/settings.h"
#if TARGET_PC
#define SHOW_TV_SETTINGS_SCREEN (this->mShowTvSettingsScreen)
@@ -367,6 +368,12 @@ void dScnName_c::doPreLoadSetup() {
field_0x41f = 0;
mProc = dScnName_PROC_ChangeGameScene;
#if TARGET_PC
if (dusk::getSettings().game.disableRupeeCutscenes) {
return;
}
#endif
// Reset rupee "first-time collection" flags so the collection cutscene will play again
dComIfGs_offItemFirstBit(dItemNo_GREEN_RUPEE_e);
dComIfGs_offItemFirstBit(dItemNo_BLUE_RUPEE_e);
+14
View File
@@ -25,6 +25,8 @@
#include "lingcod/lingcod.h"
#endif
#include "dusk/settings.h"
static u8 dSv_item_rename(u8 i_itemNo) {
switch (i_itemNo) {
case dItemNo_OIL_BOTTLE_2_e:
@@ -111,11 +113,23 @@ u16 dSv_player_status_a_c::getRupeeMax() const {
if (mWalletSize < 3) { // if you make this a default, it wont match. Compiler, pls.
switch (mWalletSize) {
case WALLET:
#if TARGET_PC
return dusk::getSettings().game.biggerWallets ? 500 : 300;
#else
return 300;
#endif
case BIG_WALLET:
#if TARGET_PC
return dusk::getSettings().game.biggerWallets ? 1000 : 600;
#else
return 600;
#endif
case GIANT_WALLET:
#if TARGET_PC
return dusk::getSettings().game.biggerWallets ? 2000 : 1000;
#else
return 1000;
#endif
}
}
+16
View File
@@ -11,6 +11,22 @@ namespace dusk {
if (ImGui::BeginMenu("Enhancements")) {
if (ImGui::BeginMenu("Quality of Life")) {
ImGui::Checkbox("Quick Transform (R+Y)", &getSettings().game.enableQuickTransform);
ImGui::Checkbox("Bigger Wallets", &getSettings().game.biggerWallets);
if (ImGui::IsItemHovered()) {
ImGui::SetTooltip("Wallet sizes are like in the HD version (500, 1000, 2000)");
}
ImGui::Checkbox("No Rupee Returns", &getSettings().game.noReturnRupees);
if (ImGui::IsItemHovered()) {
ImGui::SetTooltip("Always collect Rupees even if your Wallet is too full");
}
ImGui::Checkbox("Disable Rupee Cutscenes", &getSettings().game.disableRupeeCutscenes);
if (ImGui::IsItemHovered()) {
ImGui::SetTooltip("Rupees won't play cutscenes after you've collected them the first time");
}
ImGui::Checkbox("Hide TV Settings Screen", &getSettings().game.hideTvSettingsScreen);
if (ImGui::IsItemHovered()) {
ImGui::SetTooltip("Hides the TV calibration screen shown when loading a save");
+3
View File
@@ -24,6 +24,9 @@ UserSettings g_userSettings = {
// Quality of Life
.enableQuickTransform = false,
.hideTvSettingsScreen = false,
.biggerWallets = false,
.noReturnRupees = false,
.disableRupeeCutscenes = false,
// Preferences
.enableMirrorMode = false,