summaryrefslogtreecommitdiff
path: root/editor/editor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'editor/editor.cpp')
-rw-r--r--editor/editor.cpp28
1 files changed, 13 insertions, 15 deletions
diff --git a/editor/editor.cpp b/editor/editor.cpp
index 38e2828..057152f 100644
--- a/editor/editor.cpp
+++ b/editor/editor.cpp
@@ -1390,24 +1390,22 @@ void RecordImGuiLevels() {
ImGuiTableFlags_Borders |
ImGuiTableFlags_RowBg
};
- if (ImGui::BeginTable("PkeLevels", 3, tableFlags)) {
+ if (ImGui::BeginTable("pke_levels", 3, tableFlags)) {
ImGui::TableSetupColumn("Name");
ImGui::TableSetupColumn("Handle");
ImGui::TableHeadersRow();
- pk_handle_bucket_index_T b, bb;
- pk_handle_item_index_T i, ii;
- PkeLevel *lvls;
- bb = pke_level_get_bucket_count();
- for (b = 0; b < bb; ++b) {
- lvls = pke_level_get_levels(b, &ii);
- for (i = 0; i < ii; ++i) {
- ImGui::TableNextRow();
- ImGui::TableSetColumnIndex(0);
- ImGui::Text("%s", lvls[i].name);
- ImGui::TableSetColumnIndex(1);
- ImGui::Text("0x%08X 0x%08X", b, i);
- }
- }
+
+ auto level_iter_cb = [](void *user_data, void *arr_obj_data) {
+ (void)user_data;
+ pke_level *lvl = reinterpret_cast<pke_level*>(arr_obj_data);
+ ImGui::TableNextRow();
+ ImGui::TableSetColumnIndex(0);
+ ImGui::Text("%s", lvl->name);
+ ImGui::TableSetColumnIndex(1);
+ ImGui::Text("0x%08X 0x%08X", lvl->levelHandle.b, lvl->levelHandle.i);
+ };
+ pk_bkt_arr_iterate(pke_level_get_levels(), level_iter_cb, NULL);
+
ImGui::EndTable();
}
ImGui::End();