mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 14:27:16 +00:00
(svn r45) -Feature [992998] Scrollto Station in Orders. CTRL click on orders of a vehicle and main-window scrolls to that station. (chrishuebsch)
This commit is contained in:
parent
7af3360c5a
commit
a58f9bd621
20
order_gui.c
20
order_gui.c
@ -276,6 +276,26 @@ static void OrdersWndProc(Window *w, WindowEvent *e)
|
||||
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user