diff --git a/src/d_main.c b/src/d_main.c index aa79e6584..7439b612a 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -476,10 +476,6 @@ static void D_Display(void) HU_Drawer(); break; - case GS_GAMEEND: - F_GameEndDrawer(); - break; - case GS_EVALUATION: F_GameEvaluationDrawer(); HU_Erase(); diff --git a/src/deh_soc.c b/src/deh_soc.c index f6509eabd..08995d083 100644 --- a/src/deh_soc.c +++ b/src/deh_soc.c @@ -3365,14 +3365,6 @@ void readwipes(MYFILE *f) else if (fastcmp(pword, "FINAL")) wipeoffset = wipe_evaluation_final; } - else if (fastncmp(word, "GAMEEND_", 8)) - { - pword = word + 8; - if (fastcmp(pword, "TOBLACK")) - wipeoffset = wipe_gameend_toblack; - else if (fastcmp(pword, "FINAL")) - wipeoffset = wipe_gameend_final; - } else if (fastncmp(word, "CEREMONY_", 9)) { pword = word + 9; diff --git a/src/deh_tables.c b/src/deh_tables.c index ddbae5cbf..1435dc5d4 100644 --- a/src/deh_tables.c +++ b/src/deh_tables.c @@ -6835,7 +6835,6 @@ struct int_const_s const INT_CONST[] = { {"GS_MENU",GS_MENU}, {"GS_CREDITS",GS_CREDITS}, {"GS_EVALUATION",GS_EVALUATION}, - {"GS_GAMEEND",GS_GAMEEND}, {"GS_INTRO",GS_INTRO}, {"GS_ENDING",GS_ENDING}, {"GS_CUTSCENE",GS_CUTSCENE}, diff --git a/src/f_finale.c b/src/f_finale.c index a6f4fb900..688009b68 100644 --- a/src/f_finale.c +++ b/src/f_finale.c @@ -904,7 +904,7 @@ void F_StartGameEvaluation(void) // Credits option in extras menu if (cursaveslot == -1) { - S_FadeOutStopMusic(2*MUSICRATE); + S_FadeOutStopMusic(MUSICRATE/2); F_StartGameEnd(); return; } @@ -1625,44 +1625,16 @@ void F_EndingDrawer(void) // ========== void F_StartGameEnd(void) { - G_SetGamestate(GS_GAMEEND); + // Early fadeout to let the sound finish playing + F_WipeStartScreen(); + V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 31); + F_WipeEndScreen(); + F_RunWipe(wipe_level_toblack, wipedefs[wipe_level_toblack], false, "FADEMAP0", false, false); - gameaction = ga_nothing; - paused = false; - CON_ToggleOff(); - S_StopSounds(); - - // In case menus are still up?!! - M_ClearMenus(true); - - timetonext = TICRATE; + nextmap = NEXTMAP_TITLE; + G_EndGame(); } -// -// F_GameEndDrawer -// -void F_GameEndDrawer(void) -{ - // this function does nothing -} - -// -// F_GameEndTicker -// -void F_GameEndTicker(void) -{ - if (timetonext > 0) - { - timetonext--; - } - else - { - nextmap = NEXTMAP_TITLE; - G_EndGame(); - } -} - - // ============== // TITLE SCREEN // ============== diff --git a/src/f_finale.h b/src/f_finale.h index 56691a847..6e79faab3 100644 --- a/src/f_finale.h +++ b/src/f_finale.h @@ -33,7 +33,6 @@ boolean F_CutsceneResponder(event_t *ev); boolean F_CreditResponder(event_t *ev); // Called by main loop. -void F_GameEndTicker(void); void F_IntroTicker(void); void F_TitleScreenTicker(boolean run); void F_CutsceneTicker(void); @@ -41,7 +40,6 @@ void F_TitleDemoTicker(void); void F_TextPromptTicker(void); // Called by main loop. -void F_GameEndDrawer(void); void F_IntroDrawer(void); void F_TitleScreenDrawer(void); void F_SkyScroll(INT32 scrollxspeed, INT32 scrollyspeed, const char *patchname); @@ -173,7 +171,6 @@ enum wipe_menu_toblack, wipe_credits_toblack, wipe_evaluation_toblack, - wipe_gameend_toblack, wipe_ceremony_toblack, wipe_intro_toblack, wipe_ending_toblack, @@ -192,7 +189,6 @@ enum wipe_menu_final, wipe_credits_final, wipe_evaluation_final, - wipe_gameend_final, wipe_ceremony_final, wipe_intro_final, wipe_ending_final, diff --git a/src/f_wipe.c b/src/f_wipe.c index 105358407..50d2c7391 100644 --- a/src/f_wipe.c +++ b/src/f_wipe.c @@ -63,7 +63,6 @@ UINT8 wipedefs[NUMWIPEDEFS] = { 1, // wipe_menu_toblack 99, // wipe_credits_toblack 0, // wipe_evaluation_toblack - 0, // wipe_gameend_toblack 0, // wipe_ceremony_toblack UINT8_MAX, // wipe_intro_toblack (hardcoded) 99, // wipe_ending_toblack (hardcoded) @@ -80,7 +79,6 @@ UINT8 wipedefs[NUMWIPEDEFS] = { 1, // wipe_menu_final 99, // wipe_credits_final 0, // wipe_evaluation_final - 0, // wipe_gameend_final 0, // wipe_ceremony_final 99, // wipe_intro_final (hardcoded) 99, // wipe_ending_final (hardcoded) @@ -98,7 +96,6 @@ static boolean g_wipedef_toblack[NUMWIPEDEFS] = { true, // wipe_menu_toblack true, // wipe_credits_toblack true, // wipe_evaluation_toblack - true, // wipe_gameend_toblack true, // wipe_ceremony_toblack true, // wipe_intro_toblack (hardcoded) true, // wipe_ending_toblack (hardcoded) @@ -115,7 +112,6 @@ static boolean g_wipedef_toblack[NUMWIPEDEFS] = { true, // wipe_menu_final true, // wipe_credits_final true, // wipe_evaluation_final - true, // wipe_gameend_final true, // wipe_ceremony_final true, // wipe_intro_final (hardcoded) true, // wipe_ending_final (hardcoded) @@ -133,7 +129,6 @@ static boolean g_wipedef_toinvert[NUMWIPEDEFS] = { false, // wipe_menu_toblack false, // wipe_credits_toblack false, // wipe_evaluation_toblack - false, // wipe_gameend_toblack false, // wipe_ceremony_toblack false, // wipe_intro_toblack (hardcoded) false, // wipe_ending_toblack (hardcoded) @@ -150,7 +145,6 @@ static boolean g_wipedef_toinvert[NUMWIPEDEFS] = { false, // wipe_menu_final false, // wipe_credits_final false, // wipe_evaluation_final - false, // wipe_gameend_final false, // wipe_ceremony_final false, // wipe_intro_final (hardcoded) false, // wipe_ending_final (hardcoded) @@ -168,7 +162,6 @@ static boolean g_wipedef_towhite[NUMWIPEDEFS] = { false, // wipe_menu_toblack false, // wipe_credits_toblack false, // wipe_evaluation_toblack - false, // wipe_gameend_toblack false, // wipe_ceremony_toblack false, // wipe_intro_toblack (hardcoded) false, // wipe_ending_toblack (hardcoded) @@ -185,7 +178,6 @@ static boolean g_wipedef_towhite[NUMWIPEDEFS] = { false, // wipe_menu_final false, // wipe_credits_final false, // wipe_evaluation_final - false, // wipe_gameend_final false, // wipe_ceremony_final false, // wipe_intro_final (hardcoded) false, // wipe_ending_final (hardcoded) @@ -203,7 +195,6 @@ static boolean g_wipedef_crossfade[NUMWIPEDEFS] = { false, // wipe_menu_toblack false, // wipe_credits_toblack false, // wipe_evaluation_toblack - false, // wipe_gameend_toblack false, // wipe_ceremony_toblack false, // wipe_intro_toblack (hardcoded) false, // wipe_ending_toblack (hardcoded) @@ -220,7 +211,6 @@ static boolean g_wipedef_crossfade[NUMWIPEDEFS] = { true, // wipe_menu_final true, // wipe_credits_final true, // wipe_evaluation_final - true, // wipe_gameend_final true, // wipe_ceremony_final true, // wipe_intro_final (hardcoded) true, // wipe_ending_final (hardcoded) diff --git a/src/g_game.c b/src/g_game.c index 252e09368..a04707627 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -1832,11 +1832,6 @@ boolean G_Responder(event_t *ev) { return true; } - // Demo End - else if (gamestate == GS_GAMEEND) - { - return true; - } else if (gamestate == GS_INTERMISSION || gamestate == GS_VOTING || gamestate == GS_EVALUATION) { if (HU_Responder(ev)) @@ -2344,11 +2339,6 @@ void G_Ticker(boolean run) HU_Ticker(); break; - case GS_GAMEEND: - if (run) - F_GameEndTicker(); - break; - case GS_EVALUATION: if (run) F_GameEvaluationTicker(); diff --git a/src/g_state.h b/src/g_state.h index b78105639..97a828861 100644 --- a/src/g_state.h +++ b/src/g_state.h @@ -35,7 +35,6 @@ typedef enum GS_CREDITS, // credit sequence GS_EVALUATION, // Evaluation at the end of a game. - GS_GAMEEND, // game end sequence - "did you get all those chaos emeralds?" GS_CEREMONY, // RR: Podium sequence // Hardcoded fades or other fading methods diff --git a/src/k_menufunc.c b/src/k_menufunc.c index 5acbb0e7d..1b4bddb01 100644 --- a/src/k_menufunc.c +++ b/src/k_menufunc.c @@ -209,7 +209,6 @@ static boolean M_GamestateCanOpenMenu(void) { case GS_INTRO: case GS_CUTSCENE: - case GS_GAMEEND: case GS_CREDITS: case GS_EVALUATION: case GS_CEREMONY: