Corrected footstep sound behavior when walking on bridge actors over a liquid.

This commit is contained in:
Marisa the Magician 2018-06-09 23:08:30 +02:00
commit 9561ca57b1
2 changed files with 5 additions and 4 deletions

View file

@ -53,6 +53,7 @@ This mod requires GZDoom 3.4.0 or later.
- Done: Enforcer, Biorifle - Done: Enforcer, Biorifle
- Remaining: Shock Rifle, Pulsegun, Minigun, Flak Cannon, Rocket Launcher, Sniper rifle, Chainsaw - Remaining: Shock Rifle, Pulsegun, Minigun, Flak Cannon, Rocket Launcher, Sniper rifle, Chainsaw
- Visual recoil affecting aim (time to recycle SM's A_Swing once again) - Visual recoil affecting aim (time to recycle SM's A_Swing once again)
- Lava/Slime footstep sounds?
- Additional model optimization and cleanup - Additional model optimization and cleanup
- Trim out unused animations (this one is going to be very time-consuming) - Trim out unused animations (this one is going to be very time-consuming)
- Unify some texture groups (umodel does some weird thing where it separates - Unify some texture groups (umodel does some weird thing where it separates

View file

@ -170,14 +170,14 @@ Class UTPlayer : DoomPlayer
if ( !footsteps ) footsteps = CVar.GetCVar('flak_footsteps',players[consoleplayer]); if ( !footsteps ) footsteps = CVar.GetCVar('flak_footsteps',players[consoleplayer]);
if ( !footsteps.GetBool() ) return; if ( !footsteps.GetBool() ) return;
double ang = level.time/(20*TICRATE/35.)*360.; double ang = level.time/(20*TICRATE/35.)*360.;
if ( (abs(sin(ang)) >= 1.0) && player.onground && (player.cmd.forwardmove || player.cmd.sidemove) ) if ( (abs(sin(ang)) >= 1.0) && player.onground && (player.cmd.forwardmove || player.cmd.sidemove) && (waterlevel < 3) )
{ {
if ( (waterlevel > 0) || GetFloorTerrain().IsLiquid ) A_PlaySound("ut/playerfootstepwet",CHAN_5,abs(vel.xy.length())*0.03); if ( (waterlevel > 0) || GetFloorTerrain().IsLiquid && !bOnMobj ) A_PlaySound("ut/playerfootstepwet",CHAN_5,abs(vel.xy.length())*0.03);
else A_PlaySound("ut/playerfootstep",CHAN_5,abs(vel.xy.length())*0.03); else A_PlaySound("ut/playerfootstep",CHAN_5,abs(vel.xy.length())*0.03);
} }
if ( player.onground && !bNoGravity && !lastground && (lastvelz < -4) && (lastvelz >= -8) ) if ( player.onground && !bNoGravity && !lastground && (lastvelz < -4) && (lastvelz >= -8) && (waterlevel < 3) )
{ {
if ( (waterlevel > 0) || GetFloorTerrain().IsLiquid ) A_PlaySound("ut/wetsplash",CHAN_AUTO,abs(lastvelz*0.03)); if ( ((waterlevel > 0) || GetFloorTerrain().IsLiquid) && !bOnMobj ) A_PlaySound("ut/wetsplash",CHAN_AUTO,abs(lastvelz*0.03));
else A_PlaySound("*land",CHAN_AUTO,abs(lastvelz*0.03)); else A_PlaySound("*land",CHAN_AUTO,abs(lastvelz*0.03));
} }
lastground = player.onground; lastground = player.onground;