diff --git a/libultraship/libultraship/SohImGuiImpl.cpp b/libultraship/libultraship/SohImGuiImpl.cpp index ea7c442fa..fee3e2638 100644 --- a/libultraship/libultraship/SohImGuiImpl.cpp +++ b/libultraship/libultraship/SohImGuiImpl.cpp @@ -76,6 +76,7 @@ namespace SohImGui { ImVec4 minimap_colors; ImVec4 rupee_colors; ImVec4 smolekey_colors; + ImVec4 fileselect_colors; ImVec4 kokiri_col; ImVec4 goron_col; ImVec4 zora_col; @@ -89,12 +90,13 @@ namespace SohImGui { ImVec4 navi_prop_o_col; const char* RainbowColorCvarList[] = { - //This is the list of possible CVars that has rainbow effect. - "gTunic_Kokiri_","gTunic_Goron_","gTunic_Zora_", - "gCCHeartsPrim","gDDCCHeartsPrim", - "gCCABtnPrim","gCCBBtnPrim","gCCCBtnPrim","gCCStartBtnPrim", - "gCCMagicBorderPrim","gCCMagicPrim","gCCMagicUsePrim", - "gCCMinimapPrim","gCCRupeePrim","gCCKeysPrim" + //This is the list of possible CVars that has rainbow effect. + "gTunic_Kokiri_","gTunic_Goron_","gTunic_Zora_", + "gCCHeartsPrim","gDDCCHeartsPrim", + "gCCABtnPrim","gCCBBtnPrim","gCCCBtnPrim","gCCStartBtnPrim", + "gCCMagicBorderPrim","gCCMagicPrim","gCCMagicUsePrim", + "gCCMinimapPrim","gCCRupeePrim","gCCKeysPrim", + "gCCFileChoosePrim" }; const char* filters[3] = { @@ -106,8 +108,8 @@ namespace SohImGui { std::map> windowCategories; std::map customWindows; - int ClampFloatToInt(float value, int min, int max){ - return fmin(fmax(value,min),max); + int ClampFloatToInt(float value, int min, int max) { + return fmin(fmax(value, min), max); } void Tooltip(const char* text) { @@ -269,8 +271,8 @@ namespace SohImGui { std::string Cvar_RBM = cvarName; Cvar_RBM += "RBM"; std::string RBM_HUE = cvarName; - RBM_HUE+="Hue"; - f32 Canon = 10.f*s; + RBM_HUE += "Hue"; + f32 Canon = 10.f * s; ImVec4 NewColor; const f32 deltaTime = 1.0f / ImGui::GetIO().Framerate; f32 hue = CVar_GetFloat(RBM_HUE.c_str(), 0.0f); @@ -282,20 +284,20 @@ namespace SohImGui { u8 i = current_hue / 60 + 1; u8 a = (-current_hue / 60.0f + i) * 255; u8 b = (current_hue / 60.0f + (1 - i)) * 255; - + switch (i) { - case 1: NewColor.x = 255; NewColor.y = b; NewColor.z = 0; break; - case 2: NewColor.x = a; NewColor.y = 255; NewColor.z = 0; break; - case 3: NewColor.x = 0; NewColor.y = 255; NewColor.z = b; break; - case 4: NewColor.x = 0; NewColor.y = a; NewColor.z = 255; break; - case 5: NewColor.x = b; NewColor.y = 0; NewColor.z = 255; break; - case 6: NewColor.x = 255; NewColor.y = 0; NewColor.z = a; break; + case 1: NewColor.x = 255; NewColor.y = b; NewColor.z = 0; break; + case 2: NewColor.x = a; NewColor.y = 255; NewColor.z = 0; break; + case 3: NewColor.x = 0; NewColor.y = 255; NewColor.z = b; break; + case 4: NewColor.x = 0; NewColor.y = a; NewColor.z = 255; break; + case 5: NewColor.x = b; NewColor.y = 0; NewColor.z = 255; break; + case 6: NewColor.x = 255; NewColor.y = 0; NewColor.z = a; break; } - if(CVar_GetS32(Cvar_RBM.c_str(), 0) != 0) { - CVar_SetS32(Cvar_Red.c_str(), ClampFloatToInt(NewColor.x,0,255)); - CVar_SetS32(Cvar_Green.c_str(), ClampFloatToInt(NewColor.y,0,255)); - CVar_SetS32(Cvar_Blue.c_str(), ClampFloatToInt(NewColor.z,0,255)); + if (CVar_GetS32(Cvar_RBM.c_str(), 0) != 0) { + CVar_SetS32(Cvar_Red.c_str(), ClampFloatToInt(NewColor.x, 0, 255)); + CVar_SetS32(Cvar_Green.c_str(), ClampFloatToInt(NewColor.y, 0, 255)); + CVar_SetS32(Cvar_Blue.c_str(), ClampFloatToInt(NewColor.z, 0, 255)); } } } @@ -310,11 +312,11 @@ namespace SohImGui { std::string Cvar_Alpha = cvarname; Cvar_Alpha += "A"; - ColorArray.x = (float)CVar_GetS32(Cvar_Red.c_str(), default_colors.x)/255; - ColorArray.y = (float)CVar_GetS32(Cvar_Green.c_str(), default_colors.y)/255; - ColorArray.z = (float)CVar_GetS32(Cvar_Blue.c_str(), default_colors.z)/255; + ColorArray.x = (float)CVar_GetS32(Cvar_Red.c_str(), default_colors.x) / 255; + ColorArray.y = (float)CVar_GetS32(Cvar_Green.c_str(), default_colors.y) / 255; + ColorArray.z = (float)CVar_GetS32(Cvar_Blue.c_str(), default_colors.z) / 255; if (has_alpha) { - ColorArray.w = (float)CVar_GetS32(Cvar_Alpha.c_str(), default_colors.w)/255; + ColorArray.w = (float)CVar_GetS32(Cvar_Alpha.c_str(), default_colors.w) / 255; } } @@ -397,7 +399,7 @@ namespace SohImGui { LoadTexture("C-Right", "assets/ship_of_harkinian/buttons/CRight.png"); LoadTexture("C-Up", "assets/ship_of_harkinian/buttons/CUp.png"); LoadTexture("C-Down", "assets/ship_of_harkinian/buttons/CDown.png"); - }); + }); for (const auto& [i, controllers] : Ship::Window::Controllers) { @@ -408,7 +410,7 @@ namespace SohImGui { ModInternal::RegisterHook([](OSContPad* cont_pad) { pads = cont_pad; - }); + }); Game::InitSettings(); } @@ -471,7 +473,7 @@ namespace SohImGui { std::string make_invisible = "##"; make_invisible += text; make_invisible += cvarName; - + int val = CVar_GetS32(cvarName, 0); if (ImGui::RadioButton(make_invisible.c_str(), id == val)) { CVar_SetS32(cvarName, id); @@ -584,17 +586,17 @@ namespace SohImGui { MakeInvisible += cvarName; MakeInvisible += "Random"; std::string FullName = "Random"; - FullName+=MakeInvisible; + FullName += MakeInvisible; if (ImGui::Button(FullName.c_str())) { s16 RND_R = rand() % (255 - 0); s16 RND_G = rand() % (255 - 0); s16 RND_B = rand() % (255 - 0); - colors->x = (float)RND_R/255; - colors->y = (float)RND_G/255; - colors->z = (float)RND_B/255; - CVar_SetS32(Cvar_Red.c_str(), ClampFloatToInt(colors->x*255,0,255)); - CVar_SetS32(Cvar_Green.c_str(), ClampFloatToInt(colors->y*255,0,255)); - CVar_SetS32(Cvar_Blue.c_str(), ClampFloatToInt(colors->z*255,0,255)); + colors->x = (float)RND_R / 255; + colors->y = (float)RND_G / 255; + colors->z = (float)RND_B / 255; + CVar_SetS32(Cvar_Red.c_str(), ClampFloatToInt(colors->x * 255, 0, 255)); + CVar_SetS32(Cvar_Green.c_str(), ClampFloatToInt(colors->y * 255, 0, 255)); + CVar_SetS32(Cvar_Blue.c_str(), ClampFloatToInt(colors->z * 255, 0, 255)); CVar_SetS32(Cvar_RBM.c_str(), 0); //On click disable rainbow mode. needs_save = true; } @@ -629,14 +631,14 @@ namespace SohImGui { MakeInvisible += cvarName; MakeInvisible += "Reset"; if (ImGui::Button(MakeInvisible.c_str())) { - colors->x = defaultcolors.x/255; - colors->y = defaultcolors.y/255; - colors->z = defaultcolors.z/255; - if (has_alpha) { colors->w = defaultcolors.w/255;}; - CVar_SetS32(Cvar_Red.c_str(), ClampFloatToInt(colors->x*255,0,255)); - CVar_SetS32(Cvar_Green.c_str(), ClampFloatToInt(colors->y*255,0,255)); - CVar_SetS32(Cvar_Blue.c_str(), ClampFloatToInt(colors->z*255,0,255)); - if (has_alpha) { CVar_SetS32(Cvar_Alpha.c_str(), ClampFloatToInt(colors->w*255,0,255)); }; + colors->x = defaultcolors.x / 255; + colors->y = defaultcolors.y / 255; + colors->z = defaultcolors.z / 255; + if (has_alpha) { colors->w = defaultcolors.w / 255; }; + CVar_SetS32(Cvar_Red.c_str(), ClampFloatToInt(colors->x * 255, 0, 255)); + CVar_SetS32(Cvar_Green.c_str(), ClampFloatToInt(colors->y * 255, 0, 255)); + CVar_SetS32(Cvar_Blue.c_str(), ClampFloatToInt(colors->z * 255, 0, 255)); + if (has_alpha) { CVar_SetS32(Cvar_Alpha.c_str(), ClampFloatToInt(colors->w * 255, 0, 255)); }; CVar_SetS32(Cvar_RBM.c_str(), 0); //On click disable rainbow mode. needs_save = true; } @@ -658,33 +660,35 @@ namespace SohImGui { LoadPickersColors(ColorRGBA, cvarName, default_colors, has_alpha); ImGuiColorEditFlags flags = ImGuiColorEditFlags_None; - if (!TitleSameLine){ + if (!TitleSameLine) { ImGui::Text("%s", text); flags = ImGuiColorEditFlags_NoLabel; } if (!has_alpha) { - if (ImGui::ColorEdit3(text, (float *)&ColorRGBA, flags)) { - CVar_SetS32(Cvar_Red.c_str(), ClampFloatToInt(ColorRGBA.x*255,0,255)); - CVar_SetS32(Cvar_Green.c_str(), ClampFloatToInt(ColorRGBA.y*255,0,255)); - CVar_SetS32(Cvar_Blue.c_str(), ClampFloatToInt(ColorRGBA.z*255,0,255)); + if (ImGui::ColorEdit3(text, (float*)&ColorRGBA, flags)) { + CVar_SetS32(Cvar_Red.c_str(), ClampFloatToInt(ColorRGBA.x * 255, 0, 255)); + CVar_SetS32(Cvar_Green.c_str(), ClampFloatToInt(ColorRGBA.y * 255, 0, 255)); + CVar_SetS32(Cvar_Blue.c_str(), ClampFloatToInt(ColorRGBA.z * 255, 0, 255)); needs_save = true; } - } else { - if (ImGui::ColorEdit4(text, (float *)&ColorRGBA, flags)) { - CVar_SetS32(Cvar_Red.c_str(), ClampFloatToInt(ColorRGBA.x*255,0,255)); - CVar_SetS32(Cvar_Green.c_str(), ClampFloatToInt(ColorRGBA.y*255,0,255)); - CVar_SetS32(Cvar_Blue.c_str(), ClampFloatToInt(ColorRGBA.z*255,0,255)); - CVar_SetS32(Cvar_Alpha.c_str(), ClampFloatToInt(ColorRGBA.w*255,0,255)); + } + else { + if (ImGui::ColorEdit4(text, (float*)&ColorRGBA, flags)) { + CVar_SetS32(Cvar_Red.c_str(), ClampFloatToInt(ColorRGBA.x * 255, 0, 255)); + CVar_SetS32(Cvar_Green.c_str(), ClampFloatToInt(ColorRGBA.y * 255, 0, 255)); + CVar_SetS32(Cvar_Blue.c_str(), ClampFloatToInt(ColorRGBA.z * 255, 0, 255)); + CVar_SetS32(Cvar_Alpha.c_str(), ClampFloatToInt(ColorRGBA.w * 255, 0, 255)); needs_save = true; } } - ImGui::SameLine(); + //ImGui::SameLine(); // Removing that one to gain some width spacing on the HUD editor + ImGui::NewLine(); ResetColor(cvarName, &ColorRGBA, default_colors, has_alpha); ImGui::SameLine(); RandomizeColor(cvarName, &ColorRGBA); if (allow_rainbow) { - //Not all draw support rainbow, like Navi. + //Not all draw support rainbow, like Navi. ImGui::SameLine(); RainbowColor(cvarName, &ColorRGBA); } @@ -839,9 +843,9 @@ namespace SohImGui { } Tooltip("When Interpolation FPS setting is at least this threshold,\n" - "add one frame of input lag (e.g. 16.6 ms for 60 FPS) in order to avoid jitter.\n" - "This setting allows the CPU to work on one frame while GPU works on the previous frame.\n" - "This setting should be used when your computer is too slow to do CPU + GPU work in time."); + "add one frame of input lag (e.g. 16.6 ms for 60 FPS) in order to avoid jitter.\n" + "This setting allows the CPU to work on one frame while GPU works on the previous frame.\n" + "This setting should be used when your computer is too slow to do CPU + GPU work in time."); } EXPERIMENTAL(); @@ -936,7 +940,7 @@ namespace SohImGui { if (CVar_GetS32("gPauseLiveLink", 0) >= 16) { EnhancementSliderInt("Frame to wait: %d", "##MinFrameCount", "gMinFrameCount", 1, 1000, ""); } - + ImGui::EndMenu(); } EnhancementCheckbox("N64 Mode", "gN64Mode"); @@ -1052,7 +1056,7 @@ namespace SohImGui { EnhancementCheckbox("Interface editor", "gColorsEditor"); Tooltip("Edit the colors used for your own interface"); } - ImGui::EndMenu(); + ImGui::EndMenu(); } if (ImGui::BeginMenu("Cheats")) @@ -1097,7 +1101,7 @@ namespace SohImGui { Tooltip("Enables Debug Mode, allowing you to select maps with L + R + Z, noclip with L + D-pad Right,\nand open the debug menu with L on the pause screen"); EnhancementCheckbox("Fast File Select", "gSkipLogoTitle"); Tooltip("Directly load the game to selected slot bellow\nUse slot number 4 to load directly in Zelda Map Select\n(Do not require debug menu but you will be unable to save there)\n(you can also load Zelda map select with Debug mod + slot 0).\nWith Slot : 0 you can go directly in File Select menu\nAttention, Loading an empty save will result in crash"); - if (CVar_GetS32("gSkipLogoTitle",0)) { + if (CVar_GetS32("gSkipLogoTitle", 0)) { EnhancementSliderInt("Loading %d", "##SaveFileID", "gSaveFileID", 0, 4, ""); } ImGui::Separator(); @@ -1146,35 +1150,35 @@ namespace SohImGui { if (ImGui::BeginTabItem("Navi")) { EnhancementCheckbox("Custom colors for Navi", "gUseNaviCol"); Tooltip("Enable/Disable custom Navi's colors. \nIf disabled you will have original colors for Navi.\nColors are refreshed when Navi goes back in your pockets."); - EnhancementColor("Navi Idle Inner", "gNavi_Idle_Inner_", navi_idle_i_col, ImVec4(255,255,255,255), false); + EnhancementColor("Navi Idle Inner", "gNavi_Idle_Inner_", navi_idle_i_col, ImVec4(255, 255, 255, 255), false); Tooltip("Inner color for Navi (idle flying around)"); - EnhancementColor("Navi Idle Outer", "gNavi_Idle_Outer_", navi_idle_o_col, ImVec4(0,0,255,255), false); + EnhancementColor("Navi Idle Outer", "gNavi_Idle_Outer_", navi_idle_o_col, ImVec4(0, 0, 255, 255), false); Tooltip("Outer color for Navi (idle flying around)"); ImGui::Separator(); - EnhancementColor("Navi NPC Inner", "gNavi_NPC_Inner_", navi_npc_i_col, ImVec4(150,150,255,255), false); + EnhancementColor("Navi NPC Inner", "gNavi_NPC_Inner_", navi_npc_i_col, ImVec4(150, 150, 255, 255), false); Tooltip("Inner color for Navi (when Navi fly around NPCs)"); - EnhancementColor("Navi NPC Outer", "gNavi_NPC_Outer_", navi_npc_o_col, ImVec4(150,150,255,255), false); + EnhancementColor("Navi NPC Outer", "gNavi_NPC_Outer_", navi_npc_o_col, ImVec4(150, 150, 255, 255), false); Tooltip("Outer color for Navi (when Navi fly around NPCs)"); ImGui::Separator(); - EnhancementColor("Navi Enemy Inner", "gNavi_Enemy_Inner_", navi_enemy_i_col, ImVec4(255,255,0,255), false); + EnhancementColor("Navi Enemy Inner", "gNavi_Enemy_Inner_", navi_enemy_i_col, ImVec4(255, 255, 0, 255), false); Tooltip("Inner color for Navi (when Navi fly around Enemies or Bosses)"); - EnhancementColor("Navi Enemy Outer", "gNavi_Enemy_Outer_", navi_enemy_o_col, ImVec4(220,155,0,255), false); + EnhancementColor("Navi Enemy Outer", "gNavi_Enemy_Outer_", navi_enemy_o_col, ImVec4(220, 155, 0, 255), false); Tooltip("Outer color for Navi (when Navi fly around Enemies or Bosses)"); ImGui::Separator(); - EnhancementColor("Navi Prop Inner", "gNavi_Prop_Inner_", navi_prop_i_col, ImVec4(0,255,0,255), false); + EnhancementColor("Navi Prop Inner", "gNavi_Prop_Inner_", navi_prop_i_col, ImVec4(0, 255, 0, 255), false); Tooltip("Inner color for Navi (when Navi fly around props (signs etc))"); - EnhancementColor("Navi Prop Outer", "gNavi_Prop_Outer_", navi_prop_o_col, ImVec4(0,255,0,255), false); + EnhancementColor("Navi Prop Outer", "gNavi_Prop_Outer_", navi_prop_o_col, ImVec4(0, 255, 0, 255), false); Tooltip("Outer color for Navi (when Navi fly around props (signs etc))"); ImGui::EndTabItem(); } if (ImGui::BeginTabItem("Tunics")) { EnhancementCheckbox("Custom colors on tunics", "gUseTunicsCol"); Tooltip("Enable/Disable custom Link's tunics colors. \nIf disabled you will have original colors for Link's tunics."); - EnhancementColor("Kokiri Tunic", "gTunic_Kokiri_", kokiri_col, ImVec4(30,105,27,255)); + EnhancementColor("Kokiri Tunic", "gTunic_Kokiri_", kokiri_col, ImVec4(30, 105, 27, 255)); ImGui::Separator(); - EnhancementColor("Goron Tunic", "gTunic_Goron_", goron_col, ImVec4(100,20,0,255)); + EnhancementColor("Goron Tunic", "gTunic_Goron_", goron_col, ImVec4(100, 20, 0, 255)); ImGui::Separator(); - EnhancementColor("Zora Tunic", "gTunic_Zora_", zora_col, ImVec4(0,60,100,255)); + EnhancementColor("Zora Tunic", "gTunic_Zora_", zora_col, ImVec4(0, 60, 100, 255)); ImGui::EndTabItem(); } ImGui::EndTabBar(); @@ -1189,40 +1193,73 @@ namespace SohImGui { ImGui::SetNextWindowSize(ImVec2(215, 627), ImGuiCond_FirstUseEver); ImGui::Begin("Interface Editor", nullptr, ImGuiWindowFlags_NoFocusOnAppearing); if (ImGui::BeginTabBar("Interface Editor", ImGuiTabBarFlags_NoCloseWithMiddleMouseButton)) { - if (ImGui::BeginTabItem("Hearts")) { - EnhancementColor("Hearts inner", "gCCHeartsPrim", hearts_colors, ImVec4(255,70,50,255)); - Tooltip("Hearts inner color (red in original)\nAffect both Normal Hearts and the ones in Double Defense"); - EnhancementColor("Hearts double def", "gDDCCHeartsPrim", hearts_dd_colors, ImVec4(255,255,255,255)); - Tooltip("Hearts outline color (white in original)\nAffect Double Defense outline only."); - ImGui::EndTabItem(); + if (ImGui::BeginTabItem("HUD")) { + if (ImGui::BeginTable("tableInterfaceEditor", 3, ImGuiTableFlags_BordersH | ImGuiTableFlags_BordersV)) { + ImGui::TableSetupColumn("Hearts", ImGuiTableColumnFlags_WidthStretch, 200.0f); + ImGui::TableSetupColumn("Magic Bar", ImGuiTableColumnFlags_WidthStretch, 200.0f); + ImGui::TableSetupColumn("Buttons", ImGuiTableColumnFlags_WidthStretch, 200.0f); + ImGui::TableHeadersRow(); + ImGui::TableNextRow(); + ImGui::TableNextColumn(); + // COLUMN 1.1 - HEARTS + EnhancementColor("Hearts inner", "gCCHeartsPrim", hearts_colors, ImVec4(255, 70, 50, 255)); + Tooltip("Hearts inner color (red in original)\nAffect both Normal Hearts and the ones in Double Defense"); + ImGui::Separator(); + EnhancementColor("Hearts double def", "gDDCCHeartsPrim", hearts_dd_colors, ImVec4(255, 255, 255, 255)); + Tooltip("Hearts outline color (white in original)\nAffect Double Defense outline only."); + ImGui::Separator(); + if (ImGui::BeginTable("tableMisc", 1, ImGuiTableFlags_BordersH | ImGuiTableFlags_BordersV)) { + ImGui::TableSetupColumn("Misc", ImGuiTableColumnFlags_WidthStretch, 600.0f); + ImGui::TableHeadersRow(); + ImGui::TableNextRow(); + ImGui::TableNextColumn(); + // COLUMN 1.2 - MISC + EnhancementColor("Minimap color", "gCCMinimapPrim", minimap_colors, ImVec4(0, 255, 255, 255)); + Tooltip("Affect the Dungeon and Overworld minimaps."); + ImGui::Separator(); + EnhancementColor("Rupee icon color", "gCCRupeePrim", rupee_colors, ImVec4(120, 120, 120, 255)); + Tooltip("Affect the Rupee icon on interface\nGreen by default."); + ImGui::Separator(); + EnhancementColor("Small Keys icon color", "gCCKeysPrim", smolekey_colors, ImVec4(200, 230, 255, 255)); + Tooltip("Affect the Small keys icon on interface\nGray by default."); + ImGui::Separator(); + ImGui::EndTable(); + } + ImGui::TableNextColumn(); + // COLUMN 2 - MAGIC BAR + EnhancementColor("Magic bar borders", "gCCMagicBorderPrim", magic_border_colors, ImVec4(255, 255, 255, 255)); + Tooltip("Affect the border of the magic bar when being used\nWhite flash in original game."); + ImGui::Separator(); + EnhancementColor("Magic bar main color", "gCCMagicPrim", magic_remaining_colors, ImVec4(0, 200, 0, 255)); + Tooltip("Affect the magic bar color\nGreen in original game."); + ImGui::Separator(); + EnhancementColor("Magic bar being used", "gCCMagicUsePrim", magic_use_colors, ImVec4(250, 250, 0, 255)); + Tooltip("Affect the magic bar when being used\nYellow in original game."); + ImGui::Separator(); + ImGui::TableNextColumn(); + // COLUMN 3 - BUTTON + 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."); + ImGui::Separator(); + 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"); + ImGui::Separator(); + 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"); + ImGui::Separator(); + 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"); + ImGui::Separator(); + + ImGui::EndTable(); + ImGui::EndTabItem(); + } } - 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."); - 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"); - 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"); - ImGui::EndTabItem(); - } - if (ImGui::BeginTabItem("Magic Bar")) { - EnhancementColor("Magic bar borders", "gCCMagicBorderPrim", magic_border_colors, ImVec4(255,255,255,255)); - Tooltip("Affect the border of the magic bar when being used\nWhite flash in original game."); - EnhancementColor("Magic bar main color", "gCCMagicPrim", magic_remaining_colors, ImVec4(0,200,0,255)); - Tooltip("Affect the magic bar color\nGreen in original game."); - EnhancementColor("Magic bar being used", "gCCMagicUsePrim", magic_use_colors, ImVec4(250,250,0,255)); - Tooltip("Affect the magic bar when being used\nYellow in original game."); - ImGui::EndTabItem(); - } - if (ImGui::BeginTabItem("Misc")) { - EnhancementColor("Minimap color", "gCCMinimapPrim", minimap_colors, ImVec4(0,255,255,255)); - Tooltip("Affect the Dungeon and Overworld minimaps."); - EnhancementColor("Rupee icon color", "gCCRupeePrim", rupee_colors, ImVec4(120,120,120,255)); - Tooltip("Affect the Rupee icon on interface\nGreen by default."); - EnhancementColor("Small Keys icon color", "gCCKeysPrim", smolekey_colors, ImVec4(200,230,255,255)); - Tooltip("Affect the Small keys icon on interface\nGray by default."); + + if (ImGui::BeginTabItem("File Choose")) { + EnhancementColor("File Choose color", "gCCFileChoosePrim", fileselect_colors, ImVec4(100, 150, 255, 255)); + Tooltip("Affect the File Select."); + ImGui::Separator(); ImGui::EndTabItem(); } ImGui::EndTabBar();