diff options
-rw-r--r-- | src/aircraft_cmd.cpp | 1 | ||||
-rw-r--r-- | src/roadveh_cmd.cpp | 6 | ||||
-rw-r--r-- | src/ship_cmd.cpp | 2 |
3 files changed, 9 insertions, 0 deletions
diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp index cec144be4..4a14c2887 100644 --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -593,6 +593,7 @@ CommandCost CmdRefitAircraft(TileIndex tile, uint32 flags, uint32 p1, uint32 p2, u->cargo.Truncate(v->cargo_type == new_cid ? mail : 0); v->cargo_type = new_cid; v->cargo_subtype = new_subtype; + v->colormap = PAL_NONE; // invalidate vehicle colour map InvalidateWindow(WC_VEHICLE_DETAILS, v->index); InvalidateWindow(WC_VEHICLE_DEPOT, v->tile); InvalidateWindowClassesData(WC_AIRCRAFT_LIST, 0); diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp index 7e587b5be..209801d18 100644 --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -47,6 +47,7 @@ #include "core/alloc_func.hpp" #include "table/strings.h" +#include "table/sprites.h" static const uint16 _roadveh_images[63] = { 0xCD4, 0xCDC, 0xCE4, 0xCEC, 0xCF4, 0xCFC, 0xD0C, 0xD14, @@ -160,6 +161,9 @@ void RoadVehUpdateCache(Vehicle *v) /* Update the length of the vehicle. */ u->u.road.cached_veh_length = GetRoadVehLength(u); + + /* Invalidate the vehicle colour map */ + u->colormap = PAL_NONE; } } @@ -2099,6 +2103,8 @@ CommandCost CmdRefitRoadVeh(TileIndex tile, uint32 flags, uint32 p1, uint32 p2, if (only_this) break; } + if (flags & DC_EXEC) RoadVehUpdateCache(GetVehicle(p1)->First()); + _returned_refit_capacity = total_capacity; return cost; diff --git a/src/ship_cmd.cpp b/src/ship_cmd.cpp index 37d2ef78e..e675ebd77 100644 --- a/src/ship_cmd.cpp +++ b/src/ship_cmd.cpp @@ -44,6 +44,7 @@ #include "ai/ai.hpp" #include "table/strings.h" +#include "table/sprites.h" static const uint16 _ship_sprites[] = {0x0E5D, 0x0E55, 0x0E65, 0x0E6D}; @@ -953,6 +954,7 @@ CommandCost CmdRefitShip(TileIndex tile, uint32 flags, uint32 p1, uint32 p2, con v->cargo.Truncate((v->cargo_type == new_cid) ? capacity : 0); v->cargo_type = new_cid; v->cargo_subtype = new_subtype; + v->colormap = PAL_NONE; // invalidate vehicle colour map InvalidateWindow(WC_VEHICLE_DETAILS, v->index); InvalidateWindow(WC_VEHICLE_DEPOT, v->tile); InvalidateWindowClassesData(WC_SHIPS_LIST, 0); |