forked from mirror/OpenTTD
(svn r2261) - Fix: When crashed vehicles try to find a depot for servicing, openttd asserts.
Crashed vehicles shouldn't find depots anyway...
This commit is contained in:
@@ -1298,7 +1298,8 @@ static bool TrainFindDepotEnumProc(uint tile, TrainFindDepotData *tfdd, int trac
|
||||
return length >= tfdd->best_length;
|
||||
}
|
||||
|
||||
// returns the tile of a depot to goto to.
|
||||
// returns the tile of a depot to goto to. The given vehicle must be on track,
|
||||
// so not crashed, in a depot, etc.
|
||||
static TrainFindDepotData FindClosestTrainDepot(Vehicle *v)
|
||||
{
|
||||
int i;
|
||||
@@ -1362,6 +1363,9 @@ int32 CmdTrainGotoDepot(int x, int y, uint32 flags, uint32 p1, uint32 p2)
|
||||
if (v->type != VEH_Train || !CheckOwnership(v->owner))
|
||||
return CMD_ERROR;
|
||||
|
||||
if (v->vehstatus & VS_CRASHED)
|
||||
return CMD_ERROR;
|
||||
|
||||
if (v->current_order.type == OT_GOTO_DEPOT) {
|
||||
if (flags & DC_EXEC) {
|
||||
if (HASBIT(v->current_order.flags, OFB_PART_OF_ORDERS)) {
|
||||
|
Reference in New Issue
Block a user