diff --git a/ship.h b/ship.h new file mode 100644 index 0000000000..271ae7f085 --- /dev/null +++ b/ship.h @@ -0,0 +1,15 @@ +/* $Id$ */ + +#include "vehicle.h" + + +static inline bool IsShipInDepot(const Vehicle* v) +{ + assert(v->type == VEH_Ship); + return v->u.ship.state == 0x80; +} + +static inline bool IsShipInDepotStopped(const Vehicle* v) +{ + return IsShipInDepot(v) && v->vehstatus & VS_STOPPED; +} diff --git a/ship_gui.c b/ship_gui.c index 19aaa11537..bf265690ee 100644 --- a/ship_gui.c +++ b/ship_gui.c @@ -4,6 +4,7 @@ #include "openttd.h" #include "debug.h" #include "functions.h" +#include "ship.h" #include "table/strings.h" #include "table/sprites.h" #include "map.h" @@ -569,7 +570,7 @@ static void ShipViewWndProc(Window *w, WindowEvent *e) { Vehicle *v; uint32 h; v = GetVehicle(w->window_number); - h = IsTileDepotType(v->tile, TRANSPORT_WATER) && v->vehstatus & VS_HIDDEN ? (1<< 7) : (1 << 11); + h = IsShipInDepotStopped(v) ? (1<< 7) : (1 << 11); if (h != w->hidden_state) { w->hidden_state = h; SetWindowDirty(w);