From d1540b6141d3838e920cda7703a1ae41b6261322 Mon Sep 17 00:00:00 2001 From: NepDisk Date: Wed, 29 Jan 2025 01:56:41 -0500 Subject: [PATCH] optimize state usage on watertrails and use new sprites and states --- src/info/sprites.h | 1 + src/info/states.h | 18 ++---------------- src/p_user.c | 17 ++++++++++------- 3 files changed, 13 insertions(+), 23 deletions(-) diff --git a/src/info/sprites.h b/src/info/sprites.h index 7b8077405..8cb5208f6 100644 --- a/src/info/sprites.h +++ b/src/info/sprites.h @@ -707,6 +707,7 @@ _(WAYP) _(EGOO) _(WTRL) // Water Trail +_(WTRU) // Water Trail Underlay _(GCHA) // follower: generic chao _(CHEZ) // follower: cheese diff --git a/src/info/states.h b/src/info/states.h index bcb069370..449ddec47 100644 --- a/src/info/states.h +++ b/src/info/states.h @@ -4210,20 +4210,6 @@ _(WAYPOINTORB) _(WAYPOINTSPLAT) _(EGOORB) -_(WATERTRAIL1) -_(WATERTRAIL2) -_(WATERTRAIL3) -_(WATERTRAIL4) -_(WATERTRAIL5) -_(WATERTRAIL6) -_(WATERTRAIL7) -_(WATERTRAIL8) -_(WATERTRAILUNDERLAY1) -_(WATERTRAILUNDERLAY2) -_(WATERTRAILUNDERLAY3) -_(WATERTRAILUNDERLAY4) -_(WATERTRAILUNDERLAY5) -_(WATERTRAILUNDERLAY6) -_(WATERTRAILUNDERLAY7) -_(WATERTRAILUNDERLAY8) +_(WATERTRAILS) +_(WATERTRAILSUNDERLAY) diff --git a/src/p_user.c b/src/p_user.c index 1299bfb08..e277c8f5c 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -2228,9 +2228,8 @@ void P_MovePlayer(player_t *player) { const angle_t forwardangle = K_MomentumAngle(player->mo); const fixed_t playerVisualRadius = player->mo->radius + (8 * player->mo->scale); - const size_t numFrames = S_WATERTRAIL8 - S_WATERTRAIL1; - const statenum_t curOverlayFrame = S_WATERTRAIL1 + (leveltime % numFrames); - const statenum_t curUnderlayFrame = S_WATERTRAILUNDERLAY1 + (leveltime % numFrames); + const SINT8 numFrames = 5; + const INT32 curFrame = (leveltime % numFrames)|FF_PAPERSPRITE; fixed_t x1, x2, y1, y2; mobj_t *water; @@ -2254,7 +2253,8 @@ void P_MovePlayer(player_t *player) water->momy = player->mo->momy; water->momz = player->mo->momz; P_SetScale(water, trailScale); - P_SetMobjState(water, curUnderlayFrame); + P_SetMobjState(water, S_WATERTRAILSUNDERLAY); + water->frame = curFrame|FF_ADD|FF_TRANS40; // overlay water = P_SpawnMobj(x1, y1, @@ -2265,7 +2265,8 @@ void P_MovePlayer(player_t *player) water->momy = player->mo->momy; water->momz = player->mo->momz; P_SetScale(water, trailScale); - P_SetMobjState(water, curOverlayFrame); + P_SetMobjState(water, S_WATERTRAILS); + water->frame = curFrame; // Right // Underlay @@ -2277,7 +2278,8 @@ void P_MovePlayer(player_t *player) water->momy = player->mo->momy; water->momz = player->mo->momz; P_SetScale(water, trailScale); - P_SetMobjState(water, curUnderlayFrame); + P_SetMobjState(water, S_WATERTRAILSUNDERLAY); + water->frame = curFrame|FF_ADD|FF_TRANS40; // Overlay water = P_SpawnMobj(x2, y2, @@ -2288,7 +2290,8 @@ void P_MovePlayer(player_t *player) water->momy = player->mo->momy; water->momz = player->mo->momz; P_SetScale(water, trailScale); - P_SetMobjState(water, curOverlayFrame); + P_SetMobjState(water, S_WATERTRAILS); + water->frame = curFrame; if (!S_SoundPlaying(player->mo, sfx_s3kdbs)) {