diff --git a/src/f_finale.c b/src/f_finale.c index 8c6a8e9ec..78e743f2f 100644 --- a/src/f_finale.c +++ b/src/f_finale.c @@ -300,7 +300,7 @@ static tic_t introscenetime[NUMINTROSCENES] = { 2*TICRATE, // OUR SRB2 ASSOCIATES 9*TICRATE, // Disclaimer and Epilepsy Warning - (3*TICRATE)/2, // KKD + (5*TICRATE)/2, // KKD (2*TICRATE)/3, // S&K TICRATE + (TICRATE/3), // Get ready !! }; @@ -368,6 +368,8 @@ static void F_IntroDrawScene(void) patch_t *logoparts[5]; UINT8 bgcol = 31; + INT32 textoffs = 12 * FRACUNIT; + if (intro_scenenum < INTROSCENE_KREW) { logoparts[0] = NULL; @@ -375,8 +377,8 @@ static void F_IntroDrawScene(void) else if (intro_scenenum == INTROSCENE_KREW) { logoparts[0] = W_CachePatchName("KKLOGO_C", PU_CACHE); - logoparts[1] = W_CachePatchName("KKTEXT_C", PU_CACHE); - logoparts[2] = NULL; + //logoparts[1] = W_CachePatchName("KKTEXT_C", PU_CACHE); + logoparts[1] = NULL; bgcol = 0; } @@ -432,9 +434,47 @@ static void F_IntroDrawScene(void) { jitterx = -jitterx; jittery = -jittery; + cy -= textoffs; } } + if (intro_scenenum == INTROSCENE_KREW) + { + V_SetClipRect( + 0, + 144 * FRACUNIT, + BASEVIDWIDTH * FRACUNIT, + BASEVIDHEIGHT * FRACUNIT, + 0 + ); + + INT32 trans = 10; + + if (intro_curtime < TICRATE/3) + textoffs -= ((intro_curtime*3) - TICRATE) * FRACUNIT; + else if (timetonext > 10) + trans = (10 - (intro_curtime - TICRATE/2)); + else + trans = 10 - (timetonext/2); + + if (trans < 5) + trans = 5; + + V_DrawFixedPatch( + cx, + cy - textoffs, + FRACUNIT, + 0, + W_CachePatchName("KKTEXT_C", PU_CACHE), + NULL + ); + + if (trans < 10) + V_DrawCenteredMenuString(BASEVIDWIDTH/2, 174 - (textoffs/FRACUNIT), (trans<