From 855d25ae13970864307fcb1c77ee8c490bc8aeb3 Mon Sep 17 00:00:00 2001 From: Anonimus Date: Tue, 23 Sep 2025 11:31:59 -0400 Subject: [PATCH] Better bumpspark bitmask reading (thanks GHG) --- src/g_demo.c | 36 ++++++++++++++++++++++-------------- src/p_setup.c | 17 ++++++++++------- 2 files changed, 32 insertions(+), 21 deletions(-) diff --git a/src/g_demo.c b/src/g_demo.c index 8e5be9a1a..62c85d95f 100644 --- a/src/g_demo.c +++ b/src/g_demo.c @@ -2744,14 +2744,18 @@ void G_BeginRecording(void) raflags |= RAF_SLOPEBOOST; if (cv_dummyattackingairdrop.value) raflags |= RAF_AIRDROP; - if (cv_dummyattackingbumpspark.value == BUMPSPARK_ALL) - raflags |= RAF_BUMPSPARK; - if (cv_dummyattackingbumpspark.value == BUMPSPARK_RESET100) + switch (cv_dummyattackingbumpspark.value) { - raflags |= (RAF_BUMPSPARK|RAF_BS_RESET100); - } - if (cv_dummyattackingbumpspark.value == BUMPSPARK_NOCHARGE) + case BUMPSPARK_ALL: + raflags |= RAF_BUMPSPARK; + break; + case BUMPSPARK_RESET100: + raflags |= RAF_BS_RESET100; + break; + case BUMPSPARK_NOCHARGE: raflags |= RAF_BUMPDRIFT; + break; + } } else { @@ -3942,20 +3946,24 @@ void G_AddGhost(char *defdemoname) ourraflags |= RAF_SLOPEBOOST; if (cv_dummyattackingairdrop.value) ourraflags |= RAF_AIRDROP; - if (cv_dummyattackingbumpspark.value == BUMPSPARK_ALL) - raflags |= RAF_BUMPSPARK; - if (cv_dummyattackingbumpspark.value == BUMPSPARK_RESET100) + + switch (cv_dummyattackingbumpspark.value) { - raflags |= (RAF_BUMPSPARK|RAF_BS_RESET100); - } - if (cv_dummyattackingbumpspark.value == BUMPSPARK_NOCHARGE) + case BUMPSPARK_ALL: + raflags |= RAF_BUMPSPARK; + break; + case BUMPSPARK_RESET100: + raflags |= RAF_BS_RESET100; + break; + case BUMPSPARK_NOCHARGE: raflags |= RAF_BUMPDRIFT; + break; + } if (demoversion <= 0x000B) { ourraflags &= ~RAF_AIRDROP; - ourraflags &= ~RAF_BUMPDRIFT; - ourraflags &= ~RAF_BUMPSPARK; + ourraflags &= ~RAF_BUMPSPARKMASK; } if (ourraflags != raflags) diff --git a/src/p_setup.c b/src/p_setup.c index 3ff67643f..6e75ab7f5 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -8158,15 +8158,18 @@ static void P_InitLevelSettings(boolean reloadinggamestate) airdropactive = true; // Bump Spark - if (raflags & RAF_BUMPSPARK) + switch (raflags & RAF_BUMPSPARKMASK) { - if (raflags & RAF_BS_RESET100) - bumpsparkactive = BUMPSPARK_RESET100; - else - bumpsparkactive = BUMPSPARK_ALL; - } - else if (raflags & RAF_BUMPDRIFT) + case RAF_BUMPDRIFT: bumpsparkactive = BUMPSPARK_NOCHARGE; + break; + case RAF_BUMPSPARK: + bumpsparkactive = BUMPSPARK_ALL; + break; + case RAF_BS_RESET100: + bumpsparkactive = BUMPSPARK_RESET100; + break; + } } else {