about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/area_popup.cpp6
-rw-r--r--src/game_data.cpp7
-rw-r--r--src/game_data.h1
3 files changed, 11 insertions, 3 deletions
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() {
79 if (AP_IsPaintingShuffle() && !tracker_panel->IsPanelsMode()) { 79 if (AP_IsPaintingShuffle() && !tracker_panel->IsPanelsMode()) {
80 for (int painting_id : map_area.paintings) { 80 for (int painting_id : map_area.paintings) {
81 const PaintingExit& painting = GD_GetPaintingExit(painting_id); 81 const PaintingExit& painting = GD_GetPaintingExit(painting_id);
82 wxSize item_extent = mem_dc.GetTextExtent(painting.internal_id); // TODO: Replace with a friendly name. 82 wxSize item_extent = mem_dc.GetTextExtent(painting.display_name);
83 int item_height = std::max(32, item_extent.GetHeight()) + 10; 83 int item_height = std::max(32, item_extent.GetHeight()) + 10;
84 acc_height += item_height; 84 acc_height += item_height;
85 85
@@ -157,8 +157,8 @@ void AreaPopup::UpdateIndicators() {
157 wxBitmap* eye_ptr = checked ? &checked_eye_ : &unchecked_eye_; 157 wxBitmap* eye_ptr = checked ? &checked_eye_ : &unchecked_eye_;
158 mem_dc.DrawBitmap(*eye_ptr, {10, cur_height}); 158 mem_dc.DrawBitmap(*eye_ptr, {10, cur_height});
159 159
160 wxSize item_extent = mem_dc.GetTextExtent(painting.internal_id); // TODO: Replace with friendly name. 160 wxSize item_extent = mem_dc.GetTextExtent(painting.display_name);
161 mem_dc.DrawText(painting.internal_id, 161 mem_dc.DrawText(painting.display_name,
162 {10 + 32 + 10, 162 {10 + 32 + 10,
163 cur_height + (32 - mem_dc.GetFontMetrics().height) / 2}); 163 cur_height + (32 - mem_dc.GetFontMetrics().height) / 2});
164 164
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 {
490 PaintingExit &painting_exit = paintings_[painting_id]; 490 PaintingExit &painting_exit = paintings_[painting_id];
491 painting_exit.room = room_id; 491 painting_exit.room = room_id;
492 492
493 if (painting["display_name"]) {
494 painting_exit.display_name =
495 painting["display_name"].as<std::string>();
496 } else {
497 painting_exit.display_name = painting_exit.internal_id;
498 }
499
493 if ((!painting["exit_only"] || !painting["exit_only"].as<bool>()) && 500 if ((!painting["exit_only"] || !painting["exit_only"].as<bool>()) &&
494 (!painting["disable"] || !painting["disable"].as<bool>())) { 501 (!painting["disable"] || !painting["disable"].as<bool>())) {
495 painting_exit.entrance = true; 502 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 {
102 int id; 102 int id;
103 int room; 103 int room;
104 std::string internal_id; 104 std::string internal_id;
105 std::string display_name;
105 std::optional<int> door; 106 std::optional<int> door;
106 bool entrance = false; 107 bool entrance = false;
107}; 108};