diff options
Diffstat (limited to 'editor')
| -rw-r--r-- | editor/editor.cpp | 28 |
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(); |
