(svn r1177) Enable non-stop flag for waypoints
authortron
Sun, 19 Dec 2004 21:03:16 +0000
changeset 725 d6543c8b2428
parent 724 082993b2adaa
child 726 2734f235d7c2
(svn r1177) Enable non-stop flag for waypoints
lang/english.txt
order_cmd.c
order_gui.c
--- 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);
 				}
 			}
 			{