From a2f60b075ff3a0e227b361d8961b8a254115b7ea Mon Sep 17 00:00:00 2001 From: Yimura Date: Tue, 29 Dec 2020 00:17:32 +0100 Subject: [PATCH] fix(TabWorld): Fixed overread bug and added local weather override --- BigBaseV2/src/gui/tab_bar/tab_world.cpp | 27 +++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/BigBaseV2/src/gui/tab_bar/tab_world.cpp b/BigBaseV2/src/gui/tab_bar/tab_world.cpp index d8244a05..69a344f7 100644 --- a/BigBaseV2/src/gui/tab_bar/tab_world.cpp +++ b/BigBaseV2/src/gui/tab_bar/tab_world.cpp @@ -8,17 +8,36 @@ namespace big { if (ImGui::BeginTabItem("World")) { - ImGui::Text("Set Local Time"); + ImGui::Text("Set Local Time:"); if (ImGui::InputInt3(": H:M:s", clock)) { QUEUE_JOB_BEGIN_CLAUSE() { - CLOCK::SET_CLOCK_TIME(clock[0], clock[1], clock[3]); + CLOCK::SET_CLOCK_TIME(clock[0], clock[1], clock[2]); }QUEUE_JOB_END_CLAUSE } - //ImGui::Text("Set Weather:"); - //MISC::SET_OVERRIDE_WEATHER(); + ImGui::Text("Set Local Weather:"); + if (ImGui::BeginCombo("##set_local_weather", weather_names[g_temp.weather_type])) + { + for (uint8_t i = 0; i < IM_ARRAYSIZE(weather_names); i++) + { + bool is_selected = (g_temp.weather_type == i); + if (ImGui::Selectable(weather_names[i], is_selected)) + g_temp.weather_type = i; + if (is_selected) + ImGui::SetItemDefaultFocus(); + } + + ImGui::EndCombo(); + } + if (ImGui::Button("Set Weather")) + { + QUEUE_JOB_BEGIN_CLAUSE(=) + { + MISC::SET_WEATHER_TYPE_NOW(weather_types[g_temp.weather_type]); + }QUEUE_JOB_END_CLAUSE + } ImGui::EndTabItem(); }