summaryrefslogtreecommitdiff
path: root/train_cmd.c
diff options
context:
space:
mode:
authorbjarni <bjarni@openttd.org>2006-03-18 13:15:34 +0000
committerbjarni <bjarni@openttd.org>2006-03-18 13:15:34 +0000
commit8f8981946066add9d4218d65c3844de588031aa1 (patch)
treeecfc7fb7e9d5ecef78443a7db65f4ca27d1c8ee7 /train_cmd.c
parentaa22bfb1785333161200eb2dc9d77152a1f89816 (diff)
downloadopenttd-8f8981946066add9d4218d65c3844de588031aa1.tar.xz
(svn r3945) cleaned the layout in CmdReverseTrainDirection a bit (made a bit messy in last commit)
Diffstat (limited to 'train_cmd.c')
-rw-r--r--train_cmd.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/train_cmd.c b/train_cmd.c
index b38089300..2f59fb314 100644
--- a/train_cmd.c
+++ b/train_cmd.c
@@ -1595,6 +1595,7 @@ static void ReverseTrainDirection(Vehicle *v)
if (v->type != VEH_Train || !CheckOwnership(v->owner)) return CMD_ERROR;
if (p2) {
+ // turn a single unit around
Vehicle *front;
if (IsMultiheaded(v) || HASBIT(RailVehInfo(v->engine_type)->callbackmask, CBM_ARTIC_ENGINE)) {
@@ -1606,16 +1607,15 @@ static void ReverseTrainDirection(Vehicle *v)
if (CheckTrainStoppedInDepot(front) < 0) {
return_cmd_error(STR_881A_TRAINS_CAN_ONLY_BE_ALTERED);
}
- }
-// if (v->u.rail.track & 0x80 || IsTileDepotType(v->tile, TRANSPORT_RAIL))
-// return CMD_ERROR;
-
- if (v->u.rail.crash_anim_pos != 0 || v->breakdown_ctr != 0) return CMD_ERROR;
- if (flags & DC_EXEC) {
- if (p2) {
+ if (flags & DC_EXEC) {
v->u.rail.flags ^= 1 << VRF_REVERSE_DIRECTION;
- } else {
+ }
+ } else {
+ //turn the whole train around
+ if (v->u.rail.crash_anim_pos != 0 || v->breakdown_ctr != 0) return CMD_ERROR;
+
+ if (flags & DC_EXEC) {
if (_patches.realistic_acceleration && v->cur_speed != 0) {
TOGGLEBIT(v->u.rail.flags, VRF_REVERSING);
} else {