diff options
author | bjarni <bjarni@openttd.org> | 2005-11-18 23:41:03 +0000 |
---|---|---|
committer | bjarni <bjarni@openttd.org> | 2005-11-18 23:41:03 +0000 |
commit | 22a46798378768271af6b90cd41327155a909dd2 (patch) | |
tree | 3dd0d12983f0eaa08af460475f1f8b0a2c961d75 /station_cmd.c | |
parent | 40ec9bb1235a2231f0c883baaae73e106c67f1cf (diff) | |
download | openttd-22a46798378768271af6b90cd41327155a909dd2.tar.xz |
(svn r3218) -Feature: Multiheaded train engines will now stay in the same train
This means that any user attempt to remove a rear engine will tell the user to move the front engine instead
This fixes the assert when moving multiheaded engines (introduced in r3144)
Note: to make old savegames use this feature, some engines might be turned around in order to link engines in pairs
-Codechange: train subtype is now a bitmask
This allows fast access to info like if it is a wagon or engine and if it is in front and so on
Note: savegame version bump
Diffstat (limited to 'station_cmd.c')
-rw-r--r-- | station_cmd.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/station_cmd.c b/station_cmd.c index 66e8c2415..8b3fe0e21 100644 --- a/station_cmd.c +++ b/station_cmd.c @@ -26,6 +26,7 @@ #include "sprite.h" #include "depot.h" #include "pbs.h" +#include "train.h" enum { /* Max stations: 64000 (64 * 1000) */ @@ -2255,7 +2256,7 @@ static uint32 VehicleEnter_Station(Vehicle *v, TileIndex tile, int x, int y) byte dir; if (v->type == VEH_Train) { - if (IS_BYTE_INSIDE(_m[tile].m5, 0, 8) && v->subtype == TS_Front_Engine && + if (IS_BYTE_INSIDE(_m[tile].m5, 0, 8) && IsFrontEngine(v) && !IsCompatibleTrainStationTile(tile + TileOffsByDir(v->direction >> 1), tile)) { station_id = _m[tile].m2; |