MCPcopy Create free account
hub / github.com/EasyRPG/Player / UpdateRangeListWindow

Method UpdateRangeListWindow

src/scene_debug.cpp:699–888  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

697}
698
699void Scene_Debug::UpdateRangeListWindow() {
700 int idx = 0;
701 const bool is_battle = Game_Battle::IsBattleRunning();
702
703 auto addItem = [&](const auto& name, bool enabled = true) {
704 range_window->SetItemText(idx, name);
705 range_window->SetItemEnabled(idx, enabled);
706 ++idx;
707 };
708
709 auto fillRange = [&](Window_VarList::Mode mode) {
710 auto prefix = Window_VarList::GetPrefix(mode);
711 int digits = Window_VarList::GetDigitCount(mode);
712 const int item_count = Window_VarList::GetItemCount(mode, var_window->GetShowDetail());
713 assert(digits >= 2 && digits <= 5);
714
715 // Allow some extra space when displaying switches & variables that go above the usual range
716 if (mode == Window_VarList::eSwitch || mode == Window_VarList::eVariable) {
717 const auto st = GetSelectedIndexFromRange(mode, range_page, 0);
718 if (st > 9999) {
719 digits = 5;
720 prefix = prefix.substr(0, 1);
721 } else if (st > 99999) {
722 digits = 6;
723 prefix = prefix.substr(0, 1);
724 }
725 }
726
727 const int num_elements = Window_VarList::GetNumElements(mode);
728
729 for (int i = 0; i < 10; i++) {
730 const auto st = GetSelectedIndexFromRange(mode, range_page, i);
731 if (st > num_elements) {
732 addItem("", false);
733 continue;
734 }
735 int end = st + item_count - 1;
736 if (num_elements > 0 && end > num_elements) {
737 end = num_elements;
738 }
739 switch (digits) {
740 case 2:
741 addItem(fmt::format("{}[{:02d}-{:02d}]", prefix, st, end));
742 break;
743 case 3:
744 addItem(fmt::format("{}[{:03d}-{:03d}]", prefix, st, end));
745 break;
746 case 4:
747 addItem(fmt::format("{}[{:04d}-{:04d}]", prefix, st, end));
748 break;
749 case 5:
750 addItem(fmt::format("{}[{:05d}...{:02d}]", prefix, st, end % 100));
751 break;
752 case 6:
753 addItem(fmt::format("{}[{:06d}..{:02d}]", prefix, st, end % 100));
754 break;
755 default: break;
756 }

Callers

nothing calls this directly

Calls 11

SetItemEnabledMethod · 0.80
GetShowDetailMethod · 0.80
GetActivePageMethod · 0.80
SetItemTextMethod · 0.45
GetIdMethod · 0.45
GetNameMethod · 0.45
GetNumPagesMethod · 0.45
IsActiveMethod · 0.45
GetXMethod · 0.45
GetYMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected