From 581df0848d14897302da2799f6064de7c555920c Mon Sep 17 00:00:00 2001 From: James R Date: Fri, 8 Dec 2023 03:54:51 -0800 Subject: [PATCH 1/3] Balloon, Bumper: increase shadow size --- src/p_mobj.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/p_mobj.c b/src/p_mobj.c index 76d2daa6d..b7024ed1f 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -11109,6 +11109,7 @@ static void P_DefaultMobjShadowScale(mobj_t *thing) case MT_SPB: case MT_DUELBOMB: case MT_GACHABOM: + case MT_BALLOON: thing->shadowscale = 3*FRACUNIT/2; break; case MT_BANANA_SHIELD: @@ -11160,6 +11161,9 @@ static void P_DefaultMobjShadowScale(mobj_t *thing) case MT_AIRIVOBALL: thing->shadowscale = FRACUNIT/2; break; + case MT_BUMPER: + thing->shadowscale = 7*FRACUNIT/4; + break; default: if (thing->flags & (MF_ENEMY|MF_BOSS)) thing->shadowscale = FRACUNIT; From dd22ef5c88d1227ff7c1f233efd6b00a101d90b2 Mon Sep 17 00:00:00 2001 From: James R Date: Fri, 8 Dec 2023 03:57:07 -0800 Subject: [PATCH 2/3] Balloon: state edits --- src/info.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/info.c b/src/info.c index 7dfefaade..79fe99d2a 100644 --- a/src/info.c +++ b/src/info.c @@ -3299,8 +3299,8 @@ state_t states[NUMSTATES] = {SPR_BUMP, FF_ANIMATE|4, 12, {A_Pain}, 1, 3, S_BUMPER}, //S_BUMPERHIT // Balloons - {SPR_BLON, FF_ANIMATE, -1, {NULL}, 2, 5, S_NULL}, // S_BALLOON - {SPR_BLON, 3, 0, {A_RemoteDamage}, 0, 1, S_BALLOONPOP2}, // S_BALLOONPOP1 + {SPR_BLON, FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 7, 5, S_BALLOON}, // S_BALLOON + {SPR_NULL, 0, 2, {NULL}, 0, 0, S_BALLOONPOP2}, // S_BALLOONPOP1 {SPR_BLON, 3, 1, {A_Pain}, 0, 0, S_BALLOONPOP3}, // S_BALLOONPOP2 {SPR_BLON, 4, 1, {NULL}, 0, 0, S_BALLOONPOP4}, // S_BALLOONPOP3 {SPR_NULL, 0, TICRATE, {A_CheckFlags2}, MF2_AMBUSH, S_BALLOONPOP5, S_NULL}, // S_BALLOONPOP4 From 50f8db9f4dd92f5e791ddd573bb0409f34562c8d Mon Sep 17 00:00:00 2001 From: James R Date: Fri, 8 Dec 2023 03:57:31 -0800 Subject: [PATCH 3/3] Balloon: bob at random phase --- src/p_mobj.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/p_mobj.c b/src/p_mobj.c index b7024ed1f..e971299e5 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -10286,6 +10286,14 @@ static boolean P_MobjRegularThink(mobj_t *mobj) break; } + case MT_BALLOON: + { + fixed_t sine = FixedMul(16 * FSIN((M_TAU_FIXED * (4*TICRATE)) * (leveltime + mobj->extravalue2)), mobj->scale); + + mobj->z = (mobj->extravalue1 - (16 * mobj->scale)) + sine; + break; + } + default: // check mobj against possible water content, before movement code P_MobjCheckWater(mobj); @@ -11435,6 +11443,9 @@ mobj_t *P_SpawnMobj(fixed_t x, fixed_t y, fixed_t z, mobjtype_t type) }; mobj->color = BALLOONCOLORS[P_RandomKey(PR_DECORATION, sizeof(BALLOONCOLORS))]; + + mobj->extravalue1 = mobj->z; + mobj->extravalue2 = P_RandomRange(PR_DECORATION, 0, 4*TICRATE); } break; case MT_POGOSPRING: