From a43b64cb7635054903c21794127d3177dd910321 Mon Sep 17 00:00:00 2001 From: toaster Date: Sun, 17 Oct 2021 22:14:42 +0100 Subject: [PATCH 1/4] Tumble nerfing, on Oni's request. - Maximum tumble height that leads into last bounce is now 60 mfu (mobjscaled fracunits), from 40 mfu. - All tumbles that are over 100 mfu high have extra attenuation applied to them. - Tumble into lightsnake now puts you in 1.5 seconds of wipeout, rather than the last tumble. --- src/k_kart.c | 4 ++-- src/k_respawn.c | 9 ++++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index 7074fe42a..e6c066939 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -3215,14 +3215,14 @@ void K_TumblePlayer(player_t *player, mobj_t *inflictor, mobj_t *source) static boolean K_LastTumbleBounceCondition(player_t *player) { - return (player->tumbleBounces > TUMBLEBOUNCES && player->tumbleHeight < 40); + return (player->tumbleBounces > TUMBLEBOUNCES && player->tumbleHeight < 60); } static void K_HandleTumbleBounce(player_t *player) { fixed_t gravityadjust; player->tumbleBounces++; - player->tumbleHeight = (player->tumbleHeight * 4) / 5; + player->tumbleHeight = (player->tumbleHeight * ((player->tumbleHeight > 100) ? 3 : 4)) / 5; player->pflags &= ~PF_TUMBLESOUND; if (player->tumbleHeight < 10) diff --git a/src/k_respawn.c b/src/k_respawn.c index fcce1b632..f09358dcc 100644 --- a/src/k_respawn.c +++ b/src/k_respawn.c @@ -155,9 +155,12 @@ void K_DoIngameRespawn(player_t *player) // If player was tumbling, set variables so that they don't tumble like crazy after they're done respawning if (player->tumbleBounces > 0) { - player->tumbleBounces = TUMBLEBOUNCES-1; // Max # of bounces-1 (so you still tumble once) - player->pflags &= ~PF_TUMBLELASTBOUNCE; // Still force them to bounce at least once for the funny - players->tumbleHeight = 20; // force tumble height + player->tumbleBounces = 0; // MAXBOUNCES-1; + player->pflags &= ~PF_TUMBLELASTBOUNCE; + //players->tumbleHeight = 20; + players->mo->rollangle = 0; + player->spinouttype = KSPIN_WIPEOUT; + player->spinouttimer = player->wipeoutslow = (3*TICRATE/2)+2; } P_ResetPlayer(player); From 42629264b1fd58b8694fb535f2ae9473ce5a7ce5 Mon Sep 17 00:00:00 2001 From: toaster Date: Sun, 17 Oct 2021 22:18:04 +0100 Subject: [PATCH 2/4] Extra comment just in case someone else tries to perform maintenance on tumble and gets confused like I did. --- src/d_player.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/d_player.h b/src/d_player.h index 3bd99cecb..ec4bb1b63 100644 --- a/src/d_player.h +++ b/src/d_player.h @@ -375,7 +375,7 @@ typedef struct player_s UINT8 wipeoutslow; // Timer before you slowdown when getting wiped out UINT8 justbumped; // Prevent players from endlessly bumping into each other UINT8 tumbleBounces; - UINT16 tumbleHeight; + UINT16 tumbleHeight; // In *mobjscaled* fracunits, or mfu, not raw fu SINT8 drift; // (-5 to 5) - Drifting Left or Right, plus a bigger counter = sharper turn fixed_t driftcharge; // Charge your drift so you can release a burst of speed From dc8b5fb80364640b0938ec93baeb550d551ba622 Mon Sep 17 00:00:00 2001 From: RJPFonseca Date: Sun, 9 May 2021 19:10:53 +0100 Subject: [PATCH 3/4] Used spaces instead of tabs in Makefile.cfg (cherry picked from commit 69647eb78d36c0b2f5febecd2c4e55f622325217) --- src/Makefile.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Makefile.cfg b/src/Makefile.cfg index a4fef3c3e..e9bdcfbde 100644 --- a/src/Makefile.cfg +++ b/src/Makefile.cfg @@ -61,10 +61,10 @@ ifeq (,$(filter GCC% CLEANONLY,$(.VARIABLES))) # If this version is not in the list, default to the latest supported ifeq (,$(filter $(v),$(SUPPORTED_GCC_VERSIONS))) - define line = + define line = Your compiler version, GCC $(version), is not supported by the Makefile. The Makefile will assume GCC $(LATEST_GCC_VERSION).)) - endef + endef $(call print,$(line)) GCC$(subst .,,$(LATEST_GCC_VERSION))=1 else From d22705727b0dfac76e8b7e8289e6b97e393a36b3 Mon Sep 17 00:00:00 2001 From: James R Date: Mon, 8 Nov 2021 16:59:57 -0800 Subject: [PATCH 4/4] Fix unsigned comparison with zero --- src/k_kart.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/k_kart.c b/src/k_kart.c index e6c066939..042efc179 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -696,7 +696,7 @@ INT32 K_KartGetItemOdds( } else { - const INT32 distFromStart = max(0, secondToFirst - SPBSTARTDIST); + const INT32 distFromStart = max(0, (INT32)secondToFirst - SPBSTARTDIST); const INT32 distRange = SPBFORCEDIST - SPBSTARTDIST; const INT32 mulMax = 3;