diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-07-17 14:50:05 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-07-17 14:50:05 -0400 |
| commit | 8fbeadda53243b701957a26dba1113d84ad5c7c4 (patch) | |
| tree | d37007379260bd8e6ec2a9c24ff269a8b5875dff /src | |
| parent | f50804900157af65da50166325163444a78aaaec (diff) | |
pke: handle pk.h breaking changes
Diffstat (limited to 'src')
| -rw-r--r-- | src/asset-manager.cpp | 4 | ||||
| -rw-r--r-- | src/audio-impl-pw.cpp | 16 | ||||
| -rw-r--r-- | src/audio.cpp | 14 | ||||
| -rw-r--r-- | src/dynamic-array.cpp | 6 | ||||
| -rw-r--r-- | src/dynamic-array.hpp | 4 | ||||
| -rw-r--r-- | src/entities.cpp | 12 | ||||
| -rw-r--r-- | src/font.cpp | 34 | ||||
| -rw-r--r-- | src/game.cpp | 2 | ||||
| -rw-r--r-- | src/player-input.cpp | 2 | ||||
| -rw-r--r-- | src/project.cpp | 10 | ||||
| -rw-r--r-- | src/scene.cpp | 2 | ||||
| -rw-r--r-- | src/serialization-camera.cpp | 10 | ||||
| -rw-r--r-- | src/serialization-component.cpp | 18 | ||||
| -rw-r--r-- | src/serialization-font.cpp | 26 | ||||
| -rw-r--r-- | src/serialization-input.cpp | 18 | ||||
| -rw-r--r-- | src/serialization-static-ui.cpp | 26 | ||||
| -rw-r--r-- | src/serialization.cpp | 16 | ||||
| -rw-r--r-- | src/static-ui.cpp | 14 | ||||
| -rw-r--r-- | src/vendor-pkh-include.cpp | 7 | ||||
| -rw-r--r-- | src/window.cpp | 118 |
20 files changed, 183 insertions, 176 deletions
diff --git a/src/asset-manager.cpp b/src/asset-manager.cpp index 262752c..f0f6d5e 100644 --- a/src/asset-manager.cpp +++ b/src/asset-manager.cpp @@ -99,7 +99,7 @@ AssetHandle AM_Register(const AssetKey &key, AssetType type, const char *path) { asset.handle = assetHandle; strncpy(asset.key, key, AssetKeyLength); int64_t pathLen = strlen(path); - auto *copiedPath = pk_new<char>(pathLen + 1); + auto *copiedPath = pk_new_arr<char>(pathLen + 1); copiedPath[pathLen] = '\0'; strncpy(copiedPath, path, pathLen); asset.basePath = copiedPath; @@ -130,7 +130,7 @@ AssetHandle AM_Register(const char *path, AssetType type) { new (&asset) Asset{}; asset.handle = assetHandle; strncpy(asset.key, assetKey, AssetKeyLength); - auto *copiedPath = pk_new<char>(pathLen + 1); + auto *copiedPath = pk_new_arr<char>(pathLen + 1); copiedPath[pathLen] = '\0'; strncpy(copiedPath, path, pathLen); asset.basePath = copiedPath; diff --git a/src/audio-impl-pw.cpp b/src/audio-impl-pw.cpp index 1bc2525..b6a11ac 100644 --- a/src/audio-impl-pw.cpp +++ b/src/audio-impl-pw.cpp @@ -63,11 +63,11 @@ void pke_audio_pw_init() { pke_audio_pw.pw_objects.bkt = pke_audio_pw.bkt; pke_audio_pw.created_objects = {}; pke_audio_pw.created_objects.bkt = pke_audio_pw.bkt; - pke_audio_pw.default_sink_name = pk_new<char>(PKE_AUDIO_PW_NAME_RESERVE_LEN, pke_audio_pw.bkt); + pke_audio_pw.default_sink_name = pk_new_arr<char>(PKE_AUDIO_PW_NAME_RESERVE_LEN, pke_audio_pw.bkt); pke_audio_pw.default_sink_id = 0; pke_audio_pw.is_needing_output_remapped = true; - pke_audio_pw.pod_buffer = pk_new<uint8_t>(pke_audio_mstr.channel_count * PKE_AUDIO_POD_BUFFER_LEN, pke_audio_pw.bkt); + pke_audio_pw.pod_buffer = pk_new_arr<uint8_t>(pke_audio_mstr.channel_count * PKE_AUDIO_POD_BUFFER_LEN, pke_audio_pw.bkt); pw_init(NULL, NULL); @@ -172,8 +172,8 @@ void pke_audio_pw_teardown() { pw_thread_loop_destroy(pke_audio_pw.loop); } pw_deinit(); - pk_delete<char>(pke_audio_pw.default_sink_name, PKE_AUDIO_PW_NAME_RESERVE_LEN, pke_audio_pw.bkt); - pk_delete<uint8_t>(pke_audio_pw.pod_buffer, pke_audio_mstr.channel_count * PKE_AUDIO_POD_BUFFER_LEN, pke_audio_pw.bkt); + pk_delete_arr<char>(pke_audio_pw.default_sink_name, PKE_AUDIO_PW_NAME_RESERVE_LEN, pke_audio_pw.bkt); + pk_delete_arr<uint8_t>(pke_audio_pw.pod_buffer, pke_audio_mstr.channel_count * PKE_AUDIO_POD_BUFFER_LEN, pke_audio_pw.bkt); pk_arr_reset(&pke_audio_pw.created_objects); pke_audio_pw.created_objects.bkt = nullptr; pk_arr_reset(&pke_audio_pw.pw_objects); @@ -193,8 +193,8 @@ void pke_audio_pw_remap_outputs() { pw_properties *props = pw_properties_new(NULL, NULL); pke_audio_pw_object *objs = (pke_audio_pw_object *)pke_audio_pw.pw_objects.data; const char *str; - uint32_t *out_ports = pk_new<uint32_t>(pke_audio_mstr.channel_count, pkeSettings.mem_bkt.game_transient); - uint32_t *in_ports = pk_new<uint32_t>(pke_audio_mstr.channel_count, pkeSettings.mem_bkt.game_transient); + uint32_t *out_ports = pk_new_arr<uint32_t>(pke_audio_mstr.channel_count, pkeSettings.mem_bkt.game_transient); + uint32_t *in_ports = pk_new_arr<uint32_t>(pke_audio_mstr.channel_count, pkeSettings.mem_bkt.game_transient); for (i = 0; i < pke_audio_mstr.channel_count; ++i) { out_ports[i] = 0; in_ports[i] = 0; @@ -313,13 +313,13 @@ void on_pipewire_process(void *user_data) { if (n_frames > 0 && n_frames < pke_audio_mstr.buffer_frames) { // TODO PERF I think if I always had two buffers allocated // I could alternate between them for better perf. - float* new_buffer = pk_new<float>(PKE_AUDIO_BUFFER_FRAMES * pke_audio_mstr.channel_count * sizeof(float), pke_audio_mstr.bkt); + float* new_buffer = pk_new_arr<float>(PKE_AUDIO_BUFFER_FRAMES * pke_audio_mstr.channel_count * sizeof(float), pke_audio_mstr.bkt); memcpy( new_buffer, pke_audio_mstr.buffer + (pke_audio_mstr.channel_count * n_frames), stride * (pke_audio_mstr.buffer_frames - n_frames) ); - pk_delete<float>(pke_audio_mstr.buffer, PKE_AUDIO_BUFFER_FRAMES * pke_audio_mstr.channel_count * sizeof(float), pke_audio_mstr.bkt); + pk_delete_arr<float>(pke_audio_mstr.buffer, PKE_AUDIO_BUFFER_FRAMES * pke_audio_mstr.channel_count * sizeof(float), pke_audio_mstr.bkt); pke_audio_mstr.buffer = new_buffer; // fprintf(stdout, "[pw] shift buffer. buffer_frames before: %li, processed_frames: %li, after: %li\n", pke_audio_mstr.buffer_frames, n_frames, pke_audio_mstr.buffer_frames - n_frames); diff --git a/src/audio.cpp b/src/audio.cpp index 2743f82..a91300a 100644 --- a/src/audio.cpp +++ b/src/audio.cpp @@ -27,7 +27,7 @@ void pke_audio_init() { pke_audio_mstr.buffer_size = PKE_AUDIO_BUFFER_FRAMES * pke_audio_mstr.channel_count * sizeof(float); pke_audio_mstr.buffer_frames = 0; pke_audio_mstr.elapsed_ns = 0; - pke_audio_mstr.buffer = pk_new<float>(pke_audio_mstr.buffer_size, pke_audio_mstr.bkt); + pke_audio_mstr.buffer = pk_new_arr<float>(pke_audio_mstr.buffer_size, pke_audio_mstr.bkt); #ifdef PKE_AUDIO_IMPL_PIPEWIRE pke_audio_pw_init(); #endif @@ -37,7 +37,7 @@ void pke_audio_teardown() { #ifdef PKE_AUDIO_IMPL_PIPEWIRE pke_audio_pw_teardown(); #endif - pk_delete<float>(pke_audio_mstr.buffer, pke_audio_mstr.buffer_size, pke_audio_mstr.bkt); + pk_delete_arr<float>(pke_audio_mstr.buffer, pke_audio_mstr.buffer_size, pke_audio_mstr.bkt); pk_mem_bucket_destroy(pke_audio_mstr.bkt); } @@ -156,11 +156,11 @@ void pke_audio_process_frames(int64_t frame_count) { frame_count = PK_MIN(frame_count, (pke_audio_mstr.buffer_size / stride) - pke_audio_mstr.buffer_frames); // init - spatial_volumes = pk_new<float>(pke_audio_mstr.channel_count, pkeSettings.mem_bkt.game_transient); - spatial_normals = pk_new<glm::vec3>(pke_audio_mstr.channel_count, pkeSettings.mem_bkt.game_transient); - params_reverb = pk_new<pke_audio_fx_params_reverb>(pke_audio_mstr.channel_count, pkeSettings.mem_bkt.game_transient); - params_delay = pk_new<pke_audio_fx_params_delay>(pke_audio_mstr.channel_count, pkeSettings.mem_bkt.game_transient); - params_low_pass_filter = pk_new<pke_audio_fx_params_low_pass_filter>(pke_audio_mstr.channel_count, pkeSettings.mem_bkt.game_transient); + spatial_volumes = pk_new_arr<float>(pke_audio_mstr.channel_count, pkeSettings.mem_bkt.game_transient); + spatial_normals = pk_new_arr<glm::vec3>(pke_audio_mstr.channel_count, pkeSettings.mem_bkt.game_transient); + params_reverb = pk_new_arr<pke_audio_fx_params_reverb>(pke_audio_mstr.channel_count, pkeSettings.mem_bkt.game_transient); + params_delay = pk_new_arr<pke_audio_fx_params_delay>(pke_audio_mstr.channel_count, pkeSettings.mem_bkt.game_transient); + params_low_pass_filter = pk_new_arr<pke_audio_fx_params_low_pass_filter>(pke_audio_mstr.channel_count, pkeSettings.mem_bkt.game_transient); dst = pke_audio_mstr.buffer + (pke_audio_mstr.buffer_frames * pke_audio_mstr.channel_count); diff --git a/src/dynamic-array.cpp b/src/dynamic-array.cpp index c7a4ba8..290cfa1 100644 --- a/src/dynamic-array.cpp +++ b/src/dynamic-array.cpp @@ -5,10 +5,10 @@ void DynArrayReserve(DynArrayBase *arr, int64_t count) { assert(count != 0); if (arr->reservedCount >= count) return; char *a = nullptr; - a = pk_new<char>(arr->elementSize * count, arr->bkt); + a = pk_new_arr<char>(arr->elementSize * count, arr->bkt); if (arr->ptr != nullptr) { std::memcpy(a, arr->ptr, arr->elementSize * arr->reservedCount); - pk_delete<char>(arr->ptr, arr->elementSize * arr->reservedCount, arr->bkt); + pk_delete_arr<char>(arr->ptr, arr->elementSize * arr->reservedCount, arr->bkt); } arr->reservedCount = count; arr->ptr = a; @@ -18,7 +18,7 @@ void DynArrayDestroy(DynArrayBase *arr) { if (arr->ptr == nullptr) return; if (arr->ptr == CAFE_BABE(char)) return; if (arr->reservedCount > 0) - pk_delete<char>(arr->ptr, arr->elementSize * arr->reservedCount, arr->bkt); + pk_delete_arr<char>(arr->ptr, arr->elementSize * arr->reservedCount, arr->bkt); arr->ptr = CAFE_BABE(char); } diff --git a/src/dynamic-array.hpp b/src/dynamic-array.hpp index 900a684..c08f038 100644 --- a/src/dynamic-array.hpp +++ b/src/dynamic-array.hpp @@ -194,10 +194,10 @@ template <typename T> inline void DynArray<T>::Remove(int64_t index, int64_t cou this->elementCount = index; return; } - T *tmp = pk_new<T>(moveCount, this->bkt); + T *tmp = pk_new_arr<T>(moveCount, this->bkt); memcpy(tmp, this->ptr + (sizeof(T) * (index + count)), sizeof(T) * moveCount); memcpy(this->ptr + (sizeof(T) * index), tmp, sizeof(T) * moveCount); - pk_delete<T>(tmp, moveCount, this->bkt); + pk_delete_arr<T>(tmp, moveCount, this->bkt); this->elementCount -= count; } diff --git a/src/entities.cpp b/src/entities.cpp index 6fc56a8..33d9bb7 100644 --- a/src/entities.cpp +++ b/src/entities.cpp @@ -189,7 +189,7 @@ void EntityType_Inner_DestroyDescriptors(EntityType *et) { // If we switch to a global pool, we will need to free here, and // destroy the pool outside of this loop vkDestroyDescriptorPool(vkDevice, et->details[k].vkDescriptorPool, vkAllocator); - pk_delete<VkDescriptorSet>(et->details[k].grBinds->vkDescriptorSets, prevSwapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkDescriptorSet>(et->details[k].grBinds->vkDescriptorSets, prevSwapchainLength, MemBkt_Vulkan); et->details[k].grBinds->vkDescriptorSets = CAFE_BABE(VkDescriptorSet); } } @@ -211,7 +211,7 @@ void EntityType_Inner_UpdateDescriptorSets(EntityType *et) { vkDescriptorPoolCreateInfo.poolSizeCount = (uint32_t)2; vkDescriptorPoolCreateInfo.pPoolSizes = descriptorPoolSizes; - VkDescriptorSetLayout *descriptorSets = pk_new<VkDescriptorSetLayout>(swapchainLength, pkeSettings.mem_bkt.game_transient); + VkDescriptorSetLayout *descriptorSets = pk_new_arr<VkDescriptorSetLayout>(swapchainLength, pkeSettings.mem_bkt.game_transient); for (long i = 0; i < swapchainLength; ++i) { descriptorSets[i] = pkePipelines.descr_layouts.named.ubo_txtr; } @@ -222,7 +222,7 @@ void EntityType_Inner_UpdateDescriptorSets(EntityType *et) { vkDescriptorSetAllocateInfo.descriptorSetCount = swapchainLength; vkDescriptorSetAllocateInfo.pSetLayouts = descriptorSets; - VkWriteDescriptorSet *writeDescriptorSets = pk_new<VkWriteDescriptorSet>(2 * swapchainLength, pkeSettings.mem_bkt.game_transient); + VkWriteDescriptorSet *writeDescriptorSets = pk_new_arr<VkWriteDescriptorSet>(2 * swapchainLength, pkeSettings.mem_bkt.game_transient); for (long i = 0; i < 2 * swapchainLength; ++i) { writeDescriptorSets[i].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; writeDescriptorSets[i].pNext = nullptr; @@ -241,7 +241,7 @@ void EntityType_Inner_UpdateDescriptorSets(EntityType *et) { textureDescriptorInfo.sampler = global_sampler; textureDescriptorInfo.imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; - VkDescriptorBufferInfo *vkDescriptorBufferInfo = pk_new<VkDescriptorBufferInfo>(swapchainLength, pkeSettings.mem_bkt.game_transient); + VkDescriptorBufferInfo *vkDescriptorBufferInfo = pk_new_arr<VkDescriptorBufferInfo>(swapchainLength, pkeSettings.mem_bkt.game_transient); for (long i = 0; i < et->detailsCount; ++i) { EntityTypeDetails *etd = &et->details[i]; @@ -251,7 +251,7 @@ void EntityType_Inner_UpdateDescriptorSets(EntityType *et) { vkDescriptorSetAllocateInfo.descriptorPool = etd->vkDescriptorPool; - etd->grBinds->vkDescriptorSets = pk_new<VkDescriptorSet>(swapchainLength, MemBkt_Vulkan); + etd->grBinds->vkDescriptorSets = pk_new_arr<VkDescriptorSet>(swapchainLength, MemBkt_Vulkan); for (long i = 0; i < swapchainLength; ++i) { etd->grBinds->vkDescriptorSets[i] = VkDescriptorSet{}; } @@ -1257,7 +1257,7 @@ void EntityType_Unload(EntityType &et, CompGrBinds *grBindsArr[1]) { et.deviceMemoryTexture = VK_NULL_HANDLE; if (et.entityTypeCode.reserved != 0) - pk_delete<char>(et.entityTypeCode.val, et.entityTypeCode.reserved); + pk_delete_arr<char>(et.entityTypeCode.val, et.entityTypeCode.reserved); et.entityTypeCode.val = CAFE_BABE(char); et.entityTypeCode.length = 0; et.entityTypeCode.reserved = 0; diff --git a/src/font.cpp b/src/font.cpp index 737e86d..deaf956 100644 --- a/src/font.cpp +++ b/src/font.cpp @@ -246,7 +246,7 @@ void FontType_Init() { FontTypeIndex fti; ftd.h_ft = FontTypeIndex{0}; ftd.n_ft = FontTypeIndex{5}; - ftd.arr_ft = pk_new<FontType>(5); + ftd.arr_ft = pk_new_arr<FontType>(5); for (FontTypeIndex_T i = 0; i < 5; ++i) { FontType *ft = &ftd.arr_ft[i]; ft->glyphs = nullptr; @@ -275,7 +275,7 @@ void FontType_Teardown() { for (i = FontTypeIndex{0}; i < ftd.h_ft; ++i) { FontType_Unload(i); } - if (ftd.arr_ft != nullptr) pk_delete(ftd.arr_ft, (FontTypeIndex_T)ftd.n_ft); + if (ftd.arr_ft != nullptr) pk_delete_arr<FontType>(ftd.arr_ft, (FontTypeIndex_T)ftd.n_ft); } // TODO - Memory Pressure @@ -306,7 +306,7 @@ void FontType_Tick(double delta) { } ft->gr.should_update_instance_buffer = false; - fibis = pk_new<FontInstanceBufferItem>(index); + fibis = pk_new_arr<FontInstanceBufferItem>(index); ft->bindings.instance_counter = index; index = 0; for (FontRenderIndex_T k = 0; k < (FontRenderIndex_T)ft->h_render; ++k) { @@ -379,7 +379,7 @@ void FontType_Tick(double delta) { assert(vkResult == VK_SUCCESS); } PKVK_EndBuffer(tmpBufferDetails); - pk_delete<FontInstanceBufferItem>(fibis, ft->bindings.instance_counter); + pk_delete_arr<FontInstanceBufferItem>(fibis, ft->bindings.instance_counter); } } @@ -444,7 +444,7 @@ void FontType_Deserialize(std::istream &stream) { uint64_t prefixLen = strlen(PKE_PROJECT_FONT_TITLE); title.length = strlen(readLine + prefixLen); title.reserved = title.length + 1; - title.val = pk_new<char>(title.reserved); + title.val = pk_new_arr<char>(title.reserved); strncpy(const_cast<char*>(title.val), readLine + prefixLen, title.reserved); continue; } @@ -557,11 +557,11 @@ FontTypeIndex FontType_RegisterFont(pk_cstr title, AssetHandle fontTextureHandle ftd.h_ft += FontTypeIndex{1}; if (ftd.h_ft >= ftd.n_ft) { ftd.n_ft += FontTypeIndex{5}; - FontType *arr = pk_new<FontType>((FontTypeIndex_T)ftd.n_ft); + FontType *arr = pk_new_arr<FontType>((FontTypeIndex_T)ftd.n_ft); if (idx > FontTypeIndex{0}) { memcpy(arr, ftd.arr_ft, sizeof(FontType) * (FontTypeIndex_T)idx); } - if (ftd.arr_ft != nullptr && ftd.arr_ft != CAFE_BABE(FontType)) pk_delete<FontType>(ftd.arr_ft, (FontTypeIndex_T)idx); + if (ftd.arr_ft != nullptr && ftd.arr_ft != CAFE_BABE(FontType)) pk_delete_arr<FontType>(ftd.arr_ft, (FontTypeIndex_T)idx); ftd.arr_ft = arr; } @@ -570,7 +570,7 @@ FontTypeIndex FontType_RegisterFont(pk_cstr title, AssetHandle fontTextureHandle ft->title = title; ft->fontTextureAssetHandle = fontTextureHandle; ft->glyphDetailsAssetHandle = glyphsHandle; - ft->renders = pk_new<FontRender>(startingGlyphCount); + ft->renders = pk_new_arr<FontRender>(startingGlyphCount); ft->h_render = FontRenderIndex{0}; ft->n_render = FontRenderIndex{startingGlyphCount}; ft->msdf_settings = *msdf_settings; @@ -720,10 +720,10 @@ void FontType_Unload(FontTypeIndex idx) { if (ft->renders != nullptr) { for (FontRenderIndex_T i = 0; i < (FontRenderIndex_T)ft->h_render; ++i) { if (ft->renders[i].glyph_indices != nullptr) { - pk_delete<uint32_t>(ft->renders[i].glyph_indices, ft->renders[i].n_glyphs); + pk_delete_arr<uint32_t>(ft->renders[i].glyph_indices, ft->renders[i].n_glyphs); } } - pk_delete<FontRender>(ft->renders, (FontTypeIndex_T)ft->n_render); + pk_delete_arr<FontRender>(ft->renders, (FontTypeIndex_T)ft->n_render); } if (ft->gr.vkDescriptorSet != VK_NULL_HANDLE && ft->gr.vkDescriptorPool != VK_NULL_HANDLE) { @@ -795,7 +795,7 @@ void FontType_Unload(FontTypeIndex idx) { ft->gr.deviceMemoryTexture = VK_NULL_HANDLE; if (ft->title.reserved != 0 && ft->title.val != nullptr) { - pk_delete<char>(ft->title.val, ft->title.reserved); + pk_delete_arr<char>(ft->title.val, ft->title.reserved); ft->title.val = nullptr; ft->title.length = 0; } @@ -855,9 +855,9 @@ FontRenderHandle FontType_AddStringRender(FontTypeIndex idx_ft, const pk_cstr && if (ft->h_render >= ft->n_render) { FontRenderIndex_T old_count{static_cast<FontRenderIndex_T>(ft->n_render)}; ft->n_render += FontRenderIndex{5}; - FontRender *arr = pk_new<FontRender>((FontRenderIndex_T)ft->n_render); + FontRender *arr = pk_new_arr<FontRender>((FontRenderIndex_T)ft->n_render); memcpy(arr, ft->renders, sizeof(FontRender) * old_count); - pk_delete<FontRender>(ft->renders, old_count); + pk_delete_arr<FontRender>(ft->renders, old_count); ft->renders = arr; } fr = &ft->renders[(FontRenderIndex_T)idx_fr]; @@ -884,7 +884,7 @@ FontRenderHandle FontType_AddStringRender(FontTypeIndex idx_ft, const pk_cstr && // TODO specific bucket count = glyph_indices.next; fr->n_glyphs = count; - fr->glyph_indices = pk_new<uint32_t>(count); + fr->glyph_indices = pk_new_arr<uint32_t>(count); for (i = 0; i < count; ++i) { fr->glyph_indices[i] = glyph_indices[i]; } @@ -930,12 +930,12 @@ void FontType_UpdateStringRenderText(FontRenderHandle frh, pk_cstr &&cstr) { // TODO specific bucket count = glyph_indices.next; fr.n_glyphs = count; - fr.glyph_indices = pk_new<uint32_t>(count); + fr.glyph_indices = pk_new_arr<uint32_t>(count); for (i = 0; i < count; ++i) { fr.glyph_indices[i] = glyph_indices[i]; } glyph_indices.data = nullptr; - if (fr.text.reserved > 0 && fr.text.val != NULL) pk_delete<char>(fr.text.val, fr.text.reserved); + if (fr.text.reserved > 0 && fr.text.val != NULL) pk_delete_arr<char>(fr.text.val, fr.text.reserved); fr.text = cstr; ft.gr.should_update_instance_buffer = true; @@ -961,7 +961,7 @@ void FontType_RemoveStringRender(FontRenderHandle handle) { // 2025-04-16 - JCB // not passing a specific bucket because pk_cstr doesn't store it. // font.cpp assumes the user has already cloned the string if necessary - only assigns the value. - pk_delete<char>(fr->text.val, fr->text.reserved); + pk_delete_arr<char>(fr->text.val, fr->text.reserved); } ECS_MarkForRemoval(fr); } diff --git a/src/game.cpp b/src/game.cpp index 4293ce7..b64b118 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -121,7 +121,7 @@ void Game_Main(PKEWindowProperties windowProps, const char *executablePath) { fprintf(stdout, "Game_Main Entering\n"); try { Game_Init(); - pk_ev_init(); + pk_ev_init(pkeSettings.mem_bkt.game); PkeThreads_Init(); AM_Init(); ECS_Init(); diff --git a/src/player-input.cpp b/src/player-input.cpp index 252d706..2274e70 100644 --- a/src/player-input.cpp +++ b/src/player-input.cpp @@ -676,7 +676,7 @@ void PkeInput_UnregisterSet(InputActionSetHandle handle) { if (pk_arr_find_first_index(&activeInputSetStack, &handle, PkeInput_pke_arr_find_first_handle) != uint32_t(-1)) { PkeInput_DeactivateSet(handle); } - pk_delete<PkeInputAction>(set.actions, set.actionCount); + pk_delete_arr<PkeInputAction>(set.actions, set.actionCount); pk_arr_remove_at(®isteredInputSets, index); } diff --git a/src/project.cpp b/src/project.cpp index cfb54f2..0669c75 100644 --- a/src/project.cpp +++ b/src/project.cpp @@ -135,7 +135,7 @@ void Proj_DeserializeProjectSettings(std::istream &stream) { if (strncmp(projReadLine, PKE_PROJ_FILE_PROJ_SETTINGS_DEFAULT_SCENE_NAME, strlen(PKE_PROJ_FILE_PROJ_SETTINGS_DEFAULT_SCENE_NAME)) == 0) { uint64_t prefixLen = strlen(PKE_PROJ_FILE_PROJ_SETTINGS_DEFAULT_SCENE_NAME); uint64_t len = strlen(projReadLine + prefixLen) + 1; - char *val = pk_new<char>(len); + char *val = pk_new_arr<char>(len); memset(reinterpret_cast<void *>(val), '\0', len); memcpy(val, projReadLine + prefixLen, len); pkeProjectSettings.defaultSceneName = val; @@ -146,13 +146,13 @@ void Proj_DeserializeProjectSettings(std::istream &stream) { while (memset(projReadLine, 0, projReadLineLength), stream.getline(projReadLine, projReadLineLength)) { if (strcmp(PKE_PROJ_FILE_PROJ_SETTINGS_SCENES_END, projReadLine) == 0) { pkeProjectSettings.sceneCount = sceneFiles.next; - pkeProjectSettings.scenes = pk_new<pk_cstr>(sceneFiles.next); + pkeProjectSettings.scenes = pk_new_arr<pk_cstr>(sceneFiles.next); memcpy(reinterpret_cast<void *>(pkeProjectSettings.scenes), reinterpret_cast<void *>(sceneFiles.data), sizeof(pk_cstr) * sceneFiles.next); break; } pkeProjectSettings.sceneCount += 1; uint64_t len = strlen(projReadLine) + 1; - char *val = pk_new<char>(len); + char *val = pk_new_arr<char>(len); memset(val, '\0', len); memcpy(val, projReadLine, len - 1); auto &str = sceneFiles.Push(); @@ -176,7 +176,7 @@ void Proj_DeserializeEntityType(std::istream &stream) { EntityType *existingPtr = EntityType_FindByTypeCode(et.entityTypeCode.val); if (existingPtr != nullptr) { if (et.entityTypeCode.reserved > 0) { - pk_delete<char>(et.entityTypeCode.val, et.entityTypeCode.reserved); + pk_delete_arr<char>(et.entityTypeCode.val, et.entityTypeCode.reserved); } continue; } @@ -214,7 +214,7 @@ void Proj_DeserializeEntityType(std::istream &stream) { uint64_t prefixLen = strlen(PKE_PROJ_FILE_ENTITY_TYPE_ENTITY_TYPE_CODE); et.entityTypeCode.length = strlen(projReadLine + prefixLen) + 1; et.entityTypeCode.reserved = et.entityTypeCode.length + 1; - char *val = pk_new<char>(et.entityTypeCode.reserved); + char *val = pk_new_arr<char>(et.entityTypeCode.reserved); snprintf(val, et.entityTypeCode.reserved, "%s", projReadLine + prefixLen); et.entityTypeCode.val = val; continue; diff --git a/src/scene.cpp b/src/scene.cpp index 2c47356..6674c7f 100644 --- a/src/scene.cpp +++ b/src/scene.cpp @@ -101,7 +101,7 @@ void pke_scene_remove(SceneHandle handle) { PkeInput_UnregisterSet(scn->input_handles[i]); } if (scn->file_path.reserved > 0) { - pk_delete<char>(scn->file_path.val, scn->file_path.reserved); + pk_delete_arr<char>(scn->file_path.val, scn->file_path.reserved); } scn->file_path = {}; scn->name[0] = '\0'; diff --git a/src/serialization-camera.cpp b/src/serialization-camera.cpp index d8593e1..c955a9f 100644 --- a/src/serialization-camera.cpp +++ b/src/serialization-camera.cpp @@ -60,7 +60,7 @@ pk_handle pke_serialize_camera(srlztn_serialize_helper *h, const PkeCamera *cam) compt_a<128==sizeof(PkeCamera)>(); if (cam->uuid != pk_uuid_zed && cam->uuid != pk_uuid_max) { kve.key = SRLZTN_CAMERA_UUID; - s = pk_new<char>(37, h->bkt); + s = pk_new_arr<char>(37, h->bkt); sprintf(s, pk_uuid_printf_format, pk_uuid_printf_var(cam->uuid)); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -68,7 +68,7 @@ pk_handle pke_serialize_camera(srlztn_serialize_helper *h, const PkeCamera *cam) } { kve.key = SRLZTN_CAMERA_TYPE; - s = pk_new<char>(5, h->bkt); + s = pk_new_arr<char>(5, h->bkt); sprintf(s, "0x%.2X", static_cast<PkeCameraType_T>(cam->type)); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -76,7 +76,7 @@ pk_handle pke_serialize_camera(srlztn_serialize_helper *h, const PkeCamera *cam) } { kve.key = SRLZTN_CAMERA_ORIENTATION; - s = pk_new<char>(5, h->bkt); + s = pk_new_arr<char>(5, h->bkt); sprintf(s, "0x%.2X", static_cast<PkeCameraView_T>(cam->view)); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -84,7 +84,7 @@ pk_handle pke_serialize_camera(srlztn_serialize_helper *h, const PkeCamera *cam) } if (cam->phys.target_inst_uuid != pk_uuid_zed) { kve.key = SRLZTN_CAMERA_TARGET_INSTANCE_UUID; - s = pk_new<char>(37, h->bkt); + s = pk_new_arr<char>(37, h->bkt); sprintf(s, pk_uuid_printf_format, pk_uuid_printf_var(cam->phys.target_inst_uuid)); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -92,7 +92,7 @@ pk_handle pke_serialize_camera(srlztn_serialize_helper *h, const PkeCamera *cam) } if (cam->isPrimary) { kve.key = SRLZTN_CAMERA_IS_PRIMARY; - s = pk_new<char>(2, h->bkt); + s = pk_new_arr<char>(2, h->bkt); sprintf(s, "%i", cam->isPrimary); kve.val = s; kve.end = SRLZTN_KVE_END; diff --git a/src/serialization-component.cpp b/src/serialization-component.cpp index df6d633..266eb2d 100644 --- a/src/serialization-component.cpp +++ b/src/serialization-component.cpp @@ -26,7 +26,7 @@ pk_handle pke_serialize_inst_pos(srlztn_serialize_helper *h, const glm::vec3 pos if (pos != glm::vec3(0)) { kve.key = SRLZTN_POSROT_POS; len = snprintf(NULL, 0, "%f%s%f%s%f", pos[0], SRLZTN_NUM_SEPARATOR, pos[1], SRLZTN_NUM_SEPARATOR, pos[2]); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%f%s%f%s%f", pos[0], SRLZTN_NUM_SEPARATOR, pos[1], SRLZTN_NUM_SEPARATOR, pos[2]); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -35,7 +35,7 @@ pk_handle pke_serialize_inst_pos(srlztn_serialize_helper *h, const glm::vec3 pos if (quat_rot != glm::quat{}) { kve.key = SRLZTN_POSROT_ROT; len = snprintf(NULL, 0, "%f%s%f%s%f%s%f", quat_rot[0], SRLZTN_NUM_SEPARATOR, quat_rot[1], SRLZTN_NUM_SEPARATOR, quat_rot[2], SRLZTN_NUM_SEPARATOR, quat_rot[3]); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%f%s%f%s%f%s%f", quat_rot[0], SRLZTN_NUM_SEPARATOR, quat_rot[1], SRLZTN_NUM_SEPARATOR, quat_rot[2], SRLZTN_NUM_SEPARATOR, quat_rot[3]); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -44,7 +44,7 @@ pk_handle pke_serialize_inst_pos(srlztn_serialize_helper *h, const glm::vec3 pos if (scale != glm::vec3(1)) { kve.key = SRLZTN_POSROT_SCALE; len = snprintf(NULL, 0, "%f%s%f%s%f", scale[0], SRLZTN_NUM_SEPARATOR, scale[1], SRLZTN_NUM_SEPARATOR, scale[2]); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%f%s%f%s%f", scale[0], SRLZTN_NUM_SEPARATOR, scale[1], SRLZTN_NUM_SEPARATOR, scale[2]); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -173,7 +173,7 @@ pk_handle pke_serialize_instance(srlztn_serialize_helper *h, const CompInstance compt_a<128==sizeof(CompInstance)>(); if (comp->uuid != pk_uuid_zed && comp->uuid != pk_uuid_max) { kve.key = SRLZTN_INSTANCE_COMPONENT_UUID; - s = pk_new<char>(37, h->bkt); + s = pk_new_arr<char>(37, h->bkt); sprintf(s, pk_uuid_printf_format, pk_uuid_printf_var(comp->uuid)); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -182,7 +182,7 @@ pk_handle pke_serialize_instance(srlztn_serialize_helper *h, const CompInstance if (et != nullptr) { kve.key = SRLZTN_INSTANCE_COMPONENT_ENTITY_TYPE_CODE; len = strlen(et->entityTypeCode.val); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%s", et->entityTypeCode.val); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -191,7 +191,7 @@ pk_handle pke_serialize_instance(srlztn_serialize_helper *h, const CompInstance { kve.key = SRLZTN_INSTANCE_COMPONENT_MASS; len = snprintf(NULL, 0, "%f", mass); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%f", mass); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -200,7 +200,7 @@ pk_handle pke_serialize_instance(srlztn_serialize_helper *h, const CompInstance { kve.key = SRLZTN_INSTANCE_COMPONENT_COLLISION_LAYER; len = snprintf(NULL, 0, "0x%.016lX", static_cast<PhysicsCollision_T>(collisionLayer)); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "0x%.016lX", static_cast<PhysicsCollision_T>(collisionLayer)); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -209,7 +209,7 @@ pk_handle pke_serialize_instance(srlztn_serialize_helper *h, const CompInstance { kve.key = SRLZTN_INSTANCE_COMPONENT_COLLISION_MASK; len = snprintf(NULL, 0, "0x%.016lX", static_cast<PhysicsCollision_T>(collisionMask)); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "0x%.016lX", static_cast<PhysicsCollision_T>(collisionMask)); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -217,7 +217,7 @@ pk_handle pke_serialize_instance(srlztn_serialize_helper *h, const CompInstance } if (comp->collisionCallback.name[0] != '\0') { kve.key = SRLZTN_INSTANCE_COMPONENT_COLLISION_CB_SIGNATURE; - s = pk_new<char>(CallbackSignatureLength + 1, h->bkt); + s = pk_new_arr<char>(CallbackSignatureLength + 1, h->bkt); sprintf(s, "%s", comp->collisionCallback.name); kve.val = s; kve.end = SRLZTN_KVE_END; diff --git a/src/serialization-font.cpp b/src/serialization-font.cpp index f31016e..0ca0a94 100644 --- a/src/serialization-font.cpp +++ b/src/serialization-font.cpp @@ -34,7 +34,7 @@ pk_handle pke_serialize_font_render(srlztn_serialize_helper *h, FontRender *fr) compt_a<160==sizeof(FontRender)>(); { kve.key = SRLZTN_UI_FONT_RENDER_UUID; - s = pk_new<char>(37, h->bkt); + s = pk_new_arr<char>(37, h->bkt); sprintf(s, pk_uuid_printf_format, pk_uuid_printf_var(fr->uuid)); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -44,7 +44,7 @@ pk_handle pke_serialize_font_render(srlztn_serialize_helper *h, FontRender *fr) kve.key = SRLZTN_UI_FONT_RENDER_FONT_TYPE_TITLE; FontType *ft = FontType_Get(fr->fr_handle.index_ft); len = snprintf(nullptr, 0, "%s", ft->title.val); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%s", ft->title.val); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -52,7 +52,7 @@ pk_handle pke_serialize_font_render(srlztn_serialize_helper *h, FontRender *fr) } if (fr->text.val != nullptr) { kve.key = SRLZTN_UI_FONT_RENDER_TEXT_BEGIN; - s = pk_new<char>(strlen(fr->text.val) + 3, h->bkt); + s = pk_new_arr<char>(strlen(fr->text.val) + 3, h->bkt); sprintf(s, "\n%s\n", fr->text.val); kve.val = s; kve.end = SRLZTN_MULTILINE_END; @@ -91,7 +91,7 @@ void pke_deserialize_font_render(srlztn_deserialize_helper *h, pke_kve_container pk_cstr font_type_title; font_type_title.length = strlen(kve->val) + 1; font_type_title.reserved = font_type_title.length + 1; - s = pk_new<char>(font_type_title.reserved, h->bkt); + s = pk_new_arr<char>(font_type_title.reserved, h->bkt); sprintf(s, "%s", kve->val); font_type_title.val = s; font_type_ent = FontType_GetByTitle(font_type_title); @@ -101,7 +101,7 @@ void pke_deserialize_font_render(srlztn_deserialize_helper *h, pke_kve_container str.length = strlen(kve->val) + 1; str.reserved = str.length + 1; // TODO specific bkt? - s = pk_new<char>(str.reserved, NULL); + s = pk_new_arr<char>(str.reserved, NULL); sprintf(s, "%s", kve->val); str.val = s; continue; @@ -131,7 +131,7 @@ pk_handle pke_serialize_font_render_settings(srlztn_serialize_helper *h, FontRen { kve.key = SRLZTN_UI_FONT_RENDER_SETTINGS_CHAR_SCALE; len = snprintf(NULL, 0, "%f", frs->char_scale); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%f", frs->char_scale); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -140,7 +140,7 @@ pk_handle pke_serialize_font_render_settings(srlztn_serialize_helper *h, FontRen { kve.key = SRLZTN_UI_FONT_RENDER_SETTINGS_LINE_HEIGHT_SCALE; len = snprintf(NULL, 0, "%f", frs->line_height_scale); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%f", frs->line_height_scale); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -149,7 +149,7 @@ pk_handle pke_serialize_font_render_settings(srlztn_serialize_helper *h, FontRen { kve.key = SRLZTN_UI_FONT_RENDER_SETTINGS_CHAR_SPACING_SCALE; len = snprintf(NULL, 0, "%f", frs->char_spacing_scale); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%f", frs->char_spacing_scale); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -158,7 +158,7 @@ pk_handle pke_serialize_font_render_settings(srlztn_serialize_helper *h, FontRen { kve.key = SRLZTN_UI_FONT_RENDER_SETTINGS_SURFACE_AREA_SIZE; len = snprintf(NULL, 0, "%d%s%d", frs->surface_area_size.x, SRLZTN_NUM_SEPARATOR, frs->surface_area_size.y); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%d%s%d", frs->surface_area_size.x, SRLZTN_NUM_SEPARATOR, frs->surface_area_size.y); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -167,7 +167,7 @@ pk_handle pke_serialize_font_render_settings(srlztn_serialize_helper *h, FontRen { kve.key = SRLZTN_UI_FONT_RENDER_SETTINGS_SURFACE_AREA_POS; len = snprintf(NULL, 0, "%d%s%d", frs->surface_area_pos.x, SRLZTN_NUM_SEPARATOR, frs->surface_area_pos.y); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%d%s%d", frs->surface_area_pos.x, SRLZTN_NUM_SEPARATOR, frs->surface_area_pos.y); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -175,7 +175,7 @@ pk_handle pke_serialize_font_render_settings(srlztn_serialize_helper *h, FontRen } { kve.key = SRLZTN_UI_FONT_RENDER_SETTINGS_SURFACE_AREA_FLAGS; - s = pk_new<char>(5, h->bkt); + s = pk_new_arr<char>(5, h->bkt); sprintf(s, "0x%.2X", FONT_RENDER_SURFACE_AREA_TYPE_FLAG_T(frs->surface_area_type_flags)); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -184,7 +184,7 @@ pk_handle pke_serialize_font_render_settings(srlztn_serialize_helper *h, FontRen { kve.key = SRLZTN_UI_FONT_RENDER_SETTINGS_COLOR_FOREGROUND; len = snprintf(NULL, 0, "%f%s%f%s%f%s%f", frs->color_foreground[0], SRLZTN_NUM_SEPARATOR, frs->color_foreground[1], SRLZTN_NUM_SEPARATOR, frs->color_foreground[2], SRLZTN_NUM_SEPARATOR, frs->color_foreground[3]); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%f%s%f%s%f%s%f", frs->color_foreground[0], SRLZTN_NUM_SEPARATOR, frs->color_foreground[1], SRLZTN_NUM_SEPARATOR, frs->color_foreground[2], SRLZTN_NUM_SEPARATOR, frs->color_foreground[3]); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -193,7 +193,7 @@ pk_handle pke_serialize_font_render_settings(srlztn_serialize_helper *h, FontRen { kve.key = SRLZTN_UI_FONT_RENDER_SETTINGS_COLOR_BACKGROUND; len = snprintf(NULL, 0, "%f%s%f%s%f%s%f", frs->color_background[0], SRLZTN_NUM_SEPARATOR, frs->color_background[1], SRLZTN_NUM_SEPARATOR, frs->color_background[2], SRLZTN_NUM_SEPARATOR, frs->color_background[3]); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%f%s%f%s%f%s%f", frs->color_background[0], SRLZTN_NUM_SEPARATOR, frs->color_background[1], SRLZTN_NUM_SEPARATOR, frs->color_background[2], SRLZTN_NUM_SEPARATOR, frs->color_background[3]); kve.val = s; kve.end = SRLZTN_KVE_END; diff --git a/src/serialization-input.cpp b/src/serialization-input.cpp index e81665a..eb44389 100644 --- a/src/serialization-input.cpp +++ b/src/serialization-input.cpp @@ -25,7 +25,7 @@ pk_handle pke_serialize_input_action(srlztn_serialize_helper *h, PkeInputAction { kve.key = SRLZTN_INPUT_ACTION_NAME; len = strlen(action->name)+1; - s = pk_new<char>(len, h->bkt); + s = pk_new_arr<char>(len, h->bkt); sprintf(s, "%s", action->name); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -38,7 +38,7 @@ pk_handle pke_serialize_input_action(srlztn_serialize_helper *h, PkeInputAction { kve.key = SRLZTN_INPUT_ACTION_MASK_HASH; len = snprintf(NULL, 0, "0x%.4hX", static_cast<InputEventHash_T>(action->masks[i].computedHash)); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "0x%.4hX", static_cast<InputEventHash_T>(action->masks[i].computedHash)); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -47,7 +47,7 @@ pk_handle pke_serialize_input_action(srlztn_serialize_helper *h, PkeInputAction { kve.key = SRLZTN_INPUT_ACTION_MASK_BUTTON; len = snprintf(NULL, 0, "%i", action->masks[i].button); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%i", action->masks[i].button); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -56,7 +56,7 @@ pk_handle pke_serialize_input_action(srlztn_serialize_helper *h, PkeInputAction { kve.key = SRLZTN_INPUT_ACTION_MASK_MODS; len = snprintf(NULL, 0, "%i", action->masks[i].mods); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%i", action->masks[i].mods); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -81,7 +81,7 @@ void pke_deserialize_input_action(srlztn_deserialize_helper *h, pke_kve_containe kve = &kvec->arr[i]; if (strncmp(kve->key, SRLZTN_INPUT_ACTION_NAME, strlen(SRLZTN_INPUT_ACTION_NAME)) == 0) { // TODO specific bkt? - s = pk_new<char>(strlen(kve->val)+1, NULL); + s = pk_new_arr<char>(strlen(kve->val)+1, NULL); sprintf(s, "%s", kve->key); action.name = s; continue; @@ -142,7 +142,7 @@ pk_handle pke_serialize_input_set(srlztn_serialize_helper *h, PkeInputSet *input { kve.key = SRLZTN_INPUT_SET_TITLE; len = strlen(input_set->title)+1; - s = pk_new<char>(len, h->bkt); + s = pk_new_arr<char>(len, h->bkt); sprintf(s, "%s", input_set->title); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -151,7 +151,7 @@ pk_handle pke_serialize_input_set(srlztn_serialize_helper *h, PkeInputSet *input { kve.key = SRLZTN_INPUT_SET_FLAGS; len = snprintf(NULL, 0, "0x%.04X", static_cast<InputActionSetFlags_T>(input_set->flags)); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "0x%.04X", static_cast<InputActionSetFlags_T>(input_set->flags)); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -172,7 +172,7 @@ void pke_deserialize_input_set(srlztn_deserialize_helper *h, pke_kve_container * // TODO specific bucket set.actionCount = kvec->children.next; - set.actions = pk_new<PkeInputAction>(kvec->children.next, NULL); + set.actions = pk_new_arr<PkeInputAction>(kvec->children.next, NULL); for (k = 0; k < set.actionCount; ++k) { pke_deserialize_input_action(h, kvec->children[k], set.actions[k]); } @@ -182,7 +182,7 @@ void pke_deserialize_input_set(srlztn_deserialize_helper *h, pke_kve_container * kve = &kvec->arr[i]; if (strncmp(kve->key, SRLZTN_INPUT_SET_TITLE, strlen(SRLZTN_INPUT_SET_TITLE)) == 0) { // TODO specific bkt? - s = pk_new<char>(strlen(kve->val)+1, NULL); + s = pk_new_arr<char>(strlen(kve->val)+1, NULL); sprintf(s, "%s", kve->key); set.title = s; continue; diff --git a/src/serialization-static-ui.cpp b/src/serialization-static-ui.cpp index 49dceaa..1495c61 100644 --- a/src/serialization-static-ui.cpp +++ b/src/serialization-static-ui.cpp @@ -22,7 +22,7 @@ pk_handle pke_serialize_ui_box_internal(srlztn_serialize_helper *h, pke_ui_box_t compt_a<4==sizeof(pke_ui_box_type_data::pke_ui_box_type_data_text)>(); { kve.key = SRLZTN_UI_BOX_DATA_TEXT_FONT_RENDER_UUID; - s = pk_new<char>(37, h->bkt); + s = pk_new_arr<char>(37, h->bkt); FontRender *fr = FontType_GetFontRender(data->font_render_handle); sprintf(s, pk_uuid_printf_format, pk_uuid_printf_var(fr->uuid)); kve.val = s; @@ -78,7 +78,7 @@ pk_handle pke_serialize_ui_box(srlztn_serialize_helper *h, pke_ui_box *box) { compt_a<192==sizeof(pke_ui_box)>(); if (box->uuid != pk_uuid_zed && box->uuid != pk_uuid_max) { kve.key = SRLZTN_UI_BOX_UUID; - s = pk_new<char>(37, h->bkt); + s = pk_new_arr<char>(37, h->bkt); sprintf(s, pk_uuid_printf_format, pk_uuid_printf_var(box->uuid)); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -87,7 +87,7 @@ pk_handle pke_serialize_ui_box(srlztn_serialize_helper *h, pke_ui_box *box) { if (box->parentHandle != EntityHandle_MAX) { Entity_Base *e = ECS_GetEntity(box->parentHandle); kve.key = SRLZTN_UI_BOX_PARENT_UUID; - s = pk_new<char>(37, h->bkt); + s = pk_new_arr<char>(37, h->bkt); sprintf(s, pk_uuid_printf_format, pk_uuid_printf_var(e->uuid)); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -95,7 +95,7 @@ pk_handle pke_serialize_ui_box(srlztn_serialize_helper *h, pke_ui_box *box) { } if (box->flags != PKE_UI_BOX_FLAG_NONE) { kve.key = SRLZTN_UI_BOX_FLAGS; - s = pk_new<char>(19, h->bkt); + s = pk_new_arr<char>(19, h->bkt); sprintf(s, "0x%.2lX", static_cast<PKE_UI_BOX_FLAG_T>(box->flags)); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -104,7 +104,7 @@ pk_handle pke_serialize_ui_box(srlztn_serialize_helper *h, pke_ui_box *box) { { kve.key = SRLZTN_UI_BOX_POS_TOP_LEFT; len = snprintf(NULL, 0, "%f;%f", box->pos_top_left.x, box->pos_top_left.y); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%f;%f", box->pos_top_left.x, box->pos_top_left.y); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -113,7 +113,7 @@ pk_handle pke_serialize_ui_box(srlztn_serialize_helper *h, pke_ui_box *box) { if (box->min_size != glm::vec2(0,0)) { kve.key = SRLZTN_UI_BOX_MIN_SIZE; len = snprintf(NULL, 0, "%f;%f", box->min_size.x, box->min_size.y); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%f%f", box->min_size.x, box->min_size.y); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -122,7 +122,7 @@ pk_handle pke_serialize_ui_box(srlztn_serialize_helper *h, pke_ui_box *box) { if (box->max_size != glm::vec2(0,0)) { kve.key = SRLZTN_UI_BOX_MAX_SIZE; len = snprintf(NULL, 0, "%f;%f", box->max_size[0], box->max_size[1]); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%f;%f", box->max_size[0], box->max_size[1]); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -131,14 +131,14 @@ pk_handle pke_serialize_ui_box(srlztn_serialize_helper *h, pke_ui_box *box) { if (box->flex_weight != 0.f) { kve.key = SRLZTN_UI_BOX_FLEX_WEIGHT; len = snprintf(NULL, 0, "%f", box->flex_weight); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%f", box->flex_weight); kve.val = s; kve.end = SRLZTN_KVE_END; pk_arr_append_t(&kvec.arr, kve); // only serialize if we're using flex kve.key = SRLZTN_UI_BOX_FLEX_DIRECTION; - s = pk_new<char>(5, h->bkt); + s = pk_new_arr<char>(5, h->bkt); sprintf(s, "0x%.2X", box->flex_direction); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -146,7 +146,7 @@ pk_handle pke_serialize_ui_box(srlztn_serialize_helper *h, pke_ui_box *box) { } { kve.key = SRLZTN_UI_BOX_TYPE; - s = pk_new<char>(5, h->bkt); + s = pk_new_arr<char>(5, h->bkt); sprintf(s, "0x%.2X", static_cast<PKE_UI_BOX_TYPE_T>(box->type)); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -154,7 +154,7 @@ pk_handle pke_serialize_ui_box(srlztn_serialize_helper *h, pke_ui_box *box) { } { kve.key = SRLZTN_UI_BOX_LAYER; - s = pk_new<char>(5, h->bkt); + s = pk_new_arr<char>(5, h->bkt); sprintf(s, "0x%.2X", box->layer); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -164,7 +164,7 @@ pk_handle pke_serialize_ui_box(srlztn_serialize_helper *h, pke_ui_box *box) { { kve.key = SRLZTN_UI_BOX_COLOR_BORDER; len = snprintf(NULL, 0, "%f%s%f%s%f%s%f", box->color_border[0], SRLZTN_NUM_SEPARATOR, box->color_border[1], SRLZTN_NUM_SEPARATOR, box->color_border[2], SRLZTN_NUM_SEPARATOR, box->color_border[3]); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%f%s%f%s%f%s%f", box->color_border[0], SRLZTN_NUM_SEPARATOR, box->color_border[1], SRLZTN_NUM_SEPARATOR, box->color_border[2], SRLZTN_NUM_SEPARATOR, box->color_border[3]); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -174,7 +174,7 @@ pk_handle pke_serialize_ui_box(srlztn_serialize_helper *h, pke_ui_box *box) { { kve.key = SRLZTN_UI_BOX_COLOR_BACKGROUND; len = snprintf(NULL, 0, "%f%s%f%s%f%s%f", box->color_background[0], SRLZTN_NUM_SEPARATOR, box->color_background[1], SRLZTN_NUM_SEPARATOR, box->color_background[2], SRLZTN_NUM_SEPARATOR, box->color_background[3]); - s = pk_new<char>(len+1, h->bkt); + s = pk_new_arr<char>(len+1, h->bkt); sprintf(s, "%f%s%f%s%f%s%f", box->color_background[0], SRLZTN_NUM_SEPARATOR, box->color_background[1], SRLZTN_NUM_SEPARATOR, box->color_background[2], SRLZTN_NUM_SEPARATOR, box->color_background[3]); kve.val = s; kve.end = SRLZTN_KVE_END; diff --git a/src/serialization.cpp b/src/serialization.cpp index 3bd589d..397d9a5 100644 --- a/src/serialization.cpp +++ b/src/serialization.cpp @@ -183,7 +183,7 @@ void pke_deserialize_scene_from_stream(std::istream &i, srlztn_deserialize_helpe size_t read_line_len = 128; size_t offset = 0; PK_STN_RES res; - char *read_line = pk_new<char>(read_line_len, h->bkt); + char *read_line = pk_new_arr<char>(read_line_len, h->bkt); memset(read_line, '\0', read_line_len); char *s, *rl; pk_handle handle; @@ -210,7 +210,7 @@ void pke_deserialize_scene_from_stream(std::istream &i, srlztn_deserialize_helpe read_line[strchr(read_line + offset, '!') - read_line] = '\0'; kvec.type_code.length = strlen(read_line); kvec.type_code.reserved = kvec.type_code.length + 1; - s = pk_new<char>(kvec.type_code.reserved, h->bkt); + s = pk_new_arr<char>(kvec.type_code.reserved, h->bkt); sprintf(s, "%s", read_line); kvec.type_code.val = s; rl = read_line + strlen(read_line) + 1; @@ -235,7 +235,7 @@ void pke_deserialize_scene_from_stream(std::istream &i, srlztn_deserialize_helpe continue; } else if (state == 1 && strlen(read_line) > 0) { // kve start offset = strchr(read_line, ':') - read_line; - s = pk_new<char>(strlen(read_line) + 1); + s = pk_new_arr<char>(strlen(read_line) + 1); if (strstr(read_line, "::")) { offset += 1; state = 2; @@ -247,7 +247,7 @@ void pke_deserialize_scene_from_stream(std::istream &i, srlztn_deserialize_helpe } read_line[offset] = '\0'; rl = read_line + offset + 1; - s = pk_new<char>(strlen(rl) + 1); + s = pk_new_arr<char>(strlen(rl) + 1); sprintf(s, "%s", rl); kve.val = s; kve.end = SRLZTN_KVE_END; @@ -256,7 +256,7 @@ void pke_deserialize_scene_from_stream(std::istream &i, srlztn_deserialize_helpe } // multiline if (state == 2) { - s = pk_new<char>(strlen(read_line) + 1, h->bkt); + s = pk_new_arr<char>(strlen(read_line) + 1, h->bkt); sprintf(s, "%s", read_line); state = 3; continue; @@ -272,9 +272,9 @@ void pke_deserialize_scene_from_stream(std::istream &i, srlztn_deserialize_helpe } if (state == 3) { int sz = snprintf(NULL, 0, "%s%s", s, read_line); - rl = pk_new<char>(sz+1, h->bkt); + rl = pk_new_arr<char>(sz+1, h->bkt); sprintf(rl, "%s%s", s, read_line); - pk_delete<char>(s, strlen(s) + 1, h->bkt); + pk_delete_arr<char>(s, strlen(s) + 1, h->bkt); s = rl; continue; } @@ -318,7 +318,7 @@ void pke_deserialize_scene_from_stream(std::istream &i, srlztn_deserialize_helpe kvec.arr.data = nullptr; kvec.children.data = nullptr; kvec.child_handles.data = nullptr; - pk_delete<char>(read_line, read_line_len, h->bkt); + pk_delete_arr<char>(read_line, read_line_len, h->bkt); } void pke_serialize_level(srlztn_serialize_helper *h) { diff --git a/src/static-ui.cpp b/src/static-ui.cpp index 68fd551..1abd6b2 100644 --- a/src/static-ui.cpp +++ b/src/static-ui.cpp @@ -38,7 +38,7 @@ struct pke_ui_master { void pke_ui_init() { pke_ui_master.bkt = pk_mem_bucket_create("pke ui", PK_MEM_DEFAULT_BUCKET_SIZE, PK_MEMBUCKET_FLAG_NONE); - pke_ui_master.root_boxes = pk_new<pke_ui_box*>(1, pke_ui_master.bkt); + pke_ui_master.root_boxes = pk_new_arr<pke_ui_box*>(1, pke_ui_master.bkt); pke_ui_master.h_root_boxes = 0; pke_ui_master.r_root_boxes = 1; pke_ui_master.bindings = {}; @@ -399,7 +399,7 @@ void pke_ui_teardown_box_recursive(pke_ui_box *box) { pke_ui_teardown_box_recursive(box->internal.children[i]); } if (box->internal.children != nullptr) { - pk_delete<pke_ui_box *>(box->internal.children, box->internal.r_children); + pk_delete_arr<pke_ui_box *>(box->internal.children, box->internal.r_children); } } @@ -407,7 +407,7 @@ void pke_ui_teardown() { for (pke_ui_box_count_T i = 0; i < pke_ui_master.h_root_boxes; ++i) { pke_ui_teardown_box_recursive(pke_ui_master.root_boxes[i]); } - pk_delete<pke_ui_box *>(pke_ui_master.root_boxes, pke_ui_master.r_root_boxes, pke_ui_master.bkt); + pk_delete_arr<pke_ui_box *>(pke_ui_master.root_boxes, pke_ui_master.r_root_boxes, pke_ui_master.bkt); pk_mem_bucket_destroy(pke_ui_master.bkt); pke_ui_master.bkt = nullptr; pke_ui_master.root_boxes = nullptr; @@ -480,11 +480,11 @@ pke_ui_box *pke_ui_box_new_root(const PKE_UI_BOX_TYPE type, pk_uuid uuid) { if (pke_ui_master.h_root_boxes == pke_ui_master.r_root_boxes) { pke_ui_box_count_T prev_r_root_boxes = pke_ui_master.r_root_boxes; pke_ui_master.r_root_boxes *= 1.5; - pke_ui_box **boxes = pk_new<pke_ui_box*>(pke_ui_master.r_root_boxes); + pke_ui_box **boxes = pk_new_arr<pke_ui_box*>(pke_ui_master.r_root_boxes); for (pke_ui_box_count_T i = 0; i < pke_ui_master.h_root_boxes; ++i) { boxes[i] = pke_ui_master.root_boxes[i]; } - if (pke_ui_master.root_boxes != nullptr) pk_delete<pke_ui_box*>(pke_ui_master.root_boxes, prev_r_root_boxes); + if (pke_ui_master.root_boxes != nullptr) pk_delete_arr<pke_ui_box*>(pke_ui_master.root_boxes, prev_r_root_boxes); pke_ui_master.root_boxes = boxes; } pke_ui_box *box = pk_new<pke_ui_box>(pke_ui_master.bkt); @@ -512,12 +512,12 @@ pke_ui_box *pke_ui_box_new_child(pke_ui_box *parent, const PKE_UI_BOX_TYPE type, if (parent->internal.h_children == parent->internal.r_children) { pke_ui_box_count_T prev_r_children = parent->internal.r_children; parent->internal.r_children = PK_MAX(parent->internal.r_children * 1.5, 2); - pke_ui_box **boxes = pk_new<pke_ui_box*>(parent->internal.r_children); + pke_ui_box **boxes = pk_new_arr<pke_ui_box*>(parent->internal.r_children); for (pke_ui_box_count_T i = 0; i < parent->internal.h_children; ++i) { boxes[i] = parent->internal.children[i]; } if (parent->internal.children != nullptr) { - pk_delete<pke_ui_box*>(parent->internal.children, prev_r_children); + pk_delete_arr<pke_ui_box*>(parent->internal.children, prev_r_children); } parent->internal.children = boxes; } diff --git a/src/vendor-pkh-include.cpp b/src/vendor-pkh-include.cpp index 75b3fba..cb3f7b7 100644 --- a/src/vendor-pkh-include.cpp +++ b/src/vendor-pkh-include.cpp @@ -2,4 +2,11 @@ #define PK_MEMORY_DEBUGGER #define PK_IMPL_ALL #define PK_ARR_MOVE_IN_PLACE + +/* Two uses: + * 0: ecs + * 1: window + */ +#define PK_EV_INIT_MGR_COUNT 2 + #include "./pk.h" diff --git a/src/window.cpp b/src/window.cpp index 1b3a91c..7a86b26 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -659,7 +659,7 @@ unsigned int FindQueueFamilyIndex(VkPhysicalDevice device, char hasPresentSuppor unsigned int queueFamilyPropertyCount = 0U; vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyPropertyCount, nullptr); - auto *queueFamilyProperties = pk_new<VkQueueFamilyProperties>(queueFamilyPropertyCount, pkeSettings.mem_bkt.game_transient); + auto *queueFamilyProperties = pk_new_arr<VkQueueFamilyProperties>(queueFamilyPropertyCount, pkeSettings.mem_bkt.game_transient); vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyPropertyCount, queueFamilyProperties); for (unsigned int i = 0; i < queueFamilyPropertyCount; i++) { @@ -784,7 +784,7 @@ void InitVulkan() { unsigned int layerCount; vkResult = vkEnumerateInstanceLayerProperties(&layerCount, nullptr); assert(vkResult == VK_SUCCESS); - VkLayerProperties *availableLayerProperties = pk_new<VkLayerProperties>(layerCount, pkeSettings.mem_bkt.game_transient); + VkLayerProperties *availableLayerProperties = pk_new_arr<VkLayerProperties>(layerCount, pkeSettings.mem_bkt.game_transient); vkResult = vkEnumerateInstanceLayerProperties(&layerCount, availableLayerProperties); assert(vkResult == VK_SUCCESS); printf("Available Layers:\n"); @@ -860,7 +860,7 @@ void InitVulkan() { unsigned int extensionCount = 0; vkResult = vkEnumerateInstanceExtensionProperties(nullptr, &extensionCount, nullptr); assert(vkResult == VK_SUCCESS); - auto *extensions = pk_new<VkExtensionProperties>(extensionCount, pkeSettings.mem_bkt.game_transient); + auto *extensions = pk_new_arr<VkExtensionProperties>(extensionCount, pkeSettings.mem_bkt.game_transient); vkResult = vkEnumerateInstanceExtensionProperties(nullptr, &extensionCount, extensions); assert(vkResult == VK_SUCCESS); printf("Available Extensions:\n"); @@ -906,7 +906,7 @@ void InitVulkan() { vkResult = vkEnumeratePhysicalDevices(vkInstance, &physicalDeviceCount, nullptr); assert(vkResult == VK_SUCCESS); assert(physicalDeviceCount > 0); - auto *physicalDevices = pk_new<VkPhysicalDevice>(physicalDeviceCount, pkeSettings.mem_bkt.game_transient); + auto *physicalDevices = pk_new_arr<VkPhysicalDevice>(physicalDeviceCount, pkeSettings.mem_bkt.game_transient); vkResult = vkEnumeratePhysicalDevices(vkInstance, &physicalDeviceCount, physicalDevices); assert(vkResult == VK_SUCCESS); graphicsFamilyIndex = 0; @@ -926,7 +926,7 @@ void InitVulkan() { unsigned int extensionCount = 0; vkResult = vkEnumerateDeviceExtensionProperties(device, nullptr, &extensionCount, nullptr); assert(vkResult == VK_SUCCESS); - auto *extensionProperties = pk_new<VkExtensionProperties>(extensionCount, pkeSettings.mem_bkt.game_transient); + auto *extensionProperties = pk_new_arr<VkExtensionProperties>(extensionCount, pkeSettings.mem_bkt.game_transient); vkResult = vkEnumerateDeviceExtensionProperties(device, nullptr, &extensionCount, extensionProperties); assert(vkResult == VK_SUCCESS); for (long k = 0; k < extensionCount; ++k) { @@ -1188,7 +1188,7 @@ void CreateSwapchain() { unsigned int surfaceFormatCounts; vkResult = vkGetPhysicalDeviceSurfaceFormatsKHR(vkPhysicalDevice, vkSurfaceKHR, &surfaceFormatCounts, nullptr); assert(vkResult == VK_SUCCESS); - VkSurfaceFormatKHR *surfaceFormats = pk_new<VkSurfaceFormatKHR>(surfaceFormatCounts, pkeSettings.mem_bkt.game_transient); + VkSurfaceFormatKHR *surfaceFormats = pk_new_arr<VkSurfaceFormatKHR>(surfaceFormatCounts, pkeSettings.mem_bkt.game_transient); vkResult = vkGetPhysicalDeviceSurfaceFormatsKHR(vkPhysicalDevice, vkSurfaceKHR, &surfaceFormatCounts, surfaceFormats); assert(vkResult == VK_SUCCESS); selectedSurfaceIndex = 0; @@ -1214,7 +1214,7 @@ void CreateSwapchain() { unsigned int presentModeCount = 0; vkResult = vkGetPhysicalDeviceSurfacePresentModesKHR(vkPhysicalDevice, vkSurfaceKHR, &presentModeCount, nullptr); assert(vkResult == VK_SUCCESS); - VkPresentModeKHR *presentModes = pk_new<VkPresentModeKHR>(presentModeCount, pkeSettings.mem_bkt.game_transient); + VkPresentModeKHR *presentModes = pk_new_arr<VkPresentModeKHR>(presentModeCount, pkeSettings.mem_bkt.game_transient); vkResult = vkGetPhysicalDeviceSurfacePresentModesKHR(vkPhysicalDevice, vkSurfaceKHR, &presentModeCount, presentModes); assert(vkResult == VK_SUCCESS); vkPresentModeKHR = PickPresentMode(presentModes, presentModeCount); @@ -1277,10 +1277,10 @@ void CreateSwapchain() { assert(swapchainLength >= surfaceCapabilities.minImageCount); assert(surfaceCapabilities.maxImageCount == 0 || swapchainLength <= surfaceCapabilities.maxImageCount); if (prevSwapchainLength == 0) prevSwapchainLength = swapchainLength; - pkvk_present.images = pk_new<VkImage>(swapchainLength, MemBkt_Vulkan); + pkvk_present.images = pk_new_arr<VkImage>(swapchainLength, MemBkt_Vulkan); vkResult = vkGetSwapchainImagesKHR(vkDevice, vkSwapchainKHR, &swapchainLength, pkvk_present.images); assert(vkResult == VK_SUCCESS); - pkvk_present.image_views = pk_new<VkImageView>(swapchainLength, MemBkt_Vulkan); + pkvk_present.image_views = pk_new_arr<VkImageView>(swapchainLength, MemBkt_Vulkan); VkImageSubresourceRange vkImageSubresourceRange; vkImageSubresourceRange.aspectMask = VkImageAspectFlagBits::VK_IMAGE_ASPECT_COLOR_BIT; @@ -1330,18 +1330,18 @@ void CreateSwapchain() { renderTargetImageCI.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; // 3d color (fragment) images - pkvk_3d.render_images = pk_new<VkImage>(swapchainLength, MemBkt_Vulkan); - pkvk_3d.image_views = pk_new<VkImageView>(swapchainLength, MemBkt_Vulkan); + pkvk_3d.render_images = pk_new_arr<VkImage>(swapchainLength, MemBkt_Vulkan); + pkvk_3d.image_views = pk_new_arr<VkImageView>(swapchainLength, MemBkt_Vulkan); CreateImageResources_Inner(&renderTargetImageCI, &vkImageViewCreateInfo, VkBufferUsageFlagBits(0), nullptr, pkvk_3d.render_images, pkvk_3d.image_views, &pkvk_3d.images_memory); // 2d color (fragment) images - pkvk_2d.images = pk_new<VkImage>(swapchainLength, MemBkt_Vulkan); - pkvk_2d.image_views = pk_new<VkImageView>(swapchainLength, MemBkt_Vulkan); + pkvk_2d.images = pk_new_arr<VkImage>(swapchainLength, MemBkt_Vulkan); + pkvk_2d.image_views = pk_new_arr<VkImageView>(swapchainLength, MemBkt_Vulkan); CreateImageResources_Inner(&renderTargetImageCI, &vkImageViewCreateInfo, VkBufferUsageFlagBits(0), nullptr, pkvk_2d.images, pkvk_2d.image_views, &pkvk_2d.images_memory); // 2d glyph color (fragment) images - pkvk_glyph.images = pk_new<VkImage>(swapchainLength, MemBkt_Vulkan); - pkvk_glyph.image_views = pk_new<VkImageView>(swapchainLength, MemBkt_Vulkan); + pkvk_glyph.images = pk_new_arr<VkImage>(swapchainLength, MemBkt_Vulkan); + pkvk_glyph.image_views = pk_new_arr<VkImageView>(swapchainLength, MemBkt_Vulkan); CreateImageResources_Inner(&renderTargetImageCI, &vkImageViewCreateInfo, VkBufferUsageFlagBits(0), nullptr, pkvk_glyph.images, pkvk_glyph.image_views, &pkvk_glyph.images_memory); // resolve settings @@ -1349,18 +1349,18 @@ void CreateSwapchain() { renderTargetImageCI.usage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT; // 3d color (resolve) - pkvk_3d.images_color_resolve = pk_new<VkImage>(swapchainLength, MemBkt_Vulkan); - pkvk_3d.image_views_color_resolve = pk_new<VkImageView>(swapchainLength, MemBkt_Vulkan); + pkvk_3d.images_color_resolve = pk_new_arr<VkImage>(swapchainLength, MemBkt_Vulkan); + pkvk_3d.image_views_color_resolve = pk_new_arr<VkImageView>(swapchainLength, MemBkt_Vulkan); CreateImageResources_Inner(&renderTargetImageCI, &vkImageViewCreateInfo, VkBufferUsageFlagBits(0), nullptr, pkvk_3d.images_color_resolve, pkvk_3d.image_views_color_resolve, &pkvk_3d.images_memory_color_resolve); // 2d color (resolve) - pkvk_2d.images_color_resolve = pk_new<VkImage>(swapchainLength, MemBkt_Vulkan); - pkvk_2d.image_views_color_resolve = pk_new<VkImageView>(swapchainLength, MemBkt_Vulkan); + pkvk_2d.images_color_resolve = pk_new_arr<VkImage>(swapchainLength, MemBkt_Vulkan); + pkvk_2d.image_views_color_resolve = pk_new_arr<VkImageView>(swapchainLength, MemBkt_Vulkan); CreateImageResources_Inner(&renderTargetImageCI, &vkImageViewCreateInfo, VkBufferUsageFlagBits(0), nullptr, pkvk_2d.images_color_resolve, pkvk_2d.image_views_color_resolve, &pkvk_2d.images_memory_color_resolve); // 2d glyph color (resolve) - pkvk_glyph.images_color_resolve = pk_new<VkImage>(swapchainLength, MemBkt_Vulkan); - pkvk_glyph.image_views_color_resolve = pk_new<VkImageView>(swapchainLength, MemBkt_Vulkan); + pkvk_glyph.images_color_resolve = pk_new_arr<VkImage>(swapchainLength, MemBkt_Vulkan); + pkvk_glyph.image_views_color_resolve = pk_new_arr<VkImageView>(swapchainLength, MemBkt_Vulkan); CreateImageResources_Inner(&renderTargetImageCI, &vkImageViewCreateInfo, VkBufferUsageFlagBits(0), nullptr, pkvk_glyph.images_color_resolve, pkvk_glyph.image_views_color_resolve, &pkvk_glyph.images_memory_color_resolve); // depth settings @@ -1371,15 +1371,15 @@ void CreateSwapchain() { vkImageViewCreateInfo.subresourceRange.aspectMask = VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT; // depth images - depthImages = pk_new<VkImage>(swapchainLength, MemBkt_Vulkan); - depthImageViews = pk_new<VkImageView>(swapchainLength, MemBkt_Vulkan); + depthImages = pk_new_arr<VkImage>(swapchainLength, MemBkt_Vulkan); + depthImageViews = pk_new_arr<VkImageView>(swapchainLength, MemBkt_Vulkan); CreateImageResources_Inner(&renderTargetImageCI, &vkImageViewCreateInfo, VkBufferUsageFlagBits(0), nullptr, depthImages, depthImageViews, &depthImagesMemory); } void UpdatePresentDescriptorSets() { const unsigned int sub_pass_count = 3; - VkWriteDescriptorSet *writeDescriptorSets = pk_new<VkWriteDescriptorSet>(swapchainLength * sub_pass_count, pkeSettings.mem_bkt.game_transient); - VkDescriptorImageInfo *descriptorImageInfo = pk_new<VkDescriptorImageInfo>(swapchainLength * sub_pass_count, pkeSettings.mem_bkt.game_transient); + VkWriteDescriptorSet *writeDescriptorSets = pk_new_arr<VkWriteDescriptorSet>(swapchainLength * sub_pass_count, pkeSettings.mem_bkt.game_transient); + VkDescriptorImageInfo *descriptorImageInfo = pk_new_arr<VkDescriptorImageInfo>(swapchainLength * sub_pass_count, pkeSettings.mem_bkt.game_transient); for (long i = 0; i < swapchainLength * sub_pass_count; ++i) { writeDescriptorSets[i].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; writeDescriptorSets[i].pNext = nullptr; @@ -1624,7 +1624,7 @@ void CreatePresentPipeline() { vkResult = vkCreateDescriptorPool(vkDevice, &descriptorPoolCreateInfo, vkAllocator, &pkvk_present.descriptor_pool); assert(vkResult == VK_SUCCESS); - VkDescriptorSetLayout *setLayouts = pk_new<VkDescriptorSetLayout>(swapchainLength * 3, pkeSettings.mem_bkt.game_transient); + VkDescriptorSetLayout *setLayouts = pk_new_arr<VkDescriptorSetLayout>(swapchainLength * 3, pkeSettings.mem_bkt.game_transient); for (long i = 0; i < swapchainLength * 3; ++i) { setLayouts[i] = pkvk_present.descriptor_set_layout; } @@ -1635,7 +1635,7 @@ void CreatePresentPipeline() { allocInfo.descriptorSetCount = swapchainLength * 3; allocInfo.pSetLayouts = setLayouts; - pkvk_present.descriptor_sets = pk_new<VkDescriptorSet>(swapchainLength * 3, MemBkt_Vulkan); + pkvk_present.descriptor_sets = pk_new_arr<VkDescriptorSet>(swapchainLength * 3, MemBkt_Vulkan); vkResult = vkAllocateDescriptorSets(vkDevice, &allocInfo, pkvk_present.descriptor_sets); // setLayouts = CAFE_BABE(VkDescriptorSetLayout); if (vkResult != VK_SUCCESS) { @@ -1727,7 +1727,7 @@ void CreateCommandPool() { void DestroyPresentCommandBuffers() { if (pkvk_present.command_buffers != nullptr) { vkFreeCommandBuffers(vkDevice, pkvk_shared.command_pool.graphics, prevSwapchainLength, pkvk_present.command_buffers); - pk_delete<VkCommandBuffer>(pkvk_present.command_buffers, prevSwapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkCommandBuffer>(pkvk_present.command_buffers, prevSwapchainLength, MemBkt_Vulkan); pkvk_present.command_buffers = nullptr; } } @@ -1742,7 +1742,7 @@ void CreatePresentCommandBuffers() { allocInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY; allocInfo.commandBufferCount = swapchainLength; - pkvk_present.command_buffers = pk_new<VkCommandBuffer>(swapchainLength, MemBkt_Vulkan); + pkvk_present.command_buffers = pk_new_arr<VkCommandBuffer>(swapchainLength, MemBkt_Vulkan); auto result = vkAllocateCommandBuffers(vkDevice, &allocInfo, pkvk_present.command_buffers); if (result != VK_SUCCESS) { throw "failed to allocate command buffer"; @@ -1783,7 +1783,7 @@ void CreateUniformBuffers() { vkBufferCreateInfo.queueFamilyIndexCount = graphicsFamilyIndex == transferFamilyIndex ? 1 : 2; vkBufferCreateInfo.pQueueFamilyIndices = queueFamilyIndexes; - UniformBuffers = pk_new<VkBuffer>(swapchainLength, MemBkt_Vulkan); + UniformBuffers = pk_new_arr<VkBuffer>(swapchainLength, MemBkt_Vulkan); result = vkCreateBuffer(vkDevice, &vkBufferCreateInfo, vkAllocator, &UniformBuffers[0]); assert(result == VK_SUCCESS); @@ -1825,9 +1825,9 @@ void CreateSyncObjects() { fenceInfo.pNext = nullptr; fenceInfo.flags = VK_FENCE_CREATE_SIGNALED_BIT; - pkvk_present.semaphores_image_available = pk_new<VkSemaphore>(swapchainLength, MemBkt_Vulkan); - pkvk_present.semaphores_render_finished = pk_new<VkSemaphore>(swapchainLength, MemBkt_Vulkan); - pkvk_present.fences_in_flight = pk_new<VkFence>(swapchainLength, MemBkt_Vulkan); + pkvk_present.semaphores_image_available = pk_new_arr<VkSemaphore>(swapchainLength, MemBkt_Vulkan); + pkvk_present.semaphores_render_finished = pk_new_arr<VkSemaphore>(swapchainLength, MemBkt_Vulkan); + pkvk_present.fences_in_flight = pk_new_arr<VkFence>(swapchainLength, MemBkt_Vulkan); for (long i = 0; i < swapchainLength; ++i) { auto result1 = vkCreateSemaphore(vkDevice, &semaphoreInfo, vkAllocator, &pkvk_present.semaphores_image_available[i]); auto result2 = vkCreateSemaphore(vkDevice, &semaphoreInfo, vkAllocator, &pkvk_present.semaphores_render_finished[i]); @@ -2832,7 +2832,7 @@ void CreateGraphicsPipelines() { void DestroyDebugDescriptors() { if (pkeDebugHitbox.vkDescriptorPool != VK_NULL_HANDLE) { vkDestroyDescriptorPool(vkDevice, pkeDebugHitbox.vkDescriptorPool, vkAllocator); - pk_delete<VkDescriptorSet>(pkeDebugHitbox.vkDescriptorSets, prevSwapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkDescriptorSet>(pkeDebugHitbox.vkDescriptorSets, prevSwapchainLength, MemBkt_Vulkan); pkeDebugHitbox.vkDescriptorPool = VK_NULL_HANDLE; pkeDebugHitbox.vkDescriptorSets = nullptr; } @@ -2861,7 +2861,7 @@ void CreateDebugDescriptors() { auto vkResult = vkCreateDescriptorPool(vkDevice, &vkDescriptorPoolCreateInfo, vkAllocator, &pkeDebugHitbox.vkDescriptorPool); assert(vkResult == VK_SUCCESS); - VkDescriptorSetLayout *descriptorSets = pk_new<VkDescriptorSetLayout>(swapchainLength, pkeSettings.mem_bkt.game_transient); + VkDescriptorSetLayout *descriptorSets = pk_new_arr<VkDescriptorSetLayout>(swapchainLength, pkeSettings.mem_bkt.game_transient); for (long i = 0; i < swapchainLength; ++i) { descriptorSets[i] = pkePipelines.descr_layouts.named.ubo_txtr; } @@ -2872,7 +2872,7 @@ void CreateDebugDescriptors() { vkDescriptorSetAllocateInfo.descriptorSetCount = swapchainLength; vkDescriptorSetAllocateInfo.pSetLayouts = descriptorSets; - pkeDebugHitbox.vkDescriptorSets = pk_new<VkDescriptorSet>(swapchainLength, MemBkt_Vulkan); + pkeDebugHitbox.vkDescriptorSets = pk_new_arr<VkDescriptorSet>(swapchainLength, MemBkt_Vulkan); for (long i = 0; i < swapchainLength; ++i) { pkeDebugHitbox.vkDescriptorSets[i] = VkDescriptorSet{}; } @@ -2882,7 +2882,7 @@ void CreateDebugDescriptors() { } void UpdateDebugDescriptors() { - VkWriteDescriptorSet *writeDescriptorSets = pk_new<VkWriteDescriptorSet>(2 * swapchainLength, pkeSettings.mem_bkt.game_transient); + VkWriteDescriptorSet *writeDescriptorSets = pk_new_arr<VkWriteDescriptorSet>(2 * swapchainLength, pkeSettings.mem_bkt.game_transient); for (long i = 0; i < 2 * swapchainLength; ++i) { writeDescriptorSets[i].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; writeDescriptorSets[i].pNext = nullptr; @@ -2902,7 +2902,7 @@ void UpdateDebugDescriptors() { textureDescriptorInfo.imageView = pkeDebugHitbox.vkImageView; textureDescriptorInfo.imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; - VkDescriptorBufferInfo *vkDescriptorBufferInfo = pk_new<VkDescriptorBufferInfo>(swapchainLength, pkeSettings.mem_bkt.game_transient); + VkDescriptorBufferInfo *vkDescriptorBufferInfo = pk_new_arr<VkDescriptorBufferInfo>(swapchainLength, pkeSettings.mem_bkt.game_transient); for (long i = 0; i < swapchainLength; ++i) { vkDescriptorBufferInfo[i].buffer = UniformBuffers[i]; @@ -3486,13 +3486,13 @@ void DestroySyncObjects() { } } - pk_delete<VkSemaphore>(pkvk_present.semaphores_image_available, prevSwapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkSemaphore>(pkvk_present.semaphores_image_available, prevSwapchainLength, MemBkt_Vulkan); pkvk_present.semaphores_image_available = CAFE_BABE(VkSemaphore); - pk_delete<VkSemaphore>(pkvk_present.semaphores_render_finished, prevSwapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkSemaphore>(pkvk_present.semaphores_render_finished, prevSwapchainLength, MemBkt_Vulkan); pkvk_present.semaphores_render_finished = CAFE_BABE(VkSemaphore); - pk_delete<VkFence>(pkvk_present.fences_in_flight, prevSwapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkFence>(pkvk_present.fences_in_flight, prevSwapchainLength, MemBkt_Vulkan); pkvk_present.fences_in_flight = CAFE_BABE(VkFence); } @@ -3509,7 +3509,7 @@ void DestroyPresentPipeline() { if (pkvk_present.descriptor_sets != nullptr && pkvk_present.descriptor_sets != CAFE_BABE(VkDescriptorSet)) { vkFreeDescriptorSets(vkDevice, pkvk_present.descriptor_pool, prevSwapchainLength * 3, pkvk_present.descriptor_sets); - pk_delete<VkDescriptorSet>(pkvk_present.descriptor_sets, prevSwapchainLength * 3, MemBkt_Vulkan); + pk_delete_arr<VkDescriptorSet>(pkvk_present.descriptor_sets, prevSwapchainLength * 3, MemBkt_Vulkan); pkvk_present.descriptor_sets = CAFE_BABE(VkDescriptorSet); } @@ -3525,9 +3525,9 @@ void DestroySwapchain() { vkDestroyImageView(vkDevice, depthImageViews[i], vkAllocator); vkDestroyImage(vkDevice, depthImages[i], vkAllocator); } - pk_delete<VkImageView>(depthImageViews, swapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkImageView>(depthImageViews, swapchainLength, MemBkt_Vulkan); depthImageViews = CAFE_BABE(VkImageView); - pk_delete<VkImage>(depthImages, swapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkImage>(depthImages, swapchainLength, MemBkt_Vulkan); depthImages = CAFE_BABE(VkImage); vkFreeMemory(vkDevice, depthImagesMemory, vkAllocator); } @@ -3536,9 +3536,9 @@ void DestroySwapchain() { vkDestroyImageView(vkDevice, pkvk_glyph.image_views[i], vkAllocator); vkDestroyImage(vkDevice, pkvk_glyph.images[i], vkAllocator); } - pk_delete<VkImageView>(pkvk_glyph.image_views, swapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkImageView>(pkvk_glyph.image_views, swapchainLength, MemBkt_Vulkan); pkvk_glyph.image_views = CAFE_BABE(VkImageView); - pk_delete<VkImage>(pkvk_glyph.images, swapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkImage>(pkvk_glyph.images, swapchainLength, MemBkt_Vulkan); pkvk_glyph.images = CAFE_BABE(VkImage); vkFreeMemory(vkDevice, pkvk_glyph.images_memory, vkAllocator); } @@ -3547,9 +3547,9 @@ void DestroySwapchain() { vkDestroyImageView(vkDevice, pkvk_glyph.image_views_color_resolve[i], vkAllocator); vkDestroyImage(vkDevice, pkvk_glyph.images_color_resolve[i], vkAllocator); } - pk_delete<VkImageView>(pkvk_glyph.image_views_color_resolve, swapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkImageView>(pkvk_glyph.image_views_color_resolve, swapchainLength, MemBkt_Vulkan); pkvk_glyph.image_views_color_resolve = CAFE_BABE(VkImageView); - pk_delete<VkImage>(pkvk_glyph.images_color_resolve, swapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkImage>(pkvk_glyph.images_color_resolve, swapchainLength, MemBkt_Vulkan); pkvk_glyph.images_color_resolve = CAFE_BABE(VkImage); vkFreeMemory(vkDevice, pkvk_glyph.images_memory_color_resolve, vkAllocator); } @@ -3558,9 +3558,9 @@ void DestroySwapchain() { vkDestroyImageView(vkDevice, pkvk_2d.image_views[i], vkAllocator); vkDestroyImage(vkDevice, pkvk_2d.images[i], vkAllocator); } - pk_delete<VkImageView>(pkvk_2d.image_views, swapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkImageView>(pkvk_2d.image_views, swapchainLength, MemBkt_Vulkan); pkvk_2d.image_views = CAFE_BABE(VkImageView); - pk_delete<VkImage>(pkvk_2d.images, swapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkImage>(pkvk_2d.images, swapchainLength, MemBkt_Vulkan); pkvk_2d.images = CAFE_BABE(VkImage); vkFreeMemory(vkDevice, pkvk_2d.images_memory, vkAllocator); } @@ -3569,9 +3569,9 @@ void DestroySwapchain() { vkDestroyImageView(vkDevice, pkvk_2d.image_views_color_resolve[i], vkAllocator); vkDestroyImage(vkDevice, pkvk_2d.images_color_resolve[i], vkAllocator); } - pk_delete<VkImageView>(pkvk_2d.image_views_color_resolve, swapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkImageView>(pkvk_2d.image_views_color_resolve, swapchainLength, MemBkt_Vulkan); pkvk_2d.image_views_color_resolve = CAFE_BABE(VkImageView); - pk_delete<VkImage>(pkvk_2d.images_color_resolve, swapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkImage>(pkvk_2d.images_color_resolve, swapchainLength, MemBkt_Vulkan); pkvk_2d.images_color_resolve = CAFE_BABE(VkImage); vkFreeMemory(vkDevice, pkvk_2d.images_memory_color_resolve, vkAllocator); } @@ -3580,10 +3580,10 @@ void DestroySwapchain() { vkDestroyImageView(vkDevice, pkvk_3d.image_views_color_resolve[i], vkAllocator); vkDestroyImage(vkDevice, pkvk_3d.images_color_resolve[i], vkAllocator); } - pk_delete<VkImageView>(pkvk_3d.image_views_color_resolve, swapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkImageView>(pkvk_3d.image_views_color_resolve, swapchainLength, MemBkt_Vulkan); pkvk_3d.image_views_color_resolve = CAFE_BABE(VkImageView); vkFreeMemory(vkDevice, pkvk_3d.images_memory_color_resolve, vkAllocator); - pk_delete<VkImage>(pkvk_3d.images_color_resolve, swapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkImage>(pkvk_3d.images_color_resolve, swapchainLength, MemBkt_Vulkan); pkvk_3d.images_color_resolve = CAFE_BABE(VkImage); } if (pkvk_3d.image_views != nullptr && pkvk_3d.image_views != CAFE_BABE(VkImageView)) { @@ -3591,9 +3591,9 @@ void DestroySwapchain() { vkDestroyImageView(vkDevice, pkvk_3d.image_views[i], vkAllocator); vkDestroyImage(vkDevice, pkvk_3d.render_images[i], vkAllocator); } - pk_delete<VkImageView>(pkvk_3d.image_views, swapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkImageView>(pkvk_3d.image_views, swapchainLength, MemBkt_Vulkan); pkvk_3d.image_views = CAFE_BABE(VkImageView); - pk_delete<VkImage>(pkvk_3d.render_images, swapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkImage>(pkvk_3d.render_images, swapchainLength, MemBkt_Vulkan); pkvk_3d.render_images = CAFE_BABE(VkImage); vkFreeMemory(vkDevice, pkvk_3d.images_memory, vkAllocator); } @@ -3601,9 +3601,9 @@ void DestroySwapchain() { for (long i = 0; i < swapchainLength; ++i) { vkDestroyImageView(vkDevice, pkvk_present.image_views[i], vkAllocator); } - pk_delete<VkImageView>(pkvk_present.image_views, swapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkImageView>(pkvk_present.image_views, swapchainLength, MemBkt_Vulkan); pkvk_present.image_views = CAFE_BABE(VkImageView); - pk_delete<VkImage>(pkvk_present.images, swapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkImage>(pkvk_present.images, swapchainLength, MemBkt_Vulkan); pkvk_present.images = CAFE_BABE(VkImage); // no memory free for present because they are managed by the swapchain } @@ -3618,7 +3618,7 @@ void DestroyUniformBuffers() { } } - pk_delete<VkBuffer>(UniformBuffers, prevSwapchainLength, MemBkt_Vulkan); + pk_delete_arr<VkBuffer>(UniformBuffers, prevSwapchainLength, MemBkt_Vulkan); UniformBuffers = CAFE_BABE(VkBuffer); vkFreeMemory(vkDevice, uniformBufferMemory, vkAllocator); |
