summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-07-17 14:50:05 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-07-17 14:50:05 -0400
commit8fbeadda53243b701957a26dba1113d84ad5c7c4 (patch)
treed37007379260bd8e6ec2a9c24ff269a8b5875dff /src
parentf50804900157af65da50166325163444a78aaaec (diff)
pke: handle pk.h breaking changes
Diffstat (limited to 'src')
-rw-r--r--src/asset-manager.cpp4
-rw-r--r--src/audio-impl-pw.cpp16
-rw-r--r--src/audio.cpp14
-rw-r--r--src/dynamic-array.cpp6
-rw-r--r--src/dynamic-array.hpp4
-rw-r--r--src/entities.cpp12
-rw-r--r--src/font.cpp34
-rw-r--r--src/game.cpp2
-rw-r--r--src/player-input.cpp2
-rw-r--r--src/project.cpp10
-rw-r--r--src/scene.cpp2
-rw-r--r--src/serialization-camera.cpp10
-rw-r--r--src/serialization-component.cpp18
-rw-r--r--src/serialization-font.cpp26
-rw-r--r--src/serialization-input.cpp18
-rw-r--r--src/serialization-static-ui.cpp26
-rw-r--r--src/serialization.cpp16
-rw-r--r--src/static-ui.cpp14
-rw-r--r--src/vendor-pkh-include.cpp7
-rw-r--r--src/window.cpp118
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(&registeredInputSets, 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);