summaryrefslogtreecommitdiff
path: root/order_gui.c
diff options
context:
space:
mode:
authorbjarni <bjarni@openttd.org>2005-11-18 23:41:03 +0000
committerbjarni <bjarni@openttd.org>2005-11-18 23:41:03 +0000
commit22a46798378768271af6b90cd41327155a909dd2 (patch)
tree3dd0d12983f0eaa08af460475f1f8b0a2c961d75 /order_gui.c
parent40ec9bb1235a2231f0c883baaae73e106c67f1cf (diff)
downloadopenttd-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 'order_gui.c')
-rw-r--r--order_gui.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/order_gui.c b/order_gui.c
index adf4ab8bc..7fd02aeeb 100644
--- a/order_gui.c
+++ b/order_gui.c
@@ -17,6 +17,7 @@
#include "viewport.h"
#include "depot.h"
#include "waypoint.h"
+#include "train.h"
static int OrderGetSel(const Window* w)
{
@@ -282,9 +283,9 @@ static bool HandleOrderVehClick(const Vehicle* v, const Vehicle* u, Window* w)
{
if (u->type != v->type) return false;
- if (u->type == VEH_Train && u->subtype != TS_Front_Engine) {
+ if (u->type == VEH_Train && !IsFrontEngine(u)) {
u = GetFirstVehicleInChain(u);
- if (u->subtype != TS_Front_Engine) return false;
+ if (!IsFrontEngine(u)) return false;
}
// v is vehicle getting orders. Only copy/clone orders if vehicle doesn't have any orders yet