From 6884ca0a9008906cc98b080d8128da4fddfcaaee Mon Sep 17 00:00:00 2001 From: NepDisk Date: Wed, 19 Nov 2025 19:59:31 -0500 Subject: [PATCH] Add more spring types --- src/deh_tables.c | 2 ++ src/info/mobjs.h | 6 +++++ src/info/sprites.h | 14 ++++++------ src/info/states.h | 57 +++++++++++++++++++++++++--------------------- src/k_kart.c | 2 +- src/p_mobj.c | 11 --------- src/p_setup.c | 5 ++++ 7 files changed, 52 insertions(+), 45 deletions(-) diff --git a/src/deh_tables.c b/src/deh_tables.c index 9d019b0f5..633ce0c6f 100644 --- a/src/deh_tables.c +++ b/src/deh_tables.c @@ -163,7 +163,9 @@ actionpointer_t actionpointers[] = #define _(name, upper, ...) {name, "A_"#upper}, #include "info/actions.h" #undef _ + {NULL, "NONE"}, + // This NULL entry must be the last in the list {NULL, NULL}, }; diff --git a/src/info/mobjs.h b/src/info/mobjs.h index 6e804aca1..f7e5bc3ef 100644 --- a/src/info/mobjs.h +++ b/src/info/mobjs.h @@ -859,6 +859,12 @@ _(PAPERITEMSPOT) _(LOOPENDPOINT) _(LOOPCENTERPOINT) +_(YELLOWHORIZ) +_(REDHORIZ) +_(BLUEHORIZ) +_(GRAYDIAG) +_(GRAYHORIZ) + _(SCRIPT_THING) // Dash Rings diff --git a/src/info/sprites.h b/src/info/sprites.h index dfd830aed..6fc86bddc 100644 --- a/src/info/sprites.h +++ b/src/info/sprites.h @@ -273,10 +273,6 @@ _(SPRG) // Grey Vertical Spring _(YSPR) // Yellow Diagonal Spring _(RSPR) // Red Diagonal Spring _(BSPR) // Blue Diagonal Spring -_(SSWY) // Yellow Horizontal Spring -_(SSWR) // Red Horizontal Spring -_(SSWB) // Blue Horizontal Spring -_(SSWG) // Grey Horizontal Spring _(BSTY) // Yellow Booster _(BSTR) // Red Booster @@ -632,9 +628,6 @@ _(EGOO) _(WTRL) // Water Trail _(WTRU) // Water Trail Underlay -_(GCHA) // follower: generic chao -_(CHEZ) // follower: cheese - _(BSSS) // Stacking effect _(BKAD) // Airdrop Dust @@ -649,6 +642,13 @@ _(BSTP) _(BSTS) _(BSTT) +// New Springs +_(SSWY) +_(SSWR) +_(SSWB) + +_(GSPR) +_(SSWG) // First person view sprites; this is a sprite so that it can be replaced by a specialized MD2 draw later _(VIEW) diff --git a/src/info/states.h b/src/info/states.h index 4870e0e8e..c99f7b6d1 100644 --- a/src/info/states.h +++ b/src/info/states.h @@ -3547,32 +3547,6 @@ _(OPAQUESMOKE5) _(FOLLOWERBUBBLE_FRONT) _(FOLLOWERBUBBLE_BACK) -// generic chao: -_(GCHAOIDLE) -_(GCHAOFLY) -_(GCHAOSAD1) -_(GCHAOSAD2) -_(GCHAOSAD3) -_(GCHAOSAD4) -_(GCHAOHAPPY1) -_(GCHAOHAPPY2) -_(GCHAOHAPPY3) -_(GCHAOHAPPY4) - -// cheese: -_(CHEESEIDLE) -_(CHEESEFLY) -_(CHEESESAD1) -_(CHEESESAD2) -_(CHEESESAD3) -_(CHEESESAD4) -_(CHEESEHAPPY1) -_(CHEESEHAPPY2) -_(CHEESEHAPPY3) -_(CHEESEHAPPY4) - -_(RINGDEBT) - _(GAINAX_TINY) _(GAINAX_HUGE) _(GAINAX_MID1) @@ -3613,3 +3587,34 @@ _(SNEAKERPANEL) _(SNEAKERPANEL_SMALL) _(SNEAKERPANEL_TINY) _(SNEAKERPANELSPAWNER) + +// Yellow Side Spring +_(YHORIZ1) +_(YHORIZ2) +_(YHORIZ3) +_(YHORIZ4) + +// Red Side Spring +_(RHORIZ1) +_(RHORIZ2) +_(RHORIZ3) +_(RHORIZ4) + +// Blue Side Spring +_(BHORIZ1) +_(BHORIZ2) +_(BHORIZ3) +_(BHORIZ4) + +// Gray Diagonal Spring +_(GDIAG1) +_(GDIAG2) +_(GDIAG3) +_(GDIAG4) + +// Gray Side Spring +_(GHORIZ1) +_(GHORIZ2) +_(GHORIZ3) +_(GHORIZ4) + diff --git a/src/k_kart.c b/src/k_kart.c index 179746553..d98e0d401 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -3388,6 +3388,7 @@ void K_SquishPlayer(player_t *player, mobj_t *inflictor, mobj_t *source) } player->mo->flags |= MF_NOCLIP; + player->instashield = 15; } @@ -3422,7 +3423,6 @@ INT32 K_ExplodePlayer(player_t *player, mobj_t *inflictor, mobj_t *source) // A player->mo->momz = 18*mapobjectscale*P_MobjFlip(player->mo); // please stop forgetting mobjflip checks!!!! if (player->mo->eflags & MFE_UNDERWATER) player->mo->momz = (117 * player->mo->momz) / 200; - player->mo->momx = player->mo->momy = 0; player->spinouttype = KSPIN_EXPLOSION; diff --git a/src/p_mobj.c b/src/p_mobj.c index 7b0a0791f..c39157d1b 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -13866,17 +13866,6 @@ static mobj_t *P_SpawnMobjFromMapThing(mapthing_t *mthing, fixed_t x, fixed_t y, mobj->angle = FixedAngle(mthing->angle << FRACBITS); } - // Maybe someday. - /*if ((mobj->flags & MF_SPRING) - && mobj->info->damage != 0 - && mobj->info->mass == 0) - { - // Offset sprite of horizontal springs - angle_t a = mobj->angle + ANGLE_180; - mobj->sprxoff = FixedMul(mobj->radius, FINECOSINE(a >> ANGLETOFINESHIFT)); - mobj->spryoff = FixedMul(mobj->radius, FINESINE(a >> ANGLETOFINESHIFT)); - }*/ - mobj->pitch = FixedAngle(mthing->pitch << FRACBITS); mobj->roll = FixedAngle(mthing->roll << FRACBITS); diff --git a/src/p_setup.c b/src/p_setup.c index 976b0e167..19399823f 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -7966,6 +7966,11 @@ static void P_RemapDoomedNum(boolean mappatch) TYPECONVERT(MT_BALLOON, 543) TYPECONVERT(MT_REDSPRING, 552) TYPECONVERT(MT_REDDIAG, 556) + TYPECONVERT(MT_YELLOWHORIZ, 558) + TYPECONVERT(MT_REDHORIZ, 559) + TYPECONVERT(MT_BLUEHORIZ, 560) + TYPECONVERT(MT_GRAYDIAG, 557) + TYPECONVERT(MT_GRAYHORIZ, 561) } TYPECONVERT(MT_SNEAKERPANEL, 510)