From a796deef3f05ee40990c6201788b681784e2f20e Mon Sep 17 00:00:00 2001 From: katsy Date: Sat, 5 Dec 2020 23:13:47 -0500 Subject: [PATCH 1/7] add noclipheight on chaingrab --- src/p_inter.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/p_inter.c b/src/p_inter.c index 415c679e4..189cbcea7 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -1641,6 +1641,9 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck) // Can't jump first frame player->pflags |= PF_JUMPSTASIS; + // Disable interaction with ground + player->mo->flags |= MF_NOCLIPHEIGHT; + return; } case MT_EGGMOBILE2_POGO: From ad4c97f76f30d1feb4f58f1c239408a72c2d9586 Mon Sep 17 00:00:00 2001 From: katsy Date: Sat, 5 Dec 2020 23:17:01 -0500 Subject: [PATCH 2/7] ensure the new flag is cleared properly --- src/p_user.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/p_user.c b/src/p_user.c index c5f919c78..65397c287 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -1085,6 +1085,9 @@ void P_ResetPlayer(player_t *player) player->powers[pw_carry] = CR_NONE; } + if (player->powers[pw_carry] == CR_MACESPIN || player->powers[pw_carry] == CR_GENERIC) + player->mo->flags &= ~MF_NOCLIPHEIGHT; + if (!(player->powers[pw_carry] == CR_NIGHTSMODE || player->powers[pw_carry] == CR_NIGHTSFALL || player->powers[pw_carry] == CR_BRAKGOOP || player->powers[pw_carry] == CR_MINECART)) player->powers[pw_carry] = CR_NONE; @@ -4426,6 +4429,8 @@ void P_DoJump(player_t *player, boolean soundandstate) if (!(player->mo->tracer->flags & MF_MISSILE)) // Missiles remember their owner! P_SetTarget(&player->mo->tracer->target, NULL); P_SetTarget(&player->mo->tracer, NULL); + player->mo->flags &= ~MF_NOCLIPHEIGHT; + } else if (player->powers[pw_carry] == CR_ROPEHANG) { @@ -5257,6 +5262,7 @@ static void P_DoJumpStuff(player_t *player, ticcmd_t *cmd) player->powers[pw_carry] = CR_NONE; P_SetTarget(&player->mo->tracer, NULL); player->powers[pw_flashing] = TICRATE/4; + player->mo->flags &= ~MF_NOCLIPHEIGHT; } // can't jump while in air, can't jump while jumping else if (onground || player->climbing || player->powers[pw_carry]) From 118c6188fa487759bf7f47f8147d0ced8c0347c0 Mon Sep 17 00:00:00 2001 From: katsy Date: Sun, 6 Dec 2020 00:09:40 -0500 Subject: [PATCH 3/7] Replace p_mobj.c From 2f5b964e4575bc51192e1a091baf126aa966d45e Mon Sep 17 00:00:00 2001 From: katsy Date: Sun, 6 Dec 2020 00:10:28 -0500 Subject: [PATCH 4/7] Replace p_user.c --- src/p_user.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/p_user.c b/src/p_user.c index 65397c287..c5f919c78 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -1085,9 +1085,6 @@ void P_ResetPlayer(player_t *player) player->powers[pw_carry] = CR_NONE; } - if (player->powers[pw_carry] == CR_MACESPIN || player->powers[pw_carry] == CR_GENERIC) - player->mo->flags &= ~MF_NOCLIPHEIGHT; - if (!(player->powers[pw_carry] == CR_NIGHTSMODE || player->powers[pw_carry] == CR_NIGHTSFALL || player->powers[pw_carry] == CR_BRAKGOOP || player->powers[pw_carry] == CR_MINECART)) player->powers[pw_carry] = CR_NONE; @@ -4429,8 +4426,6 @@ void P_DoJump(player_t *player, boolean soundandstate) if (!(player->mo->tracer->flags & MF_MISSILE)) // Missiles remember their owner! P_SetTarget(&player->mo->tracer->target, NULL); P_SetTarget(&player->mo->tracer, NULL); - player->mo->flags &= ~MF_NOCLIPHEIGHT; - } else if (player->powers[pw_carry] == CR_ROPEHANG) { @@ -5262,7 +5257,6 @@ static void P_DoJumpStuff(player_t *player, ticcmd_t *cmd) player->powers[pw_carry] = CR_NONE; P_SetTarget(&player->mo->tracer, NULL); player->powers[pw_flashing] = TICRATE/4; - player->mo->flags &= ~MF_NOCLIPHEIGHT; } // can't jump while in air, can't jump while jumping else if (onground || player->climbing || player->powers[pw_carry]) From 23449b58ed37da811b385072606f08da1872061f Mon Sep 17 00:00:00 2001 From: katsy Date: Sun, 6 Dec 2020 00:10:45 -0500 Subject: [PATCH 5/7] Replace p_inter.c --- src/p_inter.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/p_inter.c b/src/p_inter.c index 189cbcea7..415c679e4 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -1641,9 +1641,6 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck) // Can't jump first frame player->pflags |= PF_JUMPSTASIS; - // Disable interaction with ground - player->mo->flags |= MF_NOCLIPHEIGHT; - return; } case MT_EGGMOBILE2_POGO: From 67f65961d2c0dfdc16c71202b50ac026d19b6381 Mon Sep 17 00:00:00 2001 From: katsy Date: Sun, 6 Dec 2020 00:13:10 -0500 Subject: [PATCH 6/7] brak barrier is scaled up by 2x in gameplay, the actual object's parameters should be halved --- src/info.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/info.c b/src/info.c index 29a79b1d6..d2f53c55c 100644 --- a/src/info.c +++ b/src/info.c @@ -6458,8 +6458,8 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = S_NULL, // xdeathstate sfx_fizzle, // deathsound 10*FRACUNIT, // speed - 48*FRACUNIT, // radius - 160*FRACUNIT, // height + 24*FRACUNIT, // radius + 80*FRACUNIT, // height 0, // display offset DMG_ELECTRIC, // mass 1, // damage From 9095c87be34219e8d57e02677f7f08d9f7e2859d Mon Sep 17 00:00:00 2001 From: katsy Date: Sun, 6 Dec 2020 04:32:30 -0500 Subject: [PATCH 7/7] space --- src/info.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/info.c b/src/info.c index d2f53c55c..56e764b5d 100644 --- a/src/info.c +++ b/src/info.c @@ -6459,7 +6459,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] = sfx_fizzle, // deathsound 10*FRACUNIT, // speed 24*FRACUNIT, // radius - 80*FRACUNIT, // height + 80*FRACUNIT, // height 0, // display offset DMG_ELECTRIC, // mass 1, // damage