diff --git a/source/core/gameinput.cpp b/source/core/gameinput.cpp index e5ffb4d06..ac6c4f6d5 100644 --- a/source/core/gameinput.cpp +++ b/source/core/gameinput.cpp @@ -387,6 +387,7 @@ void applylook(PlayerAngle* angle, float const avel, ESyncBits* actions, double { // add player's input angle->ang += degang(avel); + angle->spin = bamlook(0); } } diff --git a/source/games/duke/src/input.cpp b/source/games/duke/src/input.cpp index 7a280e3ec..600aafdcc 100644 --- a/source/games/duke/src/input.cpp +++ b/source/games/duke/src/input.cpp @@ -794,21 +794,17 @@ static void FinalizeInput(int playerNum, InputPacket& input, bool vehicle) loc.svel = input.svel = 0; } - if (p->on_crane == nullptr && p->newOwner == nullptr) + if (p->newOwner != nullptr) { - if (!SyncInput() && input.avel) + if (p->on_crane != nullptr) { - p->angle.spin = bamlook(0); + loc.avel = input.avel = 0; } - } - else - { - loc.avel = input.avel = 0; - } - if (p->newOwner != nullptr && ((p->sync.actions & SB_CENTERVIEW) || !(p->sync.actions & SB_CENTERVIEW) && abs(p->horizon.horiz.asbuild()) > 5)) - { - loc.horz = input.horz = 0; + if ((p->sync.actions & SB_CENTERVIEW) || (!(p->sync.actions & SB_CENTERVIEW) && abs(p->horizon.horiz.asbuild()) > 5)) + { + loc.horz = input.horz = 0; + } } } }