11#include " CheckTracker.h"
2+ #include " port/Rando/Logic/Logic.h"
23#include " port/ShipUtils.h"
34#include " port/ui/UIWidgets.hpp"
45#include < cstring>
@@ -91,6 +92,26 @@ namespace Rando {
9192
9293namespace CheckTracker {
9394
95+ void SetCheckTrackerList () {
96+ for (auto & [id, name] : levelIdList) {
97+ CheckTrackerObject entry;
98+ entry.levelId = id;
99+ entry.levelName = name;
100+
101+ for (auto & [randoCheckId, randoStaticCheck] : Rando::StaticData::Checks) {
102+ if (entry.levelId == randoStaticCheck.levelId ) {
103+ if (!Rando::Logic::IsCheckShuffled (randoCheckId)) {
104+ continue ;
105+ }
106+
107+ entry.randoCheckNameList .push_back (
108+ { randoCheckId, convertEnumToReadableName (randoStaticCheck.name ), false });
109+ }
110+ }
111+ checkTrackerList.push_back (entry);
112+ }
113+ }
114+
94115void CheckTrackerWindow::Draw () {
95116 if (!CVAR_SHOW_CHECK_TRACKER ) {
96117 return ;
@@ -107,10 +128,8 @@ void CheckTrackerWindow::Draw() {
107128 if (ImGui::Begin (" Check Tracker" , nullptr , ImGuiWindowFlags_NoNav | ImGuiWindowFlags_NoFocusOnAppearing)) {
108129 trackerBG.w = ImGui::IsWindowDocked () ? 1 .0f : CVAR_TRACKER_OPACITY ;
109130 ImGui::SetWindowFontScale (trackerScale);
110- if (!IS_RANDO (selectedFileNum)) {
111- ImGui::SetCursorPosX ((ImGui::GetWindowWidth () - ImGui::CalcTextSize (" No Rando Save Loaded" ).x ) / 2 );
112- ImGui::SetCursorPosY (ImGui::GetWindowHeight () / 2 - 10 .0f );
113- ImGui::TextColored (UIWidgets::ColorValues.at (UIWidgets::Colors::Gray), " No Rando Save Loaded" );
131+ if (checkTrackerList.empty ()) {
132+ ImGui::TextColored (UIWidgets::ColorValues.at (UIWidgets::Colors::Orange), " No Rando Save Loaded" );
114133 ImGui::End ();
115134 ImGui::PopStyleColor (4 );
116135 ImGui::PopStyleVar (1 );
@@ -187,23 +206,6 @@ void SettingsWindow::DrawElement() {
187206
188207bool isInitialized = false ;
189208void Init () {
190- if (!isInitialized) {
191- for (auto & [id, name] : levelIdList) {
192- CheckTrackerObject entry;
193- entry.levelId = id;
194- entry.levelName = name;
195-
196- for (auto & [randoCheckId, randoStaticCheck] : Rando::StaticData::Checks) {
197- if (entry.levelId == randoStaticCheck.levelId ) {
198- entry.randoCheckNameList .push_back (
199- { randoCheckId, convertEnumToReadableName (randoStaticCheck.name ), false });
200- }
201- }
202- checkTrackerList.push_back (entry);
203- }
204- isInitialized = true ;
205- }
206-
207209 trackerBG = { 0 , 0 , 0 , CVAR_TRACKER_OPACITY };
208210 trackerScale = CVAR_TRACKER_SCALE ;
209211}
0 commit comments