X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=laserbrain_demo;a=blobdiff_plain;f=src%2Fapp.cc;h=b61b0e74417a3b8bb381d53e3fcb04d34ddc4586;hp=63e7cd71399619f83e39410ab07b101d49205fbc;hb=5ce504b61cdb88166133d5977a2faad1664c850f;hpb=6ecd4ecfa020964e4250bf9322c1a26ac4073b76 diff --git a/src/app.cc b/src/app.cc index 63e7cd7..b61b0e7 100644 --- a/src/app.cc +++ b/src/app.cc @@ -84,6 +84,8 @@ static Renderer *rend; static Ray last_pick_ray; +static bool post_scene_init_pending = true; + bool app_init(int argc, char **argv) { @@ -206,6 +208,14 @@ bool app_init(int argc, char **argv) return true; } +static void post_scene_init() +{ + int num_mir = mscn->calc_mirror_planes(); + info_log("found %d mirror planes\n", num_mir); + + exman->load(mscn, "data/exhibits"); +} + void app_cleanup() { if(mscn->music) { @@ -257,6 +267,11 @@ static void update(float dt) texman.update(); sceneman.update(); + if(post_scene_init_pending && !sceneman.pending()) { + post_scene_init_pending = false; + post_scene_init(); + } + mscn->update(dt); exman->update(dt); exui_update(dt); @@ -629,10 +644,6 @@ void app_keyboard(int key, bool pressed) show_message("VR recenter\n"); break; - case 'x': - exman->load(mscn, "data/exhibits"); - break; - case KEY_UP: exui_scroll(-1); break;