Mercurial > hg > openttd
changeset 10947:0b3cbaa54996 draft
(svn r15286) -Fix: Refitting did not invalidate vehicle-colour-maps of road-vehicles, ships and aircraft, as well vehicle-length of road-vehicles.
author | frosch <frosch@openttd.org> |
---|---|
date | Tue, 27 Jan 2009 19:44:36 +0000 |
parents | d67c476c7b6a |
children | 23575f3e9f64 |
files | src/aircraft_cmd.cpp src/roadveh_cmd.cpp src/ship_cmd.cpp |
diffstat | 3 files changed, 9 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -593,6 +593,7 @@ 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);
--- 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 @@ /* 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 @@ if (only_this) break; } + if (flags & DC_EXEC) RoadVehUpdateCache(GetVehicle(p1)->First()); + _returned_refit_capacity = total_capacity; return cost;
--- 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 @@ 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);