From 33e3f4916173b4129cbbe60f94dae659a70edb83 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Thu, 31 Jan 2019 20:54:15 +0000 Subject: Fix #7119: When rotating a ship, apply an additional offset to avoid movement glitch. --- src/saveload/vehicle_sl.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/saveload') diff --git a/src/saveload/vehicle_sl.cpp b/src/saveload/vehicle_sl.cpp index 11935fa40..540416586 100644 --- a/src/saveload/vehicle_sl.cpp +++ b/src/saveload/vehicle_sl.cpp @@ -375,6 +375,17 @@ void AfterLoadVehicles(bool part_of_load) FOR_ALL_SHIPS(s) { s->rotation = s->direction; } + } else { + Ship *s; + FOR_ALL_SHIPS(s) { + if (s->rotation == s->direction) continue; + /* In case we are rotating on gameload, set the rotation position to + * the current position, otherwise the applied workaround offset would + * be with respect to 0,0. + */ + s->rotation_x_pos = s->x_pos; + s->rotation_y_pos = s->y_pos; + } } } -- cgit v1.2.3-70-g09d2