dynamic_wallet_icon cvar

This commit is contained in:
Thomas Achatz 2022-03-30 20:34:16 -05:00
commit 795a10f0eb
4 changed files with 37 additions and 18 deletions

View file

@ -58,6 +58,9 @@ namespace Game {
Settings.enhancements.animated_pause_menu = stob(Conf[EnhancementSection]["animated_pause_menu"]);
CVar_SetS32(const_cast<char*>("gPauseLiveLink"), Settings.enhancements.animated_pause_menu);
Settings.enhancements.dynamic_wallet_icon = stob(Conf[EnhancementSection]["dynamic_wallet_icon"]);
CVar_SetS32(const_cast<char*>("gDynamicWalletIcon"), Settings.enhancements.dynamic_wallet_icon);
// Audio
Settings.audio.master = Ship::stof(Conf[AudioSection]["master"]);
CVar_SetFloat(const_cast<char*>("gGameMasterVolume"), Settings.audio.master);
@ -139,6 +142,7 @@ namespace Game {
Conf[EnhancementSection]["fast_text"] = std::to_string(Settings.enhancements.fast_text);
Conf[EnhancementSection]["disable_lod"] = std::to_string(Settings.enhancements.disable_lod);
Conf[EnhancementSection]["animated_pause_menu"] = std::to_string(Settings.enhancements.animated_pause_menu);
Conf[EnhancementSection]["dynamic_wallet_icon"] = std::to_string(Settings.enhancements.dynamic_wallet_icon);
// Controllers

View file

@ -23,6 +23,7 @@ struct SoHConfigType {
bool fast_text = false;
bool disable_lod = false;
bool animated_pause_menu = false;
bool dynamic_wallet_icon = false;
} enhancements;
// Controller

View file

@ -358,6 +358,11 @@ namespace SohImGui {
needs_save = true;
}
if (ImGui::Checkbox("Dynamic Wallet Icon", &Game::Settings.enhancements.dynamic_wallet_icon)) {
CVar_SetS32(const_cast<char*>("gDynamicWalletIcon"), Game::Settings.enhancements.dynamic_wallet_icon);
needs_save = true;
}
ImGui::EndMenu();
}

View file

@ -3169,24 +3169,33 @@ void Interface_Draw(GlobalContext* globalCtx) {
s16 rupeeR;
s16 rupeeG;
s16 rupeeB;
switch (CUR_UPG_VALUE(UPG_WALLET)) {
case 0:
rupeeR = rupeeIconGreen[0];
rupeeG = rupeeIconGreen[1];
rupeeB = rupeeIconGreen[2];
break;
case 1:
rupeeR = rupeeIconBlue[0];
rupeeG = rupeeIconBlue[1];
rupeeB = rupeeIconBlue[2];
break;
case 2:
rupeeR = rupeeIconRed[0];
rupeeG = rupeeIconRed[1];
rupeeB = rupeeIconRed[2];
break;
default:
break;
if (CVar_GetS32("gDynamicWalletIcon", 0)) {
switch (CUR_UPG_VALUE(UPG_WALLET)) {
case 0:
rupeeR = rupeeIconGreen[0];
rupeeG = rupeeIconGreen[1];
rupeeB = rupeeIconGreen[2];
break;
case 1:
rupeeR = rupeeIconBlue[0];
rupeeG = rupeeIconBlue[1];
rupeeB = rupeeIconBlue[2];
break;
case 2:
rupeeR = rupeeIconRed[0];
rupeeG = rupeeIconRed[1];
rupeeB = rupeeIconRed[2];
break;
default:
break;
}
}
else {
rupeeR = rupeeIconGreen[0];
rupeeG = rupeeIconGreen[1];
rupeeB = rupeeIconGreen[2];
}
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, rupeeR, rupeeG, rupeeB, interfaceCtx->magicAlpha);