diff --git a/libultraship/libultraship/SohImGuiImpl.cpp b/libultraship/libultraship/SohImGuiImpl.cpp index 21a5cbdcf..f2a69c381 100644 --- a/libultraship/libultraship/SohImGuiImpl.cpp +++ b/libultraship/libultraship/SohImGuiImpl.cpp @@ -65,7 +65,7 @@ namespace SohImGui { bool needs_save = false; std::vector CustomTexts; int SelectedLanguage = CVar_GetS32("gLanguages", 0); //Default Language to 0=English 1=German 2=French - int SelectedHUD = CVar_GetS32("gHudColors", 1); //Default colors to Gamecube. + int SelectedHUD = CVar_GetS32("gHudColors", 1); //Default colors to GameCube. ImVec4 hearts_colors; ImVec4 hearts_dd_colors; ImVec4 a_btn_colors; @@ -942,6 +942,14 @@ namespace SohImGui { ImGui::EndMenu(); } + if (ImGui::BeginMenu("Restoration")) + { + EnhancementCheckbox("Red Ganon blood", "gRedGanonBlood"); + Tooltip("Restore the original red blood from NTSC 1.0/1.1. Disable for green blood"); + + ImGui::EndMenu(); + } + EXPERIMENTAL(); const char* fps_cvar = "gInterpolationFPS"; @@ -996,8 +1004,8 @@ namespace SohImGui { EnhancementCheckbox("HUD Margins editor", "gUseMargins"); EnhancementRadioButton("N64 interface", "gHudColors", 0); Tooltip("Change interface color to N64 style."); - EnhancementRadioButton("Gamecube interface", "gHudColors", 1); - Tooltip("Change interface color to Gamecube style."); + EnhancementRadioButton("GameCube interface", "gHudColors", 1); + Tooltip("Change interface color to GameCube style."); EnhancementRadioButton("Custom interface", "gHudColors", 2); Tooltip("Change interface color to your own made style."); if (CVar_GetS32("gHudColors", 1) == 2) { @@ -1143,13 +1151,13 @@ namespace SohImGui { } if (ImGui::BeginTabItem("Buttons")) { EnhancementColor("A Buttons", "gCCABtnPrim", a_btn_colors, ImVec4(90,90,255,255)); - Tooltip("A Buttons colors (Green in original Gamecube)\nAffect A buttons colors on interface, in shops, messages boxes, ocarina notes and inventory cursors."); + Tooltip("A Buttons colors (Green in original GameCube)\nAffect A buttons colors on interface, in shops, messages boxes, ocarina notes and inventory cursors."); EnhancementColor("B Buttons", "gCCBBtnPrim", b_btn_colors, ImVec4(0,150,0,255)); - Tooltip("B Button colors (Red in original Gamecube)\nAffect B button colors on interface"); + Tooltip("B Button colors (Red in original GameCube)\nAffect B button colors on interface"); EnhancementColor("C Buttons", "gCCCBtnPrim", c_btn_colors, ImVec4(255,160,0,255)); Tooltip("C Buttons colors (Yellowish / Oranges in originals)\nAffect C buttons colors on interface, in inventory and ocarina notes"); EnhancementColor("Start Buttons", "gCCStartBtnPrim", start_btn_colors, ImVec4(120,120,120,255)); - Tooltip("Start Button colors (gray in Gamecube)\nAffect Start button colors in inventory"); + Tooltip("Start Button colors (gray in GameCube)\nAffect Start button colors in inventory"); ImGui::EndTabItem(); } if (ImGui::BeginTabItem("Magic Bar")) { @@ -1375,4 +1383,4 @@ namespace SohImGui { #endif return reinterpret_cast(id); } -} +} \ No newline at end of file diff --git a/soh/soh/Enhancements/bootcommands.c b/soh/soh/Enhancements/bootcommands.c index ff9e6dc98..701e2f619 100644 --- a/soh/soh/Enhancements/bootcommands.c +++ b/soh/soh/Enhancements/bootcommands.c @@ -25,6 +25,7 @@ void BootCommands_Init() CVar_RegisterS32("gDebugEnabled", 0); CVar_RegisterS32("gPauseLiveLink", 0); CVar_RegisterS32("gMinimalUI", 0); + CVar_RegisterS32("gRedGanonBlood", 0); CVar_RegisterS32("gRumbleEnabled", 0); CVar_RegisterS32("gUniformLR", 0); CVar_RegisterS32("gTwoHandedIdle", 0); diff --git a/soh/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c b/soh/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c index 21199d420..d42e29f4c 100644 --- a/soh/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c +++ b/soh/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c @@ -1209,19 +1209,15 @@ void BossGanon_ShatterWindows(u8 windowShatterState) { } void BossGanon_DeathAndTowerCutscene(BossGanon* this, GlobalContext* globalCtx) { - const bool originalBlood = CVar_GetS32("gOriginalBlood", 1); + static Color_RGBA8 bloodPrimColor = { 0, 120, 0, 255 }; + static Color_RGBA8 bloodEnvColor = { 0, 120, 0, 255 }; - static Color_RGBA8 bloodPrimColor = { 120, 0, 0, 255 }; - static Color_RGBA8 bloodEnvColor = { 120, 0, 0, 255 }; + if(CVar_GetS32("gRedGanonBlood", 0)) { + bloodPrimColor.r = 120; + bloodPrimColor.g = 0; - if(!originalBlood) { - bloodPrimColor.r = 0; - bloodPrimColor.g = 120; - bloodPrimColor.b = 0; - - bloodEnvColor.r = 0; - bloodEnvColor.g = 120; - bloodEnvColor.b = 0; + bloodEnvColor.r = 120; + bloodEnvColor.g = 0; } s16 i; diff --git a/soh/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c b/soh/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c index b946054b8..667871de1 100644 --- a/soh/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c +++ b/soh/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c @@ -1456,6 +1456,17 @@ void func_80901020(BossGanon2* this, GlobalContext* globalCtx) { void func_8090109C(BossGanon2* this, GlobalContext* globalCtx) { u8 i; + static Color_RGBA8 sPrimColor = { 0, 120, 0, 255 }; + static Color_RGBA8 sEnvColor = { 0, 120, 0, 255 }; + + if(CVar_GetS32("gRedGanonBlood", 0)) { + sPrimColor.r = 120; + sPrimColor.g = 0; + + sEnvColor.r = 120; + sEnvColor.g = 0; + } + for (i = 0; i < 70; i++) { Vec3f velocity; Vec3f accel; diff --git a/soh/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2_data.c b/soh/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2_data.c index e19b36bd6..b1e0ced46 100644 --- a/soh/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2_data.c +++ b/soh/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2_data.c @@ -238,10 +238,6 @@ static ColliderJntSphInit sJntSphInit2 = { sJntSphItemsInit2, }; -static Color_RGBA8 sPrimColor = { 0, 120, 0, 255 }; - -static Color_RGBA8 sEnvColor = { 0, 120, 0, 255 }; - static Vec3f D_8090702C[] = { { 10.0f, -10.0f, 0.0f }, { 0.0f, 0.0f, -60.0f },