Merge branch 'develop' of garrettjoecox.github.com:HarbourMasters/Shipwright into develop-rando-merge
This commit is contained in:
@@ -460,10 +460,31 @@ ItemTrackerNumbers GetItemCurrentAndMax(ItemTrackerItem item) {
|
||||
|
||||
void DrawItemCount(ItemTrackerItem item) {
|
||||
int iconSize = CVarGetInteger("gItemTrackerIconSize", 36);
|
||||
int textSize = CVarGetInteger("gTrackers.ItemTracker.ItemTrackerTextSize", 13);
|
||||
ItemTrackerNumbers currentAndMax = GetItemCurrentAndMax(item);
|
||||
ImVec2 p = ImGui::GetCursorScreenPos();
|
||||
int32_t trackerNumberDisplayMode = CVarGetInteger("gItemTrackerCapacityTrack", ITEM_TRACKER_NUMBER_CURRENT_CAPACITY_ONLY);
|
||||
int32_t trackerKeyNumberDisplayMode = CVarGetInteger("gItemTrackerKeyTrack", KEYS_COLLECTED_MAX);
|
||||
float textScalingFactor = static_cast<float>(iconSize) / 36.0f;
|
||||
uint32_t actualItemId = INV_CONTENT(item.id);
|
||||
bool hasItem = actualItemId != ITEM_NONE;
|
||||
|
||||
if (CVarGetInteger("gTrackers.ItemTracker.HookshotIdentifier", 0)) {
|
||||
if ((actualItemId == ITEM_HOOKSHOT || actualItemId == ITEM_LONGSHOT) && hasItem) {
|
||||
|
||||
// Calculate the scaled position for the text
|
||||
ImVec2 textPos = ImVec2(p.x + (iconSize / 2) - (ImGui::CalcTextSize(item.id == ITEM_HOOKSHOT ? "H" : "L").x *
|
||||
textScalingFactor / 2) + 8 * textScalingFactor, p.y - 22 * textScalingFactor);
|
||||
|
||||
ImGui::SetCursorScreenPos(textPos);
|
||||
ImGui::SetWindowFontScale(textScalingFactor);
|
||||
|
||||
ImGui::Text(item.id == ITEM_HOOKSHOT ? "H" : "L");
|
||||
ImGui::SetWindowFontScale(1.0f); // Reset font scale to the original state
|
||||
}
|
||||
}
|
||||
|
||||
ImGui::SetWindowFontScale(textSize / 13.0f);
|
||||
|
||||
if (item.id == ITEM_KEY_SMALL && IsValidSaveFile()) {
|
||||
std::string currentString = "";
|
||||
@@ -816,7 +837,7 @@ void DrawDungeonItem(ItemTrackerItem item) {
|
||||
|
||||
ImVec2 p = ImGui::GetCursorScreenPos();
|
||||
std::string dungeonName = itemTrackerDungeonShortNames[item.data];
|
||||
ImGui::SetCursorScreenPos(ImVec2(p.x + (iconSize / 2) - (ImGui::CalcTextSize(dungeonName.c_str()).x / 2), p.y - (iconSize + 16)));
|
||||
ImGui::SetCursorScreenPos(ImVec2(p.x + (iconSize / 2) - (ImGui::CalcTextSize(dungeonName.c_str()).x / 2), p.y - (iconSize + CVarGetInteger("gTrackers.ItemTracker.ItemTrackerTextSize", 13) + 3)));
|
||||
ImGui::PushStyleColor(ImGuiCol_Text, dungeonColor);
|
||||
ImGui::Text("%s", dungeonName.c_str());
|
||||
ImGui::PopStyleColor();
|
||||
@@ -945,7 +966,7 @@ void DrawItemsInACircle(std::vector<ItemTrackerItem> items) {
|
||||
float angle = (float)i / items.size() * 2.0f * M_PI;
|
||||
float x = (radius / 2.0f) * cos(angle) + max.x / 2.0f;
|
||||
float y = (radius / 2.0f) * sin(angle) + max.y / 2.0f;
|
||||
ImGui::SetCursorPos(ImVec2(x - 14, y + 4));
|
||||
ImGui::SetCursorPos(ImVec2(x - (CVarGetInteger("gItemTrackerIconSize", 36) - 8) / 2.0f, y + 4));
|
||||
items[i].drawFunc(items[i]);
|
||||
}
|
||||
}
|
||||
@@ -1331,6 +1352,7 @@ void ItemTrackerSettingsWindow::DrawElement() {
|
||||
UIWidgets::PaddedSeparator();
|
||||
UIWidgets::EnhancementSliderInt("Icon size : %dpx", "##ITEMTRACKERICONSIZE", "gItemTrackerIconSize", 25, 128, "", 36);
|
||||
UIWidgets::EnhancementSliderInt("Icon margins : %dpx", "##ITEMTRACKERSPACING", "gItemTrackerIconSpacing", -5, 50, "", 12);
|
||||
UIWidgets::EnhancementSliderInt("Text size : %dpx", "##ITEMTRACKERTEXTSIZE", "gTrackers.ItemTracker.ItemTrackerTextSize", 1, 30, "", 13);
|
||||
|
||||
UIWidgets::Spacer(0);
|
||||
|
||||
@@ -1371,7 +1393,7 @@ void ItemTrackerSettingsWindow::DrawElement() {
|
||||
shouldUpdateVectors = true;
|
||||
}
|
||||
if (CVarGetInteger("gItemTrackerDungeonRewardsDisplayType", SECTION_DISPLAY_MAIN_WINDOW) == SECTION_DISPLAY_SEPARATE) {
|
||||
if (UIWidgets::PaddedEnhancementCheckbox("Circle display", "gItemTrackerDungeonRewardsCircle", true, true, false, "", UIWidgets::CheckboxGraphics::Cross, true)) {
|
||||
if (UIWidgets::PaddedEnhancementCheckbox("Circle display", "gItemTrackerDungeonRewardsCircle", true, true, false, "", UIWidgets::CheckboxGraphics::Cross, false)) {
|
||||
shouldUpdateVectors = true;
|
||||
}
|
||||
}
|
||||
@@ -1416,6 +1438,10 @@ void ItemTrackerSettingsWindow::DrawElement() {
|
||||
shouldUpdateVectors = true;
|
||||
}
|
||||
}
|
||||
UIWidgets::EnhancementCheckbox("Show Hookshot Identifiers", "gTrackers.ItemTracker.HookshotIdentifier");
|
||||
UIWidgets::InsertHelpHoverText("Shows an 'H' or an 'L' to more easiely distinguish between Hookshot and Longshot.");
|
||||
|
||||
UIWidgets::Spacer(0);
|
||||
|
||||
ImGui::PopStyleVar(1);
|
||||
ImGui::EndTable();
|
||||
|
||||
Reference in New Issue
Block a user