(svn r5861) - Backport from trunk (r5839):

A ship in a depot must be stopped before allowed to be cloned (copied ship.h from trunk).
This commit is contained in:
Darkvater 2006-08-12 12:22:38 +00:00
parent ffa39381d9
commit 2452a20e07
2 changed files with 17 additions and 1 deletions

15
ship.h Normal file
View File

@ -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;
}

View File

@ -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);