From 382110362aaa63410bf9567c8245e295493a9dc0 Mon Sep 17 00:00:00 2001 From: toaster Date: Fri, 22 Mar 2024 15:24:52 +0000 Subject: [PATCH 1/4] Profiles segment of Goner: Direct people to the Accessibility options *just* before you open up a Profile Card for the first time --- src/menus/main-goner.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/menus/main-goner.cpp b/src/menus/main-goner.cpp index 9085d517d..be2569c73 100644 --- a/src/menus/main-goner.cpp +++ b/src/menus/main-goner.cpp @@ -615,8 +615,13 @@ void M_AddGonerLines(void) LinesToDigest.emplace_front(GONERSPEAKER_EGGMAN, TICRATE/5, "Mine says \"Robotnik\". You can't beat a classic."); + LinesToDigest.emplace_front(GONERSPEAKER_TAILS, TICRATE/2, + "And I'm not sure if you'll need it, but we always tell new drivers to "\ + "look at the ""\x87""Accessibility""\x80"" settings. Often there's some "\ + "feature they're not expecting. Maybe you'd be surprised too?"); + LinesToDigest.emplace_front(GONERSPEAKER_TAILS, 0, - "Go on, do your ""\x87""Profile Setup""\x80""!"); + "So go on, do your ""\x87""Profile Setup""\x80""!"); break; } From c317562bd58845e7f358a06370623539e96ff56f Mon Sep 17 00:00:00 2001 From: toaster Date: Fri, 22 Mar 2024 15:31:01 +0000 Subject: [PATCH 2/4] Megamix Disclaimer before the game has truly started Exactly the same unskippable duration, but much more text. --- src/f_finale.c | 91 ++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 77 insertions(+), 14 deletions(-) diff --git a/src/f_finale.c b/src/f_finale.c index 52a1e6f99..01a177018 100644 --- a/src/f_finale.c +++ b/src/f_finale.c @@ -490,7 +490,7 @@ typedef enum } disclaimerstate; static disclaimerstate dc_state = 0; -static UINT8 dc_tics = 0; +static UINT16 dc_tics = 0; static UINT8 dc_segaframe = 1; static UINT8 dc_bgcol = 0; static INT32 dc_lasttime = 0; @@ -508,14 +508,26 @@ static void F_DisclaimerAdvanceState(void) static void F_DisclaimerDrawScene(void) { + boolean heretrulystarted = M_GameTrulyStarted(); + // ================================= SETUP if (intro_curtime == 0) { - dc_state = 0; + if (!heretrulystarted) + { + dc_state = DISCLAIMER_FINAL; + dc_bgcol = 31; + dc_bluesegafade = 10; + } + else + { + dc_state = 0; + dc_bgcol = 0; + dc_bluesegafade = 0; + } + dc_segaframe = 1; - dc_bgcol = 0; - dc_bluesegafade = 0; dc_textfade = 9; dc_subtextfade = 9; dc_screenfade = 9; @@ -545,7 +557,7 @@ static void F_DisclaimerDrawScene(void) return; // Anaglyph SEGA - if (dc_state >= DISCLAIMER_SLIDE) + if (heretrulystarted && dc_state >= DISCLAIMER_SLIDE) V_DrawFixedPatch(0, 0, FRACUNIT, 0, W_CachePatchName(va("SEGA_B%02d", dc_segaframe), PU_CACHE), 0); // Blue SEGA @@ -570,16 +582,67 @@ static void F_DisclaimerDrawScene(void) if (dc_subtextfade > 0) subtextalpha = dc_subtextfade << V_ALPHASHIFT; - V_DrawCenteredMenuString(160, 25, textalpha, "Original games and designs by"); + char* newText; - char* newText = V_ScaledWordWrap( - 290 << FRACBITS, - FRACUNIT, FRACUNIT, FRACUNIT, - 0, MENU_FONT, - "\"Dr. Robotnik's Ring Racers\" is a not-for-profit fangame. All registered trademarks belong to their respective owners.\nThis game contains flashing lights and high-contrast patterns. Photosensitive? Use caution and the Profiles>Accessibility menu." - ); + if (!heretrulystarted) + { + // Megamix disclaimer. ~toast 220324 - V_DrawCenteredMenuString(160, 125, subtextalpha, newText); + const char *sillystring = "Dr. Robotnik's Ring Racers"; + const INT32 sillywidth = V_MenuStringWidth(sillystring, 0) + 12; + INT32 sillyx = -((INT32)timetonext % sillywidth); + + V_SetClipRect( + 1, + 1, + (BASEVIDWIDTH * FRACUNIT) - 1, + (BASEVIDHEIGHT * FRACUNIT) - 1, + 0 + ); + + while (sillyx < BASEVIDWIDTH) + { + V_DrawMenuString( + sillyx, + 8 + 1, + subtextalpha, + sillystring + ); + + sillyx += sillywidth; + + V_DrawMenuString( + BASEVIDWIDTH - sillyx, + BASEVIDHEIGHT - (8 + 8), + subtextalpha, + sillystring + ); + } + + V_ClearClipRect(); + + newText = V_ScaledWordWrap( + 290 << FRACBITS, + FRACUNIT, FRACUNIT, FRACUNIT, + 0, HU_FONT, + "\"Dr. Robotnik's Ring Racers\" is a free fangame & was not produced by or under license from any portion of ""\x88""SEGA Enterprises""\x80"". All registered trademarks belong to their respective owners & were used without intent to harm or profit.\n\nThis software is based on heavily modified code originally created by id Software & is used under the terms of the GNU Public License.\n\n""\x88""SEGA""\x80"" retains rights to the original characters and environments, while all new assets remain property of Kart Krew Dev." + ); + + V_DrawCenteredString(160, 24, textalpha, newText); + } + else + { + V_DrawCenteredMenuString(160, 25, textalpha, "Original games and designs by"); + + newText = V_ScaledWordWrap( + 290 << FRACBITS, + FRACUNIT, FRACUNIT, FRACUNIT, + 0, MENU_FONT, + "\"Dr. Robotnik's Ring Racers\" is a not-for-profit fangame. All registered trademarks belong to their respective owners.\nThis game contains flashing lights and high-contrast patterns. Photosensitive? Use caution and the Profiles>Accessibility menu." + ); + + V_DrawCenteredMenuString(160, 125, subtextalpha, newText); + } Z_Free(newText); } @@ -661,7 +724,7 @@ static void F_DisclaimerDrawScene(void) if (dc_state == DISCLAIMER_SLIDE && dc_segaframe == 37) // End of animation F_DisclaimerAdvanceState(); - if (dc_state == DISCLAIMER_FINAL && dc_tics == TICRATE*5) + if (dc_state == DISCLAIMER_FINAL && timetonext < TICRATE/2) F_DisclaimerAdvanceState(); } From 7df91d0cf77850d4eb5a916e5bb754f011ca92b4 Mon Sep 17 00:00:00 2001 From: toaster Date: Fri, 22 Mar 2024 17:58:05 +0000 Subject: [PATCH 3/4] Update the joyeaux anniversary text into our URL halfway through the text underneath being visible on the KartKrew splash --- src/f_finale.c | 52 +++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 41 insertions(+), 11 deletions(-) diff --git a/src/f_finale.c b/src/f_finale.c index 01a177018..8616ec9c7 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 - (5*TICRATE)/2, // KKD + 3*TICRATE, // KKD (2*TICRATE)/3, // S&K TICRATE + (TICRATE/3), // Get ready !! }; @@ -440,14 +440,6 @@ static void F_IntroDrawScene(void) if (intro_scenenum == INTROSCENE_KREW) { - V_SetClipRect( - 0, - 144 * FRACUNIT, - BASEVIDWIDTH * FRACUNIT, - BASEVIDHEIGHT * FRACUNIT, - 0 - ); - INT32 trans = 10; if (intro_curtime < TICRATE/3) @@ -460,6 +452,14 @@ static void F_IntroDrawScene(void) if (trans < 5) trans = 5; + V_SetClipRect( + 0, + 144 * FRACUNIT, + BASEVIDWIDTH * FRACUNIT, + BASEVIDHEIGHT * FRACUNIT, + 0 + ); + V_DrawFixedPatch( cx, cy - textoffs, @@ -469,10 +469,40 @@ static void F_IntroDrawScene(void) NULL ); + V_ClearClipRect(); + if (trans < 10) + { + V_SetClipRect( + 0, + 173 * FRACUNIT - textoffs, + BASEVIDWIDTH * FRACUNIT, + 10 * FRACUNIT, + 0 + ); + + INT32 runningtally = (intro_curtime - (TICRATE + TICRATE/3)); + + if (runningtally > 0) + { + if (runningtally < 10) + { + textoffs += runningtally * FRACUNIT; + } + else + { + textoffs += 10 * FRACUNIT; + } + } + + // Joyeaux Anniversaire V_DrawCenteredMenuString(BASEVIDWIDTH/2, 174 - (textoffs/FRACUNIT), (trans< 10) + && (intro_curtime > TICRATE/2) && ( intro_scenenum >= INTROSCENE_KREW || disclaimerskippable From e2b09f53fb306125d11cf37e50f1ab9cfa0ddd46 Mon Sep 17 00:00:00 2001 From: toaster Date: Sat, 23 Mar 2024 20:42:49 +0000 Subject: [PATCH 4/4] Update for SEGA Corporation (from SEGA Enterprises) --- src/f_finale.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/f_finale.c b/src/f_finale.c index 8616ec9c7..15c863b9e 100644 --- a/src/f_finale.c +++ b/src/f_finale.c @@ -655,7 +655,7 @@ static void F_DisclaimerDrawScene(void) 290 << FRACBITS, FRACUNIT, FRACUNIT, FRACUNIT, 0, HU_FONT, - "\"Dr. Robotnik's Ring Racers\" is a free fangame & was not produced by or under license from any portion of ""\x88""SEGA Enterprises""\x80"". All registered trademarks belong to their respective owners & were used without intent to harm or profit.\n\nThis software is based on heavily modified code originally created by id Software & is used under the terms of the GNU Public License.\n\n""\x88""SEGA""\x80"" retains rights to the original characters and environments, while all new assets remain property of Kart Krew Dev." + "\"Dr. Robotnik's Ring Racers\" is a free fangame & was not produced by or under license from any portion of ""\x88""SEGA Corporation""\x80"". All registered trademarks belong to their respective owners & were used without intent to harm or profit.\n\nThis software is based on heavily modified code originally created by id Software & is used under the terms of the GNU Public License.\n\n""\x88""SEGA""\x80"" retains rights to the original characters and environments, while all new assets remain property of Kart Krew Dev where applicable." ); V_DrawCenteredString(160, 24, textalpha, newText);