order_gui.c
changeset 44 1923acc255d1
parent 25 cf54d03fa22f
child 127 815ec4d365e2
equal deleted inserted replaced
43:3b93861c5478 44:1923acc255d1
   274 			if ( (uint) sel >= 6)
   274 			if ( (uint) sel >= 6)
   275 				return;
   275 				return;
   276 
   276 
   277 			sel += w->vscroll.pos;
   277 			sel += w->vscroll.pos;
   278 
   278 
       
   279 			if (_ctrl_pressed && sel < v->num_orders) { // watch out for schedule_ptr overflow
       
   280 				int ord = v->schedule_ptr[sel];
       
   281 				int xy = 0;
       
   282 				switch (ord & OT_MASK) {
       
   283 				case OT_GOTO_STATION:			/* station order */
       
   284 					xy = _stations[ord >> 8].xy ;
       
   285 					break;
       
   286 				case OT_GOTO_DEPOT:				/* goto depot order */
       
   287 					xy = _depots[ord >> 8].xy;
       
   288 					break;
       
   289 				case OT_GOTO_CHECKPOINT:	/* goto checkpoint order */
       
   290 					xy = _checkpoints[ord >> 8].xy;
       
   291 				}
       
   292 
       
   293 				if (xy)
       
   294 					ScrollMainWindowToTile(xy);
       
   295 				
       
   296 				return;
       
   297 			}
       
   298 
   279 			if (sel == WP(w,order_d).sel) sel = -1;
   299 			if (sel == WP(w,order_d).sel) sel = -1;
   280 			WP(w,order_d).sel = sel;
   300 			WP(w,order_d).sel = sel;
   281 			SetWindowDirty(w);
   301 			SetWindowDirty(w);
   282 		}	break;
   302 		}	break;
   283 
   303