From b2349ed6bf2a66df5b24cf231a6ee854466b5a3d Mon Sep 17 00:00:00 2001 From: AJ Martinez Date: Tue, 24 Oct 2023 01:44:56 -0700 Subject: [PATCH 1/3] Spawn Duel items in GP Bonus --- 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 182e0a7cb..e08f86287 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -263,7 +263,7 @@ void K_TimerInit(void) timelimitintics = K_TimeLimitForGametype(); g_pointlimit = K_PointLimitForGametype(); - if (inDuel == true) + if (inDuel == true || (grandprixinfo.gp && grandprixinfo.eventmode == GPEVENT_BONUS)) { K_SpawnDuelOnlyItems(); } From 1a75bc2e00b43b4ad8fa4b1d33177a850e9bb9c1 Mon Sep 17 00:00:00 2001 From: AJ Martinez Date: Sun, 29 Oct 2023 05:28:45 -0700 Subject: [PATCH 2/3] Fix Duel Bonus items being shortcircuited in P_AllowMobjSpawn --- src/k_kart.c | 7 ++++++- src/k_kart.h | 2 ++ src/p_mobj.c | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index e08f86287..17d607238 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -122,6 +122,11 @@ void K_TimerReset(void) g_pointlimit = 0; } +boolean K_ShouldSpawnDuelItems(void) +{ + return (inDuel == true || (grandprixinfo.gp && grandprixinfo.eventmode == GPEVENT_BONUS)); +} + static void K_SpawnItemCapsules(void) { mapthing_t *mt = mapthings; @@ -263,7 +268,7 @@ void K_TimerInit(void) timelimitintics = K_TimeLimitForGametype(); g_pointlimit = K_PointLimitForGametype(); - if (inDuel == true || (grandprixinfo.gp && grandprixinfo.eventmode == GPEVENT_BONUS)) + if (K_ShouldSpawnDuelItems()) { K_SpawnDuelOnlyItems(); } diff --git a/src/k_kart.h b/src/k_kart.h index 7d0379760..151274254 100644 --- a/src/k_kart.h +++ b/src/k_kart.h @@ -210,6 +210,8 @@ void K_KartEbrakeVisuals(player_t *p); void K_HandleDirectionalInfluence(player_t *player); fixed_t K_DefaultPlayerRadius(player_t *player); +boolean K_ShouldSpawnDuelItems(void); + // sound stuff for lua void K_PlayAttackTaunt(mobj_t *source); void K_PlayBoostTaunt(mobj_t *source); diff --git a/src/p_mobj.c b/src/p_mobj.c index e04cd2c5d..16226b024 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -12757,7 +12757,7 @@ static boolean P_AllowMobjSpawn(mapthing_t* mthing, mobjtype_t i) break; } - if (inDuel == false) + if (!K_ShouldSpawnDuelItems()) { if (K_IsDuelItem(i) == true && K_DuelItemAlwaysSpawns(mthing) == false) From 429f84f6b6dfd706ab052a3f7f087e73136c8201 Mon Sep 17 00:00:00 2001 From: AJ Martinez Date: Sun, 29 Oct 2023 15:02:05 -0700 Subject: [PATCH 3/3] Fix bad null check for sliptide zip indicator --- 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 8e6b5b037..1af666237 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -4222,7 +4222,7 @@ void K_UpdateSliptideZipIndicator(player_t *player) return; } - if (player->stumbleIndicator == NULL || P_MobjWasRemoved(player->stumbleIndicator) == true) + if (player->sliptideZipIndicator == NULL || P_MobjWasRemoved(player->sliptideZipIndicator) == true) { K_InitSliptideZipIndicator(player); return;