|
@@ -740,15 +740,11 @@ static void DrawEngineArrayInReplaceWind
|
|
|
}
|
|
|
static void ReplaceVehicleWndProc(Window *w, WindowEvent *e)
|
|
|
{
|
|
|
// these 3 variables is used if any of the lists is clicked
|
|
|
uint16 click_scroll_pos = w->vscroll2.pos;
|
|
|
uint16 click_scroll_cap = w->vscroll2.cap;
|
|
|
byte click_side = 1;
|
|
|
Player *p = GetPlayer(_local_player);
|
|
|
static const StringID _vehicle_type_names[4] = {STR_019F_TRAIN, STR_019C_ROAD_VEHICLE, STR_019E_SHIP,STR_019D_AIRCRAFT};
|
|
|
|
|
|
switch(e->event) {
|
|
|
case WE_PAINT:
|
|
|
{
|
|
|
switch (e->event) {
|
|
|
case WE_PAINT: {
|
|
|
const Player *p = GetPlayer(_local_player);
|
|
|
int pos = w->vscroll.pos;
|
|
|
int selected_id[2] = {-1,-1};
|
|
|
int x = 1;
|
|
@@ -826,10 +822,9 @@ static void ReplaceVehicleWndProc(Window
|
|
|
CLRBIT(w->disabled_state, 6);
|
|
|
|
|
|
// now the actual drawing of the window itself takes place
|
|
|
SetDParam(0, _vehicle_type_names[WP(w, replaceveh_d).vehicletype - VEH_Train]);
|
|
|
DrawWindowWidgets(w);
|
|
|
|
|
|
|
|
|
|
|
|
// sets up the string for the vehicle that is being replaced to
|
|
|
if ( selected_id[0] != -1 ) {
|
|
|
if (p->engine_replacement[selected_id[0]] == INVALID_ENGINE)
|
|
@@ -841,7 +836,7 @@ static void ReplaceVehicleWndProc(Window
|
|
|
}
|
|
|
|
|
|
|
|
|
DrawString(145, (w->resize.step_height == 24 ? 67 : 77 ) + ( w->resize.step_height * w->vscroll.cap), STR_02BD, 0x10);
|
|
|
DrawString(145, (w->resize.step_height == 24 ? 67 : 87 ) + ( w->resize.step_height * w->vscroll.cap), STR_02BD, 0x10);
|
|
|
|
|
|
|
|
|
/* now we draw the two arrays according to what we just counted */
|
|
@@ -904,7 +899,12 @@ static void ReplaceVehicleWndProc(Window
|
|
|
} break; // end of paint
|
|
|
|
|
|
case WE_CLICK: {
|
|
|
switch(e->click.widget) {
|
|
|
// these 3 variables is used if any of the lists is clicked
|
|
|
uint16 click_scroll_pos = w->vscroll2.pos;
|
|
|
uint16 click_scroll_cap = w->vscroll2.cap;
|
|
|
byte click_side = 1;
|
|
|
|
|
|
switch (e->click.widget) {
|
|
|
case 14: case 15: { /* Select sorting criteria dropdown menu */
|
|
|
ShowDropDownMenu(w, _rail_types_list, _railtype_selected_in_replace_gui, 15, ~GetPlayer(_local_player)->avail_railtypes, 1);
|
|
|
break;
|
|
@@ -959,59 +959,59 @@ static void ReplaceVehicleWndProc(Window
|
|
|
static const Widget _replace_rail_vehicle_widgets[] = {
|
|
|
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
|
|
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 443, 0, 13, STR_REPLACE_VEHICLES_WHITE, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
|
|
{ WWT_STICKYBOX, RESIZE_NONE, 14, 444, 455, 0, 13, 0x0, STR_STICKY_BUTTON},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 0, 227, 126, 197, 0x0, STR_NULL},
|
|
|
{ WWT_STICKYBOX, RESIZE_NONE, 14, 444, 455, 0, 13, STR_NULL, STR_STICKY_BUTTON},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 0, 227, 126, 197, STR_NULL, STR_NULL},
|
|
|
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 138, 210, 221, STR_REPLACE_VEHICLES_START, STR_REPLACE_HELP_START_BUTTON},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 139, 316, 198, 209, 0x0, STR_REPLACE_HELP_REPLACE_INFO_TAB},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 139, 316, 198, 209, STR_NULL, STR_REPLACE_HELP_REPLACE_INFO_TAB},
|
|
|
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 306, 443, 210, 221, STR_REPLACE_VEHICLES_STOP, STR_REPLACE_HELP_STOP_BUTTON},
|
|
|
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 0, 215, 14, 125, 0x801, STR_REPLACE_HELP_LEFT_ARRAY},
|
|
|
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 14, 216, 227, 14, 125, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
|
|
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 14, 216, 227, 14, 125, STR_NULL, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
|
|
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 228, 443, 14, 125, 0x801, STR_REPLACE_HELP_RIGHT_ARRAY},
|
|
|
{ WWT_SCROLL2BAR, RESIZE_BOTTOM, 14, 444, 455, 14, 125, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 228, 455, 126, 197, 0x0, STR_NULL},
|
|
|
{ WWT_SCROLL2BAR, RESIZE_BOTTOM, 14, 444, 455, 14, 125, STR_NULL, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 228, 455, 126, 197, STR_NULL, STR_NULL},
|
|
|
// train specific stuff
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 0, 138, 198, 209, 0x0, STR_NULL},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 139, 153, 210, 221, 0x0, STR_NULL},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 154, 277, 210, 221, 0x0, STR_REPLACE_HELP_RAILTYPE},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 0, 138, 198, 209, STR_NULL, STR_NULL},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 139, 153, 210, 221, STR_NULL, STR_NULL},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 154, 277, 210, 221, STR_NULL, STR_REPLACE_HELP_RAILTYPE},
|
|
|
{ WWT_CLOSEBOX, RESIZE_TB, 14, 278, 289, 210, 221, STR_0225, STR_REPLACE_HELP_RAILTYPE},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 290, 305, 210, 221, 0x0, STR_NULL},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 317, 455, 198, 209, 0x0, STR_NULL},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 290, 305, 210, 221, STR_NULL, STR_NULL},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 317, 455, 198, 209, STR_NULL, STR_NULL},
|
|
|
// end of train specific stuff
|
|
|
{ WWT_RESIZEBOX, RESIZE_TB, 14, 444, 455, 210, 221, 0x0, STR_RESIZE_BUTTON},
|
|
|
{ WWT_RESIZEBOX, RESIZE_TB, 14, 444, 455, 210, 221, STR_NULL, STR_RESIZE_BUTTON},
|
|
|
{ WIDGETS_END},
|
|
|
};
|
|
|
|
|
|
static const Widget _replace_road_vehicle_widgets[] = {
|
|
|
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
|
|
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 443, 0, 13, STR_REPLACE_VEHICLES_WHITE, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
|
|
{ WWT_STICKYBOX, RESIZE_NONE, 14, 444, 455, 0, 13, 0x0, STR_STICKY_BUTTON},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 0, 227, 126, 187, 0x0, STR_NULL},
|
|
|
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 138, 188, 199, STR_REPLACE_VEHICLES_START, STR_REPLACE_HELP_START_BUTTON},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 139, 305, 188, 199, 0x0, STR_REPLACE_HELP_REPLACE_INFO_TAB},
|
|
|
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 306, 443, 188, 199, STR_REPLACE_VEHICLES_STOP, STR_REPLACE_HELP_STOP_BUTTON},
|
|
|
{ WWT_STICKYBOX, RESIZE_NONE, 14, 444, 455, 0, 13, STR_NULL, STR_STICKY_BUTTON},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 0, 227, 126, 197, STR_NULL, STR_NULL},
|
|
|
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 138, 198, 209, STR_REPLACE_VEHICLES_START, STR_REPLACE_HELP_START_BUTTON},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 139, 305, 198, 209, STR_NULL, STR_REPLACE_HELP_REPLACE_INFO_TAB},
|
|
|
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 306, 443, 198, 209, STR_REPLACE_VEHICLES_STOP, STR_REPLACE_HELP_STOP_BUTTON},
|
|
|
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 0, 215, 14, 125, 0x801, STR_REPLACE_HELP_LEFT_ARRAY},
|
|
|
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 14, 216, 227, 14, 125, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
|
|
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 14, 216, 227, 14, 125, STR_NULL, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
|
|
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 228, 443, 14, 125, 0x801, STR_REPLACE_HELP_RIGHT_ARRAY},
|
|
|
{ WWT_SCROLL2BAR, RESIZE_BOTTOM, 14, 444, 455, 14, 125, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 228, 455, 126, 187, 0x0, STR_NULL},
|
|
|
{ WWT_RESIZEBOX, RESIZE_TB, 14, 444, 455, 188, 199, 0x0, STR_RESIZE_BUTTON},
|
|
|
{ WWT_SCROLL2BAR, RESIZE_BOTTOM, 14, 444, 455, 14, 125, STR_NULL, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 228, 455, 126, 197, STR_NULL, STR_NULL},
|
|
|
{ WWT_RESIZEBOX, RESIZE_TB, 14, 444, 455, 198, 209, STR_NULL, STR_RESIZE_BUTTON},
|
|
|
{ WIDGETS_END},
|
|
|
};
|
|
|
|
|
|
static const Widget _replace_ship_aircraft_vehicle_widgets[] = {
|
|
|
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
|
|
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 443, 0, 13, STR_REPLACE_VEHICLES_WHITE, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
|
|
{ WWT_STICKYBOX, RESIZE_NONE, 14, 444, 455, 0, 13, 0x0, STR_STICKY_BUTTON},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 0, 227, 110, 161, 0x0, STR_NULL},
|
|
|
{ WWT_STICKYBOX, RESIZE_NONE, 14, 444, 455, 0, 13, STR_NULL, STR_STICKY_BUTTON},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 0, 227, 110, 161, STR_NULL, STR_NULL},
|
|
|
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 138, 162, 173, STR_REPLACE_VEHICLES_START, STR_REPLACE_HELP_START_BUTTON},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 139, 305, 162, 173, 0x0, STR_REPLACE_HELP_REPLACE_INFO_TAB},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 139, 305, 162, 173, STR_NULL, STR_REPLACE_HELP_REPLACE_INFO_TAB},
|
|
|
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 306, 443, 162, 173, STR_REPLACE_VEHICLES_STOP, STR_REPLACE_HELP_STOP_BUTTON},
|
|
|
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 0, 215, 14, 109, 0x401, STR_REPLACE_HELP_LEFT_ARRAY},
|
|
|
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 14, 216, 227, 14, 109, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
|
|
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 14, 216, 227, 14, 109, STR_NULL, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
|
|
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 228, 443, 14, 109, 0x401, STR_REPLACE_HELP_RIGHT_ARRAY},
|
|
|
{ WWT_SCROLL2BAR, RESIZE_BOTTOM, 14, 444, 455, 14, 109, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 228, 455, 110, 161, 0x0, STR_NULL},
|
|
|
{ WWT_RESIZEBOX, RESIZE_TB, 14, 444, 455, 162, 173, 0x0, STR_RESIZE_BUTTON},
|
|
|
{ WWT_SCROLL2BAR, RESIZE_BOTTOM, 14, 444, 455, 14, 109, STR_NULL, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
|
|
{ WWT_PANEL, RESIZE_TB, 14, 228, 455, 110, 161, STR_NULL, STR_NULL},
|
|
|
{ WWT_RESIZEBOX, RESIZE_TB, 14, 444, 455, 162, 173, STR_NULL, STR_RESIZE_BUTTON},
|
|
|
{ WIDGETS_END},
|
|
|
};
|
|
|
|
|
@@ -1024,7 +1024,7 @@ static const WindowDesc _replace_rail_ve
|
|
|
};
|
|
|
|
|
|
static const WindowDesc _replace_road_vehicle_desc = {
|
|
|
-1, -1, 456, 200,
|
|
|
-1, -1, 456, 210,
|
|
|
WC_REPLACE_VEHICLE,0,
|
|
|
WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS | WDF_STICKY_BUTTON | WDF_RESIZABLE,
|
|
|
_replace_road_vehicle_widgets,
|