summaryrefslogtreecommitdiff
path: root/src/order_gui.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2008-04-09 22:01:23 +0000
committerrubidium <rubidium@openttd.org>2008-04-09 22:01:23 +0000
commitc9e9e6005bed8e6143fdc571cfebdc993d334dbd (patch)
treea618ec500e29326d18b5b8410e43ffb4992c7603 /src/order_gui.cpp
parente075ade119bbab7f87eb0ca897e3a9ea0f55817b (diff)
downloadopenttd-c9e9e6005bed8e6143fdc571cfebdc993d334dbd.tar.xz
(svn r12643) -Codechange: be more explicit about the orders a vehicle has (non stop and full load are ambiguous and depend on some patch settings).
Diffstat (limited to 'src/order_gui.cpp')
-rw-r--r--src/order_gui.cpp39
1 files changed, 22 insertions, 17 deletions
diff --git a/src/order_gui.cpp b/src/order_gui.cpp
index 3a59f818c..de1e6dd3f 100644
--- a/src/order_gui.cpp
+++ b/src/order_gui.cpp
@@ -92,21 +92,20 @@ static int GetOrderFromOrderWndPt(Window *w, int y, const Vehicle *v)
return (sel <= v->num_orders && sel >= 0) ? sel : INVALID_ORDER;
}
-static StringID _station_order_strings[][7] = {
+/** Order load types that could be given to station orders. */
+static const StringID _station_load_types[][5] = {
{
- STR_8806_GO_TO,
- STR_GO_TO_TRANSFER,
- STR_8807_GO_TO_UNLOAD,
- STR_GO_TO_TRANSFER_UNLOAD,
- STR_8808_GO_TO_LOAD,
- STR_GO_TO_TRANSFER_LOAD
+ STR_EMPTY,
+ STR_ORDER_UNLOAD,
+ STR_ORDER_FULL_LOAD,
+ STR_ORDER_FULL_LOAD_ANY,
+ STR_ORDER_NO_LOAD,
}, {
- STR_880A_GO_NON_STOP_TO,
- STR_GO_TO_NON_STOP_TRANSFER,
- STR_880B_GO_NON_STOP_TO_UNLOAD,
- STR_GO_TO_NON_STOP_TRANSFER_UNLOAD,
- STR_880C_GO_NON_STOP_TO_LOAD,
- STR_GO_TO_NON_STOP_TRANSFER_LOAD
+ STR_ORDER_TRANSFER,
+ STR_ORDER_TRANSFER_UNLOAD,
+ STR_ORDER_TRANSFER_FULL_LOAD,
+ STR_ORDER_TRANSFER_FULL_LOAD_ANY,
+ INVALID_STRING_ID,
}
};
@@ -197,10 +196,16 @@ static void DrawOrdersWindow(Window *w)
SetDParam(2, order->GetDestination());
break;
- case OT_GOTO_STATION:
- SetDParam(1, _station_order_strings[!(order->GetNonStopType() == (_patches.new_nonstop ? ONSF_NO_STOP_AT_INTERMEDIATE_STATIONS : ONSF_STOP_EVERYWHERE))][(order->GetLoadType() & OLFB_FULL_LOAD) | order->GetUnloadType()]);
- SetDParam(2, order->GetDestination());
- break;
+ case OT_GOTO_STATION: {
+ OrderLoadFlags load = order->GetLoadType();
+ OrderUnloadFlags unload = order->GetUnloadType();
+
+ SetDParam(1, STR_GO_TO_STATION);
+ SetDParam(2, STR_ORDER_GO_TO + (v->type == VEH_TRAIN ? order->GetNonStopType() : 0));
+ SetDParam(3, order->GetDestination());
+ /* Yes, this is ugly, but... once the savegame bump is done, it'll look a lot better! */
+ SetDParam(4, _station_load_types[unload & OUFB_TRANSFER][((load & 1) | (load >> 1)) + ((unload & ~(OUFB_NO_UNLOAD | OUFB_TRANSFER)) >> 1)]);
+ } break;
case OT_GOTO_DEPOT: {
StringID s = STR_NULL;