From bcf590328dfc836c352f8bf06eb501f53c32a277 Mon Sep 17 00:00:00 2001 From: toaster Date: Fri, 10 Jul 2020 21:16:28 +0100 Subject: [PATCH 1/5] Add a small amount of extra info to the Evaluation screen for Marathon Mode, on request from multiple runners. --- src/f_finale.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/f_finale.c b/src/f_finale.c index eb6e283ad..f47c6c1a7 100644 --- a/src/f_finale.c +++ b/src/f_finale.c @@ -1674,6 +1674,18 @@ void F_GameEvaluationDrawer(void) V_DrawString(8, 96, V_YELLOWMAP, "Modified games\ncan't unlock\nextras!"); } #endif + + if (marathonmode) + { + const char *rtatext, *cuttext; + rtatext = (marathonmode & MA_INGAME) ? "In-game timer" : "RTA timer"; + cuttext = (marathonmode & MA_NOCUTSCENES) ? "" : " w/ cutscenes"; + if (botskin) + endingtext = va("%s & %s, %s%s", skins[players[consoleplayer].skin].realname, skins[botskin-1].realname, rtatext, cuttext); + else + endingtext = va("%s, %s%s", skins[players[consoleplayer].skin].realname, rtatext, cuttext); + V_DrawCenteredString(BASEVIDWIDTH/2, 182, (ultimatemode ? V_REDMAP : V_YELLOWMAP), endingtext); + } } void F_GameEvaluationTicker(void) From 3c3143effacceb36b6dc3e82dfa608dc5573471b Mon Sep 17 00:00:00 2001 From: toaster Date: Fri, 10 Jul 2020 21:24:25 +0100 Subject: [PATCH 2/5] Change the default value of the In-game/Realtime timer selection, based on speedrunner feedback. --- src/m_menu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/m_menu.c b/src/m_menu.c index dba792e90..7ebf4203b 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -487,7 +487,7 @@ CV_PossibleValue_t loadless_cons_t[] = {{0, "Realtime"}, {1, "In-game"}, {0, NUL consvar_t cv_dummymarathon = {"dummymarathon", "Standard", CV_HIDEN, marathon_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_dummycutscenes = {"dummycutscenes", "Off", CV_HIDEN, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_dummyloadless = {"dummyloadless", "Realtime", CV_HIDEN, loadless_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_dummyloadless = {"dummyloadless", "In-game", CV_HIDEN, loadless_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; // ========================================================================== // ORGANIZATION START. From 517b243cb7cd099d1eb794bca174277c61b6048d Mon Sep 17 00:00:00 2001 From: toaster Date: Fri, 10 Jul 2020 21:27:34 +0100 Subject: [PATCH 3/5] Hopefully fix the issue, which I can't recreate, of live event backups being created even if they shouldn't. --- src/m_menu.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/m_menu.c b/src/m_menu.c index 7ebf4203b..131f72c76 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -10563,8 +10563,7 @@ static void M_StartMarathon(INT32 choice) (void)choice; marathontime = 0; marathonmode = MA_RUNNING|MA_INIT; - if (cv_dummymarathon.value == 1) - cursaveslot = MARATHONSLOT; + cursaveslot = (cv_dummymarathon.value == 1) ? MARATHONSLOT : 0; if (!cv_dummycutscenes.value) marathonmode |= MA_NOCUTSCENES; if (cv_dummyloadless.value) From 7a8f44613cd0c670778c27c7dba563a54e468f9b Mon Sep 17 00:00:00 2001 From: toaster Date: Fri, 10 Jul 2020 21:36:37 +0100 Subject: [PATCH 4/5] Introduce a live event backup penalty for non MA_INGAME runs, since the change to saving time causes problems for this. --- src/g_game.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/g_game.c b/src/g_game.c index b20157156..b974b87ea 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -4498,7 +4498,10 @@ void G_SaveGame(UINT32 slot, INT16 mapnum) P_SaveGame(mapnum); if (marathonmode) { - WRITEUINT32(save_p, marathontime); + UINT32 writetime = marathontime; + if (!(marathonmode & MA_INGAME)) + marathontime += TICRATE*5; // live event backup penalty because we don't know how long it takes to get to the next map + WRITEUINT32(save_p, writetime); WRITEUINT8(save_p, (marathonmode & ~MA_INIT)); } From fec258ccb8a5b8882dc269ed27a40117105d981b Mon Sep 17 00:00:00 2001 From: Jaime Passos Date: Fri, 10 Jul 2020 19:19:51 -0300 Subject: [PATCH 5/5] Fix GL y-shearing ignoring a Y-flipped transform --- src/hardware/r_opengl/r_opengl.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index e5f6ff3cf..b7baa4eb0 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -2939,6 +2939,8 @@ EXPORT void HWRAPI(SetTransform) (FTransform *stransform) if (shearing) { float fdy = stransform->viewaiming * 2; + if (stransform->flip) + fdy *= -1.0f; pglTranslatef(0.0f, -fdy/BASEVIDHEIGHT, 0.0f); }