feat: wrap hardcoded strings in LanguageManager::GetString() for randomizer trackers

- randomizer_item_tracker.cpp: ~60 strings (CVarCheckbox, CVarCombobox, CVarSliderInt, widget names, tooltips, item names)
- randomizer_check_tracker.cpp: ~35 strings (CVarCheckbox, CVarCombobox, CVarSliderFloat, widget names, tooltips)
- randomizer_entrance_tracker.cpp: ~300 strings (CVarCheckbox, CVarCombobox, CVarRadioButton, entrance source/destination names, group names, tooltips)
- Plandomizer.cpp: ~50 strings (ImGui buttons, separator text, tab items, area names, tooltips)
This commit is contained in:
2026-04-04 23:52:32 -06:00
parent 5656d48efe
commit e358f07f92
4 changed files with 175 additions and 175 deletions

View File

@@ -536,21 +536,21 @@ void PlandomizerSaveSpoilerLog() {
spoilerSave["file_hash"] = { plandoHash[0], plandoHash[1], plandoHash[2], plandoHash[3], plandoHash[4] }; spoilerSave["file_hash"] = { plandoHash[0], plandoHash[1], plandoHash[2], plandoHash[3], plandoHash[4] };
for (auto& import : plandoHintData) { for (auto& import : plandoHintData) {
spoilerSave["Gossip Stone Hints"][import.hintName] = { { "type", import.hintType.c_str() }, spoilerSave["Gossip Stone Hints"][import.hintName] = { { LanguageManager::Instance().GetString("type").c_str(), import.hintType.c_str() },
{ "message", import.hintText.c_str() } }; { LanguageManager::Instance().GetString("message").c_str(), import.hintText.c_str() } };
} }
for (auto& import : plandoLogData) { for (auto& import : plandoLogData) {
if (import.checkRewardItem.GetRandomizerGet() == RG_ICE_TRAP) { if (import.checkRewardItem.GetRandomizerGet() == RG_ICE_TRAP) {
spoilerSave["locations"][import.checkName] = { { "item", import.checkRewardItem.GetName().english }, spoilerSave["locations"][import.checkName] = { { LanguageManager::Instance().GetString("item").c_str(), import.checkRewardItem.GetName().english },
{ "model", import.iceTrapModel.GetName().english }, { LanguageManager::Instance().GetString("model").c_str(), import.iceTrapModel.GetName().english },
{ "trickName", import.iceTrapName.c_str() } }; { LanguageManager::Instance().GetString("trickName").c_str(), import.iceTrapName.c_str() } };
if (import.shopPrice > -1) { if (import.shopPrice > -1) {
spoilerSave["locations"][import.checkName]["price"] = import.shopPrice; spoilerSave["locations"][import.checkName]["price"] = import.shopPrice;
} }
} else if (import.shopPrice > -1) { } else if (import.shopPrice > -1) {
spoilerSave["locations"][import.checkName] = { { "item", import.checkRewardItem.GetName().english }, spoilerSave["locations"][import.checkName] = { { LanguageManager::Instance().GetString("item").c_str(), import.checkRewardItem.GetName().english },
{ "price", import.shopPrice } }; { LanguageManager::Instance().GetString("price").c_str(), import.shopPrice } };
} else { } else {
spoilerSave["locations"][import.checkName] = import.checkRewardItem.GetName().english; spoilerSave["locations"][import.checkName] = import.checkRewardItem.GetName().english;
} }
@@ -687,7 +687,7 @@ void PlandomizerOverlayText(std::pair<Rando::Item, uint32_t> drawObject) {
textPos = ImVec2(imageMin.x + 2, imageMin.y + 2); textPos = ImVec2(imageMin.x + 2, imageMin.y + 2);
ImGui::SetCursorScreenPos(textPos); ImGui::SetCursorScreenPos(textPos);
ImGui::Text("+"); ImGui::Text(LanguageManager::Instance().GetString("+").c_str());
} }
if (extractNumberInParentheses(drawObject.first.GetName().english.c_str()) != "" && if (extractNumberInParentheses(drawObject.first.GetName().english.c_str()) != "" &&
extractNumberInParentheses(drawObject.first.GetName().english.c_str()) != "WINNER" && extractNumberInParentheses(drawObject.first.GetName().english.c_str()) != "WINNER" &&
@@ -728,7 +728,7 @@ void PlandomizerOverlayText(std::pair<Rando::Item, uint32_t> drawObject) {
} }
void PlandomizerDrawItemPopup(uint32_t index) { void PlandomizerDrawItemPopup(uint32_t index) {
if (shouldPopup && ImGui::BeginPopup("ItemList")) { if (shouldPopup && ImGui::BeginPopup(LanguageManager::Instance().GetString("ItemList").c_str())) {
PlandoPushImageButtonStyle(); PlandoPushImageButtonStyle();
ImGui::SeparatorText(LanguageManager::Instance().GetString("Resources").c_str()); ImGui::SeparatorText(LanguageManager::Instance().GetString("Resources").c_str());
ImGui::BeginTable("Infinite Item Table", 7); ImGui::BeginTable("Infinite Item Table", 7);
@@ -806,7 +806,7 @@ void PlandomizerDrawItemPopup(uint32_t index) {
} }
void PlandomizerDrawIceTrapPopUp(uint32_t index) { void PlandomizerDrawIceTrapPopUp(uint32_t index) {
if (shouldTrapPopup && ImGui::BeginPopup("TrapList")) { if (shouldTrapPopup && ImGui::BeginPopup(LanguageManager::Instance().GetString("TrapList").c_str())) {
ImGui::BeginTable("Ice Trap Table", 8); ImGui::BeginTable("Ice Trap Table", 8);
PlandoPushImageButtonStyle(); PlandoPushImageButtonStyle();
for (auto& items : itemImageMap) { for (auto& items : itemImageMap) {
@@ -864,7 +864,7 @@ void PlandomizerDrawShopSlider(uint32_t index) {
UIWidgets::SliderInt("Price:", &plandoLogData[index].shopPrice, UIWidgets::SliderInt("Price:", &plandoLogData[index].shopPrice,
UIWidgets::IntSliderOptions() UIWidgets::IntSliderOptions()
.Color(THEME_COLOR) .Color(THEME_COLOR)
.Format("%d Rupees") .Format(LanguageManager::Instance().GetString("%d Rupees").c_str())
.Min(0) .Min(0)
.Max(999) .Max(999)
.LabelPosition(UIWidgets::LabelPositions::Near) .LabelPosition(UIWidgets::LabelPositions::Near)
@@ -996,7 +996,7 @@ void PlandomizerDrawOptions() {
if (spoilerLogData.size() > 0) { if (spoilerLogData.size() > 0) {
if (ImGui::BeginTable("HashIcons", 5)) { if (ImGui::BeginTable("HashIcons", 5)) {
for (int i = 0; i < 5; i++) { for (int i = 0; i < 5; i++) {
ImGui::TableSetupColumn("Icon", ImGuiTableColumnFlags_WidthFixed, 34.0f); ImGui::TableSetupColumn(LanguageManager::Instance().GetString("Icon").c_str(), ImGuiTableColumnFlags_WidthFixed, 34.0f);
} }
ImGui::TableNextColumn(); ImGui::TableNextColumn();
@@ -1086,7 +1086,7 @@ void PlandomizerDrawOptions() {
} }
ImGui::SameLine(); ImGui::SameLine();
ImGui::SetNextItemWidth(150); ImGui::SetNextItemWidth(150);
if (ImGui::InputText("##ItemSearch", itemFilterSearch, sizeof(itemFilterSearch), ImGuiInputTextFlags_EnterReturnsTrue)) { if (ImGui::InputText(LanguageManager::Instance().GetString("##ItemSearch").c_str(), itemFilterSearch, sizeof(itemFilterSearch), ImGuiInputTextFlags_EnterReturnsTrue)) {
if (strlen(itemFilterSearch) > 0) { if (strlen(itemFilterSearch) > 0) {
for (int i = 0; i < (int32_t)itemFilterNames.size(); i++) { for (int i = 0; i < (int32_t)itemFilterNames.size(); i++) {
std::string lowerSearch = itemFilterSearch; std::string lowerSearch = itemFilterSearch;
@@ -1108,7 +1108,7 @@ void PlandomizerDrawOptions() {
.Color(THEME_COLOR) .Color(THEME_COLOR)
.Size(UIWidgets::Sizes::Inline) .Size(UIWidgets::Sizes::Inline)
.Padding(ImVec2(8.f, 6.f)) .Padding(ImVec2(8.f, 6.f))
.Tooltip("Sort items A-Z"))) { .Tooltip(LanguageManager::Instance().GetString("Sort items A-Z").c_str()))) {
std::vector<std::pair<std::string, RandomizerGet>> sorted; std::vector<std::pair<std::string, RandomizerGet>> sorted;
for (size_t i = 1; i < itemFilterNames.size(); i++) { for (size_t i = 1; i < itemFilterNames.size(); i++) {
sorted.push_back({ itemFilterNames[i], itemFilterList[i] }); sorted.push_back({ itemFilterNames[i], itemFilterList[i] });
@@ -1148,7 +1148,7 @@ void PlandomizerDrawHintsWindow() {
uint32_t index = 0; uint32_t index = 0;
std::string hintInputText; std::string hintInputText;
ImGui::BeginChild("Hints"); ImGui::BeginChild(LanguageManager::Instance().GetString("Hints").c_str());
if (ImGui::BeginTable("Hints Window", 1, ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_ScrollY)) { if (ImGui::BeginTable("Hints Window", 1, ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_ScrollY)) {
ImGui::TableSetupColumn(LanguageManager::Instance().GetString("Hint Entries").c_str()); ImGui::TableSetupColumn(LanguageManager::Instance().GetString("Hint Entries").c_str());
ImGui::TableSetupScrollFreeze(0, 1); ImGui::TableSetupScrollFreeze(0, 1);
@@ -1171,7 +1171,7 @@ void PlandomizerDrawHintsWindow() {
.Color(THEME_COLOR) .Color(THEME_COLOR)
.Padding(ImVec2(10.f, 6.f)) .Padding(ImVec2(10.f, 6.f))
.Size(UIWidgets::Sizes::Inline) .Size(UIWidgets::Sizes::Inline)
.Tooltip("Randomize Hint"))) { .Tooltip(LanguageManager::Instance().GetString("Randomize Hint").c_str()))) {
PlandomizerRandomizeHint(HINT_SINGLE, index); PlandomizerRandomizeHint(HINT_SINGLE, index);
} }
ImGui::SameLine(); ImGui::SameLine();
@@ -1194,7 +1194,7 @@ void PlandomizerDrawHintsWindow() {
void PlandomizerDrawLocationsWindow(RandomizerCheckArea rcArea) { void PlandomizerDrawLocationsWindow(RandomizerCheckArea rcArea) {
uint32_t index = 0; uint32_t index = 0;
ImGui::BeginChild("Locations"); ImGui::BeginChild(LanguageManager::Instance().GetString("Locations").c_str());
if (ImGui::BeginTable("Locations Window", 4, ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_ScrollY)) { if (ImGui::BeginTable("Locations Window", 4, ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_ScrollY)) {
ImGui::TableSetupColumn(LanguageManager::Instance().GetString("Spoiler Log Check Name").c_str(), ImGuiTableColumnFlags_WidthFixed, 250.0f); ImGui::TableSetupColumn(LanguageManager::Instance().GetString("Spoiler Log Check Name").c_str(), ImGuiTableColumnFlags_WidthFixed, 250.0f);
ImGui::TableSetupColumn(LanguageManager::Instance().GetString("Spoiler Log Reward").c_str(), ImGuiTableColumnFlags_WidthFixed, 190.0f); ImGui::TableSetupColumn(LanguageManager::Instance().GetString("Spoiler Log Reward").c_str(), ImGuiTableColumnFlags_WidthFixed, 190.0f);
@@ -1243,7 +1243,7 @@ void PlandomizerDrawLocationsWindow(RandomizerCheckArea rcArea) {
} }
void PlandomizerDrawSpoilerTable() { void PlandomizerDrawSpoilerTable() {
ImGui::BeginChild("Main"); ImGui::BeginChild(LanguageManager::Instance().GetString("Main").c_str());
UIWidgets::PushStyleTabs(THEME_COLOR); UIWidgets::PushStyleTabs(THEME_COLOR);
if (ImGui::BeginTabBar("Check Tabs")) { if (ImGui::BeginTabBar("Check Tabs")) {
if (ImGui::BeginTabItem(LanguageManager::Instance().GetString("Gossip Stones").c_str())) { if (ImGui::BeginTabItem(LanguageManager::Instance().GetString("Gossip Stones").c_str())) {

View File

@@ -1038,7 +1038,7 @@ void CheckTrackerWindow::DrawElement() {
#else #else
float headerHeight = 20.0f; float headerHeight = 20.0f;
#endif #endif
if (!ImGui::BeginTable("Check Tracker", 1, 0)) { if (!ImGui::BeginTable(LanguageManager::Instance().GetString("Check Tracker").c_str(), 1, 0)) {
Trackers::EndFloatWindows(); Trackers::EndFloatWindows();
return; return;
} }
@@ -1122,7 +1122,7 @@ void CheckTrackerWindow::DrawElement() {
// Checks Section Lead-in // Checks Section Lead-in
ImGui::TableNextRow(); ImGui::TableNextRow();
ImGui::TableNextColumn(); ImGui::TableNextColumn();
if (!ImGui::BeginTable("CheckTracker##Checks", 1, ImGuiTableFlags_ScrollY)) { if (!ImGui::BeginTable(LanguageManager::Instance().GetString("CheckTracker##Checks").c_str(), 1, ImGuiTableFlags_ScrollY)) {
ImGui::EndTable(); ImGui::EndTable();
Trackers::EndFloatWindows(); Trackers::EndFloatWindows();
return; return;
@@ -2117,7 +2117,7 @@ void CheckTrackerWindow::Draw() {
void CheckTrackerSettingsWindow::DrawElement() { void CheckTrackerSettingsWindow::DrawElement() {
ImGui::PushStyleVar(ImGuiStyleVar_CellPadding, { 8.0f, 8.0f }); ImGui::PushStyleVar(ImGuiStyleVar_CellPadding, { 8.0f, 8.0f });
if (ImGui::BeginTable("CheckTrackerSettingsTable", 2, ImGuiTableFlags_BordersH | ImGuiTableFlags_BordersV)) { if (ImGui::BeginTable(LanguageManager::Instance().GetString("CheckTrackerSettingsTable").c_str(), 2, ImGuiTableFlags_BordersH | ImGuiTableFlags_BordersV)) {
ImGui::TableSetupColumn(LanguageManager::Instance().GetString("General settings").c_str(), ImGuiTableColumnFlags_WidthStretch, 200.0f); ImGui::TableSetupColumn(LanguageManager::Instance().GetString("General settings").c_str(), ImGuiTableColumnFlags_WidthStretch, 200.0f);
ImGui::TableSetupColumn(LanguageManager::Instance().GetString("Section settings").c_str(), ImGuiTableColumnFlags_WidthStretch, 200.0f); ImGui::TableSetupColumn(LanguageManager::Instance().GetString("Section settings").c_str(), ImGuiTableColumnFlags_WidthStretch, 200.0f);
ImGui::TableHeadersRow(); ImGui::TableHeadersRow();
@@ -2127,9 +2127,9 @@ void CheckTrackerSettingsWindow::DrawElement() {
SohGui::GetSohMenu()->MenuDrawItem(windowTypeWidget, ImGui::GetContentRegionAvail().x, THEME_COLOR); SohGui::GetSohMenu()->MenuDrawItem(windowTypeWidget, ImGui::GetContentRegionAvail().x, THEME_COLOR);
UIWidgets::CVarSliderFloat("Font Size", CVAR_TRACKER_CHECK("FontSize"), UIWidgets::CVarSliderFloat(LanguageManager::Instance().GetString("Font Size").c_str(), CVAR_TRACKER_CHECK("FontSize"),
UIWidgets::FloatSliderOptions() UIWidgets::FloatSliderOptions()
.Tooltip("Sets the font size used in the check tracker.") .Tooltip(LanguageManager::Instance().GetString("Sets the font size used in the check tracker.").c_str())
.Format("%.1f") .Format("%.1f")
.Step(0.1f) .Step(0.1f)
.Min(0.3f) .Min(0.3f)
@@ -2138,11 +2138,11 @@ void CheckTrackerSettingsWindow::DrawElement() {
.DefaultValue(1.0f)); .DefaultValue(1.0f));
if (CVarGetInteger(CVAR_TRACKER_CHECK("WindowType"), TRACKER_WINDOW_WINDOW) == TRACKER_WINDOW_FLOATING) { if (CVarGetInteger(CVAR_TRACKER_CHECK("WindowType"), TRACKER_WINDOW_WINDOW) == TRACKER_WINDOW_FLOATING) {
UIWidgets::CVarCheckbox("Enable Dragging", CVAR_TRACKER_CHECK("Draggable"), UIWidgets::CVarCheckbox(LanguageManager::Instance().GetString("Enable Dragging").c_str(), CVAR_TRACKER_CHECK("Draggable"),
UIWidgets::CheckboxOptions().Color(THEME_COLOR)); UIWidgets::CheckboxOptions().Color(THEME_COLOR));
UIWidgets::CVarCheckbox("Only Enable While Paused", CVAR_TRACKER_CHECK("ShowOnlyPaused"), UIWidgets::CVarCheckbox(LanguageManager::Instance().GetString("Only Enable While Paused").c_str(), CVAR_TRACKER_CHECK("ShowOnlyPaused"),
UIWidgets::CheckboxOptions().Color(THEME_COLOR)); UIWidgets::CheckboxOptions().Color(THEME_COLOR));
UIWidgets::CVarCombobox("Display Mode", CVAR_TRACKER_CHECK("DisplayType"), showMode, UIWidgets::CVarCombobox(LanguageManager::Instance().GetString("Display Mode").c_str(), CVAR_TRACKER_CHECK("DisplayType"), showMode,
UIWidgets::ComboboxOptions() UIWidgets::ComboboxOptions()
.LabelPosition(UIWidgets::LabelPositions::Far) .LabelPosition(UIWidgets::LabelPositions::Far)
.ComponentAlignment(UIWidgets::ComponentAlignments::Right) .ComponentAlignment(UIWidgets::ComponentAlignments::Right)
@@ -2150,13 +2150,13 @@ void CheckTrackerSettingsWindow::DrawElement() {
.DefaultIndex(0)); .DefaultIndex(0));
if (CVarGetInteger(CVAR_TRACKER_CHECK("DisplayType"), TRACKER_DISPLAY_ALWAYS) == if (CVarGetInteger(CVAR_TRACKER_CHECK("DisplayType"), TRACKER_DISPLAY_ALWAYS) ==
TRACKER_DISPLAY_COMBO_BUTTON) { TRACKER_DISPLAY_COMBO_BUTTON) {
UIWidgets::CVarCombobox("Combo Button 1", CVAR_TRACKER_CHECK("ComboButton1"), buttonStrings, UIWidgets::CVarCombobox(LanguageManager::Instance().GetString("Combo Button 1").c_str(), CVAR_TRACKER_CHECK("ComboButton1"), buttonStrings,
UIWidgets::ComboboxOptions() UIWidgets::ComboboxOptions()
.LabelPosition(UIWidgets::LabelPositions::Far) .LabelPosition(UIWidgets::LabelPositions::Far)
.ComponentAlignment(UIWidgets::ComponentAlignments::Right) .ComponentAlignment(UIWidgets::ComponentAlignments::Right)
.Color(THEME_COLOR) .Color(THEME_COLOR)
.DefaultIndex(TRACKER_COMBO_BUTTON_L)); .DefaultIndex(TRACKER_COMBO_BUTTON_L));
UIWidgets::CVarCombobox("Combo Button 2", CVAR_TRACKER_CHECK("ComboButton2"), buttonStrings, UIWidgets::CVarCombobox(LanguageManager::Instance().GetString("Combo Button 2").c_str(), CVAR_TRACKER_CHECK("ComboButton2"), buttonStrings,
UIWidgets::ComboboxOptions() UIWidgets::ComboboxOptions()
.LabelPosition(UIWidgets::LabelPositions::Far) .LabelPosition(UIWidgets::LabelPositions::Far)
.ComponentAlignment(UIWidgets::ComponentAlignments::Right) .ComponentAlignment(UIWidgets::ComponentAlignments::Right)
@@ -2182,20 +2182,20 @@ void CheckTrackerSettingsWindow::DrawElement() {
UIWidgets::CVarCheckbox( UIWidgets::CVarCheckbox(
"Filter Empty Areas", CVAR_TRACKER_CHECK("HideFilteredAreas"), "Filter Empty Areas", CVAR_TRACKER_CHECK("HideFilteredAreas"),
UIWidgets::CheckboxOptions() UIWidgets::CheckboxOptions()
.Tooltip("If enabled, will hide area headers that have no locations matching filter") .Tooltip(LanguageManager::Instance().GetString("If enabled, will hide area headers that have no locations matching filter").c_str())
.Color(THEME_COLOR) .Color(THEME_COLOR)
.DefaultValue(true)); .DefaultValue(true));
ImGui::SeparatorText(LanguageManager::Instance().GetString("Tracker Header Visibility").c_str()); ImGui::SeparatorText(LanguageManager::Instance().GetString("Tracker Header Visibility").c_str());
UIWidgets::CVarCheckbox("Hidden Items Toggle", CVAR_TRACKER_CHECK("HiddenItemsToggleVisible"), UIWidgets::CVarCheckbox(LanguageManager::Instance().GetString("Hidden Items Toggle").c_str(), CVAR_TRACKER_CHECK("HiddenItemsToggleVisible"),
UIWidgets::CheckboxOptions().Color(THEME_COLOR).DefaultValue(true)); UIWidgets::CheckboxOptions().Color(THEME_COLOR).DefaultValue(true));
UIWidgets::CVarCheckbox("Available Checks Toggle", CVAR_TRACKER_CHECK("AvailableChecksToggleVisible"), UIWidgets::CVarCheckbox(LanguageManager::Instance().GetString("Available Checks Toggle").c_str(), CVAR_TRACKER_CHECK("AvailableChecksToggleVisible"),
UIWidgets::CheckboxOptions().Color(THEME_COLOR).DefaultValue(true)); UIWidgets::CheckboxOptions().Color(THEME_COLOR).DefaultValue(true));
UIWidgets::CVarCheckbox("Expand/Collapse Buttons", CVAR_TRACKER_CHECK("ExpandCollapseButtonsVisible"), UIWidgets::CVarCheckbox(LanguageManager::Instance().GetString("Expand/Collapse Buttons").c_str(), CVAR_TRACKER_CHECK("ExpandCollapseButtonsVisible"),
UIWidgets::CheckboxOptions().Color(THEME_COLOR).DefaultValue(false)); UIWidgets::CheckboxOptions().Color(THEME_COLOR).DefaultValue(false));
UIWidgets::CVarCheckbox("Search Input", CVAR_TRACKER_CHECK("SearchInputVisible"), UIWidgets::CVarCheckbox(LanguageManager::Instance().GetString("Search Input").c_str(), CVAR_TRACKER_CHECK("SearchInputVisible"),
UIWidgets::CheckboxOptions().Color(THEME_COLOR).DefaultValue(true)); UIWidgets::CheckboxOptions().Color(THEME_COLOR).DefaultValue(true));
UIWidgets::CVarCheckbox("Check Totals", CVAR_TRACKER_CHECK("CheckTotalsVisible"), UIWidgets::CVarCheckbox(LanguageManager::Instance().GetString("Check Totals").c_str(), CVAR_TRACKER_CHECK("CheckTotalsVisible"),
UIWidgets::CheckboxOptions().Color(THEME_COLOR).DefaultValue(true)); UIWidgets::CheckboxOptions().Color(THEME_COLOR).DefaultValue(true));
ImGui::TableNextColumn(); ImGui::TableNextColumn();
@@ -2265,13 +2265,13 @@ void CheckTrackerWindow::UpdateElement() {
} }
void RegisterCheckTrackerWidgets() { void RegisterCheckTrackerWidgets() {
backgroundColorWidget = { .name = "Background Color##CheckTracker", .type = WidgetType::WIDGET_CVAR_COLOR_PICKER }; backgroundColorWidget = { .name = LanguageManager::Instance().GetString("Background Color##CheckTracker"), .type = WidgetType::WIDGET_CVAR_COLOR_PICKER };
backgroundColorWidget.CVar(CVAR_TRACKER_CHECK("BgColor")) backgroundColorWidget.CVar(CVAR_TRACKER_CHECK("BgColor"))
.Options( .Options(
ColorPickerOptions().Color(THEME_COLOR).DefaultValue(Color_Bg_Default).UseAlpha().ShowReset().ShowRandom()); ColorPickerOptions().Color(THEME_COLOR).DefaultValue(Color_Bg_Default).UseAlpha().ShowReset().ShowRandom());
SohGui::GetSohMenu()->AddSearchWidget({ backgroundColorWidget, "Randomizer", "Check Tracker", "General Settings" }); SohGui::GetSohMenu()->AddSearchWidget({ backgroundColorWidget, "Randomizer", "Check Tracker", "General Settings" });
windowTypeWidget = { .name = "Window Type##CheckTracker", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; windowTypeWidget = { .name = LanguageManager::Instance().GetString("Window Type##CheckTracker"), .type = WidgetType::WIDGET_CVAR_COMBOBOX };
windowTypeWidget.CVar(CVAR_TRACKER_CHECK("WindowType")) windowTypeWidget.CVar(CVAR_TRACKER_CHECK("WindowType"))
.Options(ComboboxOptions() .Options(ComboboxOptions()
.DefaultIndex(TRACKER_WINDOW_WINDOW) .DefaultIndex(TRACKER_WINDOW_WINDOW)
@@ -2281,7 +2281,7 @@ void RegisterCheckTrackerWidgets() {
.ComboMap(windowType)); .ComboMap(windowType));
SohGui::GetSohMenu()->AddSearchWidget({ windowTypeWidget, "Randomizer", "Check Tracker", "General Settings" }); SohGui::GetSohMenu()->AddSearchWidget({ windowTypeWidget, "Randomizer", "Check Tracker", "General Settings" });
dungeonSpoilerWidget = { .name = "Vanilla/MQ Dungeon Spoilers", .type = WidgetType::WIDGET_CVAR_CHECKBOX }; dungeonSpoilerWidget = { .name = LanguageManager::Instance().GetString("Vanilla/MQ Dungeon Spoilers"), .type = WidgetType::WIDGET_CVAR_CHECKBOX };
dungeonSpoilerWidget.CVar(CVAR_TRACKER_CHECK("MQSpoilers")) dungeonSpoilerWidget.CVar(CVAR_TRACKER_CHECK("MQSpoilers"))
.Options(CheckboxOptions() .Options(CheckboxOptions()
.Color(THEME_COLOR) .Color(THEME_COLOR)
@@ -2289,12 +2289,12 @@ void RegisterCheckTrackerWidgets() {
"Otherwise, Vanilla/MQ dungeon locations must be unlocked.")); "Otherwise, Vanilla/MQ dungeon locations must be unlocked."));
SohGui::GetSohMenu()->AddSearchWidget({ dungeonSpoilerWidget, "Randomizer", "Check Tracker", "General Settings" }); SohGui::GetSohMenu()->AddSearchWidget({ dungeonSpoilerWidget, "Randomizer", "Check Tracker", "General Settings" });
hideUnshuffledShopWidget = { .name = "Hide Unshuffled Shop Item Checks", .type = WidgetType::WIDGET_CVAR_CHECKBOX }; hideUnshuffledShopWidget = { .name = LanguageManager::Instance().GetString("Hide Unshuffled Shop Item Checks"), .type = WidgetType::WIDGET_CVAR_CHECKBOX };
hideUnshuffledShopWidget.CVar(CVAR_TRACKER_CHECK("HideUnshuffledShopChecks")) hideUnshuffledShopWidget.CVar(CVAR_TRACKER_CHECK("HideUnshuffledShopChecks"))
.Options( .Options(
CheckboxOptions() CheckboxOptions()
.Color(THEME_COLOR) .Color(THEME_COLOR)
.Tooltip("If enabled, will prevent the tracker from displaying slots with non-shop-item shuffles.")) .Tooltip(LanguageManager::Instance().GetString("If enabled, will prevent the tracker from displaying slots with non-shop-item shuffles.").c_str()))
.Callback([&](WidgetInfo& info) { .Callback([&](WidgetInfo& info) {
hideShopUnshuffledChecks = CVarGetInteger(CVAR_TRACKER_CHECK("HideUnshuffledShopChecks"), 0); hideShopUnshuffledChecks = CVarGetInteger(CVAR_TRACKER_CHECK("HideUnshuffledShopChecks"), 0);
UpdateFilters(); UpdateFilters();
@@ -2302,25 +2302,25 @@ void RegisterCheckTrackerWidgets() {
SohGui::GetSohMenu()->AddSearchWidget( SohGui::GetSohMenu()->AddSearchWidget(
{ hideUnshuffledShopWidget, "Randomizer", "Check Tracker", "General Settings" }); { hideUnshuffledShopWidget, "Randomizer", "Check Tracker", "General Settings" });
showGSWidget = { .name = "Always Show Gold Skulltulas", .type = WidgetType::WIDGET_CVAR_CHECKBOX }; showGSWidget = { .name = LanguageManager::Instance().GetString("Always Show Gold Skulltulas"), .type = WidgetType::WIDGET_CVAR_CHECKBOX };
showGSWidget.CVar(CVAR_TRACKER_CHECK("AlwaysShowGSLocs")) showGSWidget.CVar(CVAR_TRACKER_CHECK("AlwaysShowGSLocs"))
.Options(CheckboxOptions() .Options(CheckboxOptions()
.Color(THEME_COLOR) .Color(THEME_COLOR)
.Tooltip("If enabled, will show GS locations in the tracker regardless of tokensanity settings.")) .Tooltip(LanguageManager::Instance().GetString("If enabled, will show GS locations in the tracker regardless of tokensanity settings.").c_str()))
.Callback([&](WidgetInfo& info) { .Callback([&](WidgetInfo& info) {
alwaysShowGS = !alwaysShowGS; alwaysShowGS = !alwaysShowGS;
UpdateFilters(); UpdateFilters();
}); });
SohGui::GetSohMenu()->AddSearchWidget({ showGSWidget, "Randomizer", "Check Tracker", "General Settings" }); SohGui::GetSohMenu()->AddSearchWidget({ showGSWidget, "Randomizer", "Check Tracker", "General Settings" });
showLogicWidget = { .name = "Show Logic", .type = WidgetType::WIDGET_CVAR_CHECKBOX }; showLogicWidget = { .name = LanguageManager::Instance().GetString("Show Logic"), .type = WidgetType::WIDGET_CVAR_CHECKBOX };
showLogicWidget.CVar(CVAR_TRACKER_CHECK("ShowLogic")) showLogicWidget.CVar(CVAR_TRACKER_CHECK("ShowLogic"))
.Options(CheckboxOptions() .Options(CheckboxOptions()
.Color(THEME_COLOR) .Color(THEME_COLOR)
.Tooltip("If enabled, will show a check's logic when hovering over it.")); .Tooltip(LanguageManager::Instance().GetString("If enabled, will show a check's logic when hovering over it.").c_str()));
SohGui::GetSohMenu()->AddSearchWidget({ showLogicWidget, "Randomizer", "Check Tracker", "General Settings" }); SohGui::GetSohMenu()->AddSearchWidget({ showLogicWidget, "Randomizer", "Check Tracker", "General Settings" });
checkAvailabilityWidget = { .name = "Enable Available Checks", .type = WidgetType::WIDGET_CVAR_CHECKBOX }; checkAvailabilityWidget = { .name = LanguageManager::Instance().GetString("Enable Available Checks"), .type = WidgetType::WIDGET_CVAR_CHECKBOX };
checkAvailabilityWidget.CVar(CVAR_TRACKER_CHECK("EnableAvailableChecks")) checkAvailabilityWidget.CVar(CVAR_TRACKER_CHECK("EnableAvailableChecks"))
.Options(CheckboxOptions() .Options(CheckboxOptions()
.Color(THEME_COLOR) .Color(THEME_COLOR)

View File

@@ -53,31 +53,31 @@ static ImVec2 presetPos;
static ImVec2 presetSize; static ImVec2 presetSize;
static std::string spoilerEntranceGroupNames[] = { static std::string spoilerEntranceGroupNames[] = {
"Spawns/Warp Songs/Owls", LanguageManager::Instance().GetString("Spawns/Warp Songs/Owls").c_str(),
"Kokiri Forest", LanguageManager::Instance().GetString("Kokiri Forest").c_str(),
"Lost Woods", LanguageManager::Instance().GetString("Lost Woods").c_str(),
"Sacred Forest Meadow", LanguageManager::Instance().GetString("Sacred Forest Meadow").c_str(),
"Kakariko Village", LanguageManager::Instance().GetString("Kakariko Village").c_str(),
"Graveyard", LanguageManager::Instance().GetString("Graveyard").c_str(),
"Death Mountain Trail", LanguageManager::Instance().GetString("Death Mountain Trail").c_str(),
"Death Mountain Crater", LanguageManager::Instance().GetString("Death Mountain Crater").c_str(),
"Goron City", LanguageManager::Instance().GetString("Goron City").c_str(),
"Zora's River", LanguageManager::Instance().GetString("Zora's River").c_str(),
"Zora's Domain", LanguageManager::Instance().GetString("Zora's Domain").c_str(),
"Zora's Fountain", LanguageManager::Instance().GetString("Zora's Fountain").c_str(),
"Hyrule Field", LanguageManager::Instance().GetString("Hyrule Field").c_str(),
"Lon Lon Ranch", LanguageManager::Instance().GetString("Lon Lon Ranch").c_str(),
"Lake Hylia", LanguageManager::Instance().GetString("Lake Hylia").c_str(),
"Gerudo Valley", LanguageManager::Instance().GetString("Gerudo Valley").c_str(),
"Gerudo Fortress", LanguageManager::Instance().GetString("Gerudo Fortress").c_str(),
"Haunted Wasteland", LanguageManager::Instance().GetString("Haunted Wasteland").c_str(),
"Desert Colossus", LanguageManager::Instance().GetString("Desert Colossus").c_str(),
"Market", LanguageManager::Instance().GetString("Market").c_str(),
"Hyrule Castle", LanguageManager::Instance().GetString("Hyrule Castle").c_str(),
}; };
static std::string groupTypeNames[] = { static std::string groupTypeNames[] = {
"One Way", "Overworld", "Interior", "Fortress", "Grotto", "Dungeon", LanguageManager::Instance().GetString("One Way").c_str(), LanguageManager::Instance().GetString("Overworld").c_str(), LanguageManager::Instance().GetString("Interior").c_str(), LanguageManager::Instance().GetString("Fortress").c_str(), LanguageManager::Instance().GetString("Grotto").c_str(), LanguageManager::Instance().GetString("Dungeon").c_str(),
}; };
// Entrance data for the tracker taken from the 3ds rando entrance tracker, and supplemented with scene/spawn info and // Entrance data for the tracker taken from the 3ds rando entrance tracker, and supplemented with scene/spawn info and
@@ -713,7 +713,7 @@ void InitEntranceTrackingData() {
void EntranceTrackerSettingsWindow::DrawElement() { void EntranceTrackerSettingsWindow::DrawElement() {
ImGui::TextWrapped("The entrance tracker will only track shuffled entrances"); ImGui::TextWrapped(LanguageManager::Instance().GetString("The entrance tracker will only track shuffled entrances").c_str());
Spacer(0); Spacer(0);
ImGui::TableNextColumn(); ImGui::TableNextColumn();
@@ -722,10 +722,10 @@ void EntranceTrackerSettingsWindow::DrawElement() {
SohGui::GetSohMenu()->MenuDrawItem(windowTypeWidget, ImGui::GetContentRegionAvail().x, THEME_COLOR); SohGui::GetSohMenu()->MenuDrawItem(windowTypeWidget, ImGui::GetContentRegionAvail().x, THEME_COLOR);
if (CVarGetInteger(CVAR_TRACKER_ENTRANCE("WindowType"), TRACKER_WINDOW_WINDOW) == TRACKER_WINDOW_FLOATING) { if (CVarGetInteger(CVAR_TRACKER_ENTRANCE("WindowType"), TRACKER_WINDOW_WINDOW) == TRACKER_WINDOW_FLOATING) {
CVarCheckbox("Enable Dragging", CVAR_TRACKER_ENTRANCE("Draggable"), CheckboxOptions().Color(THEME_COLOR)); CVarCheckbox(LanguageManager::Instance().GetString("Enable Dragging").c_str(), CVAR_TRACKER_ENTRANCE("Draggable"), CheckboxOptions().Color(THEME_COLOR));
CVarCheckbox("Only Enable While Paused", CVAR_TRACKER_ENTRANCE("ShowOnlyPaused"), CVarCheckbox(LanguageManager::Instance().GetString("Only Enable While Paused").c_str(), CVAR_TRACKER_ENTRANCE("ShowOnlyPaused"),
CheckboxOptions().Color(THEME_COLOR)); CheckboxOptions().Color(THEME_COLOR));
CVarCombobox("Display Mode", CVAR_TRACKER_ENTRANCE("DisplayType"), showMode, CVarCombobox(LanguageManager::Instance().GetString("Display Mode").c_str(), CVAR_TRACKER_ENTRANCE("DisplayType"), showMode,
ComboboxOptions() ComboboxOptions()
.LabelPosition(LabelPositions::Far) .LabelPosition(LabelPositions::Far)
.ComponentAlignment(ComponentAlignments::Right) .ComponentAlignment(ComponentAlignments::Right)
@@ -733,13 +733,13 @@ void EntranceTrackerSettingsWindow::DrawElement() {
.DefaultIndex(0)); .DefaultIndex(0));
if (CVarGetInteger(CVAR_TRACKER_ENTRANCE("DisplayType"), TRACKER_DISPLAY_ALWAYS) == if (CVarGetInteger(CVAR_TRACKER_ENTRANCE("DisplayType"), TRACKER_DISPLAY_ALWAYS) ==
TRACKER_DISPLAY_COMBO_BUTTON) { TRACKER_DISPLAY_COMBO_BUTTON) {
CVarCombobox("Combo Button 1", CVAR_TRACKER_ENTRANCE("ComboButton1"), buttonStrings, CVarCombobox(LanguageManager::Instance().GetString("Combo Button 1").c_str(), CVAR_TRACKER_ENTRANCE("ComboButton1"), buttonStrings,
ComboboxOptions() ComboboxOptions()
.LabelPosition(LabelPositions::Far) .LabelPosition(LabelPositions::Far)
.ComponentAlignment(ComponentAlignments::Right) .ComponentAlignment(ComponentAlignments::Right)
.Color(THEME_COLOR) .Color(THEME_COLOR)
.DefaultIndex(TRACKER_COMBO_BUTTON_L)); .DefaultIndex(TRACKER_COMBO_BUTTON_L));
CVarCombobox("Combo Button 2", CVAR_TRACKER_ENTRANCE("ComboButton2"), buttonStrings, CVarCombobox(LanguageManager::Instance().GetString("Combo Button 2").c_str(), CVAR_TRACKER_ENTRANCE("ComboButton2"), buttonStrings,
ComboboxOptions() ComboboxOptions()
.LabelPosition(LabelPositions::Far) .LabelPosition(LabelPositions::Far)
.ComponentAlignment(ComponentAlignments::Right) .ComponentAlignment(ComponentAlignments::Right)
@@ -920,7 +920,7 @@ void EntranceTrackerWindow::DrawElement() {
} }
// Begin tracker list // Begin tracker list
ImGui::BeginChild("ChildEntranceTrackerLocations", ImVec2(0, -8)); ImGui::BeginChild(LanguageManager::Instance().GetString("ChildEntranceTrackerLocations").c_str(), ImVec2(0, -8));
bool showTo = CVarGetInteger(CVAR_TRACKER_ENTRANCE("ShowTo"), 0); bool showTo = CVarGetInteger(CVAR_TRACKER_ENTRANCE("ShowTo"), 0);
bool showFrom = CVarGetInteger(CVAR_TRACKER_ENTRANCE("ShowFrom"), 0); bool showFrom = CVarGetInteger(CVAR_TRACKER_ENTRANCE("ShowFrom"), 0);
bool collapseUndiscovered = CVarGetInteger(CVAR_TRACKER_ENTRANCE("CollapseUndiscovered"), 0); bool collapseUndiscovered = CVarGetInteger(CVAR_TRACKER_ENTRANCE("CollapseUndiscovered"), 0);
@@ -1083,7 +1083,7 @@ void EntranceTrackerWindow::InitElement() {
} }
void RegisterCheckTrackerWidgets() { void RegisterCheckTrackerWidgets() {
backgroundColorWidget = { .name = "Background Color##EntranceTracker", backgroundColorWidget = { .name = LanguageManager::Instance().GetString("Background Color##EntranceTracker"),
.type = WidgetType::WIDGET_CVAR_COLOR_PICKER }; .type = WidgetType::WIDGET_CVAR_COLOR_PICKER };
backgroundColorWidget.CVar(CVAR_TRACKER_ENTRANCE("BgColor")) backgroundColorWidget.CVar(CVAR_TRACKER_ENTRANCE("BgColor"))
.Options( .Options(
@@ -1091,7 +1091,7 @@ void RegisterCheckTrackerWidgets() {
SohGui::GetSohMenu()->AddSearchWidget( SohGui::GetSohMenu()->AddSearchWidget(
{ backgroundColorWidget, "Randomizer", "Entrance Tracker", "General Settings" }); { backgroundColorWidget, "Randomizer", "Entrance Tracker", "General Settings" });
windowTypeWidget = { .name = "Window Type##EntranceTracker", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; windowTypeWidget = { .name = LanguageManager::Instance().GetString("Window Type##EntranceTracker"), .type = WidgetType::WIDGET_CVAR_COMBOBOX };
windowTypeWidget.CVar(CVAR_TRACKER_ENTRANCE("WindowType")) windowTypeWidget.CVar(CVAR_TRACKER_ENTRANCE("WindowType"))
.Options(ComboboxOptions() .Options(ComboboxOptions()
.DefaultIndex(TRACKER_WINDOW_WINDOW) .DefaultIndex(TRACKER_WINDOW_WINDOW)

View File

@@ -880,7 +880,7 @@ void DrawItem(ItemTrackerItem item) {
actualItemId = item.id; actualItemId = item.id;
hasItem = IS_RANDO && (OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_TRIFORCE_HUNT) != hasItem = IS_RANDO && (OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_TRIFORCE_HUNT) !=
RO_TRIFORCE_HUNT_OFF); RO_TRIFORCE_HUNT_OFF);
itemName = "Triforce Piece"; itemName = LanguageManager::Instance().GetString("Triforce Piece");
break; break;
case ITEM_NAYRUS_LOVE: case ITEM_NAYRUS_LOVE:
if (IS_RANDO && OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_ROCS_FEATHER)) { if (IS_RANDO && OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_ROCS_FEATHER)) {
@@ -890,310 +890,310 @@ void DrawItem(ItemTrackerItem item) {
case RG_ROCS_FEATHER: case RG_ROCS_FEATHER:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_OBTAINED_ROCS_FEATHER); hasItem = Flags_GetRandomizerInf(RAND_INF_OBTAINED_ROCS_FEATHER);
itemName = "Roc's Feather"; itemName = LanguageManager::Instance().GetString("Roc's Feather");
break; break;
case RG_DEATH_MOUNTAIN_CRATER_BEAN_SOUL: case RG_DEATH_MOUNTAIN_CRATER_BEAN_SOUL:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_DEATH_MOUNTAIN_CRATER_BEAN_SOUL); hasItem = Flags_GetRandomizerInf(RAND_INF_DEATH_MOUNTAIN_CRATER_BEAN_SOUL);
itemName = "Death Mountain Crater Bean Soul"; itemName = LanguageManager::Instance().GetString("Death Mountain Crater Bean Soul");
break; break;
case RG_DEATH_MOUNTAIN_TRAIL_BEAN_SOUL: case RG_DEATH_MOUNTAIN_TRAIL_BEAN_SOUL:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_DEATH_MOUNTAIN_TRAIL_BEAN_SOUL); hasItem = Flags_GetRandomizerInf(RAND_INF_DEATH_MOUNTAIN_TRAIL_BEAN_SOUL);
itemName = "Death Mountain Trail Bean Soul"; itemName = LanguageManager::Instance().GetString("Death Mountain Trail Bean Soul");
break; break;
case RG_DESERT_COLOSSUS_BEAN_SOUL: case RG_DESERT_COLOSSUS_BEAN_SOUL:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_DESERT_COLOSSUS_BEAN_SOUL); hasItem = Flags_GetRandomizerInf(RAND_INF_DESERT_COLOSSUS_BEAN_SOUL);
itemName = "Desert Colossus Bean Soul"; itemName = LanguageManager::Instance().GetString("Desert Colossus Bean Soul");
break; break;
case RG_GERUDO_VALLEY_BEAN_SOUL: case RG_GERUDO_VALLEY_BEAN_SOUL:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_GERUDO_VALLEY_BEAN_SOUL); hasItem = Flags_GetRandomizerInf(RAND_INF_GERUDO_VALLEY_BEAN_SOUL);
itemName = "Gerudo Valley Bean Soul"; itemName = LanguageManager::Instance().GetString("Gerudo Valley Bean Soul");
break; break;
case RG_GRAVEYARD_BEAN_SOUL: case RG_GRAVEYARD_BEAN_SOUL:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_GRAVEYARD_BEAN_SOUL); hasItem = Flags_GetRandomizerInf(RAND_INF_GRAVEYARD_BEAN_SOUL);
itemName = "Graveyard Bean Soul"; itemName = LanguageManager::Instance().GetString("Graveyard Bean Soul");
break; break;
case RG_KOKIRI_FOREST_BEAN_SOUL: case RG_KOKIRI_FOREST_BEAN_SOUL:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_KOKIRI_FOREST_BEAN_SOUL); hasItem = Flags_GetRandomizerInf(RAND_INF_KOKIRI_FOREST_BEAN_SOUL);
itemName = "Kokiri Forest Bean Soul"; itemName = LanguageManager::Instance().GetString("Kokiri Forest Bean Soul");
break; break;
case RG_LAKE_HYLIA_BEAN_SOUL: case RG_LAKE_HYLIA_BEAN_SOUL:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_LAKE_HYLIA_BEAN_SOUL); hasItem = Flags_GetRandomizerInf(RAND_INF_LAKE_HYLIA_BEAN_SOUL);
itemName = "Lake Hylia Bean Soul"; itemName = LanguageManager::Instance().GetString("Lake Hylia Bean Soul");
break; break;
case RG_LOST_WOODS_BRIDGE_BEAN_SOUL: case RG_LOST_WOODS_BRIDGE_BEAN_SOUL:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_LOST_WOODS_BRIDGE_BEAN_SOUL); hasItem = Flags_GetRandomizerInf(RAND_INF_LOST_WOODS_BRIDGE_BEAN_SOUL);
itemName = "Lost Woods Bridge Bean Soul"; itemName = LanguageManager::Instance().GetString("Lost Woods Bridge Bean Soul");
break; break;
case RG_LOST_WOODS_BEAN_SOUL: case RG_LOST_WOODS_BEAN_SOUL:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_LOST_WOODS_BEAN_SOUL); hasItem = Flags_GetRandomizerInf(RAND_INF_LOST_WOODS_BEAN_SOUL);
itemName = "Lost Woods Theatre Bean Soul"; itemName = LanguageManager::Instance().GetString("Lost Woods Theatre Bean Soul");
break; break;
case RG_ZORAS_RIVER_BEAN_SOUL: case RG_ZORAS_RIVER_BEAN_SOUL:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_ZORAS_RIVER_BEAN_SOUL); hasItem = Flags_GetRandomizerInf(RAND_INF_ZORAS_RIVER_BEAN_SOUL);
itemName = "Zora's River Bean Soul"; itemName = LanguageManager::Instance().GetString("Zora's River Bean Soul");
break; break;
case RG_GOHMA_SOUL: case RG_GOHMA_SOUL:
actualItemId = item.id; actualItemId = item.id;
hasItem = HasBossSoul(RAND_INF_GOHMA_SOUL); hasItem = HasBossSoul(RAND_INF_GOHMA_SOUL);
itemName = "Gohma's Soul"; itemName = LanguageManager::Instance().GetString("Gohma's Soul");
break; break;
case RG_KING_DODONGO_SOUL: case RG_KING_DODONGO_SOUL:
actualItemId = item.id; actualItemId = item.id;
hasItem = HasBossSoul(RAND_INF_KING_DODONGO_SOUL); hasItem = HasBossSoul(RAND_INF_KING_DODONGO_SOUL);
itemName = "King Dodongo's Soul"; itemName = LanguageManager::Instance().GetString("King Dodongo's Soul");
break; break;
case RG_BARINADE_SOUL: case RG_BARINADE_SOUL:
actualItemId = item.id; actualItemId = item.id;
hasItem = HasBossSoul(RAND_INF_BARINADE_SOUL); hasItem = HasBossSoul(RAND_INF_BARINADE_SOUL);
itemName = "Barinade's Soul"; itemName = LanguageManager::Instance().GetString("Barinade's Soul");
break; break;
case RG_PHANTOM_GANON_SOUL: case RG_PHANTOM_GANON_SOUL:
actualItemId = item.id; actualItemId = item.id;
hasItem = HasBossSoul(RAND_INF_PHANTOM_GANON_SOUL); hasItem = HasBossSoul(RAND_INF_PHANTOM_GANON_SOUL);
itemName = "Phantom Ganon's Soul"; itemName = LanguageManager::Instance().GetString("Phantom Ganon's Soul");
break; break;
case RG_VOLVAGIA_SOUL: case RG_VOLVAGIA_SOUL:
actualItemId = item.id; actualItemId = item.id;
hasItem = HasBossSoul(RAND_INF_VOLVAGIA_SOUL); hasItem = HasBossSoul(RAND_INF_VOLVAGIA_SOUL);
itemName = "Volvagia's Soul"; itemName = LanguageManager::Instance().GetString("Volvagia's Soul");
break; break;
case RG_MORPHA_SOUL: case RG_MORPHA_SOUL:
actualItemId = item.id; actualItemId = item.id;
hasItem = HasBossSoul(RAND_INF_MORPHA_SOUL); hasItem = HasBossSoul(RAND_INF_MORPHA_SOUL);
itemName = "Morpha's Soul"; itemName = LanguageManager::Instance().GetString("Morpha's Soul");
break; break;
case RG_BONGO_BONGO_SOUL: case RG_BONGO_BONGO_SOUL:
actualItemId = item.id; actualItemId = item.id;
hasItem = HasBossSoul(RAND_INF_BONGO_BONGO_SOUL); hasItem = HasBossSoul(RAND_INF_BONGO_BONGO_SOUL);
itemName = "Bongo Bongo's Soul"; itemName = LanguageManager::Instance().GetString("Bongo Bongo's Soul");
break; break;
case RG_TWINROVA_SOUL: case RG_TWINROVA_SOUL:
actualItemId = item.id; actualItemId = item.id;
hasItem = HasBossSoul(RAND_INF_TWINROVA_SOUL); hasItem = HasBossSoul(RAND_INF_TWINROVA_SOUL);
itemName = "Twinrova's Soul"; itemName = LanguageManager::Instance().GetString("Twinrova's Soul");
break; break;
case RG_GANON_SOUL: case RG_GANON_SOUL:
actualItemId = item.id; actualItemId = item.id;
hasItem = HasBossSoul(RAND_INF_GANON_SOUL); hasItem = HasBossSoul(RAND_INF_GANON_SOUL);
itemName = "Ganon's Soul"; itemName = LanguageManager::Instance().GetString("Ganon's Soul");
break; break;
case RG_SPEAK_DEKU: case RG_SPEAK_DEKU:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_DEKU); hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_DEKU);
itemName = "Deku Jabber Nut"; itemName = LanguageManager::Instance().GetString("Deku Jabber Nut");
break; break;
case RG_SPEAK_GERUDO: case RG_SPEAK_GERUDO:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_GERUDO); hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_GERUDO);
itemName = "Gerudo Jabber Nut"; itemName = LanguageManager::Instance().GetString("Gerudo Jabber Nut");
break; break;
case RG_SPEAK_GORON: case RG_SPEAK_GORON:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_GORON); hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_GORON);
itemName = "Goron Jabber Nut"; itemName = LanguageManager::Instance().GetString("Goron Jabber Nut");
break; break;
case RG_SPEAK_HYLIAN: case RG_SPEAK_HYLIAN:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_HYLIAN); hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_HYLIAN);
itemName = "Hylian Jabber Nut"; itemName = LanguageManager::Instance().GetString("Hylian Jabber Nut");
break; break;
case RG_SPEAK_KOKIRI: case RG_SPEAK_KOKIRI:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_KOKIRI); hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_KOKIRI);
itemName = "Kokiri Jabber Nut"; itemName = LanguageManager::Instance().GetString("Kokiri Jabber Nut");
break; break;
case RG_SPEAK_ZORA: case RG_SPEAK_ZORA:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_ZORA); hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SPEAK_ZORA);
itemName = "Zora Jabber Nut"; itemName = LanguageManager::Instance().GetString("Zora Jabber Nut");
break; break;
case RG_OCARINA_A_BUTTON: case RG_OCARINA_A_BUTTON:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_HAS_OCARINA_A); hasItem = Flags_GetRandomizerInf(RAND_INF_HAS_OCARINA_A);
itemName = "Ocarina A Button"; itemName = LanguageManager::Instance().GetString("Ocarina A Button");
break; break;
case RG_OCARINA_C_UP_BUTTON: case RG_OCARINA_C_UP_BUTTON:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_HAS_OCARINA_C_UP); hasItem = Flags_GetRandomizerInf(RAND_INF_HAS_OCARINA_C_UP);
itemName = "Ocarina C Up Button"; itemName = LanguageManager::Instance().GetString("Ocarina C Up Button");
break; break;
case RG_OCARINA_C_DOWN_BUTTON: case RG_OCARINA_C_DOWN_BUTTON:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_HAS_OCARINA_C_DOWN); hasItem = Flags_GetRandomizerInf(RAND_INF_HAS_OCARINA_C_DOWN);
itemName = "Ocarina C Down Button"; itemName = LanguageManager::Instance().GetString("Ocarina C Down Button");
break; break;
case RG_OCARINA_C_LEFT_BUTTON: case RG_OCARINA_C_LEFT_BUTTON:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_HAS_OCARINA_C_LEFT); hasItem = Flags_GetRandomizerInf(RAND_INF_HAS_OCARINA_C_LEFT);
itemName = "Ocarina C Left Button"; itemName = LanguageManager::Instance().GetString("Ocarina C Left Button");
break; break;
case RG_OCARINA_C_RIGHT_BUTTON: case RG_OCARINA_C_RIGHT_BUTTON:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_HAS_OCARINA_C_RIGHT); hasItem = Flags_GetRandomizerInf(RAND_INF_HAS_OCARINA_C_RIGHT);
itemName = "Ocarina C Right Button"; itemName = LanguageManager::Instance().GetString("Ocarina C Right Button");
break; break;
case ITEM_FISHING_POLE: case ITEM_FISHING_POLE:
actualItemId = item.id; actualItemId = item.id;
hasItem = IS_RANDO && Flags_GetRandomizerInf(RAND_INF_FISHING_POLE_FOUND); hasItem = IS_RANDO && Flags_GetRandomizerInf(RAND_INF_FISHING_POLE_FOUND);
itemName = "Fishing Pole"; itemName = LanguageManager::Instance().GetString("Fishing Pole");
break; break;
case RG_GUARD_HOUSE_KEY: case RG_GUARD_HOUSE_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_GUARD_HOUSE_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_GUARD_HOUSE_KEY_OBTAINED);
itemName = "Guard House Key"; itemName = LanguageManager::Instance().GetString("Guard House Key");
break; break;
case RG_MARKET_BAZAAR_KEY: case RG_MARKET_BAZAAR_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_MARKET_BAZAAR_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_MARKET_BAZAAR_KEY_OBTAINED);
itemName = "Market Bazaar Key"; itemName = LanguageManager::Instance().GetString("Market Bazaar Key");
break; break;
case RG_MARKET_POTION_SHOP_KEY: case RG_MARKET_POTION_SHOP_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_MARKET_POTION_SHOP_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_MARKET_POTION_SHOP_KEY_OBTAINED);
itemName = "Market Potion Shop Key"; itemName = LanguageManager::Instance().GetString("Market Potion Shop Key");
break; break;
case RG_MASK_SHOP_KEY: case RG_MASK_SHOP_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_MASK_SHOP_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_MASK_SHOP_KEY_OBTAINED);
itemName = "Mask Shop Key"; itemName = LanguageManager::Instance().GetString("Mask Shop Key");
break; break;
case RG_MARKET_SHOOTING_GALLERY_KEY: case RG_MARKET_SHOOTING_GALLERY_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_MARKET_SHOOTING_GALLERY_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_MARKET_SHOOTING_GALLERY_KEY_OBTAINED);
itemName = "Market Shooting Gallery Key"; itemName = LanguageManager::Instance().GetString("Market Shooting Gallery Key");
break; break;
case RG_BOMBCHU_BOWLING_KEY: case RG_BOMBCHU_BOWLING_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_BOMBCHU_BOWLING_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_BOMBCHU_BOWLING_KEY_OBTAINED);
itemName = "Bombchu Bowling Key"; itemName = LanguageManager::Instance().GetString("Bombchu Bowling Key");
break; break;
case RG_TREASURE_CHEST_GAME_BUILDING_KEY: case RG_TREASURE_CHEST_GAME_BUILDING_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_TREASURE_CHEST_GAME_BUILDING_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_TREASURE_CHEST_GAME_BUILDING_KEY_OBTAINED);
itemName = "Treasure Chest Game Building Key"; itemName = LanguageManager::Instance().GetString("Treasure Chest Game Building Key");
break; break;
case RG_BOMBCHU_SHOP_KEY: case RG_BOMBCHU_SHOP_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_BOMBCHU_SHOP_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_BOMBCHU_SHOP_KEY_OBTAINED);
itemName = "Bombchu Shop Key"; itemName = LanguageManager::Instance().GetString("Bombchu Shop Key");
break; break;
case RG_RICHARDS_HOUSE_KEY: case RG_RICHARDS_HOUSE_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_RICHARDS_HOUSE_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_RICHARDS_HOUSE_KEY_OBTAINED);
itemName = "Richards House Key"; itemName = LanguageManager::Instance().GetString("Richards House Key");
break; break;
case RG_ALLEY_HOUSE_KEY: case RG_ALLEY_HOUSE_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_ALLEY_HOUSE_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_ALLEY_HOUSE_KEY_OBTAINED);
itemName = "Alley House Key"; itemName = LanguageManager::Instance().GetString("Alley House Key");
break; break;
case RG_KAK_BAZAAR_KEY: case RG_KAK_BAZAAR_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_KAK_BAZAAR_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_KAK_BAZAAR_KEY_OBTAINED);
itemName = "Kak Bazaar Key"; itemName = LanguageManager::Instance().GetString("Kak Bazaar Key");
break; break;
case RG_KAK_POTION_SHOP_KEY: case RG_KAK_POTION_SHOP_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_KAK_POTION_SHOP_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_KAK_POTION_SHOP_KEY_OBTAINED);
itemName = "Kak Potion Shop Key"; itemName = LanguageManager::Instance().GetString("Kak Potion Shop Key");
break; break;
case RG_BOSS_HOUSE_KEY: case RG_BOSS_HOUSE_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_BOSS_HOUSE_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_BOSS_HOUSE_KEY_OBTAINED);
itemName = "Boss House Key"; itemName = LanguageManager::Instance().GetString("Boss House Key");
break; break;
case RG_GRANNYS_POTION_SHOP_KEY: case RG_GRANNYS_POTION_SHOP_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_GRANNYS_POTION_SHOP_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_GRANNYS_POTION_SHOP_KEY_OBTAINED);
itemName = "Granny's Potion Shop Key"; itemName = LanguageManager::Instance().GetString("Granny's Potion Shop Key");
break; break;
case RG_SKULLTULA_HOUSE_KEY: case RG_SKULLTULA_HOUSE_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_SKULLTULA_HOUSE_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_SKULLTULA_HOUSE_KEY_OBTAINED);
itemName = "Skulltula House Key"; itemName = LanguageManager::Instance().GetString("Skulltula House Key");
break; break;
case RG_IMPAS_HOUSE_KEY: case RG_IMPAS_HOUSE_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_IMPAS_HOUSE_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_IMPAS_HOUSE_KEY_OBTAINED);
itemName = "Impa's House Key"; itemName = LanguageManager::Instance().GetString("Impa's House Key");
break; break;
case RG_WINDMILL_KEY: case RG_WINDMILL_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_WINDMILL_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_WINDMILL_KEY_OBTAINED);
itemName = "Windmill Key"; itemName = LanguageManager::Instance().GetString("Windmill Key");
break; break;
case RG_KAK_SHOOTING_GALLERY_KEY: case RG_KAK_SHOOTING_GALLERY_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_KAK_SHOOTING_GALLERY_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_KAK_SHOOTING_GALLERY_KEY_OBTAINED);
itemName = "Kak Shooting Gallery Key"; itemName = LanguageManager::Instance().GetString("Kak Shooting Gallery Key");
break; break;
case RG_DAMPES_HUT_KEY: case RG_DAMPES_HUT_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_DAMPES_HUT_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_DAMPES_HUT_KEY_OBTAINED);
itemName = "Dampé's Hut Key"; itemName = LanguageManager::Instance().GetString("Dampé's Hut Key");
break; break;
case RG_TALONS_HOUSE_KEY: case RG_TALONS_HOUSE_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_TALONS_HOUSE_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_TALONS_HOUSE_KEY_OBTAINED);
itemName = "Talon's House Key"; itemName = LanguageManager::Instance().GetString("Talon's House Key");
break; break;
case RG_STABLES_KEY: case RG_STABLES_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_STABLES_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_STABLES_KEY_OBTAINED);
itemName = "Stables Key"; itemName = LanguageManager::Instance().GetString("Stables Key");
break; break;
case RG_BACK_TOWER_KEY: case RG_BACK_TOWER_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_BACK_TOWER_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_BACK_TOWER_KEY_OBTAINED);
itemName = "Back Tower Key"; itemName = LanguageManager::Instance().GetString("Back Tower Key");
break; break;
case RG_HYLIA_LAB_KEY: case RG_HYLIA_LAB_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_HYLIA_LAB_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_HYLIA_LAB_KEY_OBTAINED);
itemName = "Hylia Lab Key"; itemName = LanguageManager::Instance().GetString("Hylia Lab Key");
break; break;
case RG_FISHING_HOLE_KEY: case RG_FISHING_HOLE_KEY:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_FISHING_HOLE_KEY_OBTAINED); hasItem = Flags_GetRandomizerInf(RAND_INF_FISHING_HOLE_KEY_OBTAINED);
itemName = "Fishing Hole Key"; itemName = LanguageManager::Instance().GetString("Fishing Hole Key");
break; break;
case RG_BRONZE_SCALE: case RG_BRONZE_SCALE:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SWIM); hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_SWIM);
itemName = "Swim"; itemName = LanguageManager::Instance().GetString("Swim");
break; break;
case RG_CRAWL: case RG_CRAWL:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_CRAWL); hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_CRAWL);
itemName = "Crawl"; itemName = LanguageManager::Instance().GetString("Crawl");
break; break;
case RG_CLIMB: case RG_CLIMB:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_CLIMB); hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_CLIMB);
itemName = "Climb"; itemName = LanguageManager::Instance().GetString("Climb");
break; break;
case RG_POWER_BRACELET: case RG_POWER_BRACELET:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_GRAB); hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_GRAB);
itemName = "Grab"; itemName = LanguageManager::Instance().GetString("Grab");
break; break;
case RG_OPEN_CHEST: case RG_OPEN_CHEST:
actualItemId = item.id; actualItemId = item.id;
hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_OPEN_CHEST); hasItem = Flags_GetRandomizerInf(RAND_INF_CAN_OPEN_CHEST);
itemName = "Open"; itemName = LanguageManager::Instance().GetString("Open");
break; break;
} }
@@ -2044,14 +2044,14 @@ void ItemTrackerSettingsWindow::DrawElement() {
SohGui::mSohMenu->MenuDrawItem(windowTypeWidget, 250, THEME_COLOR); SohGui::mSohMenu->MenuDrawItem(windowTypeWidget, 250, THEME_COLOR);
if (CVarGetInteger(CVAR_TRACKER_ITEM("WindowType"), TRACKER_WINDOW_FLOATING) == TRACKER_WINDOW_FLOATING) { if (CVarGetInteger(CVAR_TRACKER_ITEM("WindowType"), TRACKER_WINDOW_FLOATING) == TRACKER_WINDOW_FLOATING) {
if (CVarCheckbox("Enable Dragging", CVAR_TRACKER_ITEM("Draggable"), CheckboxOptions().Color(THEME_COLOR))) { if (CVarCheckbox(LanguageManager::Instance().GetString("Enable Dragging").c_str(), CVAR_TRACKER_ITEM("Draggable"), CheckboxOptions().Color(THEME_COLOR))) {
shouldUpdateVectors = true; shouldUpdateVectors = true;
} }
if (CVarCheckbox("Only Enable While Paused", CVAR_TRACKER_ITEM("ShowOnlyPaused"), if (CVarCheckbox(LanguageManager::Instance().GetString("Only Enable While Paused").c_str(), CVAR_TRACKER_ITEM("ShowOnlyPaused"),
CheckboxOptions().Color(THEME_COLOR))) { CheckboxOptions().Color(THEME_COLOR))) {
shouldUpdateVectors = true; shouldUpdateVectors = true;
} }
if (CVarCombobox("Display Mode", CVAR_TRACKER_ITEM("DisplayType.Main"), showMode, if (CVarCombobox(LanguageManager::Instance().GetString("Display Mode").c_str(), CVAR_TRACKER_ITEM("DisplayType.Main"), showMode,
ComboboxOptions() ComboboxOptions()
.DefaultIndex(TRACKER_DISPLAY_ALWAYS) .DefaultIndex(TRACKER_DISPLAY_ALWAYS)
.ComponentAlignment(ComponentAlignments::Right) .ComponentAlignment(ComponentAlignments::Right)
@@ -2061,7 +2061,7 @@ void ItemTrackerSettingsWindow::DrawElement() {
} }
if (CVarGetInteger(CVAR_TRACKER_ITEM("DisplayType.Main"), TRACKER_DISPLAY_ALWAYS) == if (CVarGetInteger(CVAR_TRACKER_ITEM("DisplayType.Main"), TRACKER_DISPLAY_ALWAYS) ==
TRACKER_DISPLAY_COMBO_BUTTON) { TRACKER_DISPLAY_COMBO_BUTTON) {
if (CVarCombobox("Combo Button 1", CVAR_TRACKER_ITEM("ComboButton1"), buttonStrings, if (CVarCombobox(LanguageManager::Instance().GetString("Combo Button 1").c_str(), CVAR_TRACKER_ITEM("ComboButton1"), buttonStrings,
ComboboxOptions() ComboboxOptions()
.DefaultIndex(TRACKER_COMBO_BUTTON_L) .DefaultIndex(TRACKER_COMBO_BUTTON_L)
.ComponentAlignment(ComponentAlignments::Right) .ComponentAlignment(ComponentAlignments::Right)
@@ -2069,7 +2069,7 @@ void ItemTrackerSettingsWindow::DrawElement() {
.Color(THEME_COLOR))) { .Color(THEME_COLOR))) {
shouldUpdateVectors = true; shouldUpdateVectors = true;
} }
if (CVarCombobox("Combo Button 2", CVAR_TRACKER_ITEM("ComboButton2"), buttonStrings, if (CVarCombobox(LanguageManager::Instance().GetString("Combo Button 2").c_str(), CVAR_TRACKER_ITEM("ComboButton2"), buttonStrings,
ComboboxOptions() ComboboxOptions()
.DefaultIndex(TRACKER_COMBO_BUTTON_R) .DefaultIndex(TRACKER_COMBO_BUTTON_R)
.ComponentAlignment(ComponentAlignments::Right) .ComponentAlignment(ComponentAlignments::Right)
@@ -2080,11 +2080,11 @@ void ItemTrackerSettingsWindow::DrawElement() {
} }
} }
ImGui::Separator(); ImGui::Separator();
CVarSliderInt("Icon size : %dpx", CVAR_TRACKER_ITEM("IconSize"), CVarSliderInt(LanguageManager::Instance().GetString("Icon size : %dpx").c_str(), CVAR_TRACKER_ITEM("IconSize"),
IntSliderOptions().Min(25).Max(128).DefaultValue(36).Color(THEME_COLOR)); IntSliderOptions().Min(25).Max(128).DefaultValue(36).Color(THEME_COLOR));
CVarSliderInt("Icon margins : %dpx", CVAR_TRACKER_ITEM("IconSpacing"), CVarSliderInt(LanguageManager::Instance().GetString("Icon margins : %dpx").c_str(), CVAR_TRACKER_ITEM("IconSpacing"),
IntSliderOptions().Min(-5).Max(50).DefaultValue(12).Color(THEME_COLOR)); IntSliderOptions().Min(-5).Max(50).DefaultValue(12).Color(THEME_COLOR));
CVarSliderInt("Text size : %dpx", CVAR_TRACKER_ITEM("TextSize"), CVarSliderInt(LanguageManager::Instance().GetString("Text size : %dpx").c_str(), CVAR_TRACKER_ITEM("TextSize"),
IntSliderOptions().Min(1).Max(30).DefaultValue(13).Color(THEME_COLOR)); IntSliderOptions().Min(1).Max(30).DefaultValue(13).Color(THEME_COLOR));
ImGui::NewLine(); ImGui::NewLine();
@@ -2093,7 +2093,7 @@ void ItemTrackerSettingsWindow::DrawElement() {
ITEM_TRACKER_NUMBER_CURRENT_CAPACITY_ONLY || ITEM_TRACKER_NUMBER_CURRENT_CAPACITY_ONLY ||
CVarGetInteger(CVAR_TRACKER_ITEM("ItemCountType"), ITEM_TRACKER_NUMBER_CURRENT_CAPACITY_ONLY) == CVarGetInteger(CVAR_TRACKER_ITEM("ItemCountType"), ITEM_TRACKER_NUMBER_CURRENT_CAPACITY_ONLY) ==
ITEM_TRACKER_NUMBER_CURRENT_AMMO_ONLY) { ITEM_TRACKER_NUMBER_CURRENT_AMMO_ONLY) {
if (CVarCheckbox("Align count to left side", CVAR_TRACKER_ITEM("ItemCountAlignLeft"), if (CVarCheckbox(LanguageManager::Instance().GetString("Align count to left side").c_str(), CVAR_TRACKER_ITEM("ItemCountAlignLeft"),
CheckboxOptions().Color(THEME_COLOR))) { CheckboxOptions().Color(THEME_COLOR))) {
shouldUpdateVectors = true; shouldUpdateVectors = true;
} }
@@ -2104,7 +2104,7 @@ void ItemTrackerSettingsWindow::DrawElement() {
ImGui::TableNextColumn(); ImGui::TableNextColumn();
if (CVarCombobox("Inventory", CVAR_TRACKER_ITEM("DisplayType.Inventory"), displayTypes, if (CVarCombobox(LanguageManager::Instance().GetString("Inventory").c_str(), CVAR_TRACKER_ITEM("DisplayType.Inventory"), displayTypes,
ComboboxOptions() ComboboxOptions()
.DefaultIndex(SECTION_DISPLAY_MAIN_WINDOW) .DefaultIndex(SECTION_DISPLAY_MAIN_WINDOW)
.ComponentAlignment(ComponentAlignments::Right) .ComponentAlignment(ComponentAlignments::Right)
@@ -2112,7 +2112,7 @@ void ItemTrackerSettingsWindow::DrawElement() {
.Color(THEME_COLOR))) { .Color(THEME_COLOR))) {
shouldUpdateVectors = true; shouldUpdateVectors = true;
} }
if (CVarCombobox("Equipment", CVAR_TRACKER_ITEM("DisplayType.Equipment"), displayTypes, if (CVarCombobox(LanguageManager::Instance().GetString("Equipment").c_str(), CVAR_TRACKER_ITEM("DisplayType.Equipment"), displayTypes,
ComboboxOptions() ComboboxOptions()
.DefaultIndex(SECTION_DISPLAY_MAIN_WINDOW) .DefaultIndex(SECTION_DISPLAY_MAIN_WINDOW)
.ComponentAlignment(ComponentAlignments::Right) .ComponentAlignment(ComponentAlignments::Right)
@@ -2120,7 +2120,7 @@ void ItemTrackerSettingsWindow::DrawElement() {
.Color(THEME_COLOR))) { .Color(THEME_COLOR))) {
shouldUpdateVectors = true; shouldUpdateVectors = true;
} }
if (CVarCombobox("Misc", CVAR_TRACKER_ITEM("DisplayType.Misc"), displayTypes, if (CVarCombobox(LanguageManager::Instance().GetString("Misc").c_str(), CVAR_TRACKER_ITEM("DisplayType.Misc"), displayTypes,
ComboboxOptions() ComboboxOptions()
.DefaultIndex(SECTION_DISPLAY_MAIN_WINDOW) .DefaultIndex(SECTION_DISPLAY_MAIN_WINDOW)
.ComponentAlignment(ComponentAlignments::Right) .ComponentAlignment(ComponentAlignments::Right)
@@ -2128,7 +2128,7 @@ void ItemTrackerSettingsWindow::DrawElement() {
.Color(THEME_COLOR))) { .Color(THEME_COLOR))) {
shouldUpdateVectors = true; shouldUpdateVectors = true;
} }
if (CVarCombobox("Dungeon Rewards", CVAR_TRACKER_ITEM("DisplayType.DungeonRewards"), displayTypes, if (CVarCombobox(LanguageManager::Instance().GetString("Dungeon Rewards").c_str(), CVAR_TRACKER_ITEM("DisplayType.DungeonRewards"), displayTypes,
ComboboxOptions() ComboboxOptions()
.DefaultIndex(SECTION_DISPLAY_MAIN_WINDOW) .DefaultIndex(SECTION_DISPLAY_MAIN_WINDOW)
.ComponentAlignment(ComponentAlignments::Right) .ComponentAlignment(ComponentAlignments::Right)
@@ -2138,12 +2138,12 @@ void ItemTrackerSettingsWindow::DrawElement() {
} }
if (CVarGetInteger(CVAR_TRACKER_ITEM("DisplayType.DungeonRewards"), SECTION_DISPLAY_MAIN_WINDOW) == if (CVarGetInteger(CVAR_TRACKER_ITEM("DisplayType.DungeonRewards"), SECTION_DISPLAY_MAIN_WINDOW) ==
SECTION_DISPLAY_SEPARATE) { SECTION_DISPLAY_SEPARATE) {
if (CVarCheckbox("Circle display", CVAR_TRACKER_ITEM("DungeonRewardsLayout"), if (CVarCheckbox(LanguageManager::Instance().GetString("Circle display").c_str(), CVAR_TRACKER_ITEM("DungeonRewardsLayout"),
CheckboxOptions().DefaultValue(false).Color(THEME_COLOR))) { CheckboxOptions().DefaultValue(false).Color(THEME_COLOR))) {
shouldUpdateVectors = true; shouldUpdateVectors = true;
} }
} }
if (CVarCombobox("Songs", CVAR_TRACKER_ITEM("DisplayType.Songs"), displayTypes, if (CVarCombobox(LanguageManager::Instance().GetString("Songs").c_str(), CVAR_TRACKER_ITEM("DisplayType.Songs"), displayTypes,
ComboboxOptions() ComboboxOptions()
.DefaultIndex(SECTION_DISPLAY_MAIN_WINDOW) .DefaultIndex(SECTION_DISPLAY_MAIN_WINDOW)
.ComponentAlignment(ComponentAlignments::Right) .ComponentAlignment(ComponentAlignments::Right)
@@ -2156,12 +2156,12 @@ void ItemTrackerSettingsWindow::DrawElement() {
SECTION_DISPLAY_HIDDEN) { SECTION_DISPLAY_HIDDEN) {
if (CVarGetInteger(CVAR_TRACKER_ITEM("DisplayType.DungeonItems"), SECTION_DISPLAY_HIDDEN) == if (CVarGetInteger(CVAR_TRACKER_ITEM("DisplayType.DungeonItems"), SECTION_DISPLAY_HIDDEN) ==
SECTION_DISPLAY_SEPARATE) { SECTION_DISPLAY_SEPARATE) {
if (CVarCheckbox("Horizontal display", CVAR_TRACKER_ITEM("DungeonItems.Layout"), if (CVarCheckbox(LanguageManager::Instance().GetString("Horizontal display").c_str(), CVAR_TRACKER_ITEM("DungeonItems.Layout"),
CheckboxOptions().DefaultValue(true).Color(THEME_COLOR))) { CheckboxOptions().DefaultValue(true).Color(THEME_COLOR))) {
shouldUpdateVectors = true; shouldUpdateVectors = true;
} }
} }
if (CVarCheckbox("Maps and compasses", CVAR_TRACKER_ITEM("DungeonItems.DisplayMaps"), if (CVarCheckbox(LanguageManager::Instance().GetString("Maps and compasses").c_str(), CVAR_TRACKER_ITEM("DungeonItems.DisplayMaps"),
CheckboxOptions().DefaultValue(true).Color(THEME_COLOR))) { CheckboxOptions().DefaultValue(true).Color(THEME_COLOR))) {
shouldUpdateVectors = true; shouldUpdateVectors = true;
} }
@@ -2175,7 +2175,7 @@ void ItemTrackerSettingsWindow::DrawElement() {
SohGui::mSohMenu->MenuDrawItem(overworldKeysTracking, 250, THEME_COLOR); SohGui::mSohMenu->MenuDrawItem(overworldKeysTracking, 250, THEME_COLOR);
SohGui::mSohMenu->MenuDrawItem(fishingPoleTracking, 250, THEME_COLOR); SohGui::mSohMenu->MenuDrawItem(fishingPoleTracking, 250, THEME_COLOR);
if (CVarCombobox("Total Checks", CVAR_TRACKER_ITEM("TotalChecks.DisplayType"), minimalDisplayTypes, if (CVarCombobox(LanguageManager::Instance().GetString("Total Checks").c_str(), CVAR_TRACKER_ITEM("TotalChecks.DisplayType"), minimalDisplayTypes,
ComboboxOptions() ComboboxOptions()
.DefaultIndex(SECTION_DISPLAY_MINIMAL_HIDDEN) .DefaultIndex(SECTION_DISPLAY_MINIMAL_HIDDEN)
.ComponentAlignment(ComponentAlignments::Right) .ComponentAlignment(ComponentAlignments::Right)
@@ -2206,13 +2206,13 @@ void ItemTrackerWindow::InitElement() {
} }
void RegisterItemTrackerWidgets() { void RegisterItemTrackerWidgets() {
backgroundColor = { .name = "Background Color##ItemTracker", .type = WidgetType::WIDGET_CVAR_COLOR_PICKER }; backgroundColor = { .name = LanguageManager::Instance().GetString("Background Color##ItemTracker"), .type = WidgetType::WIDGET_CVAR_COLOR_PICKER };
backgroundColor.CVar(CVAR_TRACKER_ITEM("BgColor")) backgroundColor.CVar(CVAR_TRACKER_ITEM("BgColor"))
.Options( .Options(
ColorPickerOptions().Color(THEME_COLOR).DefaultValue({ 0, 0, 0, 0 }).UseAlpha().ShowReset().ShowRandom()); ColorPickerOptions().Color(THEME_COLOR).DefaultValue({ 0, 0, 0, 0 }).UseAlpha().ShowReset().ShowRandom());
SohGui::mSohMenu->AddSearchWidget({ backgroundColor, "Randomizer", "Item Tracker", "General Settings" }); SohGui::mSohMenu->AddSearchWidget({ backgroundColor, "Randomizer", "Item Tracker", "General Settings" });
windowTypeWidget = { .name = "Window Type##ItemTracker", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; windowTypeWidget = { .name = LanguageManager::Instance().GetString("Window Type##ItemTracker"), .type = WidgetType::WIDGET_CVAR_COMBOBOX };
windowTypeWidget.CVar(CVAR_TRACKER_ITEM("WindowType")) windowTypeWidget.CVar(CVAR_TRACKER_ITEM("WindowType"))
.Options(ComboboxOptions() .Options(ComboboxOptions()
.DefaultIndex(TRACKER_WINDOW_FLOATING) .DefaultIndex(TRACKER_WINDOW_FLOATING)
@@ -2225,7 +2225,7 @@ void RegisterItemTrackerWidgets() {
enableDraggingWidget; enableDraggingWidget;
onlyPausedWidget; onlyPausedWidget;
ammoTracking = { .name = "Ammo/Capacity Tracking", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; ammoTracking = { .name = LanguageManager::Instance().GetString("Ammo/Capacity Tracking"), .type = WidgetType::WIDGET_CVAR_COMBOBOX };
ammoTracking.CVar(CVAR_TRACKER_ITEM("ItemCountType")) ammoTracking.CVar(CVAR_TRACKER_ITEM("ItemCountType"))
.Options(ComboboxOptions() .Options(ComboboxOptions()
.DefaultIndex(ITEM_TRACKER_NUMBER_CURRENT_CAPACITY_ONLY) .DefaultIndex(ITEM_TRACKER_NUMBER_CURRENT_CAPACITY_ONLY)
@@ -2237,7 +2237,7 @@ void RegisterItemTrackerWidgets() {
"\n\nNote: items without capacity upgrades will track ammo even in capacity mode")); "\n\nNote: items without capacity upgrades will track ammo even in capacity mode"));
SohGui::mSohMenu->AddSearchWidget({ ammoTracking, "Randomizer", "Item Tracker", "General Settings" }); SohGui::mSohMenu->AddSearchWidget({ ammoTracking, "Randomizer", "Item Tracker", "General Settings" });
keyTracking = { .name = "Key Count Tracking", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; keyTracking = { .name = LanguageManager::Instance().GetString("Key Count Tracking"), .type = WidgetType::WIDGET_CVAR_COMBOBOX };
keyTracking.CVar(CVAR_TRACKER_ITEM("KeyCounts")) keyTracking.CVar(CVAR_TRACKER_ITEM("KeyCounts"))
.Options(ComboboxOptions() .Options(ComboboxOptions()
.DefaultIndex(KEYS_COLLECTED_MAX) .DefaultIndex(KEYS_COLLECTED_MAX)
@@ -2245,10 +2245,10 @@ void RegisterItemTrackerWidgets() {
.LabelPosition(LabelPositions::Far) .LabelPosition(LabelPositions::Far)
.Color(THEME_COLOR) .Color(THEME_COLOR)
.ComboMap(itemTrackerKeyTrackOptions) .ComboMap(itemTrackerKeyTrackOptions)
.Tooltip("Customize what numbers are shown for key tracking.")); .Tooltip(LanguageManager::Instance().GetString("Customize what numbers are shown for key tracking.").c_str()));
SohGui::mSohMenu->AddSearchWidget({ keyTracking, "Randomizer", "Item Tracker", "General Settings" }); SohGui::mSohMenu->AddSearchWidget({ keyTracking, "Randomizer", "Item Tracker", "General Settings" });
triforcePieceTracking = { .name = "Triforce Pieces", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; triforcePieceTracking = { .name = LanguageManager::Instance().GetString("Triforce Pieces"), .type = WidgetType::WIDGET_CVAR_COMBOBOX };
triforcePieceTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.TriforcePieces")) triforcePieceTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.TriforcePieces"))
.Options(ComboboxOptions() .Options(ComboboxOptions()
.DefaultIndex(SECTION_DISPLAY_HIDDEN) .DefaultIndex(SECTION_DISPLAY_HIDDEN)
@@ -2259,7 +2259,7 @@ void RegisterItemTrackerWidgets() {
.Callback([](WidgetInfo& info) { shouldUpdateVectors = true; }); .Callback([](WidgetInfo& info) { shouldUpdateVectors = true; });
SohGui::mSohMenu->AddSearchWidget({ triforcePieceTracking, "Randomizer", "Item Tracker", "General Settings" }); SohGui::mSohMenu->AddSearchWidget({ triforcePieceTracking, "Randomizer", "Item Tracker", "General Settings" });
dungeonItemTracking = { .name = "Dungeon Items", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; dungeonItemTracking = { .name = LanguageManager::Instance().GetString("Dungeon Items"), .type = WidgetType::WIDGET_CVAR_COMBOBOX };
dungeonItemTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.DungeonItems")) dungeonItemTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.DungeonItems"))
.Options(ComboboxOptions() .Options(ComboboxOptions()
.DefaultIndex(SECTION_DISPLAY_HIDDEN) .DefaultIndex(SECTION_DISPLAY_HIDDEN)
@@ -2272,7 +2272,7 @@ void RegisterItemTrackerWidgets() {
SohGui::mSohMenu->AddSearchWidget( SohGui::mSohMenu->AddSearchWidget(
{ dungeonItemTracking, "Randomizer", "Item Tracker", "General Settings", "keys maps compasses icon" }); { dungeonItemTracking, "Randomizer", "Item Tracker", "General Settings", "keys maps compasses icon" });
gregTracking = { .name = "Greg", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; gregTracking = { .name = LanguageManager::Instance().GetString("Greg"), .type = WidgetType::WIDGET_CVAR_COMBOBOX };
gregTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.Greg")) gregTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.Greg"))
.Options(ComboboxOptions() .Options(ComboboxOptions()
.DefaultIndex(SECTION_DISPLAY_EXTENDED_HIDDEN) .DefaultIndex(SECTION_DISPLAY_EXTENDED_HIDDEN)
@@ -2284,7 +2284,7 @@ void RegisterItemTrackerWidgets() {
; ;
SohGui::mSohMenu->AddSearchWidget({ gregTracking, "Randomizer", "Item Tracker", "General Settings", "icon" }); SohGui::mSohMenu->AddSearchWidget({ gregTracking, "Randomizer", "Item Tracker", "General Settings", "icon" });
beanSoulsTracking = { .name = "Bean Souls", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; beanSoulsTracking = { .name = LanguageManager::Instance().GetString("Bean Souls"), .type = WidgetType::WIDGET_CVAR_COMBOBOX };
beanSoulsTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.BeanSouls")) beanSoulsTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.BeanSouls"))
.Options(ComboboxOptions() .Options(ComboboxOptions()
.DefaultIndex(SECTION_DISPLAY_HIDDEN) .DefaultIndex(SECTION_DISPLAY_HIDDEN)
@@ -2296,7 +2296,7 @@ void RegisterItemTrackerWidgets() {
; ;
SohGui::mSohMenu->AddSearchWidget({ beanSoulsTracking, "Randomizer", "Item Tracker", "General Settings", "icon" }); SohGui::mSohMenu->AddSearchWidget({ beanSoulsTracking, "Randomizer", "Item Tracker", "General Settings", "icon" });
bossSoulsTracking = { .name = "Boss Souls", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; bossSoulsTracking = { .name = LanguageManager::Instance().GetString("Boss Souls"), .type = WidgetType::WIDGET_CVAR_COMBOBOX };
bossSoulsTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.BossSouls")) bossSoulsTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.BossSouls"))
.Options(ComboboxOptions() .Options(ComboboxOptions()
.DefaultIndex(SECTION_DISPLAY_HIDDEN) .DefaultIndex(SECTION_DISPLAY_HIDDEN)
@@ -2308,7 +2308,7 @@ void RegisterItemTrackerWidgets() {
; ;
SohGui::mSohMenu->AddSearchWidget({ bossSoulsTracking, "Randomizer", "Item Tracker", "General Settings", "icon" }); SohGui::mSohMenu->AddSearchWidget({ bossSoulsTracking, "Randomizer", "Item Tracker", "General Settings", "icon" });
jabberNutsTracking = { .name = "Jabber Nuts", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; jabberNutsTracking = { .name = LanguageManager::Instance().GetString("Jabber Nuts"), .type = WidgetType::WIDGET_CVAR_COMBOBOX };
jabberNutsTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.JabberNuts")) jabberNutsTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.JabberNuts"))
.Options(ComboboxOptions() .Options(ComboboxOptions()
.DefaultIndex(SECTION_DISPLAY_HIDDEN) .DefaultIndex(SECTION_DISPLAY_HIDDEN)
@@ -2320,7 +2320,7 @@ void RegisterItemTrackerWidgets() {
; ;
SohGui::mSohMenu->AddSearchWidget({ jabberNutsTracking, "Randomizer", "Item Tracker", "General Settings", "icon" }); SohGui::mSohMenu->AddSearchWidget({ jabberNutsTracking, "Randomizer", "Item Tracker", "General Settings", "icon" });
triforcePieceCount = { .name = "Triforce Piece Count Tracking", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; triforcePieceCount = { .name = LanguageManager::Instance().GetString("Triforce Piece Count Tracking"), .type = WidgetType::WIDGET_CVAR_COMBOBOX };
triforcePieceCount.CVar(CVAR_TRACKER_ITEM("TriforcePieceCounts")) triforcePieceCount.CVar(CVAR_TRACKER_ITEM("TriforcePieceCounts"))
.Options(ComboboxOptions() .Options(ComboboxOptions()
.DefaultIndex(TRIFORCE_PIECE_COLLECTED_REQUIRED_MAX) .DefaultIndex(TRIFORCE_PIECE_COLLECTED_REQUIRED_MAX)
@@ -2328,10 +2328,10 @@ void RegisterItemTrackerWidgets() {
.LabelPosition(LabelPositions::Far) .LabelPosition(LabelPositions::Far)
.Color(THEME_COLOR) .Color(THEME_COLOR)
.ComboMap(itemTrackerTriforcePieceTrackOptions) .ComboMap(itemTrackerTriforcePieceTrackOptions)
.Tooltip("Customize what numbers are shown for triforce piece tracking.")); .Tooltip(LanguageManager::Instance().GetString("Customize what numbers are shown for triforce piece tracking.").c_str()));
SohGui::mSohMenu->AddSearchWidget({ triforcePieceCount, "Randomizer", "Item Tracker", "General Settings" }); SohGui::mSohMenu->AddSearchWidget({ triforcePieceCount, "Randomizer", "Item Tracker", "General Settings" });
ocarinaButtonTracking = { .name = "Ocarina Buttons", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; ocarinaButtonTracking = { .name = LanguageManager::Instance().GetString("Ocarina Buttons"), .type = WidgetType::WIDGET_CVAR_COMBOBOX };
ocarinaButtonTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.OcarinaButtons")) ocarinaButtonTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.OcarinaButtons"))
.Options(ComboboxOptions() .Options(ComboboxOptions()
.DefaultIndex(SECTION_DISPLAY_HIDDEN) .DefaultIndex(SECTION_DISPLAY_HIDDEN)
@@ -2344,7 +2344,7 @@ void RegisterItemTrackerWidgets() {
SohGui::mSohMenu->AddSearchWidget( SohGui::mSohMenu->AddSearchWidget(
{ ocarinaButtonTracking, "Randomizer", "Item Tracker", "General Settings", "icon" }); { ocarinaButtonTracking, "Randomizer", "Item Tracker", "General Settings", "icon" });
overworldKeysTracking = { .name = "Overworld Keys", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; overworldKeysTracking = { .name = LanguageManager::Instance().GetString("Overworld Keys"), .type = WidgetType::WIDGET_CVAR_COMBOBOX };
overworldKeysTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.OverworldKeys")) overworldKeysTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.OverworldKeys"))
.Options(ComboboxOptions() .Options(ComboboxOptions()
.DefaultIndex(SECTION_DISPLAY_HIDDEN) .DefaultIndex(SECTION_DISPLAY_HIDDEN)
@@ -2357,7 +2357,7 @@ void RegisterItemTrackerWidgets() {
SohGui::mSohMenu->AddSearchWidget( SohGui::mSohMenu->AddSearchWidget(
{ overworldKeysTracking, "Randomizer", "Item Tracker", "General Settings", "icon" }); { overworldKeysTracking, "Randomizer", "Item Tracker", "General Settings", "icon" });
fishingPoleTracking = { .name = "Fishing Pole", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; fishingPoleTracking = { .name = LanguageManager::Instance().GetString("Fishing Pole"), .type = WidgetType::WIDGET_CVAR_COMBOBOX };
fishingPoleTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.FishingPole")) fishingPoleTracking.CVar(CVAR_TRACKER_ITEM("DisplayType.FishingPole"))
.Options(ComboboxOptions() .Options(ComboboxOptions()
.DefaultIndex(SECTION_DISPLAY_EXTENDED_HIDDEN) .DefaultIndex(SECTION_DISPLAY_EXTENDED_HIDDEN)
@@ -2370,9 +2370,9 @@ void RegisterItemTrackerWidgets() {
SohGui::mSohMenu->AddSearchWidget( SohGui::mSohMenu->AddSearchWidget(
{ fishingPoleTracking, "Randomizer", "Item Tracker", "General Settings", "icon" }); { fishingPoleTracking, "Randomizer", "Item Tracker", "General Settings", "icon" });
personalNotesWiget = { .name = "Personal notes", .type = WidgetType::WIDGET_CVAR_COMBOBOX }; personalNotesWiget = { .name = LanguageManager::Instance().GetString("Personal notes"), .type = WidgetType::WIDGET_CVAR_COMBOBOX };
static const char* notesDisabledTooltip = static const char* notesDisabledTooltip =
"Disabled because tracker is set to floating and display combo is enabled."; LanguageManager::Instance().GetString("Disabled because tracker is set to floating and display combo is enabled.").c_str();
personalNotesWiget.CVar(CVAR_TRACKER_ITEM("DisplayType.Notes")) personalNotesWiget.CVar(CVAR_TRACKER_ITEM("DisplayType.Notes"))
.Options(ComboboxOptions() .Options(ComboboxOptions()
.DefaultIndex(SECTION_DISPLAY_HIDDEN) .DefaultIndex(SECTION_DISPLAY_HIDDEN)
@@ -2384,11 +2384,11 @@ void RegisterItemTrackerWidgets() {
; ;
SohGui::mSohMenu->AddSearchWidget({ personalNotesWiget, "Randomizer", "Item Tracker", "General Settings" }); SohGui::mSohMenu->AddSearchWidget({ personalNotesWiget, "Randomizer", "Item Tracker", "General Settings" });
hookshotIdentWidget = { .name = "Show Hookshot Identifiers", .type = WidgetType::WIDGET_CVAR_CHECKBOX }; hookshotIdentWidget = { .name = LanguageManager::Instance().GetString("Show Hookshot Identifiers"), .type = WidgetType::WIDGET_CVAR_CHECKBOX };
hookshotIdentWidget.CVar(CVAR_TRACKER_ITEM("HookshotIdentifier")) hookshotIdentWidget.CVar(CVAR_TRACKER_ITEM("HookshotIdentifier"))
.Options(CheckboxOptions() .Options(CheckboxOptions()
.Color(THEME_COLOR) .Color(THEME_COLOR)
.Tooltip("Shows an 'H' or an 'L' to more easily distinguish between Hookshot and Longshot.")); .Tooltip(LanguageManager::Instance().GetString("Shows an 'H' or an 'L' to more easily distinguish between Hookshot and Longshot.").c_str()));
SohGui::mSohMenu->AddSearchWidget({ hookshotIdentWidget, "Randomizer", "Item Tracker", "General Settings" }); SohGui::mSohMenu->AddSearchWidget({ hookshotIdentWidget, "Randomizer", "Item Tracker", "General Settings" });
} }