From f7bd0793424ed8e024520a941cc4cfcf4eb84de2 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Thu, 28 Aug 2025 14:04:12 -0400 Subject: pke: use new pk_iter_t from pk.h --- src/entities.cpp | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'src/entities.cpp') diff --git a/src/entities.cpp b/src/entities.cpp index 8b37cbc..8b39cea 100644 --- a/src/entities.cpp +++ b/src/entities.cpp @@ -1412,18 +1412,21 @@ pk_bkt_arr *EntityType_GetEntityTypes() { } void EntityType_Teardown() { - auto et_iter_cb = [](void *user_data, void *arr_obj_data) { - (void)user_data; - EntityType &et = *reinterpret_cast(arr_obj_data); - if (et.modelAssetKey[0] == '\0') return; + bool b; + pk_iter_t iter_ent_type{}; + b = pk_bkt_arr_iter_end(&et_mstr.bc, &iter_ent_type); + while (b == true) { + if (iter_ent_type->modelAssetKey[0] == '\0') { + b = pk_bkt_arr_iter_decrement(&et_mstr.bc, &iter_ent_type); + continue; + } CompGrBinds *grBindsArr[EntityTypeDetails_MAX] = {nullptr}; - for (long k = 0; k < et.detailsCount; ++k) { - const EntityTypeDetails &etd = et.details[k]; - grBindsArr[k] = etd.grBinds; + for (long k = 0; k < iter_ent_type->detailsCount; ++k) { + grBindsArr[k] = iter_ent_type->details[k].grBinds; } - EntityType_Unload(et, grBindsArr); - }; - pk_bkt_arr_iterate(&et_mstr.bc, et_iter_cb, NULL); + EntityType_Unload(*iter_ent_type, grBindsArr); + b = pk_bkt_arr_iter_decrement(&et_mstr.bc, &iter_ent_type); + } pk_bkt_arr_teardown(&et_mstr.bc); pk_arr_reset(&EntityTypesToTeardown); pk_mem_bucket_destroy(et_mstr.bkt); -- cgit v1.2.3