diff --git a/source/games/duke/src/player_r.cpp b/source/games/duke/src/player_r.cpp index 63c31bca5..77eaaa72c 100644 --- a/source/games/duke/src/player_r.cpp +++ b/source/games/duke/src/player_r.cpp @@ -3641,8 +3641,7 @@ void processinput_r(int snum) playerweaponsway(p, s); - s->xvel = - ksqrt((p->posx - p->bobposx) * (p->posx - p->bobposx) + (p->posy - p->bobposy) * (p->posy - p->bobposy)); + s->xvel = clamp(ksqrt((p->posx - p->bobposx) * (p->posx - p->bobposx) + (p->posy - p->bobposy) * (p->posy - p->bobposy)), 0, 512); if (p->on_ground) p->bobcounter += sprite[p->i].xvel >> 1; backuppos(p, ud.clipping == 0 && (sector[p->cursectnum].floorpicnum == MIRROR || p->cursectnum < 0 || p->cursectnum >= MAXSECTORS));