From fb7d1b6e1af2face4393c68dd87efc82fa51db2f Mon Sep 17 00:00:00 2001 From: Taylor Richards Date: Fri, 8 Dec 2017 01:13:26 -0500 Subject: [PATCH] modify gameseq such that we can process an event with an unset state --- src/freespace2/freespace.cpp | 6 ++++++ src/gamesequence/gamesequence.cpp | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/freespace2/freespace.cpp b/src/freespace2/freespace.cpp index ee8f728..79b9342 100644 --- a/src/freespace2/freespace.cpp +++ b/src/freespace2/freespace.cpp @@ -6192,6 +6192,12 @@ void game_do_state_common(int state,int no_networking) multi_log_process(); + // bail if state is invalid + if (state == 0) { + Game_do_state_should_skip = 1; + return; + } + if (no_networking) { return; } diff --git a/src/gamesequence/gamesequence.cpp b/src/gamesequence/gamesequence.cpp index b94a7ee..36e5fa2 100644 --- a/src/gamesequence/gamesequence.cpp +++ b/src/gamesequence/gamesequence.cpp @@ -596,7 +596,7 @@ int gameseq_process_events() state_reentry--; // break when state changes so that code will get called at // least one frame for each state. - if (old_state != gs[gs_current_stack].current_state) + if ( !old_state || (old_state != gs[gs_current_stack].current_state) ) break; } -- 2.39.2