Index: src/lang/english.txt =================================================================== --- src/lang/english.txt (Revision 11047) +++ src/lang/english.txt (Arbeitskopie) @@ -3374,3 +3374,9 @@ STR_PROSPECT_NEW_INDUSTRY :{BLACK}Prospect STR_BUILD_NEW_INDUSTRY :{BLACK}Build STR_INDUSTRY_SELECTION_HINT :{BLACK}Choose the appropriate industry from this list + +#### Vehicle speeds tab +STR_WAGON_SPEEDS :{BLACK}Speeds +STR_WAGON_SPEEDS_TOOLTIP :{BLACK}Show engine and wagons speeds +STR_WAGON_SPEEDS_VELOCITY :{LTBLUE}{VELOCITY} +STR_WAGON_SPEEDS_VELOCITY_NO_LIMIT :{LTBLUE}No limit Index: src/train_gui.cpp =================================================================== --- src/train_gui.cpp (Revision 11047) +++ src/train_gui.cpp (Arbeitskopie) @@ -19,6 +19,24 @@ #include "train.h" #include "newgrf_engine.h" +/* Train List Widgets */ +enum { + TLW_CLOSEBOX = 0, + TLW_CAPTION, + TLW_RENAME, + TLW_MAIN_INFO, + TLW_WAGON_LIST, + TLW_SCROLLBAR, + TLW_SERVICE_INCREASE, + TLW_SERVICE_DECREASE, + TLW_SERVICE_INFO, + TLW_CHARGE, + TLW_CARGO_TYPE, + TLW_CAPACITIES, + TLW_TOTAL_CARGO, + TLW_RESIZE, +}; + void CcBuildWagon(bool success, TileIndex tile, uint32 p1, uint32 p2) { Vehicle *v, *found; @@ -194,11 +212,11 @@ SetVScrollCount(w, num); DisableWindowWidget(w, det_tab + 9); - SetWindowWidgetDisabledState(w, 2, v->owner != _local_player); + SetWindowWidgetDisabledState(w, TLW_RENAME, v->owner != _local_player); /* disable service-scroller when interval is set to disabled */ - SetWindowWidgetDisabledState(w, 6, !_patches.servint_trains); - SetWindowWidgetDisabledState(w, 7, !_patches.servint_trains); + SetWindowWidgetDisabledState(w, TLW_SERVICE_INCREASE, !_patches.servint_trains); + SetWindowWidgetDisabledState(w, TLW_SERVICE_DECREASE, !_patches.servint_trains); SetDParam(0, v->index); DrawWindowWidgets(w); @@ -305,16 +323,16 @@ int mod; const Vehicle *v; switch (e->we.click.widget) { - case 2: /* name train */ + case TLW_RENAME: v = GetVehicle(w->window_number); SetDParam(0, v->index); ShowQueryString(STR_VEHICLE_NAME, STR_8865_NAME_TRAIN, 31, 150, w, CS_ALPHANUMERAL); break; - case 6: /* inc serv interval */ + case TLW_SERVICE_INCREASE: mod = _ctrl_pressed? 5 : 10; goto do_change_service_int; - case 7: /* dec serv interval */ + case TLW_SERVICE_DECREASE: mod = _ctrl_pressed? -5 : -10; do_change_service_int: v = GetVehicle(w->window_number); @@ -325,14 +343,14 @@ DoCommandP(v->tile, v->index, mod, NULL, CMD_CHANGE_SERVICE_INT | CMD_MSG(STR_018A_CAN_T_CHANGE_SERVICING)); break; /* details buttons*/ - case 9: // Cargo - case 10: // Information - case 11: // Capacities - case 12: // Total cargo - EnableWindowWidget(w, 9); - EnableWindowWidget(w, 10); - EnableWindowWidget(w, 11); - EnableWindowWidget(w, 12); + case TLW_CHARGE: + case TLW_CARGO_TYPE: + case TLW_CAPACITIES: + case TLW_TOTAL_CARGO: + EnableWindowWidget(w, TLW_CHARGE); + EnableWindowWidget(w, TLW_CARGO_TYP); + EnableWindowWidget(w, TLW_CAPACITIES); + EnableWindowWidget(w, TLW_TOTAL_CARGO); EnableWindowWidget(w, e->we.click.widget); WP(w,traindetails_d).tab = e->we.click.widget - 9; SetWindowDirty(w); @@ -349,30 +367,30 @@ break; case WE_RESIZE: - if (e->we.sizing.diff.x != 0) ResizeButtons(w, 9, 12); + if (e->we.sizing.diff.x != 0) ResizeButtons(w, TLW_CHARGE, TLW_TOTAL_CARGO); if (e->we.sizing.diff.y == 0) break; w->vscroll.cap += e->we.sizing.diff.y / 14; - w->widget[4].data = (w->vscroll.cap << 8) + 1; + w->widget[TLW_WAGON_LIST].data = (w->vscroll.cap << 8) + 1; break; } } static const Widget _train_details_widgets[] = { -{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, -{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 329, 0, 13, STR_8802_DETAILS, STR_018C_WINDOW_TITLE_DRAG_THIS}, -{ WWT_PUSHTXTBTN, RESIZE_LR, 14, 330, 369, 0, 13, STR_01AA_NAME, STR_8867_NAME_TRAIN}, -{ WWT_PANEL, RESIZE_RIGHT, 14, 0, 369, 14, 55, 0x0, STR_NULL}, -{ WWT_MATRIX, RESIZE_RB, 14, 0, 357, 56, 139, 0x601, STR_NULL}, -{ WWT_SCROLLBAR, RESIZE_LRB, 14, 358, 369, 56, 139, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST}, -{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 10, 140, 145, STR_0188, STR_884D_INCREASE_SERVICING_INTERVAL}, -{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 10, 146, 151, STR_0189, STR_884E_DECREASE_SERVICING_INTERVAL}, -{ WWT_PANEL, RESIZE_RTB, 14, 11, 369, 140, 151, 0x0, STR_NULL}, -{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 89, 152, 163, STR_013C_CARGO, STR_884F_SHOW_DETAILS_OF_CARGO_CARRIED}, -{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 90, 178, 152, 163, STR_013D_INFORMATION, STR_8850_SHOW_DETAILS_OF_TRAIN_VEHICLES}, -{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 179, 268, 152, 163, STR_013E_CAPACITIES, STR_8851_SHOW_CAPACITIES_OF_EACH}, -{ WWT_PUSHTXTBTN, RESIZE_RTB, 14, 269, 357, 152, 163, STR_013E_TOTAL_CARGO, STR_8852_SHOW_TOTAL_CARGO}, -{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 358, 369, 152, 163, 0x0, STR_RESIZE_BUTTON}, +{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, // TLW_CLOSEBOX +{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 329, 0, 13, STR_8802_DETAILS, STR_018C_WINDOW_TITLE_DRAG_THIS}, // TLW_CAPTION +{ WWT_PUSHTXTBTN, RESIZE_LR, 14, 330, 369, 0, 13, STR_01AA_NAME, STR_8867_NAME_TRAIN}, // TLW_RENAME +{ WWT_PANEL, RESIZE_RIGHT, 14, 0, 369, 14, 55, 0x0, STR_NULL}, // TLW_MAIN_INFO +{ WWT_MATRIX, RESIZE_RB, 14, 0, 357, 56, 139, 0x601, STR_NULL}, // TLW_WAGON_LIST +{ WWT_SCROLLBAR, RESIZE_LRB, 14, 358, 369, 56, 139, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST}, // TLW_SCROLLBAR +{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 10, 140, 145, STR_0188, STR_884D_INCREASE_SERVICING_INTERVAL}, // TLW_SERVICE_INCREASE +{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 10, 146, 151, STR_0189, STR_884E_DECREASE_SERVICING_INTERVAL}, // TLW_SERVICE_DECREASE +{ WWT_PANEL, RESIZE_RTB, 14, 11, 369, 140, 151, 0x0, STR_NULL}, // TLW_SERVICE_INFO +{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 89, 152, 163, STR_013C_CARGO, STR_884F_SHOW_DETAILS_OF_CARGO_CARRIED}, // TLW_CHARGE +{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 90, 178, 152, 163, STR_013D_INFORMATION, STR_8850_SHOW_DETAILS_OF_TRAIN_VEHICLES}, // TLW_CARGO_TYPE +{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 179, 268, 152, 163, STR_013E_CAPACITIES, STR_8851_SHOW_CAPACITIES_OF_EACH}, // TLW_CAPACITIES +{ WWT_PUSHTXTBTN, RESIZE_RTB, 14, 269, 357, 152, 163, STR_013E_TOTAL_CARGO, STR_8852_SHOW_TOTAL_CARGO}, // TLW_TOTAL_CARGO +{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 358, 369, 152, 163, 0x0, STR_RESIZE_BUTTON}, // TLW_RESIZE { WIDGETS_END}, }; @@ -398,7 +416,7 @@ w->caption_color = v->owner; w->vscroll.cap = 6; - w->widget[4].data = (w->vscroll.cap << 8) + 1; + w->widget[TLW_WAGON_LIST].data = (w->vscroll.cap << 8) + 1; w->resize.step_height = 14; w->resize.height = w->height - 14 * 2; /* Minimum of 4 wagons in the display */