Fix ViewportAddVehiclesIntl using wrong image rotation for ships

When rotating in place
pull/306/head
Jonathan G Rennison 3 years ago
parent fea967bbbf
commit 4cf6b1e923

@ -1789,12 +1789,11 @@ void ViewportAddVehiclesIntl(DrawPixelInfo *dpi)
ur >= v->coord.left &&
ub >= v->coord.top) {
Vehicle *v_mutable = const_cast<Vehicle *>(v);
Direction current_direction = v_mutable->GetMapImageDirection();
switch (v->type) {
case VEH_TRAIN: Train::From(v_mutable)->UpdateImageState(current_direction, v_mutable->sprite_seq); break;
case VEH_ROAD: RoadVehicle::From(v_mutable)->UpdateImageState(current_direction, v_mutable->sprite_seq); break;
case VEH_SHIP: Ship::From(v_mutable)->UpdateImageState(current_direction, v_mutable->sprite_seq); break;
case VEH_AIRCRAFT: Aircraft::From(v_mutable)->UpdateImageState(current_direction, v_mutable->sprite_seq); break;
case VEH_TRAIN: Train::From(v_mutable)->UpdateImageStateUsingMapDirection(v_mutable->sprite_seq); break;
case VEH_ROAD: RoadVehicle::From(v_mutable)->UpdateImageStateUsingMapDirection(v_mutable->sprite_seq); break;
case VEH_SHIP: Ship::From(v_mutable)->UpdateImageStateUsingMapDirection(v_mutable->sprite_seq); break;
case VEH_AIRCRAFT: Aircraft::From(v_mutable)->UpdateImageStateUsingMapDirection(v_mutable->sprite_seq); break;
default: break;
}
v_mutable->UpdateSpriteSeqBound();

@ -1385,6 +1385,11 @@ public:
_sprite_group_resolve_check_veh_check = false;
}
inline void UpdateImageStateUsingMapDirection(VehicleSpriteSeq &seq)
{
this->UpdateImageState(this->GetMapImageDirection(), seq);
}
private:
inline void UpdateViewportNormalViewportMode(bool force_update, Point pt)
{

Loading…
Cancel
Save