TWEAK: Forgot to push the sohimgui

This commit is contained in:
PurpleHato 2022-06-11 05:38:10 +02:00 committed by Nicholas Estelami
parent 5dc5c85588
commit e66c4751ea

View File

@ -76,6 +76,7 @@ namespace SohImGui {
ImVec4 minimap_colors; ImVec4 minimap_colors;
ImVec4 rupee_colors; ImVec4 rupee_colors;
ImVec4 smolekey_colors; ImVec4 smolekey_colors;
ImVec4 fileselect_colors;
ImVec4 kokiri_col; ImVec4 kokiri_col;
ImVec4 goron_col; ImVec4 goron_col;
ImVec4 zora_col; ImVec4 zora_col;
@ -89,12 +90,13 @@ namespace SohImGui {
ImVec4 navi_prop_o_col; ImVec4 navi_prop_o_col;
const char* RainbowColorCvarList[] = { const char* RainbowColorCvarList[] = {
//This is the list of possible CVars that has rainbow effect. //This is the list of possible CVars that has rainbow effect.
"gTunic_Kokiri_","gTunic_Goron_","gTunic_Zora_", "gTunic_Kokiri_","gTunic_Goron_","gTunic_Zora_",
"gCCHeartsPrim","gDDCCHeartsPrim", "gCCHeartsPrim","gDDCCHeartsPrim",
"gCCABtnPrim","gCCBBtnPrim","gCCCBtnPrim","gCCStartBtnPrim", "gCCABtnPrim","gCCBBtnPrim","gCCCBtnPrim","gCCStartBtnPrim",
"gCCMagicBorderPrim","gCCMagicPrim","gCCMagicUsePrim", "gCCMagicBorderPrim","gCCMagicPrim","gCCMagicUsePrim",
"gCCMinimapPrim","gCCRupeePrim","gCCKeysPrim" "gCCMinimapPrim","gCCRupeePrim","gCCKeysPrim",
"gCCFileChoosePrim"
}; };
const char* filters[3] = { const char* filters[3] = {
@ -106,8 +108,8 @@ namespace SohImGui {
std::map<std::string, std::vector<std::string>> windowCategories; std::map<std::string, std::vector<std::string>> windowCategories;
std::map<std::string, CustomWindow> customWindows; std::map<std::string, CustomWindow> customWindows;
int ClampFloatToInt(float value, int min, int max){ int ClampFloatToInt(float value, int min, int max) {
return fmin(fmax(value,min),max); return fmin(fmax(value, min), max);
} }
void Tooltip(const char* text) { void Tooltip(const char* text) {
@ -269,8 +271,8 @@ namespace SohImGui {
std::string Cvar_RBM = cvarName; std::string Cvar_RBM = cvarName;
Cvar_RBM += "RBM"; Cvar_RBM += "RBM";
std::string RBM_HUE = cvarName; std::string RBM_HUE = cvarName;
RBM_HUE+="Hue"; RBM_HUE += "Hue";
f32 Canon = 10.f*s; f32 Canon = 10.f * s;
ImVec4 NewColor; ImVec4 NewColor;
const f32 deltaTime = 1.0f / ImGui::GetIO().Framerate; const f32 deltaTime = 1.0f / ImGui::GetIO().Framerate;
f32 hue = CVar_GetFloat(RBM_HUE.c_str(), 0.0f); f32 hue = CVar_GetFloat(RBM_HUE.c_str(), 0.0f);
@ -282,20 +284,20 @@ namespace SohImGui {
u8 i = current_hue / 60 + 1; u8 i = current_hue / 60 + 1;
u8 a = (-current_hue / 60.0f + i) * 255; u8 a = (-current_hue / 60.0f + i) * 255;
u8 b = (current_hue / 60.0f + (1 - i)) * 255; u8 b = (current_hue / 60.0f + (1 - i)) * 255;
switch (i) { switch (i) {
case 1: NewColor.x = 255; NewColor.y = b; NewColor.z = 0; 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 2: NewColor.x = a; NewColor.y = 255; NewColor.z = 0; break;
case 3: NewColor.x = 0; NewColor.y = 255; NewColor.z = b; 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 4: NewColor.x = 0; NewColor.y = a; NewColor.z = 255; break;
case 5: NewColor.x = b; NewColor.y = 0; 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 6: NewColor.x = 255; NewColor.y = 0; NewColor.z = a; break;
} }
if(CVar_GetS32(Cvar_RBM.c_str(), 0) != 0) { if (CVar_GetS32(Cvar_RBM.c_str(), 0) != 0) {
CVar_SetS32(Cvar_Red.c_str(), ClampFloatToInt(NewColor.x,0,255)); 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_Green.c_str(), ClampFloatToInt(NewColor.y, 0, 255));
CVar_SetS32(Cvar_Blue.c_str(), ClampFloatToInt(NewColor.z,0,255)); CVar_SetS32(Cvar_Blue.c_str(), ClampFloatToInt(NewColor.z, 0, 255));
} }
} }
} }
@ -310,11 +312,11 @@ namespace SohImGui {
std::string Cvar_Alpha = cvarname; std::string Cvar_Alpha = cvarname;
Cvar_Alpha += "A"; Cvar_Alpha += "A";
ColorArray.x = (float)CVar_GetS32(Cvar_Red.c_str(), default_colors.x)/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.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.z = (float)CVar_GetS32(Cvar_Blue.c_str(), default_colors.z) / 255;
if (has_alpha) { 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-Right", "assets/ship_of_harkinian/buttons/CRight.png");
LoadTexture("C-Up", "assets/ship_of_harkinian/buttons/CUp.png"); LoadTexture("C-Up", "assets/ship_of_harkinian/buttons/CUp.png");
LoadTexture("C-Down", "assets/ship_of_harkinian/buttons/CDown.png"); LoadTexture("C-Down", "assets/ship_of_harkinian/buttons/CDown.png");
}); });
for (const auto& [i, controllers] : Ship::Window::Controllers) for (const auto& [i, controllers] : Ship::Window::Controllers)
{ {
@ -408,7 +410,7 @@ namespace SohImGui {
ModInternal::RegisterHook<ModInternal::ControllerRead>([](OSContPad* cont_pad) { ModInternal::RegisterHook<ModInternal::ControllerRead>([](OSContPad* cont_pad) {
pads = cont_pad; pads = cont_pad;
}); });
Game::InitSettings(); Game::InitSettings();
} }
@ -471,7 +473,7 @@ namespace SohImGui {
std::string make_invisible = "##"; std::string make_invisible = "##";
make_invisible += text; make_invisible += text;
make_invisible += cvarName; make_invisible += cvarName;
int val = CVar_GetS32(cvarName, 0); int val = CVar_GetS32(cvarName, 0);
if (ImGui::RadioButton(make_invisible.c_str(), id == val)) { if (ImGui::RadioButton(make_invisible.c_str(), id == val)) {
CVar_SetS32(cvarName, id); CVar_SetS32(cvarName, id);
@ -584,17 +586,17 @@ namespace SohImGui {
MakeInvisible += cvarName; MakeInvisible += cvarName;
MakeInvisible += "Random"; MakeInvisible += "Random";
std::string FullName = "Random"; std::string FullName = "Random";
FullName+=MakeInvisible; FullName += MakeInvisible;
if (ImGui::Button(FullName.c_str())) { if (ImGui::Button(FullName.c_str())) {
s16 RND_R = rand() % (255 - 0); s16 RND_R = rand() % (255 - 0);
s16 RND_G = rand() % (255 - 0); s16 RND_G = rand() % (255 - 0);
s16 RND_B = rand() % (255 - 0); s16 RND_B = rand() % (255 - 0);
colors->x = (float)RND_R/255; colors->x = (float)RND_R / 255;
colors->y = (float)RND_G/255; colors->y = (float)RND_G / 255;
colors->z = (float)RND_B/255; colors->z = (float)RND_B / 255;
CVar_SetS32(Cvar_Red.c_str(), ClampFloatToInt(colors->x*255,0,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_Green.c_str(), ClampFloatToInt(colors->y * 255, 0, 255));
CVar_SetS32(Cvar_Blue.c_str(), ClampFloatToInt(colors->z*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. CVar_SetS32(Cvar_RBM.c_str(), 0); //On click disable rainbow mode.
needs_save = true; needs_save = true;
} }
@ -629,14 +631,14 @@ namespace SohImGui {
MakeInvisible += cvarName; MakeInvisible += cvarName;
MakeInvisible += "Reset"; MakeInvisible += "Reset";
if (ImGui::Button(MakeInvisible.c_str())) { if (ImGui::Button(MakeInvisible.c_str())) {
colors->x = defaultcolors.x/255; colors->x = defaultcolors.x / 255;
colors->y = defaultcolors.y/255; colors->y = defaultcolors.y / 255;
colors->z = defaultcolors.z/255; colors->z = defaultcolors.z / 255;
if (has_alpha) { colors->w = defaultcolors.w/255;}; if (has_alpha) { colors->w = defaultcolors.w / 255; };
CVar_SetS32(Cvar_Red.c_str(), ClampFloatToInt(colors->x*255,0,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_Green.c_str(), ClampFloatToInt(colors->y * 255, 0, 255));
CVar_SetS32(Cvar_Blue.c_str(), ClampFloatToInt(colors->z*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)); }; 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. CVar_SetS32(Cvar_RBM.c_str(), 0); //On click disable rainbow mode.
needs_save = true; needs_save = true;
} }
@ -658,33 +660,35 @@ namespace SohImGui {
LoadPickersColors(ColorRGBA, cvarName, default_colors, has_alpha); LoadPickersColors(ColorRGBA, cvarName, default_colors, has_alpha);
ImGuiColorEditFlags flags = ImGuiColorEditFlags_None; ImGuiColorEditFlags flags = ImGuiColorEditFlags_None;
if (!TitleSameLine){ if (!TitleSameLine) {
ImGui::Text("%s", text); ImGui::Text("%s", text);
flags = ImGuiColorEditFlags_NoLabel; flags = ImGuiColorEditFlags_NoLabel;
} }
if (!has_alpha) { if (!has_alpha) {
if (ImGui::ColorEdit3(text, (float *)&ColorRGBA, flags)) { if (ImGui::ColorEdit3(text, (float*)&ColorRGBA, flags)) {
CVar_SetS32(Cvar_Red.c_str(), ClampFloatToInt(ColorRGBA.x*255,0,255)); 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_Green.c_str(), ClampFloatToInt(ColorRGBA.y * 255, 0, 255));
CVar_SetS32(Cvar_Blue.c_str(), ClampFloatToInt(ColorRGBA.z*255,0,255)); CVar_SetS32(Cvar_Blue.c_str(), ClampFloatToInt(ColorRGBA.z * 255, 0, 255));
needs_save = true; needs_save = true;
} }
} else { }
if (ImGui::ColorEdit4(text, (float *)&ColorRGBA, flags)) { else {
CVar_SetS32(Cvar_Red.c_str(), ClampFloatToInt(ColorRGBA.x*255,0,255)); if (ImGui::ColorEdit4(text, (float*)&ColorRGBA, flags)) {
CVar_SetS32(Cvar_Green.c_str(), ClampFloatToInt(ColorRGBA.y*255,0,255)); CVar_SetS32(Cvar_Red.c_str(), ClampFloatToInt(ColorRGBA.x * 255, 0, 255));
CVar_SetS32(Cvar_Blue.c_str(), ClampFloatToInt(ColorRGBA.z*255,0,255)); CVar_SetS32(Cvar_Green.c_str(), ClampFloatToInt(ColorRGBA.y * 255, 0, 255));
CVar_SetS32(Cvar_Alpha.c_str(), ClampFloatToInt(ColorRGBA.w*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; 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); ResetColor(cvarName, &ColorRGBA, default_colors, has_alpha);
ImGui::SameLine(); ImGui::SameLine();
RandomizeColor(cvarName, &ColorRGBA); RandomizeColor(cvarName, &ColorRGBA);
if (allow_rainbow) { if (allow_rainbow) {
//Not all draw support rainbow, like Navi. //Not all draw support rainbow, like Navi.
ImGui::SameLine(); ImGui::SameLine();
RainbowColor(cvarName, &ColorRGBA); RainbowColor(cvarName, &ColorRGBA);
} }
@ -839,9 +843,9 @@ namespace SohImGui {
} }
Tooltip("When Interpolation FPS setting is at least this threshold,\n" 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" "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 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."); "This setting should be used when your computer is too slow to do CPU + GPU work in time.");
} }
EXPERIMENTAL(); EXPERIMENTAL();
@ -936,7 +940,7 @@ namespace SohImGui {
if (CVar_GetS32("gPauseLiveLink", 0) >= 16) { if (CVar_GetS32("gPauseLiveLink", 0) >= 16) {
EnhancementSliderInt("Frame to wait: %d", "##MinFrameCount", "gMinFrameCount", 1, 1000, ""); EnhancementSliderInt("Frame to wait: %d", "##MinFrameCount", "gMinFrameCount", 1, 1000, "");
} }
ImGui::EndMenu(); ImGui::EndMenu();
} }
EnhancementCheckbox("N64 Mode", "gN64Mode"); EnhancementCheckbox("N64 Mode", "gN64Mode");
@ -1052,7 +1056,7 @@ namespace SohImGui {
EnhancementCheckbox("Interface editor", "gColorsEditor"); EnhancementCheckbox("Interface editor", "gColorsEditor");
Tooltip("Edit the colors used for your own interface"); Tooltip("Edit the colors used for your own interface");
} }
ImGui::EndMenu(); ImGui::EndMenu();
} }
if (ImGui::BeginMenu("Cheats")) 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"); 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"); 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"); 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, ""); EnhancementSliderInt("Loading %d", "##SaveFileID", "gSaveFileID", 0, 4, "");
} }
ImGui::Separator(); ImGui::Separator();
@ -1146,35 +1150,35 @@ namespace SohImGui {
if (ImGui::BeginTabItem("Navi")) { if (ImGui::BeginTabItem("Navi")) {
EnhancementCheckbox("Custom colors for Navi", "gUseNaviCol"); 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."); 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)"); 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)"); Tooltip("Outer color for Navi (idle flying around)");
ImGui::Separator(); 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)"); 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)"); Tooltip("Outer color for Navi (when Navi fly around NPCs)");
ImGui::Separator(); 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)"); 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)"); Tooltip("Outer color for Navi (when Navi fly around Enemies or Bosses)");
ImGui::Separator(); 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))"); 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))"); Tooltip("Outer color for Navi (when Navi fly around props (signs etc))");
ImGui::EndTabItem(); ImGui::EndTabItem();
} }
if (ImGui::BeginTabItem("Tunics")) { if (ImGui::BeginTabItem("Tunics")) {
EnhancementCheckbox("Custom colors on tunics", "gUseTunicsCol"); 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."); 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(); 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(); 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::EndTabItem();
} }
ImGui::EndTabBar(); ImGui::EndTabBar();
@ -1189,40 +1193,73 @@ namespace SohImGui {
ImGui::SetNextWindowSize(ImVec2(215, 627), ImGuiCond_FirstUseEver); ImGui::SetNextWindowSize(ImVec2(215, 627), ImGuiCond_FirstUseEver);
ImGui::Begin("Interface Editor", nullptr, ImGuiWindowFlags_NoFocusOnAppearing); ImGui::Begin("Interface Editor", nullptr, ImGuiWindowFlags_NoFocusOnAppearing);
if (ImGui::BeginTabBar("Interface Editor", ImGuiTabBarFlags_NoCloseWithMiddleMouseButton)) { if (ImGui::BeginTabBar("Interface Editor", ImGuiTabBarFlags_NoCloseWithMiddleMouseButton)) {
if (ImGui::BeginTabItem("Hearts")) { if (ImGui::BeginTabItem("HUD")) {
EnhancementColor("Hearts inner", "gCCHeartsPrim", hearts_colors, ImVec4(255,70,50,255)); if (ImGui::BeginTable("tableInterfaceEditor", 3, ImGuiTableFlags_BordersH | ImGuiTableFlags_BordersV)) {
Tooltip("Hearts inner color (red in original)\nAffect both Normal Hearts and the ones in Double Defense"); ImGui::TableSetupColumn("Hearts", ImGuiTableColumnFlags_WidthStretch, 200.0f);
EnhancementColor("Hearts double def", "gDDCCHeartsPrim", hearts_dd_colors, ImVec4(255,255,255,255)); ImGui::TableSetupColumn("Magic Bar", ImGuiTableColumnFlags_WidthStretch, 200.0f);
Tooltip("Hearts outline color (white in original)\nAffect Double Defense outline only."); ImGui::TableSetupColumn("Buttons", ImGuiTableColumnFlags_WidthStretch, 200.0f);
ImGui::EndTabItem(); 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)); if (ImGui::BeginTabItem("File Choose")) {
Tooltip("A Buttons colors (Green in original GameCube)\nAffect A buttons colors on interface, in shops, messages boxes, ocarina notes and inventory cursors."); EnhancementColor("File Choose color", "gCCFileChoosePrim", fileselect_colors, ImVec4(100, 150, 255, 255));
EnhancementColor("B Buttons", "gCCBBtnPrim", b_btn_colors, ImVec4(0,150,0,255)); Tooltip("Affect the File Select.");
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");
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.");
ImGui::EndTabItem(); ImGui::EndTabItem();
} }
ImGui::EndTabBar(); ImGui::EndTabBar();