diff --git a/application/scenarioloaderuilayer.cpp b/application/scenarioloaderuilayer.cpp index 1beb5de8..7ec9b0aa 100644 --- a/application/scenarioloaderuilayer.cpp +++ b/application/scenarioloaderuilayer.cpp @@ -91,6 +91,8 @@ std::vector scenarioloader_ui::get_random_trivia() int i = RandomInt(0, static_cast(triviaData.size()) - 1); std::string triviaStr = triviaData[i]["text"]; std::string background = triviaData[i]["background"]; + if (triviaData[i].contains("scenery")) + sceneryName = triviaData[i]["scenery"]; // divide trivia into multiple lines - UTF-8 safe implementation // Different languages need different character limits due to character width differences @@ -275,6 +277,15 @@ void scenarioloader_ui::render_() draw_list->AddText(text_pos, IM_COL32_WHITE, line.c_str()); } } + + // Scenery name + // Draw only if defined + if (!sceneryName.empty()) + { + ImVec2 text_size = ImGui::CalcTextSize(sceneryName.c_str()); + ImVec2 text_pos = ImVec2(screen_size.x - 16 - text_size.x, 16); + draw_list->AddText(text_pos, IM_COL32_WHITE, sceneryName.c_str()); + } // Progress bar at the bottom of the screen const auto p1 = ImVec2(0, Global.window_size.y - 2); diff --git a/application/scenarioloaderuilayer.h b/application/scenarioloaderuilayer.h index 3be9cba1..72d7c3df 100644 --- a/application/scenarioloaderuilayer.h +++ b/application/scenarioloaderuilayer.h @@ -30,4 +30,9 @@ private: std::vector get_random_trivia(); void generate_gradient_tex(); void load_wheel_frames(); + + /// + /// Scenery name for eligable trivias + /// + std::string sceneryName; };