diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-03-20 15:30:13 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-03-21 11:06:05 -0400 |
| commit | e6e7f56c9bba3b2191583c4c1d0599370d1f00c7 (patch) | |
| tree | 27476da693d9e75d920a698d57b74699f9f81c7a /src/game.cpp | |
| parent | 9b39b4c8eab360e087423f06ecffb694a3b98b23 (diff) | |
pke: replace PkeArray with pk_arr_t
Diffstat (limited to 'src/game.cpp')
| -rw-r--r-- | src/game.cpp | 34 |
1 files changed, 15 insertions, 19 deletions
diff --git a/src/game.cpp b/src/game.cpp index 3189624..6283d5c 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -1,10 +1,8 @@ #include "game.hpp" -#include "array.hpp" #include "camera.hpp" #include "components.hpp" -#include "dynamic-array.hpp" #include "ecs.hpp" #include "entities.hpp" #include "event.hpp" @@ -42,7 +40,7 @@ struct InstMapping { InstanceHandle newInstHandle; InstPos newInstance{}; }; -PkeArray<InstMapping> loadFileInstanceMappings{}; +pk_arr_t<InstMapping> loadFileInstanceMappings{}; const char *levelName = "demo-level"; @@ -161,8 +159,9 @@ void SerializeInstance(std::ostringstream &stream, const CompInstance &comp) { } } -bool FindFirstInstanceHandle(const InstMapping &mapping, const InstanceHandle handle) { - return mapping.origHandle == handle; +bool FindFirstInstanceHandle(void *handle, void *mapping) { + InstMapping *inst_mapping = reinterpret_cast<InstMapping *>(mapping); + return inst_mapping->origHandle == *reinterpret_cast<InstanceHandle *>(handle); } void ParseCamera(PkeLevel *level, std::ifstream &stream) { PkeCamera cam{}; @@ -173,10 +172,10 @@ void ParseCamera(PkeLevel *level, std::ifstream &stream) { int64_t instanceIndex = -1, targetInstanceIndex = -1; - instanceIndex = PkeArray_FindFirstIndex<InstMapping, InstanceHandle>(&loadFileInstanceMappings, FindFirstInstanceHandle, instanceHandle); + instanceIndex = pk_arr_find_first_index(&loadFileInstanceMappings, &instanceHandle, FindFirstInstanceHandle); if (targetInstanceHandle != InstanceHandle_MAX) { - targetInstanceIndex = PkeArray_FindFirstIndex<InstMapping, InstanceHandle>(&loadFileInstanceMappings, FindFirstInstanceHandle, targetInstanceHandle); + targetInstanceIndex = pk_arr_find_first_index(&loadFileInstanceMappings, &targetInstanceHandle, FindFirstInstanceHandle); } InstPos instPos; @@ -186,7 +185,7 @@ void ParseCamera(PkeLevel *level, std::ifstream &stream) { instPos.scale = btVector3(1.f, 1.f, 1.f); fprintf(stdout, "[ParseCamera] Failed to find instance mapping. Is this an outdated parse?\n"); } else { - instPos = loadFileInstanceMappings.data[instanceIndex].newInstance; + instPos = loadFileInstanceMappings[instanceIndex].newInstance; } auto &rCam = PkeCamera_Register(instPos); rCam.type = cam.type; @@ -195,7 +194,7 @@ void ParseCamera(PkeLevel *level, std::ifstream &stream) { rCam.phys.targetInstHandle = targetInstanceHandle; PkeLevel_RegisterCamera(level->levelHandle, rCam.camHandle); if (targetInstanceIndex > -1) { - PkeCamera_TargetInstance(rCam.camHandle, ECS_GetInstance(loadFileInstanceMappings.data[targetInstanceIndex].newInstHandle)); + PkeCamera_TargetInstance(rCam.camHandle, ECS_GetInstance(loadFileInstanceMappings[targetInstanceIndex].newInstHandle)); } if (rCam.isPrimary == true) { ActiveCamera = &rCam; @@ -297,12 +296,12 @@ void ParseInstance(Entity_Base *parentEntity, std::ifstream &stream) { } if (mapping.newEntHandle != EntityHandle_MAX) { // TODO this is messy - PkeArray<CompInstance *> instances{}; + pk_arr_t<CompInstance *> instances{}; ECS_GetInstances(entity, instances); assert(instances.next > 0); - mapping.newInstHandle = instances.data[0]->instanceHandle; + mapping.newInstHandle = instances[0]->instanceHandle; } - PkeArray_Add(&loadFileInstanceMappings, mapping); + pk_arr_append(&loadFileInstanceMappings, &mapping); break; } if (strstr(readLine, PKE_FILE_INSTANCE_ENTITY_HANDLE)) { @@ -498,7 +497,7 @@ void Game_LoadSceneFile(PkeLevel *level, const char *sceneFilePath) { } f.close(); - PkeArray_SoftReset(&loadFileInstanceMappings); + pk_arr_clear(&loadFileInstanceMappings); } const int64_t consoleBufferCount = 30; @@ -572,8 +571,7 @@ void Game_Tick(double delta) { pke_ui_tick(delta); FontType_Tick(delta); - const auto pluginCount = LoadedPkePlugins.Count(); - for (long i = 0; i < pluginCount; ++i) { + for (long i = 0; i < LoadedPkePlugins.next; ++i) { if (LoadedPkePlugins[i].OnTick != nullptr) { LoadedPkePlugins[i].OnTick(delta); } @@ -607,8 +605,7 @@ void Game_Main(PKEWindowProperties windowProps, const char *executablePath) { if (pkeSettings.args.pluginPath != nullptr) { PkePlugin_Load(pkeSettings.args.pluginPath); } - const long pluginCount = LoadedPkePlugins.Count(); - for (long i = 0; i < pluginCount; ++i) { + for (long i = 0; i < LoadedPkePlugins.next; ++i) { if (LoadedPkePlugins[i].OnInit != nullptr) { LoadedPkePlugins[i].OnInit(); } @@ -740,8 +737,7 @@ void Game_Main(PKEWindowProperties windowProps, const char *executablePath) { #ifndef NDEBUG pk_memory_debug_print(); #endif - const auto pluginCount = LoadedPkePlugins.Count(); - for (long i = 0; i < pluginCount; ++i) { + for (long i = 0; i < LoadedPkePlugins.next; ++i) { if (LoadedPkePlugins[i].OnTeardown) { LoadedPkePlugins[i].OnTeardown(); } |
