summaryrefslogtreecommitdiff
path: root/airport_gui.c
diff options
context:
space:
mode:
Diffstat (limited to 'airport_gui.c')
-rw-r--r--airport_gui.c59
1 files changed, 37 insertions, 22 deletions
diff --git a/airport_gui.c b/airport_gui.c
index bad915960..333375409 100644
--- a/airport_gui.c
+++ b/airport_gui.c
@@ -159,12 +159,12 @@ static void BuildAirportPickerWndProc(Window *w, WindowEvent *e)
/* 'Country Airport' starts at widget 3, and if its bit is set, it is
* available, so take its opposite value to set the disabled_state. There
- * are only 5 available airports, so XOR with 0x1F (1 1111) */
- w->disabled_state = (avail_airports ^ 0x1F) << 3;
+ * are 9 buildable airports, so XOR with 0x01FF (1 1111 1111) */
+ w->disabled_state = (avail_airports ^ 0x01FF) << 7;
_selected_airport_type = sel;
- // select default the coverage area to 'Off' (8)
- w->click_state = ((1<<3) << sel) | ((1<<8) << _station_show_coverage);
+ // select default the coverage area to 'Off' (16)
+ w->click_state = ((1<<7) << sel) | ((1<<16) << _station_show_coverage);
airport = GetAirport(sel);
SetTileSelectSize(airport->size_x, airport->size_y);
@@ -176,6 +176,10 @@ static void BuildAirportPickerWndProc(Window *w, WindowEvent *e)
case AT_LARGE: rad = CA_AIR_LARGE; break;
case AT_METROPOLITAN: rad = CA_AIR_METRO; break;
case AT_INTERNATIONAL: rad = CA_AIR_INTER; break;
+ case AT_COMMUTER: rad = CA_AIR_COMMUTER; break;
+ case AT_HELIDEPOT: rad = CA_AIR_HELIDEPOT; break;
+ case AT_INTERCON: rad = CA_AIR_INTERCON; break;
+ case AT_HELISTATION: rad = CA_AIR_HELISTATION; break;
}
}
@@ -183,21 +187,24 @@ static void BuildAirportPickerWndProc(Window *w, WindowEvent *e)
DrawWindowWidgets(w);
// strings such as 'Size' and 'Coverage Area'
- DrawStringCentered(74, 16, STR_305B_SIZE, 0);
- DrawStringCentered(74, 78, STR_3066_COVERAGE_AREA_HIGHLIGHT, 0);
- DrawStationCoverageAreaText(2, 104, (uint)-1, rad);
+ DrawStringCentered(74, 16, STR_SMALL_AIRPORTS, 0);
+ DrawStringCentered(74, 54, STR_LARGE_AIRPORTS, 0);
+ DrawStringCentered(74, 92, STR_HUB_AIRPORTS, 0);
+ DrawStringCentered(74, 130, STR_HELIPORTS, 0);
+ DrawStringCentered(74, 180, STR_3066_COVERAGE_AREA_HIGHLIGHT, 0);
+ DrawStationCoverageAreaText(2, 206, (uint)-1, rad);
break;
}
case WE_CLICK: {
switch (e->click.widget) {
- case 3: case 4: case 5: case 6: case 7:
- _selected_airport_type = e->click.widget - 3;
+ case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15:
+ _selected_airport_type = e->click.widget - 7;
SndPlayFx(SND_15_BEEP);
SetWindowDirty(w);
break;
- case 8: case 9:
- _station_show_coverage = e->click.widget - 8;
+ case 16: case 17:
+ _station_show_coverage = e->click.widget - 16;
SndPlayFx(SND_15_BEEP);
SetWindowDirty(w);
break;
@@ -220,21 +227,29 @@ static void BuildAirportPickerWndProc(Window *w, WindowEvent *e)
}
static const Widget _build_airport_picker_widgets[] = {
-{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
-{ WWT_CAPTION, RESIZE_NONE, 7, 11, 147, 0, 13, STR_3001_AIRPORT_SELECTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
-{ WWT_PANEL, RESIZE_NONE, 7, 0, 147, 14, 130, 0x0, STR_NULL},
-{WWT_NODISTXTBTN, RESIZE_NONE, 14, 2, 73, 27, 38, STR_3059_SMALL, STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
-{WWT_NODISTXTBTN, RESIZE_NONE, 14, 74, 145, 27, 38, STR_305A_LARGE, STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
-{WWT_NODISTXTBTN, RESIZE_NONE, 14, 2, 145, 63, 74, STR_306B_HELIPORT, STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
-{WWT_NODISTXTBTN, RESIZE_NONE, 14, 2, 145, 39, 50, STR_305AA_LARGE, STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
-{WWT_NODISTXTBTN, RESIZE_NONE, 14, 2, 145, 51, 62, STR_305AB_LARGE, STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
-{ WWT_TEXTBTN, RESIZE_NONE, 14, 14, 73, 88, 98, STR_02DB_OFF, STR_3065_DON_T_HIGHLIGHT_COVERAGE},
-{ WWT_TEXTBTN, RESIZE_NONE, 14, 74, 133, 88, 98, STR_02DA_ON, STR_3064_HIGHLIGHT_COVERAGE_AREA},
+{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
+{ WWT_CAPTION, RESIZE_NONE, 7, 11, 147, 0, 13, STR_3001_AIRPORT_SELECTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
+{ WWT_PANEL, RESIZE_NONE, 7, 0, 147, 14, 52, 0x0, STR_NULL},
+{ WWT_PANEL, RESIZE_NONE, 7, 0, 147, 53, 89, 0x0, STR_NULL},
+{ WWT_PANEL, RESIZE_NONE, 7, 0, 147, 90, 127, 0x0, STR_NULL},
+{ WWT_PANEL, RESIZE_NONE, 7, 0, 147, 128, 177, 0x0, STR_NULL},
+{ WWT_PANEL, RESIZE_NONE, 7, 0, 147, 178, 239, 0x0, STR_NULL},
+{WWT_NODISTXTBTN, RESIZE_NONE, 14, 2, 145, 27, 38, STR_SMALL_AIRPORT, STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
+{WWT_NODISTXTBTN, RESIZE_NONE, 14, 2, 145, 65, 76, STR_CITY_AIRPORT, STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
+{WWT_NODISTXTBTN, RESIZE_NONE, 14, 2, 145, 141, 152, STR_HELIPORT, STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
+{WWT_NODISTXTBTN, RESIZE_NONE, 14, 2, 145, 77, 88, STR_METRO_AIRPORT , STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
+{WWT_NODISTXTBTN, RESIZE_NONE, 14, 2, 145, 103, 114, STR_INTERNATIONAL_AIRPORT, STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
+{WWT_NODISTXTBTN, RESIZE_NONE, 14, 2, 145, 39, 50, STR_COMMUTER_AIRPORT, STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
+{WWT_NODISTXTBTN, RESIZE_NONE, 14, 2, 145, 165, 176, STR_HELIDEPOT, STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
+{WWT_NODISTXTBTN, RESIZE_NONE, 14, 2, 145, 115, 126, STR_INTERCONTINENTAL_AIRPORT, STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
+{WWT_NODISTXTBTN, RESIZE_NONE, 14, 2, 145, 153, 164, STR_HELISTATION, STR_3058_SELECT_SIZE_TYPE_OF_AIRPORT},
+{ WWT_TEXTBTN, RESIZE_NONE, 14, 14, 73, 191, 202, STR_02DB_OFF, STR_3065_DON_T_HIGHLIGHT_COVERAGE},
+{ WWT_TEXTBTN, RESIZE_NONE, 14, 74, 133, 191, 202, STR_02DA_ON, STR_3064_HIGHLIGHT_COVERAGE_AREA},
{ WIDGETS_END},
};
static const WindowDesc _build_airport_desc = {
- -1, -1, 148, 131, // height, 130+1
+ -1, -1, 148, 240,
WC_BUILD_STATION,WC_BUILD_TOOLBAR,
WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
_build_airport_picker_widgets,