From dc2466b88b4478d8944251d9d97cbe0c774f5ca0 Mon Sep 17 00:00:00 2001
From: 3gg <3gg@shellblade.net>
Date: Sat, 17 Feb 2024 13:54:40 -0800
Subject: Address viewer reloading TODO.

This works now with the recent changes to the asset cache.
---
 game/src/plugins/viewer.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

(limited to 'game')

diff --git a/game/src/plugins/viewer.c b/game/src/plugins/viewer.c
index c58b0e0..945a422 100644
--- a/game/src/plugins/viewer.c
+++ b/game/src/plugins/viewer.c
@@ -102,6 +102,10 @@ static Model* load_scene(Game* game, State* state, const char* scene_filepath) {
 bool init(Game* game, State** pp_state) {
   assert(game);
 
+  // Usage: <scene file>
+  const char* scene_filepath =
+      game->argc > 1 ? game->argv[1] : DEFAULT_SCENE_FILE;
+
   State* state = calloc(1, sizeof(State));
   if (!state) {
     goto cleanup;
@@ -114,12 +118,6 @@ bool init(Game* game, State** pp_state) {
     goto cleanup;
   }
 
-  const int    argc = game->argc;
-  const char** argv = game->argv;
-
-  // Usage: <scene file>
-  const char* scene_filepath = argc > 1 ? argv[1] : DEFAULT_SCENE_FILE;
-
   state->model = load_scene(game, state, scene_filepath);
   if (!state->model) {
     goto cleanup;
@@ -145,10 +143,6 @@ cleanup:
 void shutdown(Game* game, State* state) {
   assert(game);
   if (state) {
-    // TODO: Destroying the scene here currently does not play well with asset
-    //  reloading. The issue is that we expect to mutate the scene/model during
-    //  animation. This needs to change if we want to be able to cache assets
-    //  in memory.
     gfx_destroy_camera(&state->camera);
     gfx_destroy_scene(&state->scene);
     // State freed by plugin engine.
-- 
cgit v1.2.3