From c3849f011be0ecfbf359a163e5e2423272c0c3d0 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Fri, 7 Mar 2025 13:38:07 -0500 Subject: Display friendly painting names --- src/area_popup.cpp | 6 +++--- src/game_data.cpp | 7 +++++++ src/game_data.h | 1 + 3 files changed, 11 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/area_popup.cpp b/src/area_popup.cpp index 8d6487e..467a2bc 100644 --- a/src/area_popup.cpp +++ b/src/area_popup.cpp @@ -79,7 +79,7 @@ void AreaPopup::UpdateIndicators() { if (AP_IsPaintingShuffle() && !tracker_panel->IsPanelsMode()) { for (int painting_id : map_area.paintings) { const PaintingExit& painting = GD_GetPaintingExit(painting_id); - wxSize item_extent = mem_dc.GetTextExtent(painting.internal_id); // TODO: Replace with a friendly name. + wxSize item_extent = mem_dc.GetTextExtent(painting.display_name); int item_height = std::max(32, item_extent.GetHeight()) + 10; acc_height += item_height; @@ -157,8 +157,8 @@ void AreaPopup::UpdateIndicators() { wxBitmap* eye_ptr = checked ? &checked_eye_ : &unchecked_eye_; mem_dc.DrawBitmap(*eye_ptr, {10, cur_height}); - wxSize item_extent = mem_dc.GetTextExtent(painting.internal_id); // TODO: Replace with friendly name. - mem_dc.DrawText(painting.internal_id, + wxSize item_extent = mem_dc.GetTextExtent(painting.display_name); + mem_dc.DrawText(painting.display_name, {10 + 32 + 10, cur_height + (32 - mem_dc.GetFontMetrics().height) / 2}); diff --git a/src/game_data.cpp b/src/game_data.cpp index 0ac77af..a3ac27d 100644 --- a/src/game_data.cpp +++ b/src/game_data.cpp @@ -490,6 +490,13 @@ struct GameData { PaintingExit &painting_exit = paintings_[painting_id]; painting_exit.room = room_id; + if (painting["display_name"]) { + painting_exit.display_name = + painting["display_name"].as(); + } else { + painting_exit.display_name = painting_exit.internal_id; + } + if ((!painting["exit_only"] || !painting["exit_only"].as()) && (!painting["disable"] || !painting["disable"].as())) { painting_exit.entrance = true; diff --git a/src/game_data.h b/src/game_data.h index 31a1e78..fd7301f 100644 --- a/src/game_data.h +++ b/src/game_data.h @@ -102,6 +102,7 @@ struct PaintingExit { int id; int room; std::string internal_id; + std::string display_name; std::optional door; bool entrance = false; }; -- cgit 1.4.1