From b2548ba4ce295fcd94a50123fb543fac2ef2bc33 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Thu, 14 Nov 2024 14:46:23 -0500 Subject: add pk.h and major pkmem refactor Completely replaces the memory module with pkmem pkmem is a newer implementation of the same bucket memory structure. Also includes replacing pkstr.h with pk.h's pkstr --- src/physics.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'src/physics.cpp') diff --git a/src/physics.cpp b/src/physics.cpp index 88c8139..d939e21 100644 --- a/src/physics.cpp +++ b/src/physics.cpp @@ -13,7 +13,7 @@ TypeSafeInt_B(PhysicsCollision); -MemBucket *MemBkt_Bullet = nullptr; +struct pk_membucket *MemBkt_Bullet = nullptr; btDiscreteDynamicsWorld *BtDynamicsWorld = nullptr; struct AllocedData { @@ -33,7 +33,7 @@ struct EntityCollision { PkeArray collisionsThisTick{}; void *pke_btAlignedAllocFunc(size_t size, int alignment) { - void *ptr = Pke_New(size, alignment, MemBkt_Bullet); + void *ptr = pk_new_bkt(size, alignment, MemBkt_Bullet); bulletAllocs->Push({ptr, size}); return ptr; } @@ -48,11 +48,11 @@ void pke_btAlignedFreeFunc(void *memBlock) { } } assert(index != -1); - Pke_Delete(const_cast(memBlock), arr[index].size, MemBkt_Bullet); + pk_delete_bkt(memBlock, arr[index].size, MemBkt_Bullet); bulletAllocs->Remove(index); } void *pke_btAllocFunc(size_t size) { - void *ptr = Pke_New(size, MINIMUM_ALIGNMENT, MemBkt_Bullet); + void *ptr = pk_new_bkt(size, PK_MINIMUM_ALIGNMENT, MemBkt_Bullet); bulletAllocs->Push({ptr, size}); return ptr; } @@ -67,7 +67,7 @@ void pke_btFreeFunc(void *memBlock) { } } assert(index != -1); - Pke_Delete(const_cast(memBlock), arr[index].size, MemBkt_Bullet); + pk_delete_bkt(memBlock, arr[index].size, MemBkt_Bullet); bulletAllocs->Remove(index); } @@ -95,28 +95,28 @@ struct CollisionHandlerStruct : public btOverlapFilterCallback { } collisionHandlerStruct; void Physics_Init() { - MemBkt_Bullet = Pke_BeginTransientBucket(); - bulletAllocs = Pke_New>(MemBkt_Bullet); + MemBkt_Bullet = pk_bucket_create("physics", PK_DEFAULT_BUCKET_SIZE, false); + bulletAllocs = pk_new>(MemBkt_Bullet); new (bulletAllocs) DynArray(MemBkt_Bullet); bulletAllocs->Reserve(1024); btAlignedAllocSetCustom(pke_btAllocFunc, pke_btFreeFunc); btAlignedAllocSetCustomAligned(pke_btAlignedAllocFunc, pke_btAlignedFreeFunc); - btConfiguration = Pke_New(MemBkt_Bullet); - btDispatcher = Pke_New(MemBkt_Bullet); + btConfiguration = pk_new(MemBkt_Bullet); + btDispatcher = pk_new(MemBkt_Bullet); new (btDispatcher) btCollisionDispatcher(btConfiguration); - btBroadphase = Pke_New(MemBkt_Bullet); + btBroadphase = pk_new(MemBkt_Bullet); #if 1 - btHashedOverlappingPairCache *overlappingPairCache = Pke_New(MemBkt_Bullet); + btHashedOverlappingPairCache *overlappingPairCache = pk_new(MemBkt_Bullet); overlappingPairCache->setOverlapFilterCallback(&collisionHandlerStruct); new (btBroadphase) btDbvtBroadphase(overlappingPairCache); #else new (btBroadphase) btDbvtBroadphase(); #endif - btSolver = Pke_New(MemBkt_Bullet); + btSolver = pk_new(MemBkt_Bullet); - BtDynamicsWorld = Pke_New(MemBkt_Bullet); + BtDynamicsWorld = pk_new(MemBkt_Bullet); new (BtDynamicsWorld) btDiscreteDynamicsWorld(btDispatcher, btBroadphase, btSolver, btConfiguration); } @@ -132,5 +132,5 @@ int32_t Physics_Tick(double delta) { } void Physics_Teardown() { - Pke_EndTransientBucket(MemBkt_Bullet); + pk_bucket_destroy(MemBkt_Bullet); } -- cgit v1.2.3