From 0415dfd5e100a50072e9cc36c84127640ae5827f Mon Sep 17 00:00:00 2001 From: Dethrace Labs <78985374+dethrace-labs@users.noreply.github.com> Date: Mon, 13 Oct 2025 14:18:05 +1300 Subject: [PATCH] DoProgram matching --- src/DETHRACE/common/structur.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/DETHRACE/common/structur.c b/src/DETHRACE/common/structur.c index 3439a2e6..3ab3bb62 100644 --- a/src/DETHRACE/common/structur.c +++ b/src/DETHRACE/common/structur.c @@ -688,7 +688,7 @@ void InitialiseProgramState(void) { // FUNCTION: CARM95 0x00414d8a void DoProgram(void) { InitialiseProgramState(); - while (gProgram_state.prog_status != eProg_quit) { + do { switch (gProgram_state.prog_status) { case eProg_intro: DisposeGameIfNecessary(); @@ -700,10 +700,10 @@ void DoProgram(void) { break; case eProg_idling: DisposeGameIfNecessary(); - if (gGame_to_load < 0) { - DoMainMenuScreen(30000u, 0, 0); - } else { + if (gGame_to_load >= 0) { DoLoadGame(); + } else { + DoMainMenuScreen(30000u, 0, 0); } break; case eProg_demo: @@ -711,11 +711,11 @@ void DoProgram(void) { break; case eProg_game_starting: DoGame(); - break; + // fallthrough default: break; } - } + } while (gProgram_state.prog_status != eProg_quit); } // IDA: void __cdecl JumpTheStart()