diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-10-01 15:13:16 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-10-01 15:13:16 -0400 |
| commit | 784aafce17590613543f7042357bb1c8def87cd4 (patch) | |
| tree | b0f36d77217b15396b4351686e949867db57c434 /src | |
| parent | 1877193d6cbf8193f1231b082e99c5f14acfbf44 (diff) | |
pke: actually deserialize scene passed as arg
Diffstat (limited to 'src')
| -rw-r--r-- | src/game.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/game.cpp b/src/game.cpp index ef3f2fb..c4a023d 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -170,10 +170,11 @@ void Game_Main(PKEWindowProperties windowProps, const char *executablePath) { if (!pkeSettings.args.levelName) { // TODO uuids pke_level *lvl = pke_level_create("faux-level", pk_uuid_zed, pk_uuid_zed); + fprintf(stdout, "[Game_Main] Creating faux level.\n"); pkeSettings.rt.activeLevel = lvl; } - if (!pkeSettings.args.levelName && pkeSettings.args.sceneName) { + if (pkeSettings.args.levelName == nullptr && pkeSettings.args.sceneName != nullptr) { scene_instance si{}; pke_scene *scene; std::ifstream f(pkeSettings.args.sceneName); @@ -181,11 +182,13 @@ void Game_Main(PKEWindowProperties windowProps, const char *executablePath) { fprintf(stdout, "[Game_Main] Did not find scene by name specified in arg: '%s'\n", pkeSettings.args.sceneName); goto GAME_SHUTDOWN; } + fprintf(stdout, "[Game_Main] loading scene from arg (expecting path): %s\n", pkeSettings.args.sceneName); srlztn_deserialize_helper *h = pke_deserialize_init(pkeSettings.rt.activeLevel, pkeSettings.mem_bkt.game_transient); // 2025-09-09 JCB Scenes no longer contain anything so I'm not sure there's a reason to create one here. // spit-balling here, maybe "scene" files should be assets and not much more. scene = pke_scene_create(pkeSettings.args.sceneName); pke_deserialize_scene_from_stream(f, h); + pke_deserialize_scene(h); pke_deserialize_teardown(h); si.scene_handle = scene->scene_handle; pk_arr_append_t(&pkeSettings.rt.activeLevel->scene_instances, si); |
