order_gui.c
changeset 44 1923acc255d1
parent 25 cf54d03fa22f
child 127 815ec4d365e2
--- a/order_gui.c	Fri Aug 13 19:52:45 2004 +0000
+++ b/order_gui.c	Fri Aug 13 20:30:45 2004 +0000
@@ -276,6 +276,26 @@
 
 			sel += w->vscroll.pos;
 
+			if (_ctrl_pressed && sel < v->num_orders) { // watch out for schedule_ptr overflow
+				int ord = v->schedule_ptr[sel];
+				int xy = 0;
+				switch (ord & OT_MASK) {
+				case OT_GOTO_STATION:			/* station order */
+					xy = _stations[ord >> 8].xy ;
+					break;
+				case OT_GOTO_DEPOT:				/* goto depot order */
+					xy = _depots[ord >> 8].xy;
+					break;
+				case OT_GOTO_CHECKPOINT:	/* goto checkpoint order */
+					xy = _checkpoints[ord >> 8].xy;
+				}
+
+				if (xy)
+					ScrollMainWindowToTile(xy);
+				
+				return;
+			}
+
 			if (sel == WP(w,order_d).sel) sel = -1;
 			WP(w,order_d).sel = sel;
 			SetWindowDirty(w);