--- a/lang/english.txt Sun Dec 19 19:17:15 2004 +0000
+++ b/lang/english.txt Sun Dec 19 21:03:16 2004 +0000
@@ -1086,6 +1086,7 @@
STR_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Heading for {WAYPOINT}, {VELOCITY}
STR_GO_TO_WAYPOINT :Go via {WAYPOINT}
+STR_GO_NON_STOP_TO_WAYPOINT :Go non-stop via {WAYPOINT}
STR_WAYPOINTNAME_CITY :Waypoint {TOWN}
STR_WAYPOINTNAME_CITY_SERIAL :Waypoint {TOWN} #{COMMA16}
--- a/order_cmd.c Sun Dec 19 19:17:15 2004 +0000
+++ b/order_cmd.c Sun Dec 19 21:03:16 2004 +0000
@@ -177,7 +177,8 @@
sched = &v->schedule_ptr[sel];
if (sched->type != OT_GOTO_STATION &&
- (sched->type != OT_GOTO_DEPOT || (p2 >> 8) == 1))
+ (sched->type != OT_GOTO_DEPOT || (p2 >> 8) == 1) &&
+ (sched->type != OT_GOTO_WAYPOINT || (p2 >> 8) != 2))
return CMD_ERROR;
if (flags & DC_EXEC) {
--- a/order_gui.c Sun Dec 19 19:17:15 2004 +0000
+++ b/order_gui.c Sun Dec 19 21:03:16 2004 +0000
@@ -72,6 +72,12 @@
SETBIT(w->disabled_state, 9); /* unload */
SetDParam(2,STR_SERVICE);
break;
+
+ case OT_GOTO_WAYPOINT:
+ SETBIT(w->disabled_state, 8); /* full load */
+ SETBIT(w->disabled_state, 9); /* unload */
+ break;
+
default:
SETBIT(w->disabled_state, 6); /* nonstop */
SETBIT(w->disabled_state, 8); /* full load */
@@ -118,7 +124,7 @@
SetDParam(1, s);
} else if (ord.type == OT_GOTO_WAYPOINT) {
SetDParam(2, ord.station);
- SetDParam(1, STR_GO_TO_WAYPOINT);
+ SetDParam(1, (ord.flags & OF_NON_STOP) ? STR_GO_NON_STOP_TO_WAYPOINT : STR_GO_TO_WAYPOINT);
}
}
{