diff options
author | Leo Tenenbaum <pommicket@gmail.com> | 2020-12-13 15:05:57 -0500 |
---|---|---|
committer | Leo Tenenbaum <pommicket@gmail.com> | 2020-12-13 15:05:57 -0500 |
commit | c97f92d10449dfd14a70f1f16886493664da51d6 (patch) | |
tree | 67d002a776b27d535d3ff6be60b95f6b23a504b1 | |
parent | 5f714090e1cda80316c0271023e6010c417a74ce (diff) |
press escape while editing to go to evolve menu
-rw-r--r-- | sim.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
@@ -419,15 +419,8 @@ void sim_frame(Frame *frame) { keys_pressed[KEY_SPACE] = 0; setup_reset(state); } - if (keys_pressed[KEY_ESCAPE]) { - // back to evolve menu - state->simulating = false; - state->evolve_menu = true; - keys_pressed[KEY_ESCAPE] = 0; - } } - { float half_height = 10.0f; float half_width = half_height * state->win_width / state->win_height; @@ -870,6 +863,21 @@ void sim_frame(Frame *frame) { } + if (state->simulating || state->building) { + if (keys_pressed[KEY_ESCAPE]) { + // back to evolve menu + if (ball->body) { + // destroy ball if needed + state->world->DestroyBody(ball->body); + ball->body = NULL; + } + state->simulating = false; + state->building = false; + state->evolve_menu = true; + keys_pressed[KEY_ESCAPE] = 0; + } + } + #if DEBUG GLuint error = glGetError(); if (error) { |