Changeset - r4344:bff007ae1fd1
[Not reviewed]
master
! ! !
rubidium - 18 years ago 2006-08-22 14:38:37
rubidium@openttd.org
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
28 files changed:
0 comments (0 inline, 0 general)
ai/default/default.c
Show inline comments
 
@@ -34,30 +34,30 @@ static uint _ai_service_interval;
 
typedef void AiStateAction(Player *p);
 

	
 
enum {
 
	AIS_0 = 0,
 
	AIS_1 = 1,
 
	AIS_VEH_LOOP = 2,
 
	AIS_VEH_CHECK_REPLACE_VEHICLE = 3,
 
	AIS_VEH_DO_REPLACE_VEHICLE = 4,
 
	AIS_WANT_NEW_ROUTE = 5,
 
	AIS_BUILD_DEFAULT_RAIL_BLOCKS = 6,
 
	AIS_BUILD_RAIL = 7,
 
	AIS_BUILD_RAIL_VEH = 8,
 
	AIS_DELETE_RAIL_BLOCKS = 9,
 
	AIS_BUILD_DEFAULT_ROAD_BLOCKS = 10,
 
	AIS_BUILD_ROAD = 11,
 
	AIS_BUILD_ROAD_VEHICLES = 12,
 
	AIS_DELETE_ROAD_BLOCKS = 13,
 
	AIS_AIRPORT_STUFF = 14,
 
	AIS_0                            =  0,
 
	AIS_1                            =  1,
 
	AIS_VEH_LOOP                     =  2,
 
	AIS_VEH_CHECK_REPLACE_VEHICLE    =  3,
 
	AIS_VEH_DO_REPLACE_VEHICLE       =  4,
 
	AIS_WANT_NEW_ROUTE               =  5,
 
	AIS_BUILD_DEFAULT_RAIL_BLOCKS    =  6,
 
	AIS_BUILD_RAIL                   =  7,
 
	AIS_BUILD_RAIL_VEH               =  8,
 
	AIS_DELETE_RAIL_BLOCKS           =  9,
 
	AIS_BUILD_DEFAULT_ROAD_BLOCKS    = 10,
 
	AIS_BUILD_ROAD                   = 11,
 
	AIS_BUILD_ROAD_VEHICLES          = 12,
 
	AIS_DELETE_ROAD_BLOCKS           = 13,
 
	AIS_AIRPORT_STUFF                = 14,
 
	AIS_BUILD_DEFAULT_AIRPORT_BLOCKS = 15,
 
	AIS_BUILD_AIRCRAFT_VEHICLES = 16,
 
	AIS_CHECK_SHIP_STUFF = 17,
 
	AIS_BUILD_DEFAULT_SHIP_BLOCKS = 18,
 
	AIS_DO_SHIP_STUFF = 19,
 
	AIS_SELL_VEHICLE = 20,
 
	AIS_REMOVE_STATION = 21,
 
	AIS_REMOVE_TRACK = 22,
 
	AIS_REMOVE_SINGLE_RAIL_TILE = 23
 
	AIS_BUILD_AIRCRAFT_VEHICLES      = 16,
 
	AIS_CHECK_SHIP_STUFF             = 17,
 
	AIS_BUILD_DEFAULT_SHIP_BLOCKS    = 18,
 
	AIS_DO_SHIP_STUFF                = 19,
 
	AIS_SELL_VEHICLE                 = 20,
 
	AIS_REMOVE_STATION               = 21,
 
	AIS_REMOVE_TRACK                 = 22,
 
	AIS_REMOVE_SINGLE_RAIL_TILE      = 23
 
};
 

	
 

	
 
@@ -1668,24 +1668,24 @@ static int AiBuildDefaultRailTrack(TileI
 

	
 
static const byte _terraform_up_flags[] = {
 
	14, 13, 12, 11,
 
	10, 9, 8, 7,
 
	6, 5, 4, 3,
 
	2, 1, 0, 1,
 
	2, 1, 4, 1,
 
	2, 1, 8, 1,
 
	2, 1, 4, 2,
 
	2, 1
 
	10,  9,  8,  7,
 
	 6,  5,  4,  3,
 
	 2,  1,  0,  1,
 
	 2,  1,  4,  1,
 
	 2,  1,  8,  1,
 
	 2,  1,  4,  2,
 
	 2,  1
 
};
 

	
 
static const byte _terraform_down_flags[] = {
 
	1, 2, 3, 4,
 
	5, 6, 1, 8,
 
	1,  2, 3,  4,
 
	5,  6, 1,  8,
 
	9, 10, 8, 12,
 
	4, 2, 0, 0,
 
	1, 2, 3, 4,
 
	5, 6, 2, 8,
 
	4,  2, 0,  0,
 
	1,  2, 3,  4,
 
	5,  6, 2,  8,
 
	9, 10, 1, 12,
 
	8, 4
 
	8,  4
 
};
 

	
 
static void AiDoTerraformLand(TileIndex tile, int dir, int unk, int mode)
 
@@ -1865,14 +1865,14 @@ typedef struct AiRailFinder {
 
} AiRailFinder;
 

	
 
static const byte _ai_table_15[4][8] = {
 
	{0, 0, 4, 3, 3, 1, 128+0, 64},
 
	{1, 1, 2, 0, 4, 2, 128+1, 65},
 
	{0, 2, 2, 3, 5, 1, 128+2, 66},
 
	{1, 3, 5, 0, 3, 2, 128+3, 67}
 
	{0, 0, 4, 3, 3, 1, 128 + 0, 64},
 
	{1, 1, 2, 0, 4, 2, 128 + 1, 65},
 
	{0, 2, 2, 3, 5, 1, 128 + 2, 66},
 
	{1, 3, 5, 0, 3, 2, 128 + 3, 67}
 
};
 

	
 
static const byte _dir_table_1[] = {3, 9, 12, 6};
 
static const byte _dir_table_2[] = {12, 6, 3, 9};
 
static const byte _dir_table_1[] = { 3, 9, 12, 6};
 
static const byte _dir_table_2[] = {12, 6,  3, 9};
 

	
 

	
 
static bool AiIsTileBanned(const Player* p, TileIndex tile, byte val)
 
@@ -2729,8 +2729,9 @@ typedef struct AiRoadEnum {
 
} AiRoadEnum;
 

	
 
static const byte _dir_by_track[] = {
 
	0,1,0,1,2,1, 0,0,
 
	2,3,3,2,3,0,
 
	0, 1, 0, 1, 2, 1,
 
	0, 0,
 
	2, 3, 3, 2, 3, 0,
 
};
 

	
 
static void AiBuildRoadRecursive(AiRoadFinder *arf, TileIndex tile, int dir);
aircraft_cmd.c
Show inline comments
 
@@ -1703,36 +1703,36 @@ static void AircraftEventHandler_HeliEnd
 

	
 
typedef void AircraftStateHandler(Vehicle *v, const AirportFTAClass *Airport);
 
static AircraftStateHandler * const _aircraft_state_handlers[] = {
 
	AircraftEventHandler_General,				// TO_ALL         =  0
 
	AircraftEventHandler_InHangar,			// HANGAR         =  1
 
	AircraftEventHandler_AtTerminal,		// TERM1          =  2
 
	AircraftEventHandler_AtTerminal,		// TERM2          =  3
 
	AircraftEventHandler_AtTerminal,		// TERM3          =  4
 
	AircraftEventHandler_AtTerminal,		// TERM4          =  5
 
	AircraftEventHandler_AtTerminal,		// TERM5          =  6
 
	AircraftEventHandler_AtTerminal,		// TERM6          =  7
 
	AircraftEventHandler_AtTerminal,		// HELIPAD1       =  8
 
	AircraftEventHandler_AtTerminal,		// HELIPAD2       =  9
 
	AircraftEventHandler_TakeOff,				// TAKEOFF        = 10
 
	AircraftEventHandler_StartTakeOff,	// STARTTAKEOFF   = 11
 
	AircraftEventHandler_EndTakeOff,		// ENDTAKEOFF     = 12
 
	AircraftEventHandler_HeliTakeOff,		// HELITAKEOFF    = 13
 
	AircraftEventHandler_Flying,				// FLYING         = 14
 
	AircraftEventHandler_Landing,				// LANDING        = 15
 
	AircraftEventHandler_EndLanding,		// ENDLANDING     = 16
 
	AircraftEventHandler_HeliLanding,		// HELILANDING    = 17
 
	AircraftEventHandler_HeliEndLanding,// HELIENDLANDING = 18
 
	AircraftEventHandler_AtTerminal,		// TERM7          =  19
 
	AircraftEventHandler_AtTerminal,		// TERM8          =  20
 
	AircraftEventHandler_AtTerminal,		// HELIPAD3       =  21
 
	AircraftEventHandler_AtTerminal,		// HELIPAD4       =  22
 
	AircraftEventHandler_General,        // TO_ALL         =  0
 
	AircraftEventHandler_InHangar,       // HANGAR         =  1
 
	AircraftEventHandler_AtTerminal,     // TERM1          =  2
 
	AircraftEventHandler_AtTerminal,     // TERM2          =  3
 
	AircraftEventHandler_AtTerminal,     // TERM3          =  4
 
	AircraftEventHandler_AtTerminal,     // TERM4          =  5
 
	AircraftEventHandler_AtTerminal,     // TERM5          =  6
 
	AircraftEventHandler_AtTerminal,     // TERM6          =  7
 
	AircraftEventHandler_AtTerminal,     // HELIPAD1       =  8
 
	AircraftEventHandler_AtTerminal,     // HELIPAD2       =  9
 
	AircraftEventHandler_TakeOff,        // TAKEOFF        = 10
 
	AircraftEventHandler_StartTakeOff,   // STARTTAKEOFF   = 11
 
	AircraftEventHandler_EndTakeOff,     // ENDTAKEOFF     = 12
 
	AircraftEventHandler_HeliTakeOff,    // HELITAKEOFF    = 13
 
	AircraftEventHandler_Flying,         // FLYING         = 14
 
	AircraftEventHandler_Landing,        // LANDING        = 15
 
	AircraftEventHandler_EndLanding,     // ENDLANDING     = 16
 
	AircraftEventHandler_HeliLanding,    // HELILANDING    = 17
 
	AircraftEventHandler_HeliEndLanding, // HELIENDLANDING = 18
 
	AircraftEventHandler_AtTerminal,     // TERM7          = 19
 
	AircraftEventHandler_AtTerminal,     // TERM8          = 20
 
	AircraftEventHandler_AtTerminal,     // HELIPAD3       = 21
 
	AircraftEventHandler_AtTerminal,     // HELIPAD4       = 22
 
};
 

	
 
static void AirportClearBlock(const Vehicle* v, const AirportFTAClass* Airport)
 
static void AirportClearBlock(const Vehicle *v, const AirportFTAClass *Airport)
 
{
 
	// we have left the previous block, and entered the new one. Free the previous block
 
	if (Airport->layout[v->u.air.previous_pos].block != Airport->layout[v->u.air.pos].block) {
 
		Station* st = GetStation(v->u.air.targetairport);
 
		Station *st = GetStation(v->u.air.targetairport);
 

	
 
		CLRBITS(st->airport_flags, Airport->layout[v->u.air.previous_pos].block);
 
	}
aircraft_gui.c
Show inline comments
 
@@ -224,14 +224,14 @@ static void NewAircraftWndProc(Window *w
 
}
 

	
 
static const Widget _new_aircraft_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,								STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   239,     0,    13, STR_A005_NEW_AIRCRAFT,		STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{     WWT_MATRIX, RESIZE_BOTTOM,    14,     0,   227,    14,   109, 0x401,										STR_A025_AIRCRAFT_SELECTION_LIST},
 
{  WWT_SCROLLBAR, RESIZE_BOTTOM,    14,   228,   239,    14,   109, 0x0,											STR_0190_SCROLL_BAR_SCROLLS_LIST},
 
{     WWT_IMGBTN,     RESIZE_TB,    14,     0,   239,   110,   181, 0x0,											STR_NULL},
 
{ WWT_PUSHTXTBTN,     RESIZE_TB,    14,     0,   114,   182,   193, STR_A006_BUILD_AIRCRAFT,	STR_A026_BUILD_THE_HIGHLIGHTED_AIRCRAFT},
 
{ WWT_PUSHTXTBTN,     RESIZE_TB,    14,   115,   227,   182,   193, STR_A037_RENAME,					STR_A038_RENAME_AIRCRAFT_TYPE},
 
{  WWT_RESIZEBOX,     RESIZE_TB,    14,   228,   239,   182,   193, 0x0,											STR_RESIZE_BUTTON},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,                STR_018B_CLOSE_WINDOW },
 
{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   239,     0,    13, STR_A005_NEW_AIRCRAFT,   STR_018C_WINDOW_TITLE_DRAG_THIS },
 
{     WWT_MATRIX, RESIZE_BOTTOM,    14,     0,   227,    14,   109, 0x401,                   STR_A025_AIRCRAFT_SELECTION_LIST },
 
{  WWT_SCROLLBAR, RESIZE_BOTTOM,    14,   228,   239,    14,   109, 0x0,                     STR_0190_SCROLL_BAR_SCROLLS_LIST },
 
{     WWT_IMGBTN,     RESIZE_TB,    14,     0,   239,   110,   181, 0x0,                     STR_NULL },
 
{ WWT_PUSHTXTBTN,     RESIZE_TB,    14,     0,   114,   182,   193, STR_A006_BUILD_AIRCRAFT, STR_A026_BUILD_THE_HIGHLIGHTED_AIRCRAFT },
 
{ WWT_PUSHTXTBTN,     RESIZE_TB,    14,   115,   227,   182,   193, STR_A037_RENAME,         STR_A038_RENAME_AIRCRAFT_TYPE },
 
{  WWT_RESIZEBOX,     RESIZE_TB,    14,   228,   239,   182,   193, 0x0,                     STR_RESIZE_BUTTON },
 
{   WIDGETS_END},
 
};
 

	
 
@@ -311,11 +311,11 @@ static void AircraftRefitWndProc(Window 
 
}
 

	
 
static const Widget _aircraft_refit_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,				STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   239,     0,    13, STR_A03C_REFIT,	STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   239,    14,   145, 0x0,							STR_A03E_SELECT_TYPE_OF_CARGO_FOR},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   239,   146,   167, 0x0,							STR_NULL},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,     0,   239,   168,   179, STR_A03D_REFIT_AIRCRAFT, STR_A03F_REFIT_AIRCRAFT_TO_CARRY},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,                STR_018B_CLOSE_WINDOW },
 
{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   239,     0,    13, STR_A03C_REFIT,          STR_018C_WINDOW_TITLE_DRAG_THIS },
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   239,    14,   145, 0x0,                     STR_A03E_SELECT_TYPE_OF_CARGO_FOR },
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   239,   146,   167, 0x0,                     STR_NULL },
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,     0,   239,   168,   179, STR_A03D_REFIT_AIRCRAFT, STR_A03F_REFIT_AIRCRAFT_TO_CARRY },
 
{   WIDGETS_END},
 
};
 

	
 
@@ -467,20 +467,20 @@ do_change_service_int:
 

	
 

	
 
static const Widget _aircraft_details_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,					STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   349,     0,    13, STR_A00C_DETAILS,	STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,   350,   389,     0,    13, STR_01AA_NAME,			STR_A032_NAME_AIRCRAFT},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   389,    14,    55, 0x0,								STR_NULL},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   389,    56,   101, 0x0,								STR_NULL},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,     0,    10,   102,   107, STR_0188,					STR_884D_INCREASE_SERVICING_INTERVAL},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,     0,    10,   108,   113, STR_0189,					STR_884E_DECREASE_SERVICING_INTERVAL},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,    11,   389,   102,   113, 0x0,								STR_NULL},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,         STR_018B_CLOSE_WINDOW },
 
{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   349,     0,    13, STR_A00C_DETAILS, STR_018C_WINDOW_TITLE_DRAG_THIS },
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,   350,   389,     0,    13, STR_01AA_NAME,    STR_A032_NAME_AIRCRAFT },
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   389,    14,    55, 0x0,              STR_NULL },
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   389,    56,   101, 0x0,              STR_NULL },
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,     0,    10,   102,   107, STR_0188,         STR_884D_INCREASE_SERVICING_INTERVAL },
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,     0,    10,   108,   113, STR_0189,         STR_884E_DECREASE_SERVICING_INTERVAL },
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,    11,   389,   102,   113, 0x0,              STR_NULL },
 
{   WIDGETS_END},
 
};
 

	
 
static const WindowDesc _aircraft_details_desc = {
 
	-1,-1, 390, 114,
 
	WC_VEHICLE_DETAILS,WC_VEHICLE_VIEW,
 
	-1, -1, 390, 114,
 
	WC_VEHICLE_DETAILS, WC_VEHICLE_VIEW,
 
	WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
 
	_aircraft_details_widgets,
 
	AircraftDetailsWndProc
 
@@ -505,21 +505,21 @@ static void ShowAircraftDetailsWindow(co
 

	
 

	
 
static const Widget _aircraft_view_widgets[] = {
 
{ WWT_CLOSEBOX,   RESIZE_NONE,  14,   0,  10,   0,  13, STR_00C5, STR_018B_CLOSE_WINDOW },
 
{ WWT_CAPTION,    RESIZE_RIGHT, 14,  11, 237,   0,  13, STR_A00A, STR_018C_WINDOW_TITLE_DRAG_THIS },
 
{ WWT_STICKYBOX,  RESIZE_LR,    14, 238, 249,   0,  13, 0x0,      STR_STICKY_BUTTON },
 
{ WWT_IMGBTN,     RESIZE_RB,    14,   0, 231,  14, 103, 0x0,      STR_NULL },
 
{ WWT_6,          RESIZE_RB,    14,   2, 229,  16, 101, 0x0,      STR_NULL },
 
{ WWT_PUSHIMGBTN, RESIZE_RTB,   14,   0, 237, 104, 115, 0x0,      STR_A027_CURRENT_AIRCRAFT_ACTION },
 
{ WWT_PUSHIMGBTN, RESIZE_LR,    14, 232, 249,  14,  31, 0x2AB,    STR_A029_CENTER_MAIN_VIEW_ON_AIRCRAFT },
 
{ WWT_PUSHIMGBTN, RESIZE_LR,    14, 232, 249,  32,  49, 0x2AF,    STR_A02A_SEND_AIRCRAFT_TO_HANGAR },
 
{ WWT_PUSHIMGBTN, RESIZE_LR,    14, 232, 249,  50,  67, 0x2B4,    STR_A03B_REFIT_AIRCRAFT_TO_CARRY },
 
{ WWT_PUSHIMGBTN, RESIZE_LR,    14, 232, 249,  68,  85, 0x2B2,    STR_A028_SHOW_AIRCRAFT_S_ORDERS },
 
{ WWT_PUSHIMGBTN, RESIZE_LR,    14, 232, 249,  86, 103, 0x2B3,    STR_A02B_SHOW_AIRCRAFT_DETAILS },
 
{ WWT_PUSHIMGBTN, RESIZE_LR,    14, 232, 249,  32,  49, SPR_CLONE_AIRCRAFT,      STR_CLONE_AIRCRAFT_INFO },
 
{ WWT_PANEL,      RESIZE_LRB,   14, 232, 249, 104, 103, 0x0,      STR_NULL },
 
{ WWT_RESIZEBOX,  RESIZE_LRTB,  14, 238, 249, 104, 115, 0x0,      STR_NULL },
 
{ WIDGETS_END }
 
{   WWT_CLOSEBOX,  RESIZE_NONE,  14,   0,  10,   0,  13, STR_00C5,           STR_018B_CLOSE_WINDOW },
 
{    WWT_CAPTION, RESIZE_RIGHT,  14,  11, 237,   0,  13, STR_A00A,           STR_018C_WINDOW_TITLE_DRAG_THIS },
 
{  WWT_STICKYBOX,    RESIZE_LR,  14, 238, 249,   0,  13, 0x0,                STR_STICKY_BUTTON },
 
{     WWT_IMGBTN,    RESIZE_RB,  14,   0, 231,  14, 103, 0x0,                STR_NULL },
 
{          WWT_6,    RESIZE_RB,  14,   2, 229,  16, 101, 0x0,                STR_NULL },
 
{ WWT_PUSHIMGBTN,   RESIZE_RTB,  14,   0, 237, 104, 115, 0x0,                STR_A027_CURRENT_AIRCRAFT_ACTION },
 
{ WWT_PUSHIMGBTN,    RESIZE_LR,  14, 232, 249,  14,  31, 0x2AB,              STR_A029_CENTER_MAIN_VIEW_ON_AIRCRAFT },
 
{ WWT_PUSHIMGBTN,    RESIZE_LR,  14, 232, 249,  32,  49, 0x2AF,              STR_A02A_SEND_AIRCRAFT_TO_HANGAR },
 
{ WWT_PUSHIMGBTN,    RESIZE_LR,  14, 232, 249,  50,  67, 0x2B4,              STR_A03B_REFIT_AIRCRAFT_TO_CARRY },
 
{ WWT_PUSHIMGBTN,    RESIZE_LR,  14, 232, 249,  68,  85, 0x2B2,              STR_A028_SHOW_AIRCRAFT_S_ORDERS },
 
{ WWT_PUSHIMGBTN,    RESIZE_LR,  14, 232, 249,  86, 103, 0x2B3,              STR_A02B_SHOW_AIRCRAFT_DETAILS },
 
{ WWT_PUSHIMGBTN,    RESIZE_LR,  14, 232, 249,  32,  49, SPR_CLONE_AIRCRAFT, STR_CLONE_AIRCRAFT_INFO },
 
{      WWT_PANEL,   RESIZE_LRB,  14, 232, 249, 104, 103, 0x0,                STR_NULL },
 
{  WWT_RESIZEBOX,  RESIZE_LRTB,  14, 238, 249, 104, 115, 0x0,                STR_NULL },
 
{   WIDGETS_END},
 
};
 

	
 

	
 
@@ -907,19 +907,19 @@ static void AircraftDepotWndProc(Window 
 
}
 

	
 
static const Widget _aircraft_depot_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,									STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,  RESIZE_RIGHT,    14,    11,   318,     0,    13, STR_A002_AIRCRAFT_HANGAR,	STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{  WWT_STICKYBOX,     RESIZE_LR,    14,   319,   330,     0,    13, 0x0,											STR_STICKY_BUTTON},
 
{      WWT_PANEL,    RESIZE_LRB,    14,   296,   318,    14,    13, 0x0,													STR_NULL},
 
{     WWT_IMGBTN,   RESIZE_LRTB,    14,   296,   318,    14,    61, 0x2A9,										STR_A023_DRAG_AIRCRAFT_TO_HERE_TO},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,                 STR_018B_CLOSE_WINDOW },
 
{    WWT_CAPTION,  RESIZE_RIGHT,    14,    11,   318,     0,    13, STR_A002_AIRCRAFT_HANGAR, STR_018C_WINDOW_TITLE_DRAG_THIS },
 
{  WWT_STICKYBOX,     RESIZE_LR,    14,   319,   330,     0,    13, 0x0,                      STR_STICKY_BUTTON },
 
{      WWT_PANEL,    RESIZE_LRB,    14,   296,   318,    14,    13, 0x0,                      STR_NULL },
 
{     WWT_IMGBTN,   RESIZE_LRTB,    14,   296,   318,    14,    61, 0x2A9,                    STR_A023_DRAG_AIRCRAFT_TO_HERE_TO },
 

	
 
{     WWT_MATRIX,     RESIZE_RB,    14,     0,   295,    14,    61, 0x204,										STR_A021_AIRCRAFT_CLICK_ON_AIRCRAFT},
 
{  WWT_SCROLLBAR,    RESIZE_LRB,    14,   319,   330,    14,    61, 0x0,											STR_0190_SCROLL_BAR_SCROLLS_LIST},
 
{ WWT_PUSHTXTBTN,     RESIZE_TB,    14,     0,   105,    62,    73, STR_A003_NEW_AIRCRAFT,		STR_A022_BUILD_NEW_AIRCRAFT},
 
{WWT_NODISTXTBTN,     RESIZE_TB,    14,   106,   212,    62,    73, STR_CLONE_AIRCRAFT,		STR_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW},
 
{ WWT_PUSHTXTBTN,     RESIZE_TB,    14,   213,   318,    62,    73, STR_00E4_LOCATION,				STR_A024_CENTER_MAIN_VIEW_ON_HANGAR},
 
{      WWT_PANEL,    RESIZE_RTB,    14,   319,   318,    62,    73, 0x0,													STR_NULL},
 
{  WWT_RESIZEBOX,   RESIZE_LRTB,    14,   319,   330,    62,    73, 0x0,											STR_RESIZE_BUTTON},
 
{     WWT_MATRIX,     RESIZE_RB,    14,     0,   295,    14,    61, 0x204,                    STR_A021_AIRCRAFT_CLICK_ON_AIRCRAFT },
 
{  WWT_SCROLLBAR,    RESIZE_LRB,    14,   319,   330,    14,    61, 0x0,                      STR_0190_SCROLL_BAR_SCROLLS_LIST },
 
{ WWT_PUSHTXTBTN,     RESIZE_TB,    14,     0,   105,    62,    73, STR_A003_NEW_AIRCRAFT,    STR_A022_BUILD_NEW_AIRCRAFT },
 
{WWT_NODISTXTBTN,     RESIZE_TB,    14,   106,   212,    62,    73, STR_CLONE_AIRCRAFT,       STR_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW },
 
{ WWT_PUSHTXTBTN,     RESIZE_TB,    14,   213,   318,    62,    73, STR_00E4_LOCATION,        STR_A024_CENTER_MAIN_VIEW_ON_HANGAR },
 
{      WWT_PANEL,    RESIZE_RTB,    14,   319,   318,    62,    73, 0x0,                      STR_NULL },
 
{  WWT_RESIZEBOX,   RESIZE_LRTB,    14,   319,   330,    62,    73, 0x0,                      STR_RESIZE_BUTTON },
 
{   WIDGETS_END},
 
};
 

	
 
@@ -971,34 +971,34 @@ static void DrawSmallOrderList(const Veh
 

	
 

	
 
static const Widget _player_aircraft_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,							STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,  RESIZE_RIGHT,    14,    11,   247,     0,    13, STR_A009_AIRCRAFT,			STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{  WWT_STICKYBOX,     RESIZE_LR,    14,   248,   259,     0,    13, 0x0,                   STR_STICKY_BUTTON},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,     0,    80,    14,    25, STR_SORT_BY,						STR_SORT_ORDER_TIP},
 
{      WWT_PANEL,   RESIZE_NONE,    14,    81,   235,    14,    25, 0x0,										STR_SORT_CRITERIA_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,   236,   247,    14,    25, STR_0225,							STR_SORT_CRITERIA_TIP},
 
{      WWT_PANEL,  RESIZE_RIGHT,    14,   248,   259,    14,    25, 0x0,										STR_NULL},
 
{     WWT_MATRIX,     RESIZE_RB,    14,     0,   247,    26,   169, 0x401,									STR_A01F_AIRCRAFT_CLICK_ON_AIRCRAFT},
 
{  WWT_SCROLLBAR,    RESIZE_LRB,    14,   248,   259,    26,   169, 0x0,										STR_0190_SCROLL_BAR_SCROLLS_LIST},
 
{ WWT_PUSHTXTBTN,     RESIZE_TB,    14,     0,   124,   170,   181, STR_A003_NEW_AIRCRAFT,	STR_A020_BUILD_NEW_AIRCRAFT_REQUIRES},
 
{ WWT_PUSHTXTBTN,     RESIZE_TB,    14,   125,   247,   170,   181, STR_REPLACE_VEHICLES,						STR_REPLACE_HELP},
 
{      WWT_PANEL,    RESIZE_RTB,    14,   248,   247,   170,   181, 0x0,											STR_NULL},
 
{  WWT_RESIZEBOX,   RESIZE_LRTB,    14,   248,   259,   170,   181, 0x0,											STR_RESIZE_BUTTON},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,              STR_018B_CLOSE_WINDOW },
 
{    WWT_CAPTION,  RESIZE_RIGHT,    14,    11,   247,     0,    13, STR_A009_AIRCRAFT,     STR_018C_WINDOW_TITLE_DRAG_THIS },
 
{  WWT_STICKYBOX,     RESIZE_LR,    14,   248,   259,     0,    13, 0x0,                   STR_STICKY_BUTTON },
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,     0,    80,    14,    25, STR_SORT_BY,           STR_SORT_ORDER_TIP },
 
{      WWT_PANEL,   RESIZE_NONE,    14,    81,   235,    14,    25, 0x0,                   STR_SORT_CRITERIA_TIP },
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,   236,   247,    14,    25, STR_0225,              STR_SORT_CRITERIA_TIP },
 
{      WWT_PANEL,  RESIZE_RIGHT,    14,   248,   259,    14,    25, 0x0,                   STR_NULL },
 
{     WWT_MATRIX,     RESIZE_RB,    14,     0,   247,    26,   169, 0x401,                 STR_A01F_AIRCRAFT_CLICK_ON_AIRCRAFT },
 
{  WWT_SCROLLBAR,    RESIZE_LRB,    14,   248,   259,    26,   169, 0x0,                   STR_0190_SCROLL_BAR_SCROLLS_LIST },
 
{ WWT_PUSHTXTBTN,     RESIZE_TB,    14,     0,   124,   170,   181, STR_A003_NEW_AIRCRAFT, STR_A020_BUILD_NEW_AIRCRAFT_REQUIRES },
 
{ WWT_PUSHTXTBTN,     RESIZE_TB,    14,   125,   247,   170,   181, STR_REPLACE_VEHICLES,  STR_REPLACE_HELP },
 
{      WWT_PANEL,    RESIZE_RTB,    14,   248,   247,   170,   181, 0x0,                   STR_NULL },
 
{  WWT_RESIZEBOX,   RESIZE_LRTB,    14,   248,   259,   170,   181, 0x0,                   STR_RESIZE_BUTTON },
 
{   WIDGETS_END},
 
};
 

	
 
static const Widget _other_player_aircraft_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,							STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,  RESIZE_RIGHT,    14,    11,   247,     0,    13, STR_A009_AIRCRAFT,			STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{  WWT_STICKYBOX,     RESIZE_LR,    14,   248,   259,     0,    13, 0x0,                   STR_STICKY_BUTTON},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,     0,    80,    14,    25, STR_SORT_BY,						STR_SORT_ORDER_TIP},
 
{      WWT_PANEL,   RESIZE_NONE,    14,    81,   235,    14,    25, 0x0,										STR_SORT_CRITERIA_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,   236,   247,    14,    25, STR_0225,							STR_SORT_CRITERIA_TIP},
 
{      WWT_PANEL,  RESIZE_RIGHT,    14,   248,   259,    14,    25, 0x0,										STR_NULL},
 
{     WWT_MATRIX,     RESIZE_RB,    14,     0,   247,    26,   169, 0x401,									STR_A01F_AIRCRAFT_CLICK_ON_AIRCRAFT},
 
{  WWT_SCROLLBAR,    RESIZE_LRB,    14,   248,   259,    26,   169, 0x0,										STR_0190_SCROLL_BAR_SCROLLS_LIST},
 
{      WWT_PANEL,    RESIZE_RTB,    14,     0,   247,   170,   181, 0x0,											STR_NULL},
 
{  WWT_RESIZEBOX,   RESIZE_LRTB,    14,   248,   259,   170,   181, 0x0,											STR_RESIZE_BUTTON},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,              STR_018B_CLOSE_WINDOW },
 
{    WWT_CAPTION,  RESIZE_RIGHT,    14,    11,   247,     0,    13, STR_A009_AIRCRAFT,     STR_018C_WINDOW_TITLE_DRAG_THIS },
 
{  WWT_STICKYBOX,     RESIZE_LR,    14,   248,   259,     0,    13, 0x0,                   STR_STICKY_BUTTON },
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,     0,    80,    14,    25, STR_SORT_BY,           STR_SORT_ORDER_TIP },
 
{      WWT_PANEL,   RESIZE_NONE,    14,    81,   235,    14,    25, 0x0,                   STR_SORT_CRITERIA_TIP },
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,   236,   247,    14,    25, STR_0225,              STR_SORT_CRITERIA_TIP },
 
{      WWT_PANEL,  RESIZE_RIGHT,    14,   248,   259,    14,    25, 0x0,                   STR_NULL },
 
{     WWT_MATRIX,     RESIZE_RB,    14,     0,   247,    26,   169, 0x401,                 STR_A01F_AIRCRAFT_CLICK_ON_AIRCRAFT },
 
{  WWT_SCROLLBAR,    RESIZE_LRB,    14,   248,   259,    26,   169, 0x0,                   STR_0190_SCROLL_BAR_SCROLLS_LIST },
 
{      WWT_PANEL,    RESIZE_RTB,    14,     0,   247,   170,   181, 0x0,                   STR_NULL },
 
{  WWT_RESIZEBOX,   RESIZE_LRTB,    14,   248,   259,   170,   181, 0x0,                   STR_RESIZE_BUTTON },
 
{   WIDGETS_END},
 
};
 

	
airport.h
Show inline comments
 
@@ -3,22 +3,22 @@
 
#ifndef AIRPORT_H
 
#define AIRPORT_H
 

	
 
enum {MAX_TERMINALS = 10};
 
enum {MAX_HELIPADS  = 4};
 
enum {MAX_TERMINALS =  10};
 
enum {MAX_HELIPADS  =   4};
 
enum {MAX_ELEMENTS  = 255};
 
enum {MAX_HEADINGS  = 22};
 
enum {MAX_HEADINGS  =  22};
 

	
 
// Airport types
 
enum {
 
	AT_SMALL         = 0,
 
	AT_LARGE         = 1,
 
	AT_HELIPORT      = 2,
 
	AT_METROPOLITAN  = 3,
 
	AT_INTERNATIONAL = 4,
 
	AT_COMMUTER      = 5,
 
	AT_HELIDEPOT     = 6,
 
	AT_INTERCON      = 7,
 
	AT_HELISTATION   = 8,
 
	AT_SMALL         =  0,
 
	AT_LARGE         =  1,
 
	AT_HELIPORT      =  2,
 
	AT_METROPOLITAN  =  3,
 
	AT_INTERNATIONAL =  4,
 
	AT_COMMUTER      =  5,
 
	AT_HELIDEPOT     =  6,
 
	AT_INTERCON      =  7,
 
	AT_HELISTATION   =  8,
 
	AT_OILRIG        = 15
 
};
 

	
 
@@ -30,28 +30,28 @@ enum {
 
};
 

	
 
enum {
 
	AMED_NOSPDCLAMP = 1<<0,
 
	AMED_TAKEOFF    = 1<<1,
 
	AMED_SLOWTURN   = 1<<2,
 
	AMED_LAND       = 1<<3,
 
	AMED_EXACTPOS   = 1<<4,
 
	AMED_BRAKE      = 1<<5,
 
	AMED_HELI_RAISE = 1<<6,
 
	AMED_HELI_LOWER = 1<<7,
 
	AMED_NOSPDCLAMP = 1 << 0,
 
	AMED_TAKEOFF    = 1 << 1,
 
	AMED_SLOWTURN   = 1 << 2,
 
	AMED_LAND       = 1 << 3,
 
	AMED_EXACTPOS   = 1 << 4,
 
	AMED_BRAKE      = 1 << 5,
 
	AMED_HELI_RAISE = 1 << 6,
 
	AMED_HELI_LOWER = 1 << 7,
 
};
 

	
 
/* Movement States on Airports (headings target) */
 
enum {
 
	TO_ALL         = 0,
 
	HANGAR         = 1,
 
	TERM1          = 2,
 
	TERM2          = 3,
 
	TERM3          = 4,
 
	TERM4          = 5,
 
	TERM5          = 6,
 
	TERM6          = 7,
 
	HELIPAD1       = 8,
 
	HELIPAD2       = 9,
 
	TO_ALL         =  0,
 
	HANGAR         =  1,
 
	TERM1          =  2,
 
	TERM2          =  3,
 
	TERM3          =  4,
 
	TERM4          =  5,
 
	TERM5          =  6,
 
	TERM6          =  7,
 
	HELIPAD1       =  8,
 
	HELIPAD2       =  9,
 
	TAKEOFF        = 10,
 
	STARTTAKEOFF   = 11,
 
	ENDTAKEOFF     = 12,
 
@@ -75,18 +75,18 @@ static const byte _airport_terminal_flag
 
/* Movement Blocks on Airports */
 
// blocks (eg_airport_flags)
 
enum {
 
	TERM1_block              = 1 << 0,
 
	TERM2_block              = 1 << 1,
 
	TERM3_block              = 1 << 2,
 
	TERM4_block              = 1 << 3,
 
	TERM5_block              = 1 << 4,
 
	TERM6_block              = 1 << 5,
 
	HELIPAD1_block           = 1 << 6,
 
	HELIPAD2_block           = 1 << 7,
 
	RUNWAY_IN_OUT_block      = 1 << 8,
 
	RUNWAY_IN_block          = 1 << 8,
 
	AIRPORT_BUSY_block       = 1 << 8,
 
	RUNWAY_OUT_block         = 1 << 9,
 
	TERM1_block              = 1 <<  0,
 
	TERM2_block              = 1 <<  1,
 
	TERM3_block              = 1 <<  2,
 
	TERM4_block              = 1 <<  3,
 
	TERM5_block              = 1 <<  4,
 
	TERM6_block              = 1 <<  5,
 
	HELIPAD1_block           = 1 <<  6,
 
	HELIPAD2_block           = 1 <<  7,
 
	RUNWAY_IN_OUT_block      = 1 <<  8,
 
	RUNWAY_IN_block          = 1 <<  8,
 
	AIRPORT_BUSY_block       = 1 <<  8,
 
	RUNWAY_OUT_block         = 1 <<  9,
 
	TAXIWAY_BUSY_block       = 1 << 10,
 
	OUT_WAY_block            = 1 << 11,
 
	IN_WAY_block             = 1 << 12,
airport_gui.c
Show inline comments
 
@@ -113,12 +113,12 @@ static void BuildAirToolbWndProc(Window 
 
}
 

	
 
static const Widget _air_toolbar_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,							STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,    73,     0,    13, STR_A000_AIRPORTS,			STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{  WWT_STICKYBOX,   RESIZE_NONE,     7,    74,    85,     0,    13, 0x0,                   STR_STICKY_BUTTON},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,    41,    14,    35, 0x2E8,									STR_A01E_BUILD_AIRPORT},
 
{      WWT_PANEL,   RESIZE_NONE,     7,    42,    63,    14,    35, 0x2BF,									STR_018D_DEMOLISH_BUILDINGS_ETC},
 
{      WWT_PANEL,   RESIZE_NONE,     7,    64,    85,    14,    35, SPR_IMG_LANDSCAPING,	STR_LANDSCAPING_TOOLBAR_TIP},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,            STR_018B_CLOSE_WINDOW },
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,    73,     0,    13, STR_A000_AIRPORTS,   STR_018C_WINDOW_TITLE_DRAG_THIS },
 
{  WWT_STICKYBOX,   RESIZE_NONE,     7,    74,    85,     0,    13, 0x0,                 STR_STICKY_BUTTON },
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,    41,    14,    35, 0x2E8,               STR_A01E_BUILD_AIRPORT },
 
{      WWT_PANEL,   RESIZE_NONE,     7,    42,    63,    14,    35, 0x2BF,               STR_018D_DEMOLISH_BUILDINGS_ETC },
 
{      WWT_PANEL,   RESIZE_NONE,     7,    64,    85,    14,    35, SPR_IMG_LANDSCAPING, STR_LANDSCAPING_TOOLBAR_TIP },
 
{   WIDGETS_END},
 
};
 

	
airport_movement.h
Show inline comments
 
@@ -7,364 +7,364 @@
 
// state machine input struct (from external file, etc.)
 
// Finite sTate mAchine --> FTA
 
typedef struct AirportFTAbuildup {
 
	byte position;							// the position that an airplane is at
 
	byte heading;								// the current orders (eg. TAKEOFF, HANGAR, ENDLANDING, etc.)
 
	uint32 block;								// the block this position is on on the airport (st->airport_flags)
 
	byte next_in_chain;					// next position from this position
 
	byte position;      // the position that an airplane is at
 
	byte heading;       // the current orders (eg. TAKEOFF, HANGAR, ENDLANDING, etc.)
 
	uint32 block;       // the block this position is on on the airport (st->airport_flags)
 
	byte next_in_chain; // next position from this position
 
} AirportFTAbuildup;
 

	
 
///////////////////////////////////////////////////////////////////////
 
/////*********Movement Positions on Airports********************///////
 
// Country Airfield (small) 4x3
 
static const AirportMovingData _airport_moving_data_country[22] = {
 
	{ 53, 3,AMED_EXACTPOS,3},											// 00 In Hangar
 
	{ 53, 27,0,0},																// 01 Taxi to right outside depot
 
	{ 32, 23,AMED_EXACTPOS,7},										// 02 Terminal 1
 
	{ 10, 23,AMED_EXACTPOS,7},										// 03 Terminal 2
 
	{ 43, 37,0,0},																// 04 Going towards terminal 2
 
	{ 24, 37,0,0},																// 05 Going towards terminal 2
 
	{ 53, 37,0,0},																// 06 Going for takeoff
 
	{ 61, 40,AMED_EXACTPOS,1},										// 07 Taxi to start of runway (takeoff)
 
	{  3, 40,AMED_NOSPDCLAMP,0},									// 08 Accelerate to end of runway
 
	{-79, 40,AMED_NOSPDCLAMP | AMED_TAKEOFF,0},		// 09 Take off
 
	{177, 40,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 10 Fly to landing position in air
 
	{ 56, 40,AMED_NOSPDCLAMP | AMED_LAND,0},			// 11 Going down for land
 
	{  3, 40,AMED_NOSPDCLAMP | AMED_BRAKE,0},			// 12 Just landed, brake until end of runway
 
	{  7, 40,0,0},																// 13 Just landed, turn around and taxi 1 square
 
	{ 53, 40,0,0},																// 14 Taxi from runway to crossing
 
	{-31,193,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 15 Fly around waiting for a landing spot (north-east)
 
	{  1,  1,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 16 Fly around waiting for a landing spot (north-west)
 
	{257,  1,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 17 Fly around waiting for a landing spot (south-west)
 
	{273, 49,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 18 Fly around waiting for a landing spot (south)
 
	{ 44, 37,AMED_HELI_RAISE,0},									// 19 Helicopter takeoff
 
	{ 44, 40,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 20 In position above landing spot helicopter
 
	{ 44, 40,AMED_HELI_LOWER,0}										// 21 Helicopter landing
 
	{   53,    3, AMED_EXACTPOS,                   3 }, // 00 In Hangar
 
	{   53,   27, 0,                               0 }, // 01 Taxi to right outside depot
 
	{   32,   23, AMED_EXACTPOS,                   7 }, // 02 Terminal 1
 
	{   10,   23, AMED_EXACTPOS,                   7 }, // 03 Terminal 2
 
	{   43,   37, 0,                               0 }, // 04 Going towards terminal 2
 
	{   24,   37, 0,                               0 }, // 05 Going towards terminal 2
 
	{   53,   37, 0,                               0 }, // 06 Going for takeoff
 
	{   61,   40, AMED_EXACTPOS,                   1 }, // 07 Taxi to start of runway (takeoff)
 
	{    3,   40, AMED_NOSPDCLAMP,                 0 }, // 08 Accelerate to end of runway
 
	{  -79,   40, AMED_NOSPDCLAMP | AMED_TAKEOFF,  0 }, // 09 Take off
 
	{  177,   40, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 10 Fly to landing position in air
 
	{   56,   40, AMED_NOSPDCLAMP | AMED_LAND,     0 }, // 11 Going down for land
 
	{    3,   40, AMED_NOSPDCLAMP | AMED_BRAKE,    0 }, // 12 Just landed, brake until end of runway
 
	{    7,   40, 0,                               0 }, // 13 Just landed, turn around and taxi 1 square
 
	{   53,   40, 0,                               0 }, // 14 Taxi from runway to crossing
 
	{  -31,  193, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 15 Fly around waiting for a landing spot (north-east)
 
	{    1,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 16 Fly around waiting for a landing spot (north-west)
 
	{  257,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 17 Fly around waiting for a landing spot (south-west)
 
	{  273,   49, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 18 Fly around waiting for a landing spot (south)
 
	{   44,   37, AMED_HELI_RAISE,                 0 }, // 19 Helicopter takeoff
 
	{   44,   40, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 20 In position above landing spot helicopter
 
	{   44,   40, AMED_HELI_LOWER,                 0 }, // 21 Helicopter landing
 
};
 

	
 
// Commuter Airfield (small) 5x4
 
static const AirportMovingData _airport_moving_data_commuter[37] = {
 
	{ 69,  3, AMED_EXACTPOS,3},										// 00 In Hangar
 
	{ 72, 22,0,0},																// 01 Taxi to right outside depot
 
	{ 8,  22, AMED_EXACTPOS,5},																// 01 Taxi to right outside depot
 
	{ 24, 36,AMED_EXACTPOS,3},			// 03 Terminal 1
 
	{ 40, 36,AMED_EXACTPOS,3},			// 04 Terminal 2
 
	{ 56, 36,AMED_EXACTPOS,3},			// 05 Terminal 3
 
	{ 40, 8,AMED_EXACTPOS,1},			// 06 Helipad 1
 
	{ 56, 8,AMED_EXACTPOS,1},			// 07 Helipad 2
 
	{ 24, 22,0,5},					// 08 Taxiing
 
	{ 40, 22,0,5},					// 09 Taxiing
 
	{ 56, 22,0,5},					// 10 Taxiing
 
	{ 72, 40,0,3},					// 11 Airport OUTWAY
 
	{ 72, 54,AMED_EXACTPOS,1},			// 12 Accelerate to end of runway
 
	{  7, 54,AMED_NOSPDCLAMP,0},			// 13 Release control of runway, for smoother movement
 
	{  5, 54,AMED_NOSPDCLAMP,0},			// 14 End of runway
 
	{-79, 54,AMED_NOSPDCLAMP | AMED_TAKEOFF,0},	// 15 Take off
 
	{145, 54,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 16 Fly to landing position in air
 
	{ 73, 54,AMED_NOSPDCLAMP | AMED_LAND,0},	// 17 Going down for land
 
	{  3, 54,AMED_NOSPDCLAMP | AMED_BRAKE,0},	// 18 Just landed, brake until end of runway
 
	{ 12, 54,0,7},					// 19 Just landed, turn around and taxi
 
	{  8, 32,0,7},					// 20 Taxi from runway to crossing
 
	{-31,149,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 21 Fly around waiting for a landing spot (north-east)
 
	{  1,  6,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 22 Fly around waiting for a landing spot (north-west)
 
	{193,  6,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 23 Fly around waiting for a landing spot (south-west)
 
	{225, 81,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 24 Fly around waiting for a landing spot (south)
 
	{   69,    3, AMED_EXACTPOS,                   3 }, // 00 In Hangar
 
	{   72,   22, 0,                               0 }, // 01 Taxi to right outside depot
 
	{    8,   22, AMED_EXACTPOS,                   5 }, // 01 Taxi to right outside depot
 
	{   24,   36, AMED_EXACTPOS,                   3 }, // 03 Terminal 1
 
	{   40,   36, AMED_EXACTPOS,                   3 }, // 04 Terminal 2
 
	{   56,   36, AMED_EXACTPOS,                   3 }, // 05 Terminal 3
 
	{   40,    8, AMED_EXACTPOS,                   1 }, // 06 Helipad 1
 
	{   56,    8, AMED_EXACTPOS,                   1 }, // 07 Helipad 2
 
	{   24,   22, 0,                               5 }, // 08 Taxiing
 
	{   40,   22, 0,                               5 }, // 09 Taxiing
 
	{   56,   22, 0,                               5 }, // 10 Taxiing
 
	{   72,   40, 0,                               3 }, // 11 Airport OUTWAY
 
	{   72,   54, AMED_EXACTPOS,                   1 }, // 12 Accelerate to end of runway
 
	{    7,   54, AMED_NOSPDCLAMP,                 0 }, // 13 Release control of runway, for smoother movement
 
	{    5,   54, AMED_NOSPDCLAMP,                 0 }, // 14 End of runway
 
	{  -79,   54, AMED_NOSPDCLAMP | AMED_TAKEOFF,  0 }, // 15 Take off
 
	{  145,   54, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 16 Fly to landing position in air
 
	{   73,   54, AMED_NOSPDCLAMP | AMED_LAND,     0 }, // 17 Going down for land
 
	{    3,   54, AMED_NOSPDCLAMP | AMED_BRAKE,    0 }, // 18 Just landed, brake until end of runway
 
	{   12,   54, 0,                               7 }, // 19 Just landed, turn around and taxi
 
	{    8,   32, 0,                               7 }, // 20 Taxi from runway to crossing
 
	{  -31,  149, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 21 Fly around waiting for a landing spot (north-east)
 
	{    1,    6, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 22 Fly around waiting for a landing spot (north-west)
 
	{  193,    6, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 23 Fly around waiting for a landing spot (south-west)
 
	{  225,   81, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 24 Fly around waiting for a landing spot (south)
 
	// Helicopter
 
	{ 80, 0,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 25 Bufferspace before helipad
 
	{ 80, 0,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 26 Bufferspace before helipad
 
	{ 32, 8,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 27 Get in position for Helipad1
 
	{ 48, 8,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 28 Get in position for Helipad2
 
	{ 32, 8,AMED_HELI_LOWER,0},			// 29 Land at Helipad1
 
	{ 48, 8,AMED_HELI_LOWER,0},			// 30 Land at Helipad2
 
	{ 32, 8,AMED_HELI_RAISE,0},			// 31 Takeoff Helipad1
 
	{ 48, 8,AMED_HELI_RAISE,0},			// 32 Takeoff Helipad2
 
	{ 64, 22,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 33 Go to position for Hangarentrance in air
 
	{ 64, 22,AMED_HELI_LOWER,0},			// 34 Land in front of hangar
 
	{ 40, 8,AMED_EXACTPOS,0},			// pre-helitakeoff helipad 1
 
	{ 56, 8,AMED_EXACTPOS,0}			// pre-helitakeoff helipad 2
 
	{   80,    0, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 25 Bufferspace before helipad
 
	{   80,    0, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 26 Bufferspace before helipad
 
	{   32,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 27 Get in position for Helipad1
 
	{   48,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 28 Get in position for Helipad2
 
	{   32,    8, AMED_HELI_LOWER,                 0 }, // 29 Land at Helipad1
 
	{   48,    8, AMED_HELI_LOWER,                 0 }, // 30 Land at Helipad2
 
	{   32,    8, AMED_HELI_RAISE,                 0 }, // 31 Takeoff Helipad1
 
	{   48,    8, AMED_HELI_RAISE,                 0 }, // 32 Takeoff Helipad2
 
	{   64,   22, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 33 Go to position for Hangarentrance in air
 
	{   64,   22, AMED_HELI_LOWER,                 0 }, // 34 Land in front of hangar
 
	{   40,    8, AMED_EXACTPOS,                   0 }, // pre-helitakeoff helipad 1
 
	{   56,    8, AMED_EXACTPOS,                   0 }, // pre-helitakeoff helipad 2
 
};
 

	
 
// City Airport (large) 6x6
 
static const AirportMovingData _airport_moving_data_town[25] = {
 
	{ 85,  3,AMED_EXACTPOS,3},										// 00 In Hangar
 
	{ 85, 27,0,0},																// 01 Taxi to right outside depot
 
	{ 26, 41,AMED_EXACTPOS,5},										// 02 Terminal 1
 
	{ 56, 20,AMED_EXACTPOS,3},										// 03 Terminal 2
 
	{ 38,  8,AMED_EXACTPOS,5},										// 04 Terminal 3
 
	{ 65,  6,0,0},																// 05 Taxi to right in infront of terminal 2/3
 
	{ 80, 27,0,0},																// 06 Taxiway terminals 2-3
 
	{ 44, 63,0,0},																// 07 Taxi to Airport center
 
	{ 58, 71,0,0},																// 08 Towards takeoff
 
	{ 72, 85,0,0},																// 09 Taxi to runway (takeoff)
 
	{ 89, 85,AMED_EXACTPOS,1},										// 10 Taxi to start of runway (takeoff)
 
	{  3, 85,AMED_NOSPDCLAMP,0},									// 11 Accelerate to end of runway
 
	{-79, 85,AMED_NOSPDCLAMP | AMED_TAKEOFF,0},		// 12 Take off
 
	{177, 85,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 13 Fly to landing position in air
 
	{ 89, 85,AMED_NOSPDCLAMP | AMED_LAND,0},			// 14 Going down for land
 
	{  3, 85,AMED_NOSPDCLAMP | AMED_BRAKE,0},			// 15 Just landed, brake until end of runway
 
	{ 20, 87,0,0},																// 16 Just landed, turn around and taxi 1 square
 
	{ 36, 71,0,0},																// 17 Taxi from runway to crossing
 
	{-31,193,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 18 Fly around waiting for a landing spot (north-east)
 
	{  1,  1,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 19 Fly around waiting for a landing spot (north-west)
 
	{257,  1,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 20 Fly around waiting for a landing spot (south-west)
 
	{273, 49,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 21 Fly around waiting for a landing spot (south)
 
	{ 44, 63,AMED_HELI_RAISE,0},									// 22 Helicopter takeoff
 
	{ 28, 74,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 23 In position above landing spot helicopter
 
	{ 28, 74,AMED_HELI_LOWER,0}										// 24 Helicopter landing
 
	{   85,    3, AMED_EXACTPOS,                   3 }, // 00 In Hangar
 
	{   85,   27, 0,                               0 }, // 01 Taxi to right outside depot
 
	{   26,   41, AMED_EXACTPOS,                   5 }, // 02 Terminal 1
 
	{   56,   20, AMED_EXACTPOS,                   3 }, // 03 Terminal 2
 
	{   38,    8, AMED_EXACTPOS,                   5 }, // 04 Terminal 3
 
	{   65,    6, 0,                               0 }, // 05 Taxi to right in infront of terminal 2/3
 
	{   80,   27, 0,                               0 }, // 06 Taxiway terminals 2-3
 
	{   44,   63, 0,                               0 }, // 07 Taxi to Airport center
 
	{   58,   71, 0,                               0 }, // 08 Towards takeoff
 
	{   72,   85, 0,                               0 }, // 09 Taxi to runway (takeoff)
 
	{   89,   85, AMED_EXACTPOS,                   1 }, // 10 Taxi to start of runway (takeoff)
 
	{    3,   85, AMED_NOSPDCLAMP,                 0 }, // 11 Accelerate to end of runway
 
	{  -79,   85, AMED_NOSPDCLAMP | AMED_TAKEOFF,  0 }, // 12 Take off
 
	{  177,   85, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 13 Fly to landing position in air
 
	{   89,   85, AMED_NOSPDCLAMP | AMED_LAND,     0 }, // 14 Going down for land
 
	{    3,   85, AMED_NOSPDCLAMP | AMED_BRAKE,    0 }, // 15 Just landed, brake until end of runway
 
	{   20,   87, 0,                               0 }, // 16 Just landed, turn around and taxi 1 square
 
	{   36,   71, 0,                               0 }, // 17 Taxi from runway to crossing
 
	{  -31,  193, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 18 Fly around waiting for a landing spot (north-east)
 
	{    1,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 19 Fly around waiting for a landing spot (north-west)
 
	{  257,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 20 Fly around waiting for a landing spot (south-west)
 
	{  273,   49, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 21 Fly around waiting for a landing spot (south)
 
	{   44,   63, AMED_HELI_RAISE,                 0 }, // 22 Helicopter takeoff
 
	{   28,   74, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 23 In position above landing spot helicopter
 
	{   28,   74, AMED_HELI_LOWER,                 0 }, // 24 Helicopter landing
 
};
 

	
 
// Metropolitan Airport (metropolitan) - 2 runways
 
static const AirportMovingData _airport_moving_data_metropolitan[27] = {
 
	{ 85,  3,AMED_EXACTPOS,3},										// 00 In Hangar
 
	{ 85, 27,0,0},																// 01 Taxi to right outside depot
 
	{ 26, 41,AMED_EXACTPOS,5},										// 02 Terminal 1
 
	{ 56, 20,AMED_EXACTPOS,3},										// 03 Terminal 2
 
	{ 38,  8,AMED_EXACTPOS,5},										// 04 Terminal 3
 
	{ 65,  6,0,0},																// 05 Taxi to right in infront of terminal 2/3
 
	{ 70, 33,0,0},																// 06 Taxiway terminals 2-3
 
	{ 44, 58,0,0},																// 07 Taxi to Airport center
 
	{ 72, 58,0,0},																// 08 Towards takeoff
 
	{ 72, 69,0,0},																// 09 Taxi to runway (takeoff)
 
	{ 89, 69,AMED_EXACTPOS,1},										// 10 Taxi to start of runway (takeoff)
 
	{  3, 69,AMED_NOSPDCLAMP,0},									// 11 Accelerate to end of runway
 
	{-79, 69,AMED_NOSPDCLAMP | AMED_TAKEOFF,0},		// 12 Take off
 
	{177, 85,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 13 Fly to landing position in air
 
	{ 89, 85,AMED_NOSPDCLAMP | AMED_LAND,0},			// 14 Going down for land
 
	{  3, 85,AMED_NOSPDCLAMP | AMED_BRAKE,0},			// 15 Just landed, brake until end of runway
 
	{ 21, 85,0,0},																// 16 Just landed, turn around and taxi 1 square
 
	{ 21, 69,0,0},																// 17 On Runway-out taxiing to In-Way
 
	{ 21, 54,AMED_EXACTPOS,5},										// 18 Taxi from runway to crossing
 
	{-31,193,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 19 Fly around waiting for a landing spot (north-east)
 
	{  1,  1,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 20 Fly around waiting for a landing spot (north-west)
 
	{257,  1,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 21 Fly around waiting for a landing spot (south-west)
 
	{273, 49,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 22 Fly around waiting for a landing spot (south)
 
	{ 44, 58,0,0},																// 23 Helicopter takeoff spot on ground (to clear airport sooner)
 
	{ 44, 63,AMED_HELI_RAISE,0},									// 24 Helicopter takeoff
 
	{ 15, 54,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 25 Get in position above landing spot helicopter
 
	{ 15, 54,AMED_HELI_LOWER,0}										// 26 Helicopter landing
 
	{   85,    3, AMED_EXACTPOS,                   3 }, // 00 In Hangar
 
	{   85,   27, 0,                               0 }, // 01 Taxi to right outside depot
 
	{   26,   41, AMED_EXACTPOS,                   5 }, // 02 Terminal 1
 
	{   56,   20, AMED_EXACTPOS,                   3 }, // 03 Terminal 2
 
	{   38,    8, AMED_EXACTPOS,                   5 }, // 04 Terminal 3
 
	{   65,    6, 0,                               0 }, // 05 Taxi to right in infront of terminal 2/3
 
	{   70,   33, 0,                               0 }, // 06 Taxiway terminals 2-3
 
	{   44,   58, 0,                               0 }, // 07 Taxi to Airport center
 
	{   72,   58, 0,                               0 }, // 08 Towards takeoff
 
	{   72,   69, 0,                               0 }, // 09 Taxi to runway (takeoff)
 
	{   89,   69, AMED_EXACTPOS,                   1 }, // 10 Taxi to start of runway (takeoff)
 
	{    3,   69, AMED_NOSPDCLAMP,                 0 }, // 11 Accelerate to end of runway
 
	{  -79,   69, AMED_NOSPDCLAMP | AMED_TAKEOFF,  0 }, // 12 Take off
 
	{  177,   85, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 13 Fly to landing position in air
 
	{   89,   85, AMED_NOSPDCLAMP | AMED_LAND,     0 }, // 14 Going down for land
 
	{    3,   85, AMED_NOSPDCLAMP | AMED_BRAKE,    0 }, // 15 Just landed, brake until end of runway
 
	{   21,   85, 0,                               0 }, // 16 Just landed, turn around and taxi 1 square
 
	{   21,   69, 0,                               0 }, // 17 On Runway-out taxiing to In-Way
 
	{   21,   54, AMED_EXACTPOS,                   5 }, // 18 Taxi from runway to crossing
 
	{  -31,  193, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 19 Fly around waiting for a landing spot (north-east)
 
	{    1,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 20 Fly around waiting for a landing spot (north-west)
 
	{  257,    1, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 21 Fly around waiting for a landing spot (south-west)
 
	{  273,   49, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 22 Fly around waiting for a landing spot (south)
 
	{   44,   58, 0,                               0 }, // 23 Helicopter takeoff spot on ground (to clear airport sooner)
 
	{   44,   63, AMED_HELI_RAISE,                 0 }, // 24 Helicopter takeoff
 
	{   15,   54, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 25 Get in position above landing spot helicopter
 
	{   15,   54, AMED_HELI_LOWER,                 0 }, // 26 Helicopter landing
 
};
 

	
 
// International Airport (international) - 2 runways, 6 terminals, dedicated helipod
 
static const AirportMovingData _airport_moving_data_international[51] = {
 
	{  7, 55,AMED_EXACTPOS,3},										// 00 In Hangar 1
 
	{100, 21,AMED_EXACTPOS,3},										// 01 In Hangar 2
 
	{  7, 70,0,0},																// 02 Taxi to right outside depot
 
	{100, 36,0,0},																// 03 Taxi to right outside depot
 
	{ 38, 70,AMED_EXACTPOS,5},										// 04 Terminal 1
 
	{ 38, 54,AMED_EXACTPOS,5},										// 05 Terminal 2
 
	{ 38, 38,AMED_EXACTPOS,5},										// 06 Terminal 3
 
	{ 70, 70,AMED_EXACTPOS,1},										// 07 Terminal 4
 
	{ 70, 54,AMED_EXACTPOS,1},										// 08 Terminal 5
 
	{ 70, 38,AMED_EXACTPOS,1},										// 09 Terminal 6
 
	{104, 71,AMED_EXACTPOS,1},										// 10 Helipad 1
 
	{104, 55,AMED_EXACTPOS,1},										// 11 Helipad 2
 
	{ 22, 87,0,0},																// 12 Towards Terminals 4/5/6, Helipad 1/2
 
	{ 60, 87,0,0},																// 13 Towards Terminals 4/5/6, Helipad 1/2
 
	{ 66, 87,0,0},																// 14 Towards Terminals 4/5/6, Helipad 1/2
 
	{ 86, 87,AMED_EXACTPOS,7},										// 15 Towards Terminals 4/5/6, Helipad 1/2
 
	{ 86, 70,0,0},																// 16 In Front of Terminal 4 / Helipad 1
 
	{ 86, 54,0,0},																// 17 In Front of Terminal 5 / Helipad 2
 
	{ 86, 38,0,0},																// 18 In Front of Terminal 6
 
	{ 86, 22,0,0},																// 19 Towards Terminals Takeoff (Taxiway)
 
	{ 66, 22,0,0},																// 20 Towards Terminals Takeoff (Taxiway)
 
	{ 60, 22,0,0},																// 21 Towards Terminals Takeoff (Taxiway)
 
	{ 38, 22,0,0},																// 22 Towards Terminals Takeoff (Taxiway)
 
	{ 22, 70,0,0},																// 23 In Front of Terminal 1
 
	{ 22, 58,0,0},																// 24 In Front of Terminal 2
 
	{ 22, 38,0,0},																// 25 In Front of Terminal 3
 
	{ 22, 22,AMED_EXACTPOS,7},										// 26 Going for Takeoff
 
	{ 22,  6,0,0},																// 27 On Runway-out, prepare for takeoff
 
	{  3,  6,AMED_EXACTPOS,5},										// 28 Accelerate to end of runway
 
	{ 60,  6,AMED_NOSPDCLAMP,0},									// 29 Release control of runway, for smoother movement
 
	{105,  6,AMED_NOSPDCLAMP,0},									// 30 End of runway
 
	{190,  6,AMED_NOSPDCLAMP | AMED_TAKEOFF,0},		// 31 Take off
 
	{193,104,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 32 Fly to landing position in air
 
	{105,104,AMED_NOSPDCLAMP | AMED_LAND,0},			// 33 Going down for land
 
	{  3,104,AMED_NOSPDCLAMP | AMED_BRAKE,0},			// 34 Just landed, brake until end of runway
 
	{ 12,104,0,0},																// 35 Just landed, turn around and taxi 1 square
 
	{  7, 84,0,0},																// 36 Taxi from runway to crossing
 
	{-31,209,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 37 Fly around waiting for a landing spot (north-east)
 
	{  1,  6,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 38 Fly around waiting for a landing spot (north-west)
 
	{273,  6,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 39 Fly around waiting for a landing spot (south-west)
 
	{305, 81,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 40 Fly around waiting for a landing spot (south)
 
	{    7,   55, AMED_EXACTPOS,                   3 }, // 00 In Hangar 1
 
	{  100,   21, AMED_EXACTPOS,                   3 }, // 01 In Hangar 2
 
	{    7,   70, 0,                               0 }, // 02 Taxi to right outside depot
 
	{  100,   36, 0,                               0 }, // 03 Taxi to right outside depot
 
	{   38,   70, AMED_EXACTPOS,                   5 }, // 04 Terminal 1
 
	{   38,   54, AMED_EXACTPOS,                   5 }, // 05 Terminal 2
 
	{   38,   38, AMED_EXACTPOS,                   5 }, // 06 Terminal 3
 
	{   70,   70, AMED_EXACTPOS,                   1 }, // 07 Terminal 4
 
	{   70,   54, AMED_EXACTPOS,                   1 }, // 08 Terminal 5
 
	{   70,   38, AMED_EXACTPOS,                   1 }, // 09 Terminal 6
 
	{  104,   71, AMED_EXACTPOS,                   1 }, // 10 Helipad 1
 
	{  104,   55, AMED_EXACTPOS,                   1 }, // 11 Helipad 2
 
	{   22,   87, 0,                               0 }, // 12 Towards Terminals 4/5/6, Helipad 1/2
 
	{   60,   87, 0,                               0 }, // 13 Towards Terminals 4/5/6, Helipad 1/2
 
	{   66,   87, 0,                               0 }, // 14 Towards Terminals 4/5/6, Helipad 1/2
 
	{   86,   87, AMED_EXACTPOS,                   7 }, // 15 Towards Terminals 4/5/6, Helipad 1/2
 
	{   86,   70, 0,                               0 }, // 16 In Front of Terminal 4 / Helipad 1
 
	{   86,   54, 0,                               0 }, // 17 In Front of Terminal 5 / Helipad 2
 
	{   86,   38, 0,                               0 }, // 18 In Front of Terminal 6
 
	{   86,   22, 0,                               0 }, // 19 Towards Terminals Takeoff (Taxiway)
 
	{   66,   22, 0,                               0 }, // 20 Towards Terminals Takeoff (Taxiway)
 
	{   60,   22, 0,                               0 }, // 21 Towards Terminals Takeoff (Taxiway)
 
	{   38,   22, 0,                               0 }, // 22 Towards Terminals Takeoff (Taxiway)
 
	{   22,   70, 0,                               0 }, // 23 In Front of Terminal 1
 
	{   22,   58, 0,                               0 }, // 24 In Front of Terminal 2
 
	{   22,   38, 0,                               0 }, // 25 In Front of Terminal 3
 
	{   22,   22, AMED_EXACTPOS,                   7 }, // 26 Going for Takeoff
 
	{   22,    6, 0,                               0 }, // 27 On Runway-out, prepare for takeoff
 
	{    3,    6, AMED_EXACTPOS,                   5 }, // 28 Accelerate to end of runway
 
	{   60,    6, AMED_NOSPDCLAMP,                 0 }, // 29 Release control of runway, for smoother movement
 
	{  105,    6, AMED_NOSPDCLAMP,                 0 }, // 30 End of runway
 
	{  190,    6, AMED_NOSPDCLAMP | AMED_TAKEOFF,  0 }, // 31 Take off
 
	{  193,  104, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 32 Fly to landing position in air
 
	{  105,  104, AMED_NOSPDCLAMP | AMED_LAND,     0 }, // 33 Going down for land
 
	{    3,  104, AMED_NOSPDCLAMP | AMED_BRAKE,    0 }, // 34 Just landed, brake until end of runway
 
	{   12,  104, 0,                               0 }, // 35 Just landed, turn around and taxi 1 square
 
	{    7,   84, 0,                               0 }, // 36 Taxi from runway to crossing
 
	{  -31,  209, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 37 Fly around waiting for a landing spot (north-east)
 
	{    1,    6, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 38 Fly around waiting for a landing spot (north-west)
 
	{  273,    6, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 39 Fly around waiting for a landing spot (south-west)
 
	{  305,   81, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 40 Fly around waiting for a landing spot (south)
 
	// Helicopter
 
	{128, 80,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 41 Bufferspace before helipad
 
	{128, 80,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 42 Bufferspace before helipad
 
	{ 96, 71,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 43 Get in position for Helipad1
 
	{ 96, 55,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 44 Get in position for Helipad2
 
	{ 96, 71,AMED_HELI_LOWER,0},									// 45 Land at Helipad1
 
	{ 96, 55,AMED_HELI_LOWER,0},									// 46 Land at Helipad2
 
	{104, 71,AMED_HELI_RAISE,0},									// 47 Takeoff Helipad1
 
	{104, 55,AMED_HELI_RAISE,0},									// 48 Takeoff Helipad2
 
	{104, 32,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 49 Go to position for Hangarentrance in air
 
	{104, 32,AMED_HELI_LOWER,0}										// 50 Land in HANGAR2_AREA to go to hangar
 
	{  128,   80, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 41 Bufferspace before helipad
 
	{  128,   80, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 42 Bufferspace before helipad
 
	{   96,   71, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 43 Get in position for Helipad1
 
	{   96,   55, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 44 Get in position for Helipad2
 
	{   96,   71, AMED_HELI_LOWER,                 0 }, // 45 Land at Helipad1
 
	{   96,   55, AMED_HELI_LOWER,                 0 }, // 46 Land at Helipad2
 
	{  104,   71, AMED_HELI_RAISE,                 0 }, // 47 Takeoff Helipad1
 
	{  104,   55, AMED_HELI_RAISE,                 0 }, // 48 Takeoff Helipad2
 
	{  104,   32, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 49 Go to position for Hangarentrance in air
 
	{  104,   32, AMED_HELI_LOWER,                 0} // 50 Land in HANGAR2_AREA to go to hangar
 
};
 

	
 
// Intercontinental Airport - 4 runways, 8 terminals, 2 dedicated helipads
 
static const AirportMovingData _airport_moving_data_intercontinental[77] = {
 
	{  7, 87, AMED_EXACTPOS,3},			// 00 In Hangar 1
 
	{135, 72, AMED_EXACTPOS,3},			// 01 In Hangar 2
 
	{  7,104,0,0},					// 02 Taxi to right outside depot 1
 
	{135, 88,0,0},					// 03 Taxi to right outside depot 2
 
	{ 56,120,AMED_EXACTPOS,6},			// 04 Terminal 1
 
	{ 56,104,AMED_EXACTPOS,5},			// 05 Terminal 2
 
	{ 56, 88,AMED_EXACTPOS,5},			// 06 Terminal 3
 
	{ 56, 72,AMED_EXACTPOS,5},			// 07 Terminal 4
 
	{ 88,120,AMED_EXACTPOS,0},			// 08 Terminal 5
 
	{ 88,104,AMED_EXACTPOS,1},			// 09 Terminal 6
 
	{ 88, 88,AMED_EXACTPOS,1},			// 10 Terminal 7
 
	{ 88, 72,AMED_EXACTPOS,1},			// 11 Terminal 8
 
	{ 88, 56,AMED_EXACTPOS,3},			// 12 Helipad 1
 
	{ 72, 56,AMED_EXACTPOS,1},			// 13 Helipad 2
 
	{ 40,136,0,0},					// 14 Term group 2 enter 1 a
 
	{ 56,136,0,0},					// 15 Term group 2 enter 1 b
 
	{ 88,136,0,0},					// 16 Term group 2 enter 2 a
 
	{104,136,0,0},					// 17 Term group 2 enter 2 b
 
	{104,120,0,0},					// 18 Term group 2 - opp term 5
 
	{104,104,0,0},					// 19 Term group 2 - opp term 6 & exit2
 
	{104, 88,0,0},					// 20 Term group 2 - opp term 7 & hangar area 2
 
	{104, 72,0,0},					// 21 Term group 2 - opp term 8
 
	{104, 56,0,0},					// 22 Taxi Term group 2 exit a
 
	{104, 40,0,0},					// 23 Taxi Term group 2 exit b
 
	{ 56, 40,0,0},					// 24 Term group 2 exit 2a
 
	{ 40, 40,0,0},					// 25 Term group 2 exit 2b
 
	{ 40,120,0,0},					// 26 Term group 1 - opp term 1
 
	{ 40,104,0,0},					// 27 Term group 1 - opp term 2 & hangar area 1
 
	{ 40, 88,0,0},					// 28 Term group 1 - opp term 3
 
	{ 40, 72,0,0},					// 29 Term group 1 - opp term 4
 
	{ 18, 72,0,7},					// 30 Outway 1
 
	{  8, 40,0,7},					// 31 Airport OUTWAY
 
	{  8, 24,AMED_EXACTPOS,5},			// 32 Accelerate to end of runway
 
	{119, 24,AMED_NOSPDCLAMP,0},			// 33 Release control of runway, for smoother movement
 
	{117, 24,AMED_NOSPDCLAMP,0},			// 34 End of runway
 
	{197, 24,AMED_NOSPDCLAMP | AMED_TAKEOFF,0},	// 35 Take off
 
	{254, 84,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 36 Flying to landing position in air
 
	{117,168,AMED_NOSPDCLAMP | AMED_LAND,0},	// 37 Going down for land
 
	{  3,168,AMED_NOSPDCLAMP | AMED_BRAKE,0},	// 38 Just landed, brake until end of runway
 
	{  8,168,0,0},					// 39 Just landed, turn around and taxi
 
	{  8,144,0,7},					// 40 Taxi from runway
 
	{  8,128,0,7},					// 41 Taxi from runway
 
	{  8,120,AMED_EXACTPOS,5},			// 42 Airport entrance
 
	{ 56,344,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 43 Fly around waiting for a landing spot (north-east)
 
	{-200,88,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 44 Fly around waiting for a landing spot (north-west)
 
	{ 56,-168,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 45 Fly around waiting for a landing spot (south-west)
 
	{312, 88,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 46 Fly around waiting for a landing spot (south)
 
	{    7,   87, AMED_EXACTPOS,                   3 }, // 00 In Hangar 1
 
	{  135,   72, AMED_EXACTPOS,                   3 }, // 01 In Hangar 2
 
	{    7,  104, 0,                               0 }, // 02 Taxi to right outside depot 1
 
	{  135,   88, 0, 0 }, // 03 Taxi to right outside depot 2
 
	{   56,  120, AMED_EXACTPOS,                   6 }, // 04 Terminal 1
 
	{   56,  104, AMED_EXACTPOS,                   5 }, // 05 Terminal 2
 
	{   56,   88, AMED_EXACTPOS,                   5 }, // 06 Terminal 3
 
	{   56,   72, AMED_EXACTPOS,                   5 }, // 07 Terminal 4
 
	{   88,  120, AMED_EXACTPOS,                   0 }, // 08 Terminal 5
 
	{   88,  104, AMED_EXACTPOS,                   1 }, // 09 Terminal 6
 
	{   88,   88, AMED_EXACTPOS,                   1 }, // 10 Terminal 7
 
	{   88,   72, AMED_EXACTPOS,                   1 }, // 11 Terminal 8
 
	{   88,   56, AMED_EXACTPOS,                   3 }, // 12 Helipad 1
 
	{   72,   56, AMED_EXACTPOS,                   1 }, // 13 Helipad 2
 
	{   40,  136, 0,                               0 }, // 14 Term group 2 enter 1 a
 
	{   56,  136, 0,                               0 }, // 15 Term group 2 enter 1 b
 
	{   88,  136, 0,                               0 }, // 16 Term group 2 enter 2 a
 
	{  104,  136, 0,                               0 }, // 17 Term group 2 enter 2 b
 
	{  104,  120, 0,                               0 }, // 18 Term group 2 - opp term 5
 
	{  104,  104, 0,                               0 }, // 19 Term group 2 - opp term 6 & exit2
 
	{  104,   88, 0,                               0 }, // 20 Term group 2 - opp term 7 & hangar area 2
 
	{  104,   72, 0,                               0 }, // 21 Term group 2 - opp term 8
 
	{  104,   56, 0,                               0 }, // 22 Taxi Term group 2 exit a
 
	{  104,   40, 0,                               0 }, // 23 Taxi Term group 2 exit b
 
	{   56,   40, 0,                               0 }, // 24 Term group 2 exit 2a
 
	{   40,   40, 0,                               0 }, // 25 Term group 2 exit 2b
 
	{   40,  120, 0,                               0 }, // 26 Term group 1 - opp term 1
 
	{   40,  104, 0,                               0 }, // 27 Term group 1 - opp term 2 & hangar area 1
 
	{   40,   88, 0,                               0 }, // 28 Term group 1 - opp term 3
 
	{   40,   72, 0,                               0 }, // 29 Term group 1 - opp term 4
 
	{   18,   72, 0,                               7 }, // 30 Outway 1
 
	{    8,   40, 0,                               7 }, // 31 Airport OUTWAY
 
	{    8,   24, AMED_EXACTPOS,                   5 }, // 32 Accelerate to end of runway
 
	{  119,   24, AMED_NOSPDCLAMP,                 0 }, // 33 Release control of runway, for smoother movement
 
	{  117,   24, AMED_NOSPDCLAMP,                 0 }, // 34 End of runway
 
	{  197,   24, AMED_NOSPDCLAMP | AMED_TAKEOFF,  0 }, // 35 Take off
 
	{  254,   84, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 36 Flying to landing position in air
 
	{  117,  168, AMED_NOSPDCLAMP | AMED_LAND,     0 }, // 37 Going down for land
 
	{    3,  168, AMED_NOSPDCLAMP | AMED_BRAKE,    0 }, // 38 Just landed, brake until end of runway
 
	{    8,  168, 0,                               0 }, // 39 Just landed, turn around and taxi
 
	{    8,  144, 0,                               7 }, // 40 Taxi from runway
 
	{    8,  128, 0,                               7 }, // 41 Taxi from runway
 
	{    8,  120, AMED_EXACTPOS,                   5 }, // 42 Airport entrance
 
	{   56,  344, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 43 Fly around waiting for a landing spot (north-east)
 
	{ -200,   88, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 44 Fly around waiting for a landing spot (north-west)
 
	{   56, -168, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 45 Fly around waiting for a landing spot (south-west)
 
	{  312,   88, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 46 Fly around waiting for a landing spot (south)
 
	// Helicopter
 
	{ 96,40,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 47 Bufferspace before helipad
 
	{ 96,40,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 48 Bufferspace before helipad
 
	{ 82,54,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 49 Get in position for Helipad1
 
	{ 64,56,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 50 Get in position for Helipad2
 
	{ 81,55,AMED_HELI_LOWER,0},			// 51 Land at Helipad1
 
	{ 64,56,AMED_HELI_LOWER,0},			// 52 Land at Helipad2
 
	{ 80,56,AMED_HELI_RAISE,0},			// 53 Takeoff Helipad1
 
	{ 64,56,AMED_HELI_RAISE,0},			// 54 Takeoff Helipad2
 
	{136,96,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 55 Go to position for Hangarentrance in air
 
	{136,96,AMED_HELI_LOWER,0},			// 56 Land in front of hangar2
 
	{126,104,0,3},					// 57 Outway 2
 
	{136,136,0,1},					// 58 Airport OUTWAY 2
 
	{136,152,AMED_EXACTPOS,5},			// 59 Accelerate to end of runway2
 
	{ 16,152,AMED_NOSPDCLAMP,0},			// 60 Release control of runway2, for smoother movement
 
	{ 20,152,AMED_NOSPDCLAMP,0},			// 61 End of runway2
 
	{-56,152,AMED_NOSPDCLAMP | AMED_TAKEOFF,0},	// 62 Take off2
 
	{ 24,  8,AMED_NOSPDCLAMP | AMED_LAND,0},	// 63 Going down for land2
 
	{136,  8,AMED_NOSPDCLAMP | AMED_BRAKE,0},	// 64 Just landed, brake until end of runway2in
 
	{136,  8,0,0},					// 65 Just landed, turn around and taxi
 
	{136, 24,0,3},					// 66 Taxi from runway 2in
 
	{136, 40,0,3},					// 67 Taxi from runway 2in
 
	{136, 56,AMED_EXACTPOS,1},			// 68 Airport entrance2
 
	{-56,  8,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 69 Fly to landing position in air2
 
	{ 88, 40,0,0},					// 70 Taxi Term group 2 exit - opp heli1
 
	{ 72, 40,0,0},					// 71 Taxi Term group 2 exit - opp heli2
 
	{ 88, 57,AMED_EXACTPOS,3},			// 72 pre-helitakeoff helipad 1
 
	{ 71, 56,AMED_EXACTPOS,1},			// 73 pre-helitakeoff helipad 2
 
	{  8,120,AMED_HELI_RAISE,0},			// 74 Helitakeoff outside depot 1
 
	{136,104,AMED_HELI_RAISE,0},			// 75 Helitakeoff outside depot 2
 
	{197,168,AMED_NOSPDCLAMP | AMED_SLOWTURN,0}	// 76 Fly to landing position in air1
 
	{   96,   40, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 47 Bufferspace before helipad
 
	{   96,   40, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 48 Bufferspace before helipad
 
	{   82,   54, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 49 Get in position for Helipad1
 
	{   64,   56, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 50 Get in position for Helipad2
 
	{   81,   55, AMED_HELI_LOWER,                 0 }, // 51 Land at Helipad1
 
	{   64,   56, AMED_HELI_LOWER,                 0 }, // 52 Land at Helipad2
 
	{   80,   56, AMED_HELI_RAISE,                 0 }, // 53 Takeoff Helipad1
 
	{   64,   56, AMED_HELI_RAISE,                 0 }, // 54 Takeoff Helipad2
 
	{  136,   96, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 55 Go to position for Hangarentrance in air
 
	{  136,   96, AMED_HELI_LOWER,                 0 }, // 56 Land in front of hangar2
 
	{  126,  104, 0,                               3 }, // 57 Outway 2
 
	{  136,  136, 0,                               1 }, // 58 Airport OUTWAY 2
 
	{  136,  152, AMED_EXACTPOS,                   5 }, // 59 Accelerate to end of runway2
 
	{   16,  152, AMED_NOSPDCLAMP,                 0 }, // 60 Release control of runway2, for smoother movement
 
	{   20,  152, AMED_NOSPDCLAMP,                 0 }, // 61 End of runway2
 
	{  -56,  152, AMED_NOSPDCLAMP | AMED_TAKEOFF,  0 }, // 62 Take off2
 
	{   24,    8, AMED_NOSPDCLAMP | AMED_LAND,     0 }, // 63 Going down for land2
 
	{  136,    8, AMED_NOSPDCLAMP | AMED_BRAKE,    0 }, // 64 Just landed, brake until end of runway2in
 
	{  136,    8, 0,                               0 }, // 65 Just landed, turn around and taxi
 
	{  136,   24, 0,                               3 }, // 66 Taxi from runway 2in
 
	{  136,   40, 0,                               3 }, // 67 Taxi from runway 2in
 
	{  136,   56, AMED_EXACTPOS,                   1 }, // 68 Airport entrance2
 
	{  -56,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 69 Fly to landing position in air2
 
	{   88,   40, 0,                               0 }, // 70 Taxi Term group 2 exit - opp heli1
 
	{   72,   40, 0,                               0 }, // 71 Taxi Term group 2 exit - opp heli2
 
	{   88,   57, AMED_EXACTPOS,                   3 }, // 72 pre-helitakeoff helipad 1
 
	{   71,   56, AMED_EXACTPOS,                   1 }, // 73 pre-helitakeoff helipad 2
 
	{    8,  120, AMED_HELI_RAISE,                 0 }, // 74 Helitakeoff outside depot 1
 
	{  136,  104, AMED_HELI_RAISE,                 0 }, // 75 Helitakeoff outside depot 2
 
	{  197,  168, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0} // 76 Fly to landing position in air1
 
};
 

	
 

	
 
// Heliport (heliport)
 
static const AirportMovingData _airport_moving_data_heliport[9] = {
 
	{  5,  9,AMED_EXACTPOS,1},										// 0 - At heliport terminal
 
	{  2,  9,AMED_HELI_RAISE,0},									// 1 - Take off (play sound)
 
	{ -3,  9,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 2 - In position above landing spot helicopter
 
	{ -3,  9,AMED_HELI_LOWER,0},									// 3 - Land
 
	{  2,  9,0,0},																// 4 - Goto terminal on ground
 
	{-31, 59,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 5 - Circle #1 (north-east)
 
	{-31,-49,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 6 - Circle #2 (north-west)
 
	{ 49,-49,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 7 - Circle #3 (south-west)
 
	{ 70,  9,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 8 - Circle #4 (south)
 
	{    5,    9, AMED_EXACTPOS,                   1 }, // 0 - At heliport terminal
 
	{    2,    9, AMED_HELI_RAISE,                 0 }, // 1 - Take off (play sound)
 
	{   -3,    9, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 2 - In position above landing spot helicopter
 
	{   -3,    9, AMED_HELI_LOWER,                 0 }, // 3 - Land
 
	{    2,    9, 0,                               0 }, // 4 - Goto terminal on ground
 
	{  -31,   59, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 5 - Circle #1 (north-east)
 
	{  -31,  -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 6 - Circle #2 (north-west)
 
	{   49,  -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 7 - Circle #3 (south-west)
 
	{   70,    9, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 8 - Circle #4 (south)
 
};
 

	
 
// HeliDepot 2x2 (heliport)
 
static const AirportMovingData _airport_moving_data_helidepot[18] = {
 
	{ 24, 4,AMED_EXACTPOS,1},			// 0 - At depot
 
	{ 24, 28,0,0},					// 1 Taxi to right outside depot
 
	{  5, 38,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 2 Flying
 
	{-15,-15,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 3 - Circle #1 (north-east)
 
	{-15,-49,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 4 - Circle #2 (north-west)
 
	{ 49,-49,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 5 - Circle #3 (south-west)
 
	{ 49,-15,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 6 - Circle #4 (south-east)
 
	{  8, 32,AMED_NOSPDCLAMP | AMED_SLOWTURN,7},	// 7 - PreHelipad
 
	{  8, 32,AMED_NOSPDCLAMP | AMED_SLOWTURN,7},	// 8 - Helipad
 
	{  8, 16,AMED_NOSPDCLAMP | AMED_SLOWTURN,7},	// 9 - Land
 
	{  8, 16,AMED_HELI_LOWER,7},			// 10 - Land
 
	{  8, 24,AMED_HELI_RAISE,0},			// 11 - Take off (play sound)
 
	{ 32, 24,AMED_NOSPDCLAMP | AMED_SLOWTURN,7},	// 12 Air to above hangar area
 
	{ 32, 24,AMED_HELI_LOWER,7},			// 13 Taxi to right outside depot
 
	{  8, 24,AMED_EXACTPOS,7},			// 14 - on helipad1
 
	{ 24, 28,AMED_HELI_RAISE,0},			// 15 Takeoff right outside depot
 
	{  8, 24,AMED_HELI_RAISE,5},			// 16 - Take off (play sound)
 
	{  8, 24,AMED_SLOWTURN | AMED_EXACTPOS,2},	// 17 - turn on helipad1 for takeoff
 
	{   24,    4, AMED_EXACTPOS,                   1 }, // 0 - At depot
 
	{   24,   28, 0,                               0 }, // 1 Taxi to right outside depot
 
	{    5,   38, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 2 Flying
 
	{  -15,  -15, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 3 - Circle #1 (north-east)
 
	{  -15,  -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 4 - Circle #2 (north-west)
 
	{   49,  -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 5 - Circle #3 (south-west)
 
	{   49,  -15, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 6 - Circle #4 (south-east)
 
	{    8,   32, AMED_NOSPDCLAMP | AMED_SLOWTURN, 7 }, // 7 - PreHelipad
 
	{    8,   32, AMED_NOSPDCLAMP | AMED_SLOWTURN, 7 }, // 8 - Helipad
 
	{    8,   16, AMED_NOSPDCLAMP | AMED_SLOWTURN, 7 }, // 9 - Land
 
	{    8,   16, AMED_HELI_LOWER,                 7 }, // 10 - Land
 
	{    8,   24, AMED_HELI_RAISE,                 0 }, // 11 - Take off (play sound)
 
	{   32,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, 7 }, // 12 Air to above hangar area
 
	{   32,   24, AMED_HELI_LOWER,                 7 }, // 13 Taxi to right outside depot
 
	{    8,   24, AMED_EXACTPOS,                   7 }, // 14 - on helipad1
 
	{   24,   28, AMED_HELI_RAISE,                 0 }, // 15 Takeoff right outside depot
 
	{    8,   24, AMED_HELI_RAISE,                 5 }, // 16 - Take off (play sound)
 
	{    8,   24, AMED_SLOWTURN | AMED_EXACTPOS,   2 }, // 17 - turn on helipad1 for takeoff
 
};
 

	
 
// HeliDepot 2x2 (heliport)
 
static const AirportMovingData _airport_moving_data_helistation[33] = {
 
	{8, 3,AMED_EXACTPOS,3},				// 00 In Hangar2
 
	{8, 22,0,0},					// 01 outside hangar 2
 
	{116,24,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 02 Fly to landing position in air
 
	{14, 22,AMED_HELI_RAISE,0},			// 03 Helitakeoff outside hangar1(play sound)
 
	{24, 22,0,0},					// 04 taxiing
 
	{40, 22,0,0},					// 05 taxiing
 
	{40, 8,AMED_EXACTPOS,1},			// 06 Helipad 1
 
	{56, 8,AMED_EXACTPOS,1},			// 07 Helipad 2
 
	{56, 24,AMED_EXACTPOS,1},			// 08 Helipad 3
 
	{40, 8,AMED_EXACTPOS,0},			// 09 pre-helitakeoff helipad 1
 
	{56, 8,AMED_EXACTPOS,0},			// 10 pre-helitakeoff helipad 2
 
	{56, 24,AMED_EXACTPOS,0},			// 11 pre-helitakeoff helipad 3
 
	{32, 8,AMED_HELI_RAISE,0},			// 12 Takeoff Helipad1
 
	{48, 8,AMED_HELI_RAISE,0},			// 13 Takeoff Helipad2
 
	{48, 24,AMED_HELI_RAISE,0},			// 14 Takeoff Helipad3
 
	{84, 24,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 15 Bufferspace before helipad
 
	{68, 24,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 16 Bufferspace before helipad
 
	{32, 8,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 17 Get in position for Helipad1
 
	{48, 8,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 18 Get in position for Helipad2
 
	{48, 24,AMED_NOSPDCLAMP | AMED_SLOWTURN,1},	// 19 Get in position for Helipad3
 
	{40, 8,AMED_HELI_LOWER,0},			// 20 Land at Helipad1
 
	{48, 8,AMED_HELI_LOWER,0},			// 21 Land at Helipad2
 
	{48, 24,AMED_HELI_LOWER,0},			// 22 Land at Helipad3
 
	{0, 22,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 23 Go to position for Hangarentrance in air
 
	{0, 22,AMED_HELI_LOWER,0},			// 24 Land in front of hangar
 
	{148,-8,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 25 Fly around waiting for a landing spot (south-east)
 
	{148,8,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 26 Fly around waiting for a landing spot (south-west)
 
	{132,24,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 27 Fly around waiting for a landing spot (south-west)
 
	{100,24,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 28 Fly around waiting for a landing spot (north-east)
 
	{84, 8,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 29 Fly around waiting for a landing spot (south-east)
 
	{84,-8,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 30 Fly around waiting for a landing spot (south-west)
 
	{100,-24,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 31 Fly around waiting for a landing spot (north-west)
 
	{132,-24,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 32 Fly around waiting for a landing spot (north-east)
 
	{    8,    3, AMED_EXACTPOS,                   3 }, // 00 In Hangar2
 
	{    8,   22, 0,                               0 }, // 01 outside hangar 2
 
	{  116,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 02 Fly to landing position in air
 
	{   14,   22, AMED_HELI_RAISE,                 0 }, // 03 Helitakeoff outside hangar1(play sound)
 
	{   24,   22, 0,                               0 }, // 04 taxiing
 
	{   40,   22, 0,                               0 }, // 05 taxiing
 
	{   40,    8, AMED_EXACTPOS,                   1 }, // 06 Helipad 1
 
	{   56,    8, AMED_EXACTPOS,                   1 }, // 07 Helipad 2
 
	{   56,   24, AMED_EXACTPOS,                   1 }, // 08 Helipad 3
 
	{   40,    8, AMED_EXACTPOS,                   0 }, // 09 pre-helitakeoff helipad 1
 
	{   56,    8, AMED_EXACTPOS,                   0 }, // 10 pre-helitakeoff helipad 2
 
	{   56,   24, AMED_EXACTPOS,                   0 }, // 11 pre-helitakeoff helipad 3
 
	{   32,    8, AMED_HELI_RAISE,                 0 }, // 12 Takeoff Helipad1
 
	{   48,    8, AMED_HELI_RAISE,                 0 }, // 13 Takeoff Helipad2
 
	{   48,   24, AMED_HELI_RAISE,                 0 }, // 14 Takeoff Helipad3
 
	{   84,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 15 Bufferspace before helipad
 
	{   68,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 16 Bufferspace before helipad
 
	{   32,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 17 Get in position for Helipad1
 
	{   48,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 18 Get in position for Helipad2
 
	{   48,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, 1 }, // 19 Get in position for Helipad3
 
	{   40,    8, AMED_HELI_LOWER,                 0 }, // 20 Land at Helipad1
 
	{   48,    8, AMED_HELI_LOWER,                 0 }, // 21 Land at Helipad2
 
	{   48,   24, AMED_HELI_LOWER,                 0 }, // 22 Land at Helipad3
 
	{    0,   22, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 23 Go to position for Hangarentrance in air
 
	{    0,   22, AMED_HELI_LOWER,                 0 }, // 24 Land in front of hangar
 
	{  148,   -8, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 25 Fly around waiting for a landing spot (south-east)
 
	{  148,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 26 Fly around waiting for a landing spot (south-west)
 
	{  132,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 27 Fly around waiting for a landing spot (south-west)
 
	{  100,   24, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 28 Fly around waiting for a landing spot (north-east)
 
	{   84,    8, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 29 Fly around waiting for a landing spot (south-east)
 
	{   84,   -8, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 30 Fly around waiting for a landing spot (south-west)
 
	{  100,  -24, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 31 Fly around waiting for a landing spot (north-west)
 
	{  132,  -24, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 32 Fly around waiting for a landing spot (north-east)
 
};
 

	
 
// Oilrig
 
static const AirportMovingData _airport_moving_data_oilrig[9] = {
 
	{ 31,  9,AMED_EXACTPOS,1},										// 0 - At oilrig terminal
 
	{ 28,  9,AMED_HELI_RAISE,0},									// 1 - Take off (play sound)
 
	{ 23,  9,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 2 - In position above landing spot helicopter
 
	{ 23,  9,AMED_HELI_LOWER,0},									// 3 - Land
 
	{ 28,  9,0,0},																// 4 - Goto terminal on ground
 
	{-31, 69,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 5 - circle #1 (north-east)
 
	{-31,-49,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 6 - circle #2 (north-west)
 
	{ 69,-49,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 7 - circle #3 (south-west)
 
	{ 70,  9,AMED_NOSPDCLAMP | AMED_SLOWTURN,0},	// 8 - circle #4 (south)
 
	{   31,    9, AMED_EXACTPOS,                   1 }, // 0 - At oilrig terminal
 
	{   28,    9, AMED_HELI_RAISE,                 0 }, // 1 - Take off (play sound)
 
	{   23,    9, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 2 - In position above landing spot helicopter
 
	{   23,    9, AMED_HELI_LOWER,                 0 }, // 3 - Land
 
	{   28,    9, 0,                               0 }, // 4 - Goto terminal on ground
 
	{  -31,   69, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 5 - circle #1 (north-east)
 
	{  -31,  -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 6 - circle #2 (north-west)
 
	{   69,  -49, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 7 - circle #3 (south-west)
 
	{   70,    9, AMED_NOSPDCLAMP | AMED_SLOWTURN, 0 }, // 8 - circle #4 (south)
 
};
 

	
 
///////////////////////////////////////////////////////////////////////
 
@@ -375,401 +375,401 @@ static const AirportMovingData _airport_
 
static const TileIndexDiffC _airport_depots_country[] = {{3, 0}};
 
static const byte _airport_terminal_country[] = {1, 2};
 
static const AirportFTAbuildup _airport_fta_country[] = {
 
	{ 0,HANGAR,NOTHING_block,1},
 
	{ 1,255,AIRPORT_BUSY_block,0}, {1,HANGAR,0,0}, {1,TERM1,TERM1_block,2}, {1,TERM2,0,4}, {1,HELITAKEOFF,0,19}, {1,0,0,6},
 
	{ 2,TERM1,TERM1_block,1},
 
	{ 3,TERM2,TERM2_block,5},
 
	{ 4,255,AIRPORT_BUSY_block,0}, {4,TERM2,0,5}, {4,HANGAR,0,1}, {4,TAKEOFF,0,6}, {4,HELITAKEOFF,0,1},
 
	{ 5,255,AIRPORT_BUSY_block,0}, {5,TERM2,TERM2_block,3}, {5,0,0,4},
 
	{ 6,0,AIRPORT_BUSY_block,7},
 
	{  0, HANGAR, NOTHING_block, 1 },
 
	{  1, 255, AIRPORT_BUSY_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, TERM1, TERM1_block, 2 }, { 1, TERM2, 0, 4 }, { 1, HELITAKEOFF, 0, 19 }, { 1, 0, 0, 6 },
 
	{  2, TERM1, TERM1_block, 1 },
 
	{  3, TERM2, TERM2_block, 5 },
 
	{  4, 255, AIRPORT_BUSY_block, 0 }, { 4, TERM2, 0, 5 }, { 4, HANGAR, 0, 1 }, { 4, TAKEOFF, 0, 6 }, { 4, HELITAKEOFF, 0, 1 },
 
	{  5, 255, AIRPORT_BUSY_block, 0 }, { 5, TERM2, TERM2_block, 3 }, { 5, 0, 0, 4 },
 
	{  6, 0, AIRPORT_BUSY_block, 7 },
 
	// takeoff
 
	{ 7,TAKEOFF,AIRPORT_BUSY_block,8},
 
	{ 8,STARTTAKEOFF,NOTHING_block,9},
 
	{ 9,ENDTAKEOFF,NOTHING_block,0},
 
	{  7, TAKEOFF, AIRPORT_BUSY_block, 8 },
 
	{  8, STARTTAKEOFF, NOTHING_block, 9 },
 
	{  9, ENDTAKEOFF, NOTHING_block, 0 },
 
	// landing
 
	{10,FLYING,NOTHING_block,15}, {10,LANDING,0,11}, {10,HELILANDING,0,20},
 
	{11,LANDING,AIRPORT_BUSY_block,12},
 
	{12,0,AIRPORT_BUSY_block,13},
 
	{13,ENDLANDING,AIRPORT_BUSY_block,14}, {13,TERM2,0,5}, {13,0,0,14},
 
	{14,0,AIRPORT_BUSY_block,1},
 
	{ 10, FLYING, NOTHING_block, 15 }, { 10, LANDING, 0, 11 }, { 10, HELILANDING, 0, 20 },
 
	{ 11, LANDING, AIRPORT_BUSY_block, 12 },
 
	{ 12, 0, AIRPORT_BUSY_block, 13 },
 
	{ 13, ENDLANDING, AIRPORT_BUSY_block, 14 }, { 13, TERM2, 0, 5 }, { 13, 0, 0, 14 },
 
	{ 14, 0, AIRPORT_BUSY_block, 1 },
 
	// In air
 
	{15,0,NOTHING_block,16},
 
	{16,0,NOTHING_block,17},
 
	{17,0,NOTHING_block,18},
 
	{18,0,NOTHING_block,10},
 
	{19,HELITAKEOFF,NOTHING_block,0},
 
	{20,HELILANDING,AIRPORT_BUSY_block,21},
 
	{21,HELIENDLANDING,AIRPORT_BUSY_block,1},
 
	{MAX_ELEMENTS,0,0,0} // end marker. DO NOT REMOVE
 
	{ 15, 0, NOTHING_block, 16 },
 
	{ 16, 0, NOTHING_block, 17 },
 
	{ 17, 0, NOTHING_block, 18 },
 
	{ 18, 0, NOTHING_block, 10 },
 
	{ 19, HELITAKEOFF, NOTHING_block, 0 },
 
	{ 20, HELILANDING, AIRPORT_BUSY_block, 21 },
 
	{ 21, HELIENDLANDING, AIRPORT_BUSY_block, 1 },
 
	{ MAX_ELEMENTS, 0, 0, 0 } // end marker. DO NOT REMOVE
 
};
 

	
 
static const TileIndexDiffC _airport_depots_commuter[] = {{4, 0}};
 
static const byte _airport_terminal_commuter[] = {1, 3};
 
static const byte _airport_helipad_commuter[] = {1, 2};
 
static const TileIndexDiffC _airport_depots_commuter[] = { { 4, 0 } };
 
static const byte _airport_terminal_commuter[] = { 1, 3 };
 
static const byte _airport_helipad_commuter[] = { 1, 2 };
 
static const AirportFTAbuildup _airport_fta_commuter[] = {
 
	{ 0,HANGAR,NOTHING_block,1}, {0,HELITAKEOFF,HELIPAD2_block,1}, {0,0,0,1},
 
	{ 1,255,TAXIWAY_BUSY_block,0}, {1,HANGAR,0,0}, {1,TAKEOFF,0,11}, {1,TERM1,TAXIWAY_BUSY_block,10}, {1,TERM2,TAXIWAY_BUSY_block,10}, {1,TERM3,TAXIWAY_BUSY_block,10}, {1,HELIPAD1,TAXIWAY_BUSY_block,10}, {1,HELIPAD2,TAXIWAY_BUSY_block,10}, {1,HELITAKEOFF,TAXIWAY_BUSY_block,10}, {1,0,0,0},
 
	{ 2,255,AIRPORT_ENTRANCE_block,2}, {2,HANGAR,0,8}, {2,TERM1,0,8}, {2,TERM2,0,8}, {2,TERM3,0,8}, {2,HELIPAD1,0,8}, {2,HELIPAD2,0,8}, {2,HELITAKEOFF,0,8}, {2,0,0,2},
 
	{ 3,TERM1,TERM1_block,8}, {3,HANGAR,0,8}, {3,TAKEOFF,0,8}, {3,0,0,3},
 
	{ 4,TERM2,TERM2_block,9}, {4,HANGAR,0,9}, {4,TAKEOFF,0,9}, {4,0,0,4},
 
	{ 5,TERM3,TERM3_block,10}, {5,HANGAR,0,10}, {5,TAKEOFF,0,10}, {5,0,0,5},
 
	{ 6,HELIPAD1,HELIPAD1_block,6}, {6,HANGAR,TAXIWAY_BUSY_block,9}, {6,HELITAKEOFF,0,35},
 
	{ 7,HELIPAD2,HELIPAD2_block,7}, {7,HANGAR,TAXIWAY_BUSY_block,10}, {7,HELITAKEOFF,0,36},
 
	{ 8,255,TAXIWAY_BUSY_block,8}, {8,TAKEOFF,TAXIWAY_BUSY_block,9}, {8,HANGAR,TAXIWAY_BUSY_block,9}, {8,TERM1,TERM1_block,3}, {8,0,TAXIWAY_BUSY_block,9},
 
	{ 9,255,TAXIWAY_BUSY_block,9}, {9,TAKEOFF,TAXIWAY_BUSY_block,10}, {9,HANGAR,TAXIWAY_BUSY_block,10}, {9,TERM2,TERM2_block,4}, {9,HELIPAD1,HELIPAD1_block,6}, {9,HELITAKEOFF,HELIPAD1_block,6}, {9,TERM1,TAXIWAY_BUSY_block,8}, {9,0,TAXIWAY_BUSY_block,10},
 
	{10,255,TAXIWAY_BUSY_block,10}, {10,TERM3,TERM3_block,5}, {10,HELIPAD1,0,9}, {10,HELIPAD2,HELIPAD2_block,7}, {10,HELITAKEOFF,HELIPAD2_block,7}, {10,TAKEOFF,TAXIWAY_BUSY_block,1}, {10,HANGAR,TAXIWAY_BUSY_block,1}, {10,0,TAXIWAY_BUSY_block,9},
 
	{11,0,OUT_WAY_block,12},
 
	{  0, HANGAR, NOTHING_block, 1 }, { 0, HELITAKEOFF, HELIPAD2_block, 1 }, { 0, 0, 0, 1 },
 
	{  1, 255, TAXIWAY_BUSY_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, TAKEOFF, 0, 11 }, { 1, TERM1, TAXIWAY_BUSY_block, 10 }, { 1, TERM2, TAXIWAY_BUSY_block, 10 }, { 1, TERM3, TAXIWAY_BUSY_block, 10 }, { 1, HELIPAD1, TAXIWAY_BUSY_block, 10 }, { 1, HELIPAD2, TAXIWAY_BUSY_block, 10 }, { 1, HELITAKEOFF, TAXIWAY_BUSY_block, 10 }, { 1, 0, 0, 0 },
 
	{  2, 255, AIRPORT_ENTRANCE_block, 2 }, { 2, HANGAR, 0, 8 }, { 2, TERM1, 0, 8 }, { 2, TERM2, 0, 8 }, { 2, TERM3, 0, 8 }, { 2, HELIPAD1, 0, 8 }, { 2, HELIPAD2, 0, 8 }, { 2, HELITAKEOFF, 0, 8 }, { 2, 0, 0, 2 },
 
	{  3, TERM1, TERM1_block, 8 }, { 3, HANGAR, 0, 8 }, { 3, TAKEOFF, 0, 8 }, { 3, 0, 0, 3 },
 
	{  4, TERM2, TERM2_block, 9 }, { 4, HANGAR, 0, 9 }, { 4, TAKEOFF, 0, 9 }, { 4, 0, 0, 4 },
 
	{  5, TERM3, TERM3_block, 10 }, { 5, HANGAR, 0, 10 }, { 5, TAKEOFF, 0, 10 }, { 5, 0, 0, 5 },
 
	{  6, HELIPAD1, HELIPAD1_block, 6 }, { 6, HANGAR, TAXIWAY_BUSY_block, 9 }, { 6, HELITAKEOFF, 0, 35 },
 
	{  7, HELIPAD2, HELIPAD2_block, 7 }, { 7, HANGAR, TAXIWAY_BUSY_block, 10 }, { 7, HELITAKEOFF, 0, 36 },
 
	{  8, 255, TAXIWAY_BUSY_block, 8 }, { 8, TAKEOFF, TAXIWAY_BUSY_block, 9 }, { 8, HANGAR, TAXIWAY_BUSY_block, 9 }, { 8, TERM1, TERM1_block, 3 }, { 8, 0, TAXIWAY_BUSY_block, 9 },
 
	{  9, 255, TAXIWAY_BUSY_block, 9 }, { 9, TAKEOFF, TAXIWAY_BUSY_block, 10 }, { 9, HANGAR, TAXIWAY_BUSY_block, 10 }, { 9, TERM2, TERM2_block, 4 }, { 9, HELIPAD1, HELIPAD1_block, 6 }, { 9, HELITAKEOFF, HELIPAD1_block, 6 }, { 9, TERM1, TAXIWAY_BUSY_block, 8 }, { 9, 0, TAXIWAY_BUSY_block, 10 },
 
	{ 10, 255, TAXIWAY_BUSY_block, 10 }, { 10, TERM3, TERM3_block, 5 }, { 10, HELIPAD1, 0, 9 }, { 10, HELIPAD2, HELIPAD2_block, 7 }, { 10, HELITAKEOFF, HELIPAD2_block, 7 }, { 10, TAKEOFF, TAXIWAY_BUSY_block, 1 }, { 10, HANGAR, TAXIWAY_BUSY_block, 1 }, { 10, 0, TAXIWAY_BUSY_block, 9 },
 
	{ 11, 0, OUT_WAY_block, 12 },
 
	// takeoff
 
	{12,TAKEOFF,RUNWAY_IN_OUT_block,13},
 
	{13,0,RUNWAY_IN_OUT_block,14},
 
	{14,STARTTAKEOFF,RUNWAY_IN_OUT_block,15},
 
	{15,ENDTAKEOFF,NOTHING_block,0},
 
	{ 12, TAKEOFF, RUNWAY_IN_OUT_block, 13 },
 
	{ 13, 0, RUNWAY_IN_OUT_block, 14 },
 
	{ 14, STARTTAKEOFF, RUNWAY_IN_OUT_block, 15 },
 
	{ 15, ENDTAKEOFF, NOTHING_block, 0 },
 
	// landing
 
	{16,FLYING,NOTHING_block,21}, {16,LANDING,IN_WAY_block,17}, {16,HELILANDING,0,25},
 
	{17,LANDING,RUNWAY_IN_OUT_block,18},
 
	{18,0,RUNWAY_IN_OUT_block,19},
 
	{19,0,RUNWAY_IN_OUT_block,20},
 
	{20,ENDLANDING,IN_WAY_block,20}, {20,255,IN_WAY_block,2}, {20,TERM1,0,2}, {20,TERM2,0,2}, {20,TERM3,0,2}, {20,HANGAR,0,2}, {20,0,0,2},
 
	{ 16, FLYING, NOTHING_block, 21 }, { 16, LANDING, IN_WAY_block, 17 }, { 16, HELILANDING, 0, 25 },
 
	{ 17, LANDING, RUNWAY_IN_OUT_block, 18 },
 
	{ 18, 0, RUNWAY_IN_OUT_block, 19 },
 
	{ 19, 0, RUNWAY_IN_OUT_block, 20 },
 
	{ 20, ENDLANDING, IN_WAY_block, 20 }, { 20, 255, IN_WAY_block, 2 }, { 20, TERM1, 0, 2 }, { 20, TERM2, 0, 2 }, { 20, TERM3, 0, 2 }, { 20, HANGAR, 0, 2 }, { 20, 0, 0, 2 },
 
	// In Air
 
	{21,0,NOTHING_block,22},
 
	{22,0,NOTHING_block,23},
 
	{23,0,NOTHING_block,24},
 
	{24,0,NOTHING_block,16},
 
	{ 21, 0, NOTHING_block, 22 },
 
	{ 22, 0, NOTHING_block, 23 },
 
	{ 23, 0, NOTHING_block, 24 },
 
	{ 24, 0, NOTHING_block, 16 },
 
	// Helicopter -- stay in air in special place as a buffer to choose from helipads
 
	{25,HELILANDING,PRE_HELIPAD_block,26},
 
	{26,HELIENDLANDING,PRE_HELIPAD_block,26}, {26,HELIPAD1,0,27}, {26,HELIPAD2,0,28}, {26,HANGAR,0,33},
 
	{27,0,NOTHING_block,29}, //helipad1 approach
 
	{28,0,NOTHING_block,30},
 
	{ 25, HELILANDING, PRE_HELIPAD_block, 26 },
 
	{ 26, HELIENDLANDING, PRE_HELIPAD_block, 26 }, { 26, HELIPAD1, 0, 27 }, { 26, HELIPAD2, 0, 28 }, { 26, HANGAR, 0, 33 },
 
	{ 27, 0, NOTHING_block, 29 }, //helipad1 approach
 
	{ 28, 0, NOTHING_block, 30 },
 
	// landing
 
	{29,255,NOTHING_block,0}, {29,HELIPAD1,HELIPAD1_block,6},
 
	{30,255,NOTHING_block,0}, {30,HELIPAD2,HELIPAD2_block,7},
 
	{ 29, 255, NOTHING_block, 0 }, { 29, HELIPAD1, HELIPAD1_block, 6 },
 
	{ 30, 255, NOTHING_block, 0 }, { 30, HELIPAD2, HELIPAD2_block, 7 },
 
	// Helicopter -- takeoff
 
	{31,HELITAKEOFF,NOTHING_block,0},
 
	{32,HELITAKEOFF,NOTHING_block,0},
 
	{33,0,TAXIWAY_BUSY_block,34}, // need to go to hangar when waiting in air
 
	{34,0,TAXIWAY_BUSY_block,1},
 
	{35,0,HELIPAD1_block,31},
 
	{36,0,HELIPAD2_block,32},
 
	{MAX_ELEMENTS,0,0,0} // end marker. DO NOT REMOVE
 
	{ 31, HELITAKEOFF, NOTHING_block, 0 },
 
	{ 32, HELITAKEOFF, NOTHING_block, 0 },
 
	{ 33, 0, TAXIWAY_BUSY_block, 34 }, // need to go to hangar when waiting in air
 
	{ 34, 0, TAXIWAY_BUSY_block, 1 },
 
	{ 35, 0, HELIPAD1_block, 31 },
 
	{ 36, 0, HELIPAD2_block, 32 },
 
	{ MAX_ELEMENTS, 0, 0, 0 } // end marker. DO NOT REMOVE
 
};
 

	
 
static const TileIndexDiffC _airport_depots_city[] = {{5, 0}};
 
static const byte _airport_terminal_city[] = {1, 3};
 
static const TileIndexDiffC _airport_depots_city[] = { { 5, 0 } };
 
static const byte _airport_terminal_city[] = { 1, 3 };
 
static const AirportFTAbuildup _airport_fta_city[] = {
 
	{ 0,HANGAR,NOTHING_block,1}, {0,TAKEOFF,OUT_WAY_block,1}, {0,0,0,1},
 
	{ 1,255,TAXIWAY_BUSY_block,0}, {1,HANGAR,0,0}, {1,TERM2,0,6}, {1,TERM3,0,6}, {1,0,0,7}, // for all else, go to 7
 
	{ 2,TERM1,TERM1_block,7}, {2,TAKEOFF,OUT_WAY_block,7}, {2,0,0,7},
 
	{ 3,TERM2,TERM2_block,5}, {3,TAKEOFF,OUT_WAY_block,5}, {3,0,0,5},
 
	{ 4,TERM3,TERM3_block,5}, {4,TAKEOFF,OUT_WAY_block,5}, {4,0,0,5},
 
	{ 5,255,TAXIWAY_BUSY_block,0}, {5,TERM2,TERM2_block,3}, {5,TERM3,TERM3_block,4}, {5,0,0,6},
 
	{ 6,255,TAXIWAY_BUSY_block,0}, {6,TERM2,0,5}, {6,TERM3,0,5}, {6,HANGAR,0,1}, {6,0,0,7},
 
	{ 7,255,TAXIWAY_BUSY_block,0}, {7,TERM1,TERM1_block,2}, {7,TAKEOFF,OUT_WAY_block,8}, {7,HELITAKEOFF,0,22}, {7,HANGAR,0,1}, {7,0,0,6},
 
	{ 8,0,OUT_WAY_block,9},
 
	{ 9,0,RUNWAY_IN_OUT_block,10},
 
	{  0, HANGAR, NOTHING_block, 1 }, { 0, TAKEOFF, OUT_WAY_block, 1 }, { 0, 0, 0, 1 },
 
	{  1, 255, TAXIWAY_BUSY_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, TERM2, 0, 6 }, { 1, TERM3, 0, 6 }, { 1, 0, 0, 7 }, // for all else, go to 7
 
	{  2, TERM1, TERM1_block, 7 }, { 2, TAKEOFF, OUT_WAY_block, 7 }, { 2, 0, 0, 7 },
 
	{  3, TERM2, TERM2_block, 5 }, { 3, TAKEOFF, OUT_WAY_block, 5 }, { 3, 0, 0, 5 },
 
	{  4, TERM3, TERM3_block, 5 }, { 4, TAKEOFF, OUT_WAY_block, 5 }, { 4, 0, 0, 5 },
 
	{  5, 255, TAXIWAY_BUSY_block, 0 }, { 5, TERM2, TERM2_block, 3 }, { 5, TERM3, TERM3_block, 4 }, { 5, 0, 0, 6 },
 
	{  6, 255, TAXIWAY_BUSY_block, 0 }, { 6, TERM2, 0, 5 }, { 6, TERM3, 0, 5 }, { 6, HANGAR, 0, 1 }, { 6, 0, 0, 7 },
 
	{  7, 255, TAXIWAY_BUSY_block, 0 }, { 7, TERM1, TERM1_block, 2 }, { 7, TAKEOFF, OUT_WAY_block, 8 }, { 7, HELITAKEOFF, 0, 22 }, { 7, HANGAR, 0, 1 }, { 7, 0, 0, 6 },
 
	{  8, 0, OUT_WAY_block, 9 },
 
	{  9, 0, RUNWAY_IN_OUT_block, 10 },
 
	// takeoff
 
	{10,TAKEOFF,RUNWAY_IN_OUT_block,11},
 
	{11,STARTTAKEOFF,NOTHING_block,12},
 
	{12,ENDTAKEOFF,NOTHING_block,0},
 
	{ 10, TAKEOFF, RUNWAY_IN_OUT_block, 11 },
 
	{ 11, STARTTAKEOFF, NOTHING_block, 12 },
 
	{ 12, ENDTAKEOFF, NOTHING_block, 0 },
 
	// landing
 
	{13,FLYING,NOTHING_block,18}, {13,LANDING,0,14}, {13,HELILANDING,0,23},
 
	{14,LANDING,RUNWAY_IN_OUT_block,15},
 
	{15,0,RUNWAY_IN_OUT_block,16},
 
	{16,0,RUNWAY_IN_OUT_block,17},
 
	{17,ENDLANDING,IN_WAY_block,7},
 
	{ 13, FLYING, NOTHING_block, 18 }, { 13, LANDING, 0, 14 }, { 13, HELILANDING, 0, 23 },
 
	{ 14, LANDING, RUNWAY_IN_OUT_block, 15 },
 
	{ 15, 0, RUNWAY_IN_OUT_block, 16 },
 
	{ 16, 0, RUNWAY_IN_OUT_block, 17 },
 
	{ 17, ENDLANDING, IN_WAY_block, 7 },
 
	// In Air
 
	{18,0,NOTHING_block,19},
 
	{19,0,NOTHING_block,20},
 
	{20,0,NOTHING_block,21},
 
	{21,0,NOTHING_block,13},
 
	{ 18, 0, NOTHING_block, 19 },
 
	{ 19, 0, NOTHING_block, 20 },
 
	{ 20, 0, NOTHING_block, 21 },
 
	{ 21, 0, NOTHING_block, 13 },
 
	// helicopter
 
	{22,HELITAKEOFF,NOTHING_block,0},
 
	{23,HELILANDING,IN_WAY_block,24},
 
	{24,HELIENDLANDING,IN_WAY_block,17},
 
	{MAX_ELEMENTS,0,0,0} // end marker. DO NOT REMOVE
 
	{ 22, HELITAKEOFF, NOTHING_block, 0 },
 
	{ 23, HELILANDING, IN_WAY_block, 24 },
 
	{ 24, HELIENDLANDING, IN_WAY_block, 17 },
 
	{ MAX_ELEMENTS, 0, 0, 0 } // end marker. DO NOT REMOVE
 
};
 

	
 
static const TileIndexDiffC _airport_depots_metropolitan[] = {{5, 0}};
 
static const byte _airport_terminal_metropolitan[] = {1, 3};
 
static const TileIndexDiffC _airport_depots_metropolitan[] = { { 5, 0 } };
 
static const byte _airport_terminal_metropolitan[] = { 1, 3 };
 
static const AirportFTAbuildup _airport_fta_metropolitan[] = {
 
	{ 0,HANGAR,NOTHING_block,1},
 
	{ 1,255,TAXIWAY_BUSY_block,0}, {1,HANGAR,0,0}, {1,TERM2,0,6}, {1,TERM3,0,6}, {1,0,0,7}, // for all else, go to 7
 
	{ 2,TERM1,TERM1_block,7},
 
	{ 3,TERM2,TERM2_block,5},
 
	{ 4,TERM3,TERM3_block,5},
 
	{ 5,255,TAXIWAY_BUSY_block,0}, {5,TERM2,TERM2_block,3}, {5,TERM3,TERM3_block,4}, {5,0,0,6},
 
	{ 6,255,TAXIWAY_BUSY_block,0}, {6,TERM2,0,5}, {6,TERM3,0,5}, {6,HANGAR,0,1}, {6,0,0,7},
 
	{ 7,255,TAXIWAY_BUSY_block,0}, {7,TERM1,TERM1_block,2}, {7,TAKEOFF,0,8}, {7,HELITAKEOFF,0,23}, {7,HANGAR,0,1}, {7,0,0,6},
 
	{ 8,0,OUT_WAY_block,9},
 
	{ 9,0,RUNWAY_OUT_block,10},
 
	{  0, HANGAR, NOTHING_block, 1 },
 
	{  1, 255, TAXIWAY_BUSY_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, TERM2, 0, 6 }, { 1, TERM3, 0, 6 }, { 1, 0, 0, 7 }, // for all else, go to 7
 
	{  2, TERM1, TERM1_block, 7 },
 
	{  3, TERM2, TERM2_block, 5 },
 
	{  4, TERM3, TERM3_block, 5 },
 
	{  5, 255, TAXIWAY_BUSY_block, 0 }, { 5, TERM2, TERM2_block, 3 }, { 5, TERM3, TERM3_block, 4 }, { 5, 0, 0, 6 },
 
	{  6, 255, TAXIWAY_BUSY_block, 0 }, { 6, TERM2, 0, 5 }, { 6, TERM3, 0, 5 }, { 6, HANGAR, 0, 1 }, { 6, 0, 0, 7 },
 
	{  7, 255, TAXIWAY_BUSY_block, 0 }, { 7, TERM1, TERM1_block, 2 }, { 7, TAKEOFF, 0, 8 }, { 7, HELITAKEOFF, 0, 23 }, { 7, HANGAR, 0, 1 }, { 7, 0, 0, 6 },
 
	{  8, 0, OUT_WAY_block, 9 },
 
	{  9, 0, RUNWAY_OUT_block, 10 },
 
	// takeoff
 
	{10,TAKEOFF,RUNWAY_OUT_block,11},
 
	{11,STARTTAKEOFF,NOTHING_block,12},
 
	{12,ENDTAKEOFF,NOTHING_block,0},
 
	{ 10, TAKEOFF, RUNWAY_OUT_block, 11 },
 
	{ 11, STARTTAKEOFF, NOTHING_block, 12 },
 
	{ 12, ENDTAKEOFF, NOTHING_block, 0 },
 
	// landing
 
	{13,FLYING,NOTHING_block,19}, {13,LANDING,0,14}, {13,HELILANDING,0,25},
 
	{14,LANDING,RUNWAY_IN_block,15},
 
	{15,0,RUNWAY_IN_block,16},
 
	{16,255,RUNWAY_IN_block,0}, {16,ENDLANDING,IN_WAY_block,17},
 
	{17,255,RUNWAY_OUT_block,0}, {17,ENDLANDING,IN_WAY_block,18},
 
	{18,ENDLANDING,IN_WAY_block,7},
 
	{ 13, FLYING, NOTHING_block, 19 }, { 13, LANDING, 0, 14 }, { 13, HELILANDING, 0, 25 },
 
	{ 14, LANDING, RUNWAY_IN_block, 15 },
 
	{ 15, 0, RUNWAY_IN_block, 16 },
 
	{ 16, 255, RUNWAY_IN_block, 0 }, { 16, ENDLANDING, IN_WAY_block, 17 },
 
	{ 17, 255, RUNWAY_OUT_block, 0 }, { 17, ENDLANDING, IN_WAY_block, 18 },
 
	{ 18, ENDLANDING, IN_WAY_block, 7 },
 
	// In Air
 
	{19,0,NOTHING_block,20},
 
	{20,0,NOTHING_block,21},
 
	{21,0,NOTHING_block,22},
 
	{22,0,NOTHING_block,13},
 
	{ 19, 0, NOTHING_block, 20 },
 
	{ 20, 0, NOTHING_block, 21 },
 
	{ 21, 0, NOTHING_block, 22 },
 
	{ 22, 0, NOTHING_block, 13 },
 
	// helicopter
 
	{23,0,NOTHING_block,24},
 
	{24,HELITAKEOFF,NOTHING_block,0},
 
	{25,HELILANDING,IN_WAY_block,26},
 
	{26,HELIENDLANDING,IN_WAY_block,18},
 
	{MAX_ELEMENTS,0,0,0} // end marker. DO NOT REMOVE
 
	{ 23, 0, NOTHING_block, 24 },
 
	{ 24, HELITAKEOFF, NOTHING_block, 0 },
 
	{ 25, HELILANDING, IN_WAY_block, 26 },
 
	{ 26, HELIENDLANDING, IN_WAY_block, 18 },
 
	{ MAX_ELEMENTS, 0, 0, 0 } // end marker. DO NOT REMOVE
 
};
 

	
 
static const TileIndexDiffC _airport_depots_international[] = {{0, 3}, {6, 1}};
 
static const byte _airport_terminal_international[] = {2, 3, 3};
 
static const byte _airport_helipad_international[] = {1, 2};
 
static const TileIndexDiffC _airport_depots_international[] = { { 0, 3 }, { 6, 1 } };
 
static const byte _airport_terminal_international[] = { 2, 3, 3 };
 
static const byte _airport_helipad_international[] = { 1, 2 };
 
static const AirportFTAbuildup _airport_fta_international[] = {
 
	{ 0,HANGAR,NOTHING_block,2}, {0,255,TERM_GROUP1_block,0}, {0,255,TERM_GROUP2_ENTER1_block,1}, {0,HELITAKEOFF,HELIPAD1_block,2}, {0,0,0,2},
 
	{ 1,HANGAR,NOTHING_block,3}, {1,255,HANGAR2_AREA_block,1}, {1,HELITAKEOFF,HELIPAD2_block,3}, {1,0,0,3},
 
	{ 2,255,AIRPORT_ENTRANCE_block,0}, {2,HANGAR,0,0}, {2,TERM4,0,12}, {2,TERM5,0,12}, {2,TERM6,0,12}, {2,HELIPAD1,0,12}, {2,HELIPAD2,0,12}, {2,HELITAKEOFF,0,12}, {2,0,0,23},
 
	{ 3,255,HANGAR2_AREA_block,0}, {3,HANGAR,0,1}, {3,0,0,18},
 
	{ 4,TERM1,TERM1_block,23}, {4,HANGAR,AIRPORT_ENTRANCE_block,23}, {4,0,0,23},
 
	{ 5,TERM2,TERM2_block,24}, {5,HANGAR,AIRPORT_ENTRANCE_block,24}, {5,0,0,24},
 
	{ 6,TERM3,TERM3_block,25}, {6,HANGAR,AIRPORT_ENTRANCE_block,25}, {6,0,0,25},
 
	{ 7,TERM4,TERM4_block,16}, {7,HANGAR,HANGAR2_AREA_block,16}, {7,0,0,16},
 
	{ 8,TERM5,TERM5_block,17}, {8,HANGAR,HANGAR2_AREA_block,17}, {8,0,0,17},
 
	{ 9,TERM6,TERM6_block,18}, {9,HANGAR,HANGAR2_AREA_block,18}, {9,0,0,18},
 
	{10,HELIPAD1,HELIPAD1_block,10}, {10,HANGAR,HANGAR2_AREA_block,16}, {10,HELITAKEOFF,0,47},
 
	{11,HELIPAD2,HELIPAD2_block,11}, {11,HANGAR,HANGAR2_AREA_block,17}, {11,HELITAKEOFF,0,48},
 
	{12,0,TERM_GROUP2_ENTER1_block,13},
 
	{13,0,TERM_GROUP2_ENTER1_block,14},
 
	{14,0,TERM_GROUP2_ENTER2_block,15},
 
	{15,0,TERM_GROUP2_ENTER2_block,16},
 
	{16,255,TERM_GROUP2_block,0}, {16,TERM4,TERM4_block,7}, {16,HELIPAD1,HELIPAD1_block,10}, {16,HELITAKEOFF,HELIPAD1_block,10}, {16,0,0,17},
 
	{17,255,TERM_GROUP2_block,0}, {17,TERM5,TERM5_block,8}, {17,TERM4,0,16}, {17,HELIPAD1,0,16}, {17,HELIPAD2,HELIPAD2_block,11}, {17,HELITAKEOFF,HELIPAD2_block,11}, {17,0,0,18},
 
	{18,255,TERM_GROUP2_block,0}, {18,TERM6,TERM6_block,9}, {18,TAKEOFF,0,19}, {18,HANGAR,HANGAR2_AREA_block,3}, {18,0,0,17},
 
	{19,0,TERM_GROUP2_EXIT1_block,20},
 
	{20,0,TERM_GROUP2_EXIT1_block,21},
 
	{21,0,TERM_GROUP2_EXIT2_block,22},
 
	{22,0,TERM_GROUP2_EXIT2_block,26},
 
	{23,255,TERM_GROUP1_block,0}, {23,TERM1,TERM1_block,4}, {23,HANGAR,AIRPORT_ENTRANCE_block,2}, {23,0,0,24},
 
	{24,255,TERM_GROUP1_block,0}, {24,TERM2,TERM2_block,5}, {24,TERM1,0,23}, {24,HANGAR,0,23}, {24,0,0,25},
 
	{25,255,TERM_GROUP1_block,0}, {25,TERM3,TERM3_block,6}, {25,TAKEOFF,0,26}, {25,0,0,24},
 
	{26,255,TAXIWAY_BUSY_block,0}, {26,TAKEOFF,0,27}, {26,0,0,25},
 
	{27,0,OUT_WAY_block,28},
 
	{  0, HANGAR, NOTHING_block, 2 }, { 0, 255, TERM_GROUP1_block, 0 }, { 0, 255, TERM_GROUP2_ENTER1_block, 1 }, { 0, HELITAKEOFF, HELIPAD1_block, 2 }, { 0, 0, 0, 2 },
 
	{  1, HANGAR, NOTHING_block, 3 }, { 1, 255, HANGAR2_AREA_block, 1 }, { 1, HELITAKEOFF, HELIPAD2_block, 3 }, { 1, 0, 0, 3 },
 
	{  2, 255, AIRPORT_ENTRANCE_block, 0 }, { 2, HANGAR, 0, 0 }, { 2, TERM4, 0, 12 }, { 2, TERM5, 0, 12 }, { 2, TERM6, 0, 12 }, { 2, HELIPAD1, 0, 12 }, { 2, HELIPAD2, 0, 12 }, { 2, HELITAKEOFF, 0, 12 }, { 2, 0, 0, 23 },
 
	{  3, 255, HANGAR2_AREA_block, 0 }, { 3, HANGAR, 0, 1 }, { 3, 0, 0, 18 },
 
	{  4, TERM1, TERM1_block, 23 }, { 4, HANGAR, AIRPORT_ENTRANCE_block, 23 }, { 4, 0, 0, 23 },
 
	{  5, TERM2, TERM2_block, 24 }, { 5, HANGAR, AIRPORT_ENTRANCE_block, 24 }, { 5, 0, 0, 24 },
 
	{  6, TERM3, TERM3_block, 25 }, { 6, HANGAR, AIRPORT_ENTRANCE_block, 25 }, { 6, 0, 0, 25 },
 
	{  7, TERM4, TERM4_block, 16 }, { 7, HANGAR, HANGAR2_AREA_block, 16 }, { 7, 0, 0, 16 },
 
	{  8, TERM5, TERM5_block, 17 }, { 8, HANGAR, HANGAR2_AREA_block, 17 }, { 8, 0, 0, 17 },
 
	{  9, TERM6, TERM6_block, 18 }, { 9, HANGAR, HANGAR2_AREA_block, 18 }, { 9, 0, 0, 18 },
 
	{ 10, HELIPAD1, HELIPAD1_block, 10 }, { 10, HANGAR, HANGAR2_AREA_block, 16 }, { 10, HELITAKEOFF, 0, 47 },
 
	{ 11, HELIPAD2, HELIPAD2_block, 11 }, { 11, HANGAR, HANGAR2_AREA_block, 17 }, { 11, HELITAKEOFF, 0, 48 },
 
	{ 12, 0, TERM_GROUP2_ENTER1_block, 13 },
 
	{ 13, 0, TERM_GROUP2_ENTER1_block, 14 },
 
	{ 14, 0, TERM_GROUP2_ENTER2_block, 15 },
 
	{ 15, 0, TERM_GROUP2_ENTER2_block, 16 },
 
	{ 16, 255, TERM_GROUP2_block, 0 }, { 16, TERM4, TERM4_block, 7 }, { 16, HELIPAD1, HELIPAD1_block, 10 }, { 16, HELITAKEOFF, HELIPAD1_block, 10 }, { 16, 0, 0, 17 },
 
	{ 17, 255, TERM_GROUP2_block, 0 }, { 17, TERM5, TERM5_block, 8 }, { 17, TERM4, 0, 16 }, { 17, HELIPAD1, 0, 16 }, { 17, HELIPAD2, HELIPAD2_block, 11 }, { 17, HELITAKEOFF, HELIPAD2_block, 11 }, { 17, 0, 0, 18 },
 
	{ 18, 255, TERM_GROUP2_block, 0 }, { 18, TERM6, TERM6_block, 9 }, { 18, TAKEOFF, 0, 19 }, { 18, HANGAR, HANGAR2_AREA_block, 3 }, { 18, 0, 0, 17 },
 
	{ 19, 0, TERM_GROUP2_EXIT1_block, 20 },
 
	{ 20, 0, TERM_GROUP2_EXIT1_block, 21 },
 
	{ 21, 0, TERM_GROUP2_EXIT2_block, 22 },
 
	{ 22, 0, TERM_GROUP2_EXIT2_block, 26 },
 
	{ 23, 255, TERM_GROUP1_block, 0 }, { 23, TERM1, TERM1_block, 4 }, { 23, HANGAR, AIRPORT_ENTRANCE_block, 2 }, { 23, 0, 0, 24 },
 
	{ 24, 255, TERM_GROUP1_block, 0 }, { 24, TERM2, TERM2_block, 5 }, { 24, TERM1, 0, 23 }, { 24, HANGAR, 0, 23 }, { 24, 0, 0, 25 },
 
	{ 25, 255, TERM_GROUP1_block, 0 }, { 25, TERM3, TERM3_block, 6 }, { 25, TAKEOFF, 0, 26 }, { 25, 0, 0, 24 },
 
	{ 26, 255, TAXIWAY_BUSY_block, 0 }, { 26, TAKEOFF, 0, 27 }, { 26, 0, 0, 25 },
 
	{ 27, 0, OUT_WAY_block, 28 },
 
	// takeoff
 
	{28,TAKEOFF,OUT_WAY_block,29},
 
	{29,0,RUNWAY_OUT_block,30},
 
	{30,STARTTAKEOFF,NOTHING_block,31},
 
	{31,ENDTAKEOFF,NOTHING_block,0},
 
	{ 28, TAKEOFF, OUT_WAY_block, 29 },
 
	{ 29, 0, RUNWAY_OUT_block, 30 },
 
	{ 30, STARTTAKEOFF, NOTHING_block, 31 },
 
	{ 31, ENDTAKEOFF, NOTHING_block, 0 },
 
	// landing
 
	{32,FLYING,NOTHING_block,37}, {32,LANDING,0,33}, {32,HELILANDING,0,41},
 
	{33,LANDING,RUNWAY_IN_block,34},
 
	{34,0,RUNWAY_IN_block,35},
 
	{35,0,RUNWAY_IN_block,36},
 
	{36,ENDLANDING,IN_WAY_block,36}, {36,255,TERM_GROUP1_block,0}, {36,255,TERM_GROUP2_ENTER1_block,1}, {36,TERM4,0,12}, {36,TERM5,0,12}, {36,TERM6,0,12}, {36,0,0,2},
 
	{ 32, FLYING, NOTHING_block, 37 }, { 32, LANDING, 0, 33 }, { 32, HELILANDING, 0, 41 },
 
	{ 33, LANDING, RUNWAY_IN_block, 34 },
 
	{ 34, 0, RUNWAY_IN_block, 35 },
 
	{ 35, 0, RUNWAY_IN_block, 36 },
 
	{ 36, ENDLANDING, IN_WAY_block, 36 }, { 36, 255, TERM_GROUP1_block, 0 }, { 36, 255, TERM_GROUP2_ENTER1_block, 1 }, { 36, TERM4, 0, 12 }, { 36, TERM5, 0, 12 }, { 36, TERM6, 0, 12 }, { 36, 0, 0, 2 },
 
	// In Air
 
	{37,0,NOTHING_block,38},
 
	{38,0,NOTHING_block,39},
 
	{39,0,NOTHING_block,40},
 
	{40,0,NOTHING_block,32},
 
	{ 37, 0, NOTHING_block, 38 },
 
	{ 38, 0, NOTHING_block, 39 },
 
	{ 39, 0, NOTHING_block, 40 },
 
	{ 40, 0, NOTHING_block, 32 },
 
	// Helicopter -- stay in air in special place as a buffer to choose from helipads
 
	{41,HELILANDING,PRE_HELIPAD_block,42},
 
	{42,HELIENDLANDING,PRE_HELIPAD_block,42}, {42,HELIPAD1,0,43}, {42,HELIPAD2,0,44}, {42,HANGAR,0,49},
 
	{43,0,NOTHING_block,45},
 
	{44,0,NOTHING_block,46},
 
	{ 41, HELILANDING, PRE_HELIPAD_block, 42 },
 
	{ 42, HELIENDLANDING, PRE_HELIPAD_block, 42 }, { 42, HELIPAD1, 0, 43 }, { 42, HELIPAD2, 0, 44 }, { 42, HANGAR, 0, 49 },
 
	{ 43, 0, NOTHING_block, 45 },
 
	{ 44, 0, NOTHING_block, 46 },
 
	// landing
 
	{45,255,NOTHING_block,0}, {45,HELIPAD1,HELIPAD1_block,10},
 
	{46,255,NOTHING_block,0}, {46,HELIPAD2,HELIPAD2_block,11},
 
	{ 45, 255, NOTHING_block, 0 }, { 45, HELIPAD1, HELIPAD1_block, 10 },
 
	{ 46, 255, NOTHING_block, 0 }, { 46, HELIPAD2, HELIPAD2_block, 11 },
 
	// Helicopter -- takeoff
 
	{47,HELITAKEOFF,NOTHING_block,0},
 
	{48,HELITAKEOFF,NOTHING_block,0},
 
	{49,0,HANGAR2_AREA_block,50}, // need to go to hangar when waiting in air
 
	{50,0,HANGAR2_AREA_block,3},
 
	{MAX_ELEMENTS,0,0,0} // end marker. DO NOT REMOVE
 
	{ 47, HELITAKEOFF, NOTHING_block, 0 },
 
	{ 48, HELITAKEOFF, NOTHING_block, 0 },
 
	{ 49, 0, HANGAR2_AREA_block, 50 }, // need to go to hangar when waiting in air
 
	{ 50, 0, HANGAR2_AREA_block, 3 },
 
	{ MAX_ELEMENTS, 0, 0, 0 } // end marker. DO NOT REMOVE
 
};
 

	
 
// intercontinental
 
static const TileIndexDiffC _airport_depots_intercontinental[] = {{0, 5}, {8, 4}};
 
static const byte _airport_terminal_intercontinental[] = {2, 4, 4};
 
static const byte _airport_helipad_intercontinental[] = {1, 2};
 
static const TileIndexDiffC _airport_depots_intercontinental[] = { { 0, 5 }, { 8, 4 } };
 
static const byte _airport_terminal_intercontinental[] = { 2, 4, 4 };
 
static const byte _airport_helipad_intercontinental[] = { 1, 2 };
 
static const AirportFTAbuildup _airport_fta_intercontinental[] = {
 
	{ 0,HANGAR,NOTHING_block,2}, {0,255,HANGAR1_AREA_block | TERM_GROUP1_block,0}, {0,255,HANGAR1_AREA_block | TERM_GROUP1_block,1}, {0,TAKEOFF,HANGAR1_AREA_block | TERM_GROUP1_block,2}, {0,0,0,2},
 
	{ 1,HANGAR,NOTHING_block,3}, {1,255,HANGAR2_AREA_block,1}, {1,255,HANGAR2_AREA_block,0}, {1,0,0,3},
 
	{ 2,255,HANGAR1_AREA_block,0}, {2,255,TERM_GROUP1_block,0}, {2,255,TERM_GROUP1_block,1}, {2,HANGAR,0,0}, {2,TAKEOFF,TERM_GROUP1_block,27}, {2,TERM5,0,26}, {2,TERM6,0,26}, {2,TERM7,0,26}, {2,TERM8,0,26}, {2,HELIPAD1,0,26}, {2,HELIPAD2,0,26}, {2,HELITAKEOFF,0,74}, {2,0,0,27},
 
	{ 3,255,HANGAR2_AREA_block,0}, {3,HANGAR,0,1}, {3,HELITAKEOFF,0,75}, {3,0,0,20},
 
	{ 4,TERM1,TERM1_block,26}, {4,HANGAR,HANGAR1_AREA_block | TERM_GROUP1_block,26}, {4,0,0,26},
 
	{ 5,TERM2,TERM2_block,27}, {5,HANGAR,HANGAR1_AREA_block | TERM_GROUP1_block,27}, {5,0,0,27},
 
	{ 6,TERM3,TERM3_block,28}, {6,HANGAR,HANGAR1_AREA_block | TERM_GROUP1_block,28}, {6,0,0,28},
 
	{ 7,TERM4,TERM4_block,29}, {7,HANGAR,HANGAR1_AREA_block | TERM_GROUP1_block,29}, {7,0,0,29},
 
	{ 8,TERM5,TERM5_block,18}, {8,HANGAR,HANGAR2_AREA_block,18}, {8,0,0,18},
 
	{ 9,TERM6,TERM6_block,19}, {9,HANGAR,HANGAR2_AREA_block,19}, {9,0,0,19},
 
	{10,TERM7,TERM7_block,20}, {10,HANGAR,HANGAR2_AREA_block,20}, {10,0,0,20},
 
	{11,TERM8,TERM8_block,21}, {11,HANGAR,HANGAR2_AREA_block,21}, {11,0,0,21},
 
	{12,HELIPAD1,HELIPAD1_block,12}, {12,HANGAR,0,70}, {12,HELITAKEOFF,0,72},
 
	{13,HELIPAD2,HELIPAD2_block,13}, {13,HANGAR,0,71}, {13,HELITAKEOFF,0,73},
 
	{14,0,TERM_GROUP2_ENTER1_block,15},
 
	{15,0,TERM_GROUP2_ENTER1_block,16},
 
	{16,0,TERM_GROUP2_ENTER2_block,17},
 
	{17,0,TERM_GROUP2_ENTER2_block,18},
 
	{18,255,TERM_GROUP2_block,0}, {18,TERM5,TERM5_block,8}, {18,TAKEOFF,0,19}, {18,HELITAKEOFF,HELIPAD1_block,19}, {18,0,TERM_GROUP2_EXIT1_block,19},
 
	{19,255,TERM_GROUP2_block,0}, {19,TERM6,TERM6_block,9}, {19,TERM5,0,18}, {19,TAKEOFF,0,57}, {19,HELITAKEOFF,HELIPAD1_block,20}, {19,0,TERM_GROUP2_EXIT1_block,20}, // add exit to runway out 2
 
	{20,255,TERM_GROUP2_block,0}, {20,TERM7,TERM7_block,10}, {20,TERM5,0,19}, {20,TERM6,0,19}, {20,HANGAR,HANGAR2_AREA_block,3}, {20,TAKEOFF,0,19}, {20,0,TERM_GROUP2_EXIT1_block,21},
 
	{21,255,TERM_GROUP2_block,0}, {21,TERM8,TERM8_block,11}, {21,HANGAR,HANGAR2_AREA_block,20}, {21,TERM5,0,20}, {21,TERM6,0,20}, {21,TERM7,0,20}, {21,TAKEOFF,0,20}, {21,0,TERM_GROUP2_EXIT1_block,22},
 
	{22,255,TERM_GROUP2_block,0}, {22,HANGAR,0,21}, {22,TERM5,0,21}, {22,TERM6,0,21}, {22,TERM7,0,21}, {22,TERM8,0,21}, {22,TAKEOFF,0,21}, {22,0,0,23},
 
	{23,255,TERM_GROUP2_EXIT1_block,0}, {23,0,0,70},
 
	{24,0,TERM_GROUP2_EXIT2_block,25},
 
	{25,255,TERM_GROUP2_EXIT2_block,0}, {25,HANGAR,HANGAR1_AREA_block | TERM_GROUP1_block,29}, {25,0,0,29},
 
	{26,255,TERM_GROUP1_block,0}, {26,TERM1,TERM1_block,4}, {26,HANGAR,HANGAR1_AREA_block,27}, {26,TERM5,TERM_GROUP2_ENTER1_block,14}, {26,TERM6,TERM_GROUP2_ENTER1_block,14}, {26,TERM7,TERM_GROUP2_ENTER1_block,14}, {26,TERM8,TERM_GROUP2_ENTER1_block,14}, {26,HELIPAD1,TERM_GROUP2_ENTER1_block,14}, {26,HELIPAD2,TERM_GROUP2_ENTER1_block,14}, {26,HELITAKEOFF,TERM_GROUP2_ENTER1_block,14}, {26,0,0,27},
 
	{27,255,TERM_GROUP1_block,0}, {27,TERM2,TERM2_block,5}, {27,HANGAR,HANGAR1_AREA_block,2}, {27,TERM1,0,26}, {27,TERM5,0,26}, {27,TERM6,0,26}, {27,TERM7,0,26}, {27,TERM8,0,26}, {27,HELIPAD1,0,14}, {27,HELIPAD2,0,14}, {27,0,0,28},
 
	{28,255,TERM_GROUP1_block,0}, {28,TERM3,TERM3_block,6}, {28,HANGAR,HANGAR1_AREA_block,27}, {28,TERM1,0,27}, {28,TERM2,0,27}, {28,TERM4,0,29}, {28,TERM5,0,14}, {28,TERM6,0,14}, {28,TERM7,0,14}, {28,TERM8,0,14}, {28,HELIPAD1,0,14}, {28,HELIPAD2,0,14}, {28,0,0,29},
 
	{29,255,TERM_GROUP1_block,0}, {29,TERM4,TERM4_block,7}, {29,HANGAR,HANGAR1_AREA_block,27}, {29,TAKEOFF,0,30}, {29,0,0,28},
 
	{30,255,OUT_WAY_block2,0}, {30,0,0,31},
 
	{31,255,OUT_WAY_block,32},
 
	{  0, HANGAR, NOTHING_block, 2 }, { 0, 255, HANGAR1_AREA_block | TERM_GROUP1_block, 0 }, { 0, 255, HANGAR1_AREA_block | TERM_GROUP1_block, 1 }, { 0, TAKEOFF, HANGAR1_AREA_block | TERM_GROUP1_block, 2 }, { 0, 0, 0, 2 },
 
	{  1, HANGAR, NOTHING_block, 3 }, { 1, 255, HANGAR2_AREA_block, 1 }, { 1, 255, HANGAR2_AREA_block, 0 }, { 1, 0, 0, 3 },
 
	{  2, 255, HANGAR1_AREA_block, 0 }, { 2, 255, TERM_GROUP1_block, 0 }, { 2, 255, TERM_GROUP1_block, 1 }, { 2, HANGAR, 0, 0 }, { 2, TAKEOFF, TERM_GROUP1_block, 27 }, { 2, TERM5, 0, 26 }, { 2, TERM6, 0, 26 }, { 2, TERM7, 0, 26 }, { 2, TERM8, 0, 26 }, { 2, HELIPAD1, 0, 26 }, { 2, HELIPAD2, 0, 26 }, { 2, HELITAKEOFF, 0, 74 }, { 2, 0, 0, 27 },
 
	{  3, 255, HANGAR2_AREA_block, 0 }, { 3, HANGAR, 0, 1 }, { 3, HELITAKEOFF, 0, 75 }, { 3, 0, 0, 20 },
 
	{  4, TERM1, TERM1_block, 26 }, { 4, HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 26 }, { 4, 0, 0, 26 },
 
	{  5, TERM2, TERM2_block, 27 }, { 5, HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 27 }, { 5, 0, 0, 27 },
 
	{  6, TERM3, TERM3_block, 28 }, { 6, HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 28 }, { 6, 0, 0, 28 },
 
	{  7, TERM4, TERM4_block, 29 }, { 7, HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 29 }, { 7, 0, 0, 29 },
 
	{  8, TERM5, TERM5_block, 18 }, { 8, HANGAR, HANGAR2_AREA_block, 18 }, { 8, 0, 0, 18 },
 
	{  9, TERM6, TERM6_block, 19 }, { 9, HANGAR, HANGAR2_AREA_block, 19 }, { 9, 0, 0, 19 },
 
	{ 10, TERM7, TERM7_block, 20 }, { 10, HANGAR, HANGAR2_AREA_block, 20 }, { 10, 0, 0, 20 },
 
	{ 11, TERM8, TERM8_block, 21 }, { 11, HANGAR, HANGAR2_AREA_block, 21 }, { 11, 0, 0, 21 },
 
	{ 12, HELIPAD1, HELIPAD1_block, 12 }, { 12, HANGAR, 0, 70 }, { 12, HELITAKEOFF, 0, 72 },
 
	{ 13, HELIPAD2, HELIPAD2_block, 13 }, { 13, HANGAR, 0, 71 }, { 13, HELITAKEOFF, 0, 73 },
 
	{ 14, 0, TERM_GROUP2_ENTER1_block, 15 },
 
	{ 15, 0, TERM_GROUP2_ENTER1_block, 16 },
 
	{ 16, 0, TERM_GROUP2_ENTER2_block, 17 },
 
	{ 17, 0, TERM_GROUP2_ENTER2_block, 18 },
 
	{ 18, 255, TERM_GROUP2_block, 0 }, { 18, TERM5, TERM5_block, 8 }, { 18, TAKEOFF, 0, 19 }, { 18, HELITAKEOFF, HELIPAD1_block, 19 }, { 18, 0, TERM_GROUP2_EXIT1_block, 19 },
 
	{ 19, 255, TERM_GROUP2_block, 0 }, { 19, TERM6, TERM6_block, 9 }, { 19, TERM5, 0, 18 }, { 19, TAKEOFF, 0, 57 }, { 19, HELITAKEOFF, HELIPAD1_block, 20 }, { 19, 0, TERM_GROUP2_EXIT1_block, 20 }, // add exit to runway out 2
 
	{ 20, 255, TERM_GROUP2_block, 0 }, { 20, TERM7, TERM7_block, 10 }, { 20, TERM5, 0, 19 }, { 20, TERM6, 0, 19 }, { 20, HANGAR, HANGAR2_AREA_block, 3 }, { 20, TAKEOFF, 0, 19 }, { 20, 0, TERM_GROUP2_EXIT1_block, 21 },
 
	{ 21, 255, TERM_GROUP2_block, 0 }, { 21, TERM8, TERM8_block, 11 }, { 21, HANGAR, HANGAR2_AREA_block, 20 }, { 21, TERM5, 0, 20 }, { 21, TERM6, 0, 20 }, { 21, TERM7, 0, 20 }, { 21, TAKEOFF, 0, 20 }, { 21, 0, TERM_GROUP2_EXIT1_block, 22 },
 
	{ 22, 255, TERM_GROUP2_block, 0 }, { 22, HANGAR, 0, 21 }, { 22, TERM5, 0, 21 }, { 22, TERM6, 0, 21 }, { 22, TERM7, 0, 21 }, { 22, TERM8, 0, 21 }, { 22, TAKEOFF, 0, 21 }, { 22, 0, 0, 23 },
 
	{ 23, 255, TERM_GROUP2_EXIT1_block, 0 }, { 23, 0, 0, 70 },
 
	{ 24, 0, TERM_GROUP2_EXIT2_block, 25 },
 
	{ 25, 255, TERM_GROUP2_EXIT2_block, 0 }, { 25, HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 29 }, { 25, 0, 0, 29 },
 
	{ 26, 255, TERM_GROUP1_block, 0 }, { 26, TERM1, TERM1_block, 4 }, { 26, HANGAR, HANGAR1_AREA_block, 27 }, { 26, TERM5, TERM_GROUP2_ENTER1_block, 14 }, { 26, TERM6, TERM_GROUP2_ENTER1_block, 14 }, { 26, TERM7, TERM_GROUP2_ENTER1_block, 14 }, { 26, TERM8, TERM_GROUP2_ENTER1_block, 14 }, { 26, HELIPAD1, TERM_GROUP2_ENTER1_block, 14 }, { 26, HELIPAD2, TERM_GROUP2_ENTER1_block, 14 }, { 26, HELITAKEOFF, TERM_GROUP2_ENTER1_block, 14 }, { 26, 0, 0, 27 },
 
	{ 27, 255, TERM_GROUP1_block, 0 }, { 27, TERM2, TERM2_block, 5 }, { 27, HANGAR, HANGAR1_AREA_block, 2 }, { 27, TERM1, 0, 26 }, { 27, TERM5, 0, 26 }, { 27, TERM6, 0, 26 }, { 27, TERM7, 0, 26 }, { 27, TERM8, 0, 26 }, { 27, HELIPAD1, 0, 14 }, { 27, HELIPAD2, 0, 14 }, { 27, 0, 0, 28 },
 
	{ 28, 255, TERM_GROUP1_block, 0 }, { 28, TERM3, TERM3_block, 6 }, { 28, HANGAR, HANGAR1_AREA_block, 27 }, { 28, TERM1, 0, 27 }, { 28, TERM2, 0, 27 }, { 28, TERM4, 0, 29 }, { 28, TERM5, 0, 14 }, { 28, TERM6, 0, 14 }, { 28, TERM7, 0, 14 }, { 28, TERM8, 0, 14 }, { 28, HELIPAD1, 0, 14 }, { 28, HELIPAD2, 0, 14 }, { 28, 0, 0, 29 },
 
	{ 29, 255, TERM_GROUP1_block, 0 }, { 29, TERM4, TERM4_block, 7 }, { 29, HANGAR, HANGAR1_AREA_block, 27 }, { 29, TAKEOFF, 0, 30 }, { 29, 0, 0, 28 },
 
	{ 30, 255, OUT_WAY_block2, 0 }, { 30, 0, 0, 31 },
 
	{ 31, 255, OUT_WAY_block, 32 },
 
	// takeoff
 
	{32,TAKEOFF,RUNWAY_OUT_block,33},
 
	{33,0,RUNWAY_OUT_block,34},
 
	{34,STARTTAKEOFF,NOTHING_block,35},
 
	{35,ENDTAKEOFF,NOTHING_block,0},
 
	{ 32, TAKEOFF, RUNWAY_OUT_block, 33 },
 
	{ 33, 0, RUNWAY_OUT_block, 34 },
 
	{ 34, STARTTAKEOFF, NOTHING_block, 35 },
 
	{ 35, ENDTAKEOFF, NOTHING_block, 0 },
 
	// landing
 
	{36,0,0,0},
 
	{37,LANDING,RUNWAY_IN_block,38},
 
	{38,0,RUNWAY_IN_block,39},
 
	{39,0,RUNWAY_IN_block,40},
 
	{40,ENDLANDING,RUNWAY_IN_block,41},
 
	{41,0,IN_WAY_block,42},
 
	{42,255,IN_WAY_block,0}, {42,255,TERM_GROUP1_block,0}, {42,255,TERM_GROUP1_block,1}, {42,HANGAR,0,2}, {42,0,0,26},
 
	{ 36, 0, 0, 0 },
 
	{ 37, LANDING, RUNWAY_IN_block, 38 },
 
	{ 38, 0, RUNWAY_IN_block, 39 },
 
	{ 39, 0, RUNWAY_IN_block, 40 },
 
	{ 40, ENDLANDING, RUNWAY_IN_block, 41 },
 
	{ 41, 0, IN_WAY_block, 42 },
 
	{ 42, 255, IN_WAY_block, 0 }, { 42, 255, TERM_GROUP1_block, 0 }, { 42, 255, TERM_GROUP1_block, 1 }, { 42, HANGAR, 0, 2 }, { 42, 0, 0, 26 },
 
	// In Air
 
	{43,0,0,44},
 
	{44,FLYING,0,45}, {44,HELILANDING,0,47}, {44,LANDING,0,69}, {44,0,0,45},
 
	{45,0,0,46},
 
	{46,FLYING,0,43}, {46,LANDING,0,76}, {46,0,0,43},
 
	{ 43, 0, 0, 44 },
 
	{ 44, FLYING, 0, 45 }, { 44, HELILANDING, 0, 47 }, { 44, LANDING, 0, 69 }, { 44, 0, 0, 45 },
 
	{ 45, 0, 0, 46 },
 
	{ 46, FLYING, 0, 43 }, { 46, LANDING, 0, 76 }, { 46, 0, 0, 43 },
 
	// Helicopter -- stay in air in special place as a buffer to choose from helipads
 
	{47,HELILANDING,PRE_HELIPAD_block,48},
 
	{48,HELIENDLANDING,PRE_HELIPAD_block,48}, {48,HELIPAD1,0,49}, {48,HELIPAD2,0,50}, {48,HANGAR,0,55},
 
	{49,0,NOTHING_block,51},
 
	{50,0,NOTHING_block,52},
 
	{ 47, HELILANDING, PRE_HELIPAD_block, 48 },
 
	{ 48, HELIENDLANDING, PRE_HELIPAD_block, 48 }, { 48, HELIPAD1, 0, 49 }, { 48, HELIPAD2, 0, 50 }, { 48, HANGAR, 0, 55 },
 
	{ 49, 0, NOTHING_block, 51 },
 
	{ 50, 0, NOTHING_block, 52 },
 
	// landing
 
	{51,255,NOTHING_block,0}, {51,HELIPAD1,HELIPAD1_block,12}, {51,HANGAR,0,55}, {51,0,0,12},
 
	{52,255,NOTHING_block,0}, {52,HELIPAD2,HELIPAD2_block,13}, {52,HANGAR,0,55}, {52,0,0,13},
 
	{ 51, 255, NOTHING_block, 0 }, { 51, HELIPAD1, HELIPAD1_block, 12 }, { 51, HANGAR, 0, 55 }, { 51, 0, 0, 12 },
 
	{ 52, 255, NOTHING_block, 0 }, { 52, HELIPAD2, HELIPAD2_block, 13 }, { 52, HANGAR, 0, 55 }, { 52, 0, 0, 13 },
 
	// Helicopter -- takeoff
 
	{53,HELITAKEOFF,NOTHING_block,0},
 
	{54,HELITAKEOFF,NOTHING_block,0},
 
	{55,0,HANGAR2_AREA_block,56}, // need to go to hangar when waiting in air
 
	{56,0,HANGAR2_AREA_block,3},
 
	{ 53, HELITAKEOFF, NOTHING_block, 0 },
 
	{ 54, HELITAKEOFF, NOTHING_block, 0 },
 
	{ 55, 0, HANGAR2_AREA_block, 56 }, // need to go to hangar when waiting in air
 
	{ 56, 0, HANGAR2_AREA_block, 3 },
 
	// runway 2 out support
 
	{57,255,OUT_WAY2_block,0}, {57,TAKEOFF,0,58}, {57,0,0,58},
 
	{58,0,OUT_WAY2_block,59},
 
	{59,TAKEOFF,RUNWAY_OUT2_block,60}, // takeoff
 
	{60,0,RUNWAY_OUT2_block,61},
 
	{61,STARTTAKEOFF,NOTHING_block,62},
 
	{62,ENDTAKEOFF,NOTHING_block,0},
 
	{ 57, 255, OUT_WAY2_block, 0 }, { 57, TAKEOFF, 0, 58 }, { 57, 0, 0, 58 },
 
	{ 58, 0, OUT_WAY2_block, 59 },
 
	{ 59, TAKEOFF, RUNWAY_OUT2_block, 60 }, // takeoff
 
	{ 60, 0, RUNWAY_OUT2_block, 61 },
 
	{ 61, STARTTAKEOFF, NOTHING_block, 62 },
 
	{ 62, ENDTAKEOFF, NOTHING_block, 0 },
 
	// runway 2 in support
 
	{63,LANDING,RUNWAY_IN2_block,64},
 
	{64,0,RUNWAY_IN2_block,65},
 
	{65,0,RUNWAY_IN2_block,66},
 
	{66,ENDLANDING,RUNWAY_IN2_block,0}, {66,255,0,1}, {66,255,0,0}, {66,0,0,67},
 
	{67,0,IN_WAY2_block,68},
 
	{68,255,IN_WAY2_block,0}, {68,255,TERM_GROUP2_block,1}, {68,255,TERM_GROUP1_block,0}, {68,HANGAR,HANGAR2_AREA_block,22}, {68,0,0,22},
 
	{69,255,RUNWAY_IN2_block,0}, {69,0,RUNWAY_IN2_block,63},
 
	{70,255,TERM_GROUP2_EXIT1_block,0}, {70,HELIPAD1,HELIPAD1_block,12}, {70,HELITAKEOFF,HELIPAD1_block,12}, {70,0,0,71},
 
	{71,255,TERM_GROUP2_EXIT1_block,0}, {71,HELIPAD2,HELIPAD2_block,13}, {71,HELITAKEOFF,HELIPAD1_block,12}, {71,0,0,24},
 
	{72,0,HELIPAD1_block,53},
 
	{73,0,HELIPAD2_block,54},
 
	{74,HELITAKEOFF,NOTHING_block,0},
 
	{75,HELITAKEOFF,NOTHING_block,0},
 
	{76,255,RUNWAY_IN_block,0}, {76,0,RUNWAY_IN_block,37},
 
	{MAX_ELEMENTS,0,0,0} // end marker. DO NOT REMOVE
 
	{ 63, LANDING, RUNWAY_IN2_block, 64 },
 
	{ 64, 0, RUNWAY_IN2_block, 65 },
 
	{ 65, 0, RUNWAY_IN2_block, 66 },
 
	{ 66, ENDLANDING, RUNWAY_IN2_block, 0 }, { 66, 255, 0, 1 }, { 66, 255, 0, 0 }, { 66, 0, 0, 67 },
 
	{ 67, 0, IN_WAY2_block, 68 },
 
	{ 68, 255, IN_WAY2_block, 0 }, { 68, 255, TERM_GROUP2_block, 1 }, { 68, 255, TERM_GROUP1_block, 0 }, { 68, HANGAR, HANGAR2_AREA_block, 22 }, { 68, 0, 0, 22 },
 
	{ 69, 255, RUNWAY_IN2_block, 0 }, { 69, 0, RUNWAY_IN2_block, 63 },
 
	{ 70, 255, TERM_GROUP2_EXIT1_block, 0 }, { 70, HELIPAD1, HELIPAD1_block, 12 }, { 70, HELITAKEOFF, HELIPAD1_block, 12 }, { 70, 0, 0, 71 },
 
	{ 71, 255, TERM_GROUP2_EXIT1_block, 0 }, { 71, HELIPAD2, HELIPAD2_block, 13 }, { 71, HELITAKEOFF, HELIPAD1_block, 12 }, { 71, 0, 0, 24 },
 
	{ 72, 0, HELIPAD1_block, 53 },
 
	{ 73, 0, HELIPAD2_block, 54 },
 
	{ 74, HELITAKEOFF, NOTHING_block, 0 },
 
	{ 75, HELITAKEOFF, NOTHING_block, 0 },
 
	{ 76, 255, RUNWAY_IN_block, 0 }, { 76, 0, RUNWAY_IN_block, 37 },
 
	{ MAX_ELEMENTS, 0, 0, 0 } // end marker. DO NOT REMOVE
 
};
 

	
 

	
 
// heliports, oilrigs don't have depots
 
static const byte _airport_helipad_heliport_oilrig[] = {1, 1};
 
static const byte _airport_helipad_heliport_oilrig[] = { 1, 1 };
 
static const AirportFTAbuildup _airport_fta_heliport_oilrig[] = {
 
	{0,HELIPAD1,HELIPAD1_block,1},
 
	{1,HELITAKEOFF,NOTHING_block,0}, // takeoff
 
	{2,255,AIRPORT_BUSY_block,0}, {2,HELILANDING,0,3}, {2,HELITAKEOFF,0,1},
 
	{3,HELILANDING,AIRPORT_BUSY_block,4},
 
	{4,HELIENDLANDING,AIRPORT_BUSY_block,4}, {4,HELIPAD1,HELIPAD1_block,0}, {4,HELITAKEOFF,0,2},
 
	{ 0, HELIPAD1, HELIPAD1_block, 1 },
 
	{ 1, HELITAKEOFF, NOTHING_block, 0 }, // takeoff
 
	{ 2, 255, AIRPORT_BUSY_block, 0 }, { 2, HELILANDING, 0, 3 }, { 2, HELITAKEOFF, 0, 1 },
 
	{ 3, HELILANDING, AIRPORT_BUSY_block, 4 },
 
	{ 4, HELIENDLANDING, AIRPORT_BUSY_block, 4 }, { 4, HELIPAD1, HELIPAD1_block, 0 }, { 4, HELITAKEOFF, 0, 2 },
 
	// In Air
 
	{5,0,NOTHING_block,6},
 
	{6,0,NOTHING_block,7},
 
	{7,0,NOTHING_block,8},
 
	{8,FLYING,NOTHING_block,5}, {8,HELILANDING,HELIPAD1_block,2}, // landing
 
	{MAX_ELEMENTS,0,0,0} // end marker. DO NOT REMOVE
 
	{ 5, 0, NOTHING_block, 6 },
 
	{ 6, 0, NOTHING_block, 7 },
 
	{ 7, 0, NOTHING_block, 8 },
 
	{ 8, FLYING, NOTHING_block, 5 }, { 8, HELILANDING, HELIPAD1_block, 2 }, // landing
 
	{ MAX_ELEMENTS, 0, 0, 0 } // end marker. DO NOT REMOVE
 
};
 

	
 
// helidepots
 
static const TileIndexDiffC _airport_depots_helidepot[] = {{1, 0}};
 
static const byte _airport_helipad_helidepot[] = {1, 1};
 
static const TileIndexDiffC _airport_depots_helidepot[] = { { 1, 0 } };
 
static const byte _airport_helipad_helidepot[] = { 1, 1 };
 
static const AirportFTAbuildup _airport_fta_helidepot[] = {
 
	{ 0,HANGAR,NOTHING_block,1},
 
	{ 1,255,HANGAR2_AREA_block,0}, {1,HANGAR,0,0}, {1,HELIPAD1,HELIPAD1_block,14}, {1,HELITAKEOFF,0,15}, {1,0,0,0},
 
	{ 2,FLYING,NOTHING_block,3}, {2,HELILANDING,PRE_HELIPAD_block,7}, {2,HANGAR,0,12}, {2,HELITAKEOFF,NOTHING_block,16},
 
	{  0, HANGAR, NOTHING_block, 1 },
 
	{  1, 255, HANGAR2_AREA_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, HELIPAD1, HELIPAD1_block, 14 }, { 1, HELITAKEOFF, 0, 15 }, { 1, 0, 0, 0 },
 
	{  2, FLYING, NOTHING_block, 3 }, { 2, HELILANDING, PRE_HELIPAD_block, 7 }, { 2, HANGAR, 0, 12 }, { 2, HELITAKEOFF, NOTHING_block, 16 },
 
	// In Air
 
	{ 3,0,NOTHING_block,4},
 
	{ 4,0,NOTHING_block,5},
 
	{ 5,0,NOTHING_block,6},
 
	{ 6,0,NOTHING_block,2},
 
	{  3, 0, NOTHING_block, 4 },
 
	{  4, 0, NOTHING_block, 5 },
 
	{  5, 0, NOTHING_block, 6 },
 
	{  6, 0, NOTHING_block, 2 },
 
	// Helicopter -- stay in air in special place as a buffer to choose from helipads
 
	{ 7,HELILANDING,PRE_HELIPAD_block,8},
 
	{ 8,HELIENDLANDING,PRE_HELIPAD_block,8}, {8,HELIPAD1,0,9}, {8,HANGAR,0,12}, {8,0,0,2},
 
	{ 9,0,NOTHING_block,10},
 
	{  7, HELILANDING, PRE_HELIPAD_block, 8 },
 
	{  8, HELIENDLANDING, PRE_HELIPAD_block, 8 }, { 8, HELIPAD1, 0, 9 }, { 8, HANGAR, 0, 12 }, { 8, 0, 0, 2 },
 
	{  9, 0, NOTHING_block, 10 },
 
	// landing
 
	{10,255,NOTHING_block,10}, {10,HELIPAD1,HELIPAD1_block,14}, {10,HANGAR,0,1}, {10,0,0,14},
 
	{ 10, 255, NOTHING_block, 10 }, { 10, HELIPAD1, HELIPAD1_block, 14 }, { 10, HANGAR, 0, 1 }, { 10, 0, 0, 14 },
 
	// Helicopter -- takeoff
 
	{11,HELITAKEOFF,NOTHING_block,0},
 
	{12,0,HANGAR2_AREA_block,13}, // need to go to hangar when waiting in air
 
	{13,0,HANGAR2_AREA_block,1},
 
	{14,HELIPAD1,HELIPAD1_block,14}, {14,HANGAR,0,1}, {14,HELITAKEOFF,0,17},
 
	{15,HELITAKEOFF,NOTHING_block,0}, // takeoff outside depot
 
	{16,HELITAKEOFF,0,14},
 
	{17,0,NOTHING_block,11},
 
	{MAX_ELEMENTS,0,0,0} // end marker. DO NOT REMOVE
 
	{ 11, HELITAKEOFF, NOTHING_block, 0 },
 
	{ 12, 0, HANGAR2_AREA_block, 13 }, // need to go to hangar when waiting in air
 
	{ 13, 0, HANGAR2_AREA_block, 1 },
 
	{ 14, HELIPAD1, HELIPAD1_block, 14 }, { 14, HANGAR, 0, 1 }, { 14, HELITAKEOFF, 0, 17 },
 
	{ 15, HELITAKEOFF, NOTHING_block, 0 }, // takeoff outside depot
 
	{ 16, HELITAKEOFF, 0, 14 },
 
	{ 17, 0, NOTHING_block, 11 },
 
	{ MAX_ELEMENTS, 0, 0, 0 } // end marker. DO NOT REMOVE
 
};
 

	
 
// helistation
 
static const TileIndexDiffC _airport_depots_helistation[] = {{0, 0}};
 
static const byte _airport_helipad_helistation[] = {1, 3};
 
static const TileIndexDiffC _airport_depots_helistation[] = { { 0, 0 } };
 
static const byte _airport_helipad_helistation[] = { 1, 3 };
 
static const AirportFTAbuildup _airport_fta_helistation[] = {
 
	{ 0,HANGAR,NOTHING_block,8}, {0,HELIPAD1,0,1}, {0,HELIPAD2,0,1}, {0,HELIPAD3,0,1}, {0,HELITAKEOFF,0,1}, {0,0,0,0},
 
	{ 1,255,HANGAR2_AREA_block,0}, {1,HANGAR,0,0}, {1,HELITAKEOFF,0,3}, {1,0,0,4},
 
	{  0, HANGAR, NOTHING_block, 8 },    { 0, HELIPAD1, 0, 1 }, { 0, HELIPAD2, 0, 1 }, { 0, HELIPAD3, 0, 1 }, { 0, HELITAKEOFF, 0, 1 }, { 0, 0, 0, 0 },
 
	{  1, 255, HANGAR2_AREA_block, 0 },  { 1, HANGAR, 0, 0 }, { 1, HELITAKEOFF, 0, 3 }, { 1, 0, 0, 4 },
 
	// landing
 
	{ 2,FLYING,NOTHING_block,28}, {2,HELILANDING,0,15}, {2,0,0,28},
 
	{  2, FLYING, NOTHING_block, 28 },   { 2, HELILANDING, 0, 15 }, { 2, 0, 0, 28 },
 
	// helicopter side
 
	{3,HELITAKEOFF,NOTHING_block,0}, // helitakeoff outside hangar2
 
	{4,255,TAXIWAY_BUSY_block,0}, {4,HANGAR,HANGAR2_AREA_block,1}, {4,HELITAKEOFF,0,1}, {4,0,0,5},
 
	{5,255,TAXIWAY_BUSY_block,0}, {5,HELIPAD1,HELIPAD1_block,6}, {5,HELIPAD2,HELIPAD2_block,7}, {5,HELIPAD3,HELIPAD3_block,8}, {5,0,0,4},
 
	{6,HELIPAD1,HELIPAD1_block,5}, {6,HANGAR, HANGAR2_AREA_block,5}, {6,HELITAKEOFF,0,9}, {6,0,0,6},
 
	{7,HELIPAD2,HELIPAD2_block,5}, {7,HANGAR, HANGAR2_AREA_block,5}, {7,HELITAKEOFF,0,10}, {7,0,0,7},
 
	{8,HELIPAD3,HELIPAD3_block,5}, {8,HANGAR, HANGAR2_AREA_block,5}, {8,HELITAKEOFF,0,11}, {8,0,0,8},
 
	{9,0,HELIPAD1_block,12},
 
	{10,0,HELIPAD2_block,13},
 
	{11,0,HELIPAD3_block,14},
 
	{12,HELITAKEOFF,NOTHING_block,0},
 
	{13,HELITAKEOFF,NOTHING_block,0},
 
	{14,HELITAKEOFF,NOTHING_block,0},
 
	{  3, HELITAKEOFF, NOTHING_block, 0 }, // helitakeoff outside hangar2
 
	{  4, 255, TAXIWAY_BUSY_block, 0 },  { 4, HANGAR, HANGAR2_AREA_block, 1 }, { 4, HELITAKEOFF, 0, 1 }, { 4, 0, 0, 5 },
 
	{  5, 255, TAXIWAY_BUSY_block, 0 },  { 5, HELIPAD1, HELIPAD1_block, 6 }, { 5, HELIPAD2, HELIPAD2_block, 7 }, { 5, HELIPAD3, HELIPAD3_block, 8 }, { 5, 0, 0, 4 },
 
	{  6, HELIPAD1, HELIPAD1_block, 5 }, { 6, HANGAR, HANGAR2_AREA_block, 5 }, { 6, HELITAKEOFF, 0, 9 }, { 6, 0, 0, 6 },
 
	{  7, HELIPAD2, HELIPAD2_block, 5 }, { 7, HANGAR, HANGAR2_AREA_block, 5 }, { 7, HELITAKEOFF, 0, 10 }, { 7, 0, 0, 7 },
 
	{  8, HELIPAD3, HELIPAD3_block, 5 }, { 8, HANGAR, HANGAR2_AREA_block, 5 }, { 8, HELITAKEOFF, 0, 11 }, { 8, 0, 0, 8 },
 
	{  9, 0, HELIPAD1_block, 12 },
 
	{ 10, 0, HELIPAD2_block, 13 },
 
	{ 11, 0, HELIPAD3_block, 14 },
 
	{ 12, HELITAKEOFF, NOTHING_block, 0 },
 
	{ 13, HELITAKEOFF, NOTHING_block, 0 },
 
	{ 14, HELITAKEOFF, NOTHING_block, 0 },
 
	// heli - in flight moves
 
	{15,HELILANDING,PRE_HELIPAD_block,16},
 
	{16,HELIENDLANDING,PRE_HELIPAD_block,16}, {16,HELIPAD1,0,17}, {16,HELIPAD2,0,18}, {16,HELIPAD3,0,19}, {16,HANGAR,0,23},
 
	{17,0,NOTHING_block,20},
 
	{18,0,NOTHING_block,21},
 
	{19,0,NOTHING_block,22},
 
	{ 15, HELILANDING, PRE_HELIPAD_block, 16 },
 
	{ 16, HELIENDLANDING, PRE_HELIPAD_block, 16 }, { 16, HELIPAD1, 0, 17 }, { 16, HELIPAD2, 0, 18 }, { 16, HELIPAD3, 0, 19 }, { 16, HANGAR, 0, 23 },
 
	{ 17, 0, NOTHING_block, 20 },
 
	{ 18, 0, NOTHING_block, 21 },
 
	{ 19, 0, NOTHING_block, 22 },
 
	// heli landing
 
	{20,255,NOTHING_block,0}, {20,HELIPAD1,HELIPAD1_block,6}, {20,HANGAR,0,23}, {20,0,0,6},
 
	{21,255,NOTHING_block,0}, {21,HELIPAD2,HELIPAD2_block,7}, {21,HANGAR,0,23}, {21,0,0,7},
 
	{22,255,NOTHING_block,0}, {22,HELIPAD3,HELIPAD3_block,8}, {22,HANGAR,0,23}, {22,0,0,8},
 
	{23,0,HANGAR2_AREA_block,24}, // need to go to helihangar when waiting in air
 
	{24,0,HANGAR2_AREA_block,1},
 
	{25,0,NOTHING_block,26},
 
	{26,0,NOTHING_block,27},
 
	{27,0,NOTHING_block,2},
 
	{28,0,NOTHING_block,29},
 
	{29,0,NOTHING_block,30},
 
	{30,0,NOTHING_block,31},
 
	{31,0,NOTHING_block,32},
 
	{32,0,NOTHING_block,25},
 
	{MAX_ELEMENTS,0,0,0} // end marker. DO NOT REMOVE
 
	{ 20, 255, NOTHING_block, 0 }, { 20, HELIPAD1, HELIPAD1_block, 6 }, { 20, HANGAR, 0, 23 }, { 20, 0, 0, 6 },
 
	{ 21, 255, NOTHING_block, 0 }, { 21, HELIPAD2, HELIPAD2_block, 7 }, { 21, HANGAR, 0, 23 }, { 21, 0, 0, 7 },
 
	{ 22, 255, NOTHING_block, 0 }, { 22, HELIPAD3, HELIPAD3_block, 8 }, { 22, HANGAR, 0, 23 }, { 22, 0, 0, 8 },
 
	{ 23, 0, HANGAR2_AREA_block, 24 }, // need to go to helihangar when waiting in air
 
	{ 24, 0, HANGAR2_AREA_block, 1 },
 
	{ 25, 0, NOTHING_block, 26 },
 
	{ 26, 0, NOTHING_block, 27 },
 
	{ 27, 0, NOTHING_block, 2 },
 
	{ 28, 0, NOTHING_block, 29 },
 
	{ 29, 0, NOTHING_block, 30 },
 
	{ 30, 0, NOTHING_block, 31 },
 
	{ 31, 0, NOTHING_block, 32 },
 
	{ 32, 0, NOTHING_block, 25 },
 
	{ MAX_ELEMENTS, 0, 0, 0 } // end marker. DO NOT REMOVE
 
};
 

	
 

	
bridge_gui.c
Show inline comments
 
@@ -79,10 +79,10 @@ static void BuildBridgeWndProc(Window *w
 
}
 

	
 
static const Widget _build_bridge_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,										STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   199,     0,    13, STR_100D_SELECT_RAIL_BRIDGE,	STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{     WWT_MATRIX,   RESIZE_NONE,     7,     0,   187,    14,   101, 0x401,												STR_101F_BRIDGE_SELECTION_CLICK},
 
{  WWT_SCROLLBAR,   RESIZE_NONE,     7,   188,   199,    14,   101, 0x0,													STR_0190_SCROLL_BAR_SCROLLS_LIST},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                    STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   199,     0,    13, STR_100D_SELECT_RAIL_BRIDGE, STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{     WWT_MATRIX,   RESIZE_NONE,     7,     0,   187,    14,   101, 0x401,                       STR_101F_BRIDGE_SELECTION_CLICK},
 
{  WWT_SCROLLBAR,   RESIZE_NONE,     7,   188,   199,    14,   101, 0x0,                         STR_0190_SCROLL_BAR_SCROLLS_LIST},
 
{   WIDGETS_END},
 
};
 

	
 
@@ -96,10 +96,10 @@ static const WindowDesc _build_bridge_de
 

	
 

	
 
static const Widget _build_road_bridge_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,										STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   199,     0,    13, STR_1803_SELECT_ROAD_BRIDGE,	STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{     WWT_MATRIX,   RESIZE_NONE,     7,     0,   187,    14,   101, 0x401,												STR_101F_BRIDGE_SELECTION_CLICK},
 
{  WWT_SCROLLBAR,   RESIZE_NONE,     7,   188,   199,    14,   101, 0x0,													STR_0190_SCROLL_BAR_SCROLLS_LIST},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                    STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   199,     0,    13, STR_1803_SELECT_ROAD_BRIDGE, STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{     WWT_MATRIX,   RESIZE_NONE,     7,     0,   187,    14,   101, 0x401,                       STR_101F_BRIDGE_SELECTION_CLICK},
 
{  WWT_SCROLLBAR,   RESIZE_NONE,     7,   188,   199,    14,   101, 0x0,                         STR_0190_SCROLL_BAR_SCROLLS_LIST},
 
{   WIDGETS_END},
 
};
 

	
clear_cmd.c
Show inline comments
 
@@ -778,17 +778,17 @@ void InitializeClearLand(void)
 
}
 

	
 
const TileTypeProcs _tile_type_clear_procs = {
 
	DrawTile_Clear,						/* draw_tile_proc */
 
	GetSlopeZ_Clear,					/* get_slope_z_proc */
 
	ClearTile_Clear,					/* clear_tile_proc */
 
	GetAcceptedCargo_Clear,		/* get_accepted_cargo_proc */
 
	GetTileDesc_Clear,				/* get_tile_desc_proc */
 
	GetTileTrackStatus_Clear,	/* get_tile_track_status_proc */
 
	ClickTile_Clear,					/* click_tile_proc */
 
	AnimateTile_Clear,				/* animate_tile_proc */
 
	TileLoop_Clear,						/* tile_loop_clear */
 
	ChangeTileOwner_Clear,		/* change_tile_owner_clear */
 
	NULL,											/* get_produced_cargo_proc */
 
	NULL,											/* vehicle_enter_tile_proc */
 
	GetSlopeTileh_Clear,			/* get_slope_tileh_proc */
 
	DrawTile_Clear,           /* draw_tile_proc */
 
	GetSlopeZ_Clear,          /* get_slope_z_proc */
 
	ClearTile_Clear,          /* clear_tile_proc */
 
	GetAcceptedCargo_Clear,   /* get_accepted_cargo_proc */
 
	GetTileDesc_Clear,        /* get_tile_desc_proc */
 
	GetTileTrackStatus_Clear, /* get_tile_track_status_proc */
 
	ClickTile_Clear,          /* click_tile_proc */
 
	AnimateTile_Clear,        /* animate_tile_proc */
 
	TileLoop_Clear,           /* tile_loop_clear */
 
	ChangeTileOwner_Clear,    /* change_tile_owner_clear */
 
	NULL,                     /* get_produced_cargo_proc */
 
	NULL,                     /* vehicle_enter_tile_proc */
 
	GetSlopeTileh_Clear,      /* get_slope_tileh_proc */
 
};
command.h
Show inline comments
 
@@ -4,150 +4,150 @@
 
#define COMMAND_H
 

	
 
enum {
 
	CMD_BUILD_RAILROAD_TRACK = 0,
 
	CMD_REMOVE_RAILROAD_TRACK = 1,
 
	CMD_BUILD_SINGLE_RAIL = 2,
 
	CMD_REMOVE_SINGLE_RAIL = 3,
 
	CMD_LANDSCAPE_CLEAR = 4,
 
	CMD_BUILD_BRIDGE = 5,
 
	CMD_BUILD_RAILROAD_STATION = 6,
 
	CMD_BUILD_TRAIN_DEPOT = 7,
 
	CMD_BUILD_SIGNALS = 8,
 
	CMD_REMOVE_SIGNALS = 9,
 
	CMD_TERRAFORM_LAND = 10,
 
	CMD_PURCHASE_LAND_AREA = 11,
 
	CMD_SELL_LAND_AREA = 12,
 
	CMD_BUILD_TUNNEL = 13,
 
	CMD_BUILD_RAILROAD_TRACK         =   0,
 
	CMD_REMOVE_RAILROAD_TRACK        =   1,
 
	CMD_BUILD_SINGLE_RAIL            =   2,
 
	CMD_REMOVE_SINGLE_RAIL           =   3,
 
	CMD_LANDSCAPE_CLEAR              =   4,
 
	CMD_BUILD_BRIDGE                 =   5,
 
	CMD_BUILD_RAILROAD_STATION       =   6,
 
	CMD_BUILD_TRAIN_DEPOT            =   7,
 
	CMD_BUILD_SIGNALS                =   8,
 
	CMD_REMOVE_SIGNALS               =   9,
 
	CMD_TERRAFORM_LAND               =  10,
 
	CMD_PURCHASE_LAND_AREA           =  11,
 
	CMD_SELL_LAND_AREA               =  12,
 
	CMD_BUILD_TUNNEL                 =  13,
 

	
 
	CMD_REMOVE_FROM_RAILROAD_STATION = 14,
 
	CMD_CONVERT_RAIL = 15,
 
	CMD_REMOVE_FROM_RAILROAD_STATION =  14,
 
	CMD_CONVERT_RAIL                 =  15,
 

	
 
	CMD_BUILD_TRAIN_WAYPOINT = 16,
 
	CMD_RENAME_WAYPOINT = 17,
 
	CMD_REMOVE_TRAIN_WAYPOINT = 18,
 
	CMD_BUILD_TRAIN_WAYPOINT         =  16,
 
	CMD_RENAME_WAYPOINT              =  17,
 
	CMD_REMOVE_TRAIN_WAYPOINT        =  18,
 

	
 
	CMD_BUILD_ROAD_STOP = 21,
 
	CMD_BUILD_LONG_ROAD = 23,
 
	CMD_REMOVE_LONG_ROAD = 24,
 
	CMD_BUILD_ROAD = 25,
 
	CMD_REMOVE_ROAD = 26,
 
	CMD_BUILD_ROAD_DEPOT = 27,
 
	CMD_BUILD_ROAD_STOP              =  21,
 
	CMD_BUILD_LONG_ROAD              =  23,
 
	CMD_REMOVE_LONG_ROAD             =  24,
 
	CMD_BUILD_ROAD                   =  25,
 
	CMD_REMOVE_ROAD                  =  26,
 
	CMD_BUILD_ROAD_DEPOT             =  27,
 

	
 
	CMD_BUILD_AIRPORT = 29,
 
	CMD_BUILD_AIRPORT                =  29,
 

	
 
	CMD_BUILD_DOCK = 30,
 
	CMD_BUILD_DOCK                   =  30,
 

	
 
	CMD_BUILD_SHIP_DEPOT = 31,
 
	CMD_BUILD_BUOY = 32,
 
	CMD_BUILD_SHIP_DEPOT             =  31,
 
	CMD_BUILD_BUOY                   =  32,
 

	
 
	CMD_PLANT_TREE = 33,
 
	CMD_PLANT_TREE                   =  33,
 

	
 
	CMD_BUILD_RAIL_VEHICLE = 34,
 
	CMD_MOVE_RAIL_VEHICLE = 35,
 
	CMD_BUILD_RAIL_VEHICLE           =  34,
 
	CMD_MOVE_RAIL_VEHICLE            =  35,
 

	
 
	CMD_START_STOP_TRAIN = 36,
 
	CMD_START_STOP_TRAIN             =  36,
 

	
 
	CMD_SELL_RAIL_WAGON = 38,
 
	CMD_SELL_RAIL_WAGON              =  38,
 

	
 
	CMD_TRAIN_GOTO_DEPOT = 39,
 
	CMD_FORCE_TRAIN_PROCEED = 40,
 
	CMD_REVERSE_TRAIN_DIRECTION = 41,
 
	CMD_TRAIN_GOTO_DEPOT             =  39,
 
	CMD_FORCE_TRAIN_PROCEED          =  40,
 
	CMD_REVERSE_TRAIN_DIRECTION      =  41,
 

	
 
	CMD_MODIFY_ORDER = 42,
 
	CMD_SKIP_ORDER = 43,
 
	CMD_DELETE_ORDER = 44,
 
	CMD_INSERT_ORDER = 45,
 
	CMD_MODIFY_ORDER                 =  42,
 
	CMD_SKIP_ORDER                   =  43,
 
	CMD_DELETE_ORDER                 =  44,
 
	CMD_INSERT_ORDER                 =  45,
 

	
 
	CMD_CHANGE_SERVICE_INT = 46,
 
	CMD_CHANGE_SERVICE_INT           =  46,
 

	
 
	CMD_BUILD_INDUSTRY = 47,
 
	CMD_BUILD_INDUSTRY               =  47,
 

	
 
	CMD_BUILD_COMPANY_HQ = 48,
 
	CMD_SET_PLAYER_FACE = 49,
 
	CMD_SET_PLAYER_COLOR = 50,
 
	CMD_BUILD_COMPANY_HQ             =  48,
 
	CMD_SET_PLAYER_FACE              =  49,
 
	CMD_SET_PLAYER_COLOR             =  50,
 

	
 
	CMD_INCREASE_LOAN = 51,
 
	CMD_DECREASE_LOAN = 52,
 
	CMD_INCREASE_LOAN                =  51,
 
	CMD_DECREASE_LOAN                =  52,
 

	
 
	CMD_WANT_ENGINE_PREVIEW = 53,
 
	CMD_WANT_ENGINE_PREVIEW          =  53,
 

	
 
	CMD_NAME_VEHICLE = 54,
 
	CMD_RENAME_ENGINE = 55,
 
	CMD_CHANGE_COMPANY_NAME = 56,
 
	CMD_CHANGE_PRESIDENT_NAME = 57,
 
	CMD_RENAME_STATION = 58,
 
	CMD_NAME_VEHICLE                 =  54,
 
	CMD_RENAME_ENGINE                =  55,
 
	CMD_CHANGE_COMPANY_NAME          =  56,
 
	CMD_CHANGE_PRESIDENT_NAME        =  57,
 
	CMD_RENAME_STATION               =  58,
 

	
 
	CMD_SELL_AIRCRAFT = 59,
 
	CMD_START_STOP_AIRCRAFT = 60,
 
	CMD_BUILD_AIRCRAFT = 61,
 
	CMD_SEND_AIRCRAFT_TO_HANGAR = 62,
 
	CMD_REFIT_AIRCRAFT = 64,
 
	CMD_SELL_AIRCRAFT                =  59,
 
	CMD_START_STOP_AIRCRAFT          =  60,
 
	CMD_BUILD_AIRCRAFT               =  61,
 
	CMD_SEND_AIRCRAFT_TO_HANGAR      =  62,
 
	CMD_REFIT_AIRCRAFT               =  64,
 

	
 
	CMD_PLACE_SIGN = 65,
 
	CMD_RENAME_SIGN = 66,
 
	CMD_PLACE_SIGN                   =  65,
 
	CMD_RENAME_SIGN                  =  66,
 

	
 
	CMD_BUILD_ROAD_VEH = 67,
 
	CMD_START_STOP_ROADVEH = 68,
 
	CMD_SELL_ROAD_VEH = 69,
 
	CMD_SEND_ROADVEH_TO_DEPOT = 70,
 
	CMD_TURN_ROADVEH = 71,
 
	CMD_REFIT_ROAD_VEH = 72,
 
	CMD_BUILD_ROAD_VEH               =  67,
 
	CMD_START_STOP_ROADVEH           =  68,
 
	CMD_SELL_ROAD_VEH                =  69,
 
	CMD_SEND_ROADVEH_TO_DEPOT        =  70,
 
	CMD_TURN_ROADVEH                 =  71,
 
	CMD_REFIT_ROAD_VEH               =  72,
 

	
 
	CMD_PAUSE = 73,
 
	CMD_PAUSE                        =  73,
 

	
 
	CMD_BUY_SHARE_IN_COMPANY = 74,
 
	CMD_SELL_SHARE_IN_COMPANY = 75,
 
	CMD_BUY_COMPANY = 76,
 
	CMD_BUY_SHARE_IN_COMPANY         =  74,
 
	CMD_SELL_SHARE_IN_COMPANY        =  75,
 
	CMD_BUY_COMPANY                  =  76,
 

	
 
	CMD_BUILD_TOWN = 77,
 
	CMD_BUILD_TOWN                   =  77,
 

	
 
	CMD_RENAME_TOWN = 80,
 
	CMD_DO_TOWN_ACTION = 81,
 
	CMD_RENAME_TOWN                  =  80,
 
	CMD_DO_TOWN_ACTION               =  81,
 

	
 
	CMD_SET_ROAD_DRIVE_SIDE = 82,
 
	CMD_SET_ROAD_DRIVE_SIDE          =  82,
 

	
 
	CMD_CHANGE_DIFFICULTY_LEVEL = 85,
 
	CMD_CHANGE_DIFFICULTY_LEVEL      =  85,
 

	
 
	CMD_START_STOP_SHIP = 86,
 
	CMD_SELL_SHIP = 87,
 
	CMD_BUILD_SHIP = 88,
 
	CMD_SEND_SHIP_TO_DEPOT = 89,
 
	CMD_REFIT_SHIP = 91,
 
	CMD_START_STOP_SHIP              =  86,
 
	CMD_SELL_SHIP                    =  87,
 
	CMD_BUILD_SHIP                   =  88,
 
	CMD_SEND_SHIP_TO_DEPOT           =  89,
 
	CMD_REFIT_SHIP                   =  91,
 

	
 
	CMD_CLONE_ORDER = 99,
 
	CMD_CLEAR_AREA = 100,
 
	CMD_CLONE_ORDER                  =  99,
 
	CMD_CLEAR_AREA                   = 100,
 

	
 
	CMD_MONEY_CHEAT = 102,
 
	CMD_BUILD_CANAL = 103,
 
	CMD_MONEY_CHEAT                  = 102,
 
	CMD_BUILD_CANAL                  = 103,
 

	
 
	CMD_PLAYER_CTRL = 104, // used in multiplayer to create a new player etc.
 
	CMD_LEVEL_LAND = 105,	// level land
 
	CMD_PLAYER_CTRL                  = 104, // used in multiplayer to create a new player etc.
 
	CMD_LEVEL_LAND                   = 105, // level land
 

	
 
	CMD_REFIT_RAIL_VEHICLE = 106,
 
	CMD_RESTORE_ORDER_INDEX = 107,
 
	CMD_BUILD_LOCK = 108,
 
	CMD_REFIT_RAIL_VEHICLE           = 106,
 
	CMD_RESTORE_ORDER_INDEX          = 107,
 
	CMD_BUILD_LOCK                   = 108,
 

	
 
	CMD_BUILD_SIGNAL_TRACK  = 110,
 
	CMD_REMOVE_SIGNAL_TRACK = 111,
 
	CMD_BUILD_SIGNAL_TRACK           = 110,
 
	CMD_REMOVE_SIGNAL_TRACK          = 111,
 

	
 
	CMD_GIVE_MONEY = 113,
 
	CMD_CHANGE_PATCH_SETTING = 114,
 
	CMD_GIVE_MONEY                   = 113,
 
	CMD_CHANGE_PATCH_SETTING         = 114,
 

	
 
	CMD_REPLACE_VEHICLE = 115,
 
	CMD_REPLACE_VEHICLE              = 115,
 

	
 
	CMD_CLONE_VEHICLE = 116,
 
	CMD_CLONE_VEHICLE                = 116,
 

	
 
};
 

	
 
enum {
 
	DC_EXEC = 1,
 
	DC_AUTO = 2,								// don't allow building on structures
 
	DC_QUERY_COST = 4,					// query cost only, don't build.
 
	DC_NO_WATER = 8,						// don't allow building on water
 
	DC_NO_RAIL_OVERLAP = 0x10,	// don't allow overlap of rails (used in buildrail)
 
	DC_AI_BUILDING = 0x20,			// special building rules for AI
 
	DC_NO_TOWN_RATING = 0x40,		// town rating does not disallow you from building
 
	DC_FORCETEST = 0x80,				// force test too.
 
	DC_EXEC            = 0x01,
 
	DC_AUTO            = 0x02, // don't allow building on structures
 
	DC_QUERY_COST      = 0x04, // query cost only,  don't build.
 
	DC_NO_WATER        = 0x08, // don't allow building on water
 
	DC_NO_RAIL_OVERLAP = 0x10, // don't allow overlap of rails (used in buildrail)
 
	DC_AI_BUILDING     = 0x20, // special building rules for AI
 
	DC_NO_TOWN_RATING  = 0x40, // town rating does not disallow you from building
 
	DC_FORCETEST       = 0x80, // force test too.
 

	
 
	CMD_ERROR = ((int32)0x80000000),
 
};
 
@@ -155,11 +155,11 @@ enum {
 
#define CMD_MSG(x) ((x)<<16)
 

	
 
enum {
 
	CMD_AUTO = 0x200,
 
	CMD_NO_WATER = 0x400,
 
	CMD_NETWORK_COMMAND = 0x800,		// execute the command without sending it on the network
 
	CMD_AUTO                  = 0x0200,
 
	CMD_NO_WATER              = 0x0400,
 
	CMD_NETWORK_COMMAND       = 0x0800, // execute the command without sending it on the network
 
	CMD_NO_TEST_IF_IN_NETWORK = 0x1000, // When enabled, the command will bypass the no-DC_EXEC round if in network
 
	CMD_SHOW_NO_ERROR = 0x2000,
 
	CMD_SHOW_NO_ERROR         = 0x2000,
 
};
 

	
 
/** Command flags for the command table
date.c
Show inline comments
 
@@ -34,18 +34,18 @@ void SetDate(Date date)
 

	
 
#define M(a, b) ((a << 5) | b)
 
static const uint16 _month_date_from_year_day[] = {
 
M(0,1),M(0,2),M(0,3),M(0,4),M(0,5),M(0,6),M(0,7),M(0,8),M(0,9),M(0,10),M(0,11),M(0,12),M(0,13),M(0,14),M(0,15),M(0,16),M(0,17),M(0,18),M(0,19),M(0,20),M(0,21),M(0,22),M(0,23),M(0,24),M(0,25),M(0,26),M(0,27),M(0,28),M(0,29),M(0,30),M(0,31),
 
M(1,1),M(1,2),M(1,3),M(1,4),M(1,5),M(1,6),M(1,7),M(1,8),M(1,9),M(1,10),M(1,11),M(1,12),M(1,13),M(1,14),M(1,15),M(1,16),M(1,17),M(1,18),M(1,19),M(1,20),M(1,21),M(1,22),M(1,23),M(1,24),M(1,25),M(1,26),M(1,27),M(1,28),M(1,29),
 
M(2,1),M(2,2),M(2,3),M(2,4),M(2,5),M(2,6),M(2,7),M(2,8),M(2,9),M(2,10),M(2,11),M(2,12),M(2,13),M(2,14),M(2,15),M(2,16),M(2,17),M(2,18),M(2,19),M(2,20),M(2,21),M(2,22),M(2,23),M(2,24),M(2,25),M(2,26),M(2,27),M(2,28),M(2,29),M(2,30),M(2,31),
 
M(3,1),M(3,2),M(3,3),M(3,4),M(3,5),M(3,6),M(3,7),M(3,8),M(3,9),M(3,10),M(3,11),M(3,12),M(3,13),M(3,14),M(3,15),M(3,16),M(3,17),M(3,18),M(3,19),M(3,20),M(3,21),M(3,22),M(3,23),M(3,24),M(3,25),M(3,26),M(3,27),M(3,28),M(3,29),M(3,30),
 
M(4,1),M(4,2),M(4,3),M(4,4),M(4,5),M(4,6),M(4,7),M(4,8),M(4,9),M(4,10),M(4,11),M(4,12),M(4,13),M(4,14),M(4,15),M(4,16),M(4,17),M(4,18),M(4,19),M(4,20),M(4,21),M(4,22),M(4,23),M(4,24),M(4,25),M(4,26),M(4,27),M(4,28),M(4,29),M(4,30),M(4,31),
 
M(5,1),M(5,2),M(5,3),M(5,4),M(5,5),M(5,6),M(5,7),M(5,8),M(5,9),M(5,10),M(5,11),M(5,12),M(5,13),M(5,14),M(5,15),M(5,16),M(5,17),M(5,18),M(5,19),M(5,20),M(5,21),M(5,22),M(5,23),M(5,24),M(5,25),M(5,26),M(5,27),M(5,28),M(5,29),M(5,30),
 
M(6,1),M(6,2),M(6,3),M(6,4),M(6,5),M(6,6),M(6,7),M(6,8),M(6,9),M(6,10),M(6,11),M(6,12),M(6,13),M(6,14),M(6,15),M(6,16),M(6,17),M(6,18),M(6,19),M(6,20),M(6,21),M(6,22),M(6,23),M(6,24),M(6,25),M(6,26),M(6,27),M(6,28),M(6,29),M(6,30),M(6,31),
 
M(7,1),M(7,2),M(7,3),M(7,4),M(7,5),M(7,6),M(7,7),M(7,8),M(7,9),M(7,10),M(7,11),M(7,12),M(7,13),M(7,14),M(7,15),M(7,16),M(7,17),M(7,18),M(7,19),M(7,20),M(7,21),M(7,22),M(7,23),M(7,24),M(7,25),M(7,26),M(7,27),M(7,28),M(7,29),M(7,30),M(7,31),
 
M(8,1),M(8,2),M(8,3),M(8,4),M(8,5),M(8,6),M(8,7),M(8,8),M(8,9),M(8,10),M(8,11),M(8,12),M(8,13),M(8,14),M(8,15),M(8,16),M(8,17),M(8,18),M(8,19),M(8,20),M(8,21),M(8,22),M(8,23),M(8,24),M(8,25),M(8,26),M(8,27),M(8,28),M(8,29),M(8,30),
 
M(9,1),M(9,2),M(9,3),M(9,4),M(9,5),M(9,6),M(9,7),M(9,8),M(9,9),M(9,10),M(9,11),M(9,12),M(9,13),M(9,14),M(9,15),M(9,16),M(9,17),M(9,18),M(9,19),M(9,20),M(9,21),M(9,22),M(9,23),M(9,24),M(9,25),M(9,26),M(9,27),M(9,28),M(9,29),M(9,30),M(9,31),
 
M(10,1),M(10,2),M(10,3),M(10,4),M(10,5),M(10,6),M(10,7),M(10,8),M(10,9),M(10,10),M(10,11),M(10,12),M(10,13),M(10,14),M(10,15),M(10,16),M(10,17),M(10,18),M(10,19),M(10,20),M(10,21),M(10,22),M(10,23),M(10,24),M(10,25),M(10,26),M(10,27),M(10,28),M(10,29),M(10,30),
 
M(11,1),M(11,2),M(11,3),M(11,4),M(11,5),M(11,6),M(11,7),M(11,8),M(11,9),M(11,10),M(11,11),M(11,12),M(11,13),M(11,14),M(11,15),M(11,16),M(11,17),M(11,18),M(11,19),M(11,20),M(11,21),M(11,22),M(11,23),M(11,24),M(11,25),M(11,26),M(11,27),M(11,28),M(11,29),M(11,30),M(11,31),
 
	M( 0, 1), M( 0, 2), M( 0, 3), M( 0, 4), M( 0, 5), M( 0, 6), M( 0, 7), M( 0, 8), M( 0, 9), M( 0, 10), M( 0, 11), M( 0, 12), M( 0, 13), M( 0, 14), M( 0, 15), M( 0, 16), M( 0, 17), M( 0, 18), M( 0, 19), M( 0, 20), M( 0, 21), M( 0, 22), M( 0, 23), M( 0, 24), M( 0, 25), M( 0, 26), M( 0, 27), M( 0, 28), M( 0, 29), M( 0, 30), M( 0, 31),
 
	M( 1, 1), M( 1, 2), M( 1, 3), M( 1, 4), M( 1, 5), M( 1, 6), M( 1, 7), M( 1, 8), M( 1, 9), M( 1, 10), M( 1, 11), M( 1, 12), M( 1, 13), M( 1, 14), M( 1, 15), M( 1, 16), M( 1, 17), M( 1, 18), M( 1, 19), M( 1, 20), M( 1, 21), M( 1, 22), M( 1, 23), M( 1, 24), M( 1, 25), M( 1, 26), M( 1, 27), M( 1, 28), M( 1, 29),
 
	M( 2, 1), M( 2, 2), M( 2, 3), M( 2, 4), M( 2, 5), M( 2, 6), M( 2, 7), M( 2, 8), M( 2, 9), M( 2, 10), M( 2, 11), M( 2, 12), M( 2, 13), M( 2, 14), M( 2, 15), M( 2, 16), M( 2, 17), M( 2, 18), M( 2, 19), M( 2, 20), M( 2, 21), M( 2, 22), M( 2, 23), M( 2, 24), M( 2, 25), M( 2, 26), M( 2, 27), M( 2, 28), M( 2, 29), M( 2, 30), M( 2, 31),
 
	M( 3, 1), M( 3, 2), M( 3, 3), M( 3, 4), M( 3, 5), M( 3, 6), M( 3, 7), M( 3, 8), M( 3, 9), M( 3, 10), M( 3, 11), M( 3, 12), M( 3, 13), M( 3, 14), M( 3, 15), M( 3, 16), M( 3, 17), M( 3, 18), M( 3, 19), M( 3, 20), M( 3, 21), M( 3, 22), M( 3, 23), M( 3, 24), M( 3, 25), M( 3, 26), M( 3, 27), M( 3, 28), M( 3, 29), M( 3, 30),
 
	M( 4, 1), M( 4, 2), M( 4, 3), M( 4, 4), M( 4, 5), M( 4, 6), M( 4, 7), M( 4, 8), M( 4, 9), M( 4, 10), M( 4, 11), M( 4, 12), M( 4, 13), M( 4, 14), M( 4, 15), M( 4, 16), M( 4, 17), M( 4, 18), M( 4, 19), M( 4, 20), M( 4, 21), M( 4, 22), M( 4, 23), M( 4, 24), M( 4, 25), M( 4, 26), M( 4, 27), M( 4, 28), M( 4, 29), M( 4, 30), M( 4, 31),
 
	M( 5, 1), M( 5, 2), M( 5, 3), M( 5, 4), M( 5, 5), M( 5, 6), M( 5, 7), M( 5, 8), M( 5, 9), M( 5, 10), M( 5, 11), M( 5, 12), M( 5, 13), M( 5, 14), M( 5, 15), M( 5, 16), M( 5, 17), M( 5, 18), M( 5, 19), M( 5, 20), M( 5, 21), M( 5, 22), M( 5, 23), M( 5, 24), M( 5, 25), M( 5, 26), M( 5, 27), M( 5, 28), M( 5, 29), M( 5, 30),
 
	M( 6, 1), M( 6, 2), M( 6, 3), M( 6, 4), M( 6, 5), M( 6, 6), M( 6, 7), M( 6, 8), M( 6, 9), M( 6, 10), M( 6, 11), M( 6, 12), M( 6, 13), M( 6, 14), M( 6, 15), M( 6, 16), M( 6, 17), M( 6, 18), M( 6, 19), M( 6, 20), M( 6, 21), M( 6, 22), M( 6, 23), M( 6, 24), M( 6, 25), M( 6, 26), M( 6, 27), M( 6, 28), M( 6, 29), M( 6, 30), M( 6, 31),
 
	M( 7, 1), M( 7, 2), M( 7, 3), M( 7, 4), M( 7, 5), M( 7, 6), M( 7, 7), M( 7, 8), M( 7, 9), M( 7, 10), M( 7, 11), M( 7, 12), M( 7, 13), M( 7, 14), M( 7, 15), M( 7, 16), M( 7, 17), M( 7, 18), M( 7, 19), M( 7, 20), M( 7, 21), M( 7, 22), M( 7, 23), M( 7, 24), M( 7, 25), M( 7, 26), M( 7, 27), M( 7, 28), M( 7, 29), M( 7, 30), M( 7, 31),
 
	M( 8, 1), M( 8, 2), M( 8, 3), M( 8, 4), M( 8, 5), M( 8, 6), M( 8, 7), M( 8, 8), M( 8, 9), M( 8, 10), M( 8, 11), M( 8, 12), M( 8, 13), M( 8, 14), M( 8, 15), M( 8, 16), M( 8, 17), M( 8, 18), M( 8, 19), M( 8, 20), M( 8, 21), M( 8, 22), M( 8, 23), M( 8, 24), M( 8, 25), M( 8, 26), M( 8, 27), M( 8, 28), M( 8, 29), M( 8, 30),
 
	M( 9, 1), M( 9, 2), M( 9, 3), M( 9, 4), M( 9, 5), M( 9, 6), M( 9, 7), M( 9, 8), M( 9, 9), M( 9, 10), M( 9, 11), M( 9, 12), M( 9, 13), M( 9, 14), M( 9, 15), M( 9, 16), M( 9, 17), M( 9, 18), M( 9, 19), M( 9, 20), M( 9, 21), M( 9, 22), M( 9, 23), M( 9, 24), M( 9, 25), M( 9, 26), M( 9, 27), M( 9, 28), M( 9, 29), M( 9, 30), M( 9, 31),
 
	M(10, 1), M(10, 2), M(10, 3), M(10, 4), M(10, 5), M(10, 6), M(10, 7), M(10, 8), M(10, 9), M(10, 10), M(10, 11), M(10, 12), M(10, 13), M(10, 14), M(10, 15), M(10, 16), M(10, 17), M(10, 18), M(10, 19), M(10, 20), M(10, 21), M(10, 22), M(10, 23), M(10, 24), M(10, 25), M(10, 26), M(10, 27), M(10, 28), M(10, 29), M(10, 30),
 
	M(11, 1), M(11, 2), M(11, 3), M(11, 4), M(11, 5), M(11, 6), M(11, 7), M(11, 8), M(11, 9), M(11, 10), M(11, 11), M(11, 12), M(11, 13), M(11, 14), M(11, 15), M(11, 16), M(11, 17), M(11, 18), M(11, 19), M(11, 20), M(11, 21), M(11, 22), M(11, 23), M(11, 24), M(11, 25), M(11, 26), M(11, 27), M(11, 28), M(11, 29), M(11, 30), M(11, 31),
 
};
 
#undef M
 

	
depot.c
Show inline comments
 
@@ -105,9 +105,9 @@ void InitializeDepot(void)
 

	
 

	
 
static const SaveLoad _depot_desc[] = {
 
	SLE_CONDVAR(Depot, xy,			SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
 
	SLE_CONDVAR(Depot, xy,			SLE_UINT32, 6, SL_MAX_VERSION),
 
	SLE_VAR(Depot,town_index,		SLE_UINT16),
 
	SLE_CONDVAR(Depot, xy,         SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
 
	SLE_CONDVAR(Depot, xy,         SLE_UINT32,                 6, SL_MAX_VERSION),
 
	    SLE_VAR(Depot, town_index, SLE_UINT16),
 
	SLE_END()
 
};
 

	
disaster_cmd.c
Show inline comments
 
@@ -54,24 +54,24 @@ static void DisasterClearSquare(TileInde
 
	}
 
}
 

	
 
static const SpriteID _disaster_images_1[] = {0xF41,0xF41,0xF41,0xF41,0xF41,0xF41,0xF41,0xF41};
 
static const SpriteID _disaster_images_2[] = {0xF44,0xF44,0xF44,0xF44,0xF44,0xF44,0xF44,0xF44};
 
static const SpriteID _disaster_images_3[] = {0xF4E,0xF4E,0xF4E,0xF4E,0xF4E,0xF4E,0xF4E,0xF4E};
 
static const SpriteID _disaster_images_4[] = {0xF46,0xF46,0xF47,0xF47,0xF48,0xF48,0xF49,0xF49};
 
static const SpriteID _disaster_images_5[] = {0xF4A,0xF4A,0xF4B,0xF4B,0xF4C,0xF4C,0xF4D,0xF4D};
 
static const SpriteID _disaster_images_6[] = {0xF50,0xF50,0xF50,0xF50,0xF50,0xF50,0xF50,0xF50};
 
static const SpriteID _disaster_images_7[] = {0xF51,0xF51,0xF51,0xF51,0xF51,0xF51,0xF51,0xF51};
 
static const SpriteID _disaster_images_8[] = {0xF52,0xF52,0xF52,0xF52,0xF52,0xF52,0xF52,0xF52};
 
static const SpriteID _disaster_images_9[] = {0xF3E,0xF3E,0xF3E,0xF3E,0xF3E,0xF3E,0xF3E,0xF3E};
 
static const SpriteID _disaster_images_1[] = {0xF41, 0xF41, 0xF41, 0xF41, 0xF41, 0xF41, 0xF41, 0xF41};
 
static const SpriteID _disaster_images_2[] = {0xF44, 0xF44, 0xF44, 0xF44, 0xF44, 0xF44, 0xF44, 0xF44};
 
static const SpriteID _disaster_images_3[] = {0xF4E, 0xF4E, 0xF4E, 0xF4E, 0xF4E, 0xF4E, 0xF4E, 0xF4E};
 
static const SpriteID _disaster_images_4[] = {0xF46, 0xF46, 0xF47, 0xF47, 0xF48, 0xF48, 0xF49, 0xF49};
 
static const SpriteID _disaster_images_5[] = {0xF4A, 0xF4A, 0xF4B, 0xF4B, 0xF4C, 0xF4C, 0xF4D, 0xF4D};
 
static const SpriteID _disaster_images_6[] = {0xF50, 0xF50, 0xF50, 0xF50, 0xF50, 0xF50, 0xF50, 0xF50};
 
static const SpriteID _disaster_images_7[] = {0xF51, 0xF51, 0xF51, 0xF51, 0xF51, 0xF51, 0xF51, 0xF51};
 
static const SpriteID _disaster_images_8[] = {0xF52, 0xF52, 0xF52, 0xF52, 0xF52, 0xF52, 0xF52, 0xF52};
 
static const SpriteID _disaster_images_9[] = {0xF3E, 0xF3E, 0xF3E, 0xF3E, 0xF3E, 0xF3E, 0xF3E, 0xF3E};
 

	
 
static const SpriteID * const _disaster_images[] = {
 
	_disaster_images_1,_disaster_images_1,
 
	_disaster_images_2,_disaster_images_2,
 
	_disaster_images_3,_disaster_images_3,
 
	_disaster_images_8,_disaster_images_8,_disaster_images_9,
 
	_disaster_images_6,_disaster_images_6,
 
	_disaster_images_7,_disaster_images_7,
 
	_disaster_images_4,_disaster_images_5,
 
	_disaster_images_1, _disaster_images_1,
 
	_disaster_images_2, _disaster_images_2,
 
	_disaster_images_3, _disaster_images_3,
 
	_disaster_images_8, _disaster_images_8, _disaster_images_9,
 
	_disaster_images_6, _disaster_images_6,
 
	_disaster_images_7, _disaster_images_7,
 
	_disaster_images_4, _disaster_images_5,
 
};
 

	
 
static void DisasterVehicleUpdateImage(Vehicle *v)
dock_gui.c
Show inline comments
 
@@ -189,19 +189,19 @@ static void BuildDocksToolbWndProc(Windo
 
}
 

	
 
static const Widget _build_docks_toolb_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,										STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   145,     0,    13, STR_9801_DOCK_CONSTRUCTION,	STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{  WWT_STICKYBOX,   RESIZE_NONE,     7,   146,   157,     0,    13, 0x0,                         STR_STICKY_BUTTON},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,    21,    14,    35, SPR_IMG_BUILD_CANAL,					STR_BUILD_CANALS_TIP},
 
{      WWT_PANEL,   RESIZE_NONE,     7,    22,    43,    14,    35, SPR_IMG_BUILD_LOCK,					STR_BUILD_LOCKS_TIP},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                   STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   145,     0,    13, STR_9801_DOCK_CONSTRUCTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{  WWT_STICKYBOX,   RESIZE_NONE,     7,   146,   157,     0,    13, 0x0,                        STR_STICKY_BUTTON},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,    21,    14,    35, SPR_IMG_BUILD_CANAL,        STR_BUILD_CANALS_TIP},
 
{      WWT_PANEL,   RESIZE_NONE,     7,    22,    43,    14,    35, SPR_IMG_BUILD_LOCK,         STR_BUILD_LOCKS_TIP},
 

	
 
{      WWT_PANEL,   RESIZE_NONE,     7,    44,    47,    14,    35, 0x0,													STR_NULL},
 
{      WWT_PANEL,   RESIZE_NONE,     7,    44,    47,    14,    35, 0x0,                        STR_NULL},
 

	
 
{      WWT_PANEL,   RESIZE_NONE,     7,    48,    69,    14,    35, 703,													STR_018D_DEMOLISH_BUILDINGS_ETC},
 
{      WWT_PANEL,   RESIZE_NONE,     7,    70,    91,    14,    35, 748,													STR_981E_BUILD_SHIP_DEPOT_FOR_BUILDING},
 
{      WWT_PANEL,   RESIZE_NONE,     7,    92,   113,    14,    35, 746,													STR_981D_BUILD_SHIP_DOCK},
 
{      WWT_PANEL,   RESIZE_NONE,     7,   114,   135,    14,    35, 693,													STR_9834_POSITION_BUOY_WHICH_CAN},
 
{      WWT_PANEL,   RESIZE_NONE,     7,   136,   157,    14,    35, SPR_IMG_LANDSCAPING,				STR_LANDSCAPING_TOOLBAR_TIP},
 
{      WWT_PANEL,   RESIZE_NONE,     7,    48,    69,    14,    35, 703,                        STR_018D_DEMOLISH_BUILDINGS_ETC},
 
{      WWT_PANEL,   RESIZE_NONE,     7,    70,    91,    14,    35, 748,                        STR_981E_BUILD_SHIP_DEPOT_FOR_BUILDING},
 
{      WWT_PANEL,   RESIZE_NONE,     7,    92,   113,    14,    35, 746,                        STR_981D_BUILD_SHIP_DOCK},
 
{      WWT_PANEL,   RESIZE_NONE,     7,   114,   135,    14,    35, 693,                        STR_9834_POSITION_BUOY_WHICH_CAN},
 
{      WWT_PANEL,   RESIZE_NONE,     7,   136,   157,    14,    35, SPR_IMG_LANDSCAPING,        STR_LANDSCAPING_TOOLBAR_TIP},
 
{   WIDGETS_END},
 
};
 

	
 
@@ -271,11 +271,11 @@ static void BuildDockStationWndProc(Wind
 
}
 

	
 
static const Widget _build_dock_station_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_3068_DOCK,	STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   147,    14,    74, 0x0,						STR_NULL},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,    14,    73,    30,    40, STR_02DB_OFF,	STR_3065_DON_T_HIGHLIGHT_COVERAGE},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,    74,   133,    30,    40, 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_3068_DOCK, STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   147,    14,    74, 0x0,           STR_NULL},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,    14,    73,    30,    40, STR_02DB_OFF,  STR_3065_DON_T_HIGHLIGHT_COVERAGE},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,    74,   133,    30,    40, STR_02DA_ON,   STR_3064_HIGHLIGHT_COVERAGE_AREA},
 
{   WIDGETS_END},
 
};
 

	
 
@@ -337,11 +337,11 @@ static void BuildDocksDepotWndProc(Windo
 
}
 

	
 
static const Widget _build_docks_depot_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,												STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   203,     0,    13, STR_3800_SHIP_DEPOT_ORIENTATION,	STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   203,    14,    85, 0x0,															STR_NULL},
 
{      WWT_PANEL,   RESIZE_NONE,    14,     3,   100,    17,    82, 0x0,															STR_3803_SELECT_SHIP_DEPOT_ORIENTATION},
 
{      WWT_PANEL,   RESIZE_NONE,    14,   103,   200,    17,    82, 0x0,															STR_3803_SELECT_SHIP_DEPOT_ORIENTATION},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                        STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   203,     0,    13, STR_3800_SHIP_DEPOT_ORIENTATION, STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   203,    14,    85, 0x0,                             STR_NULL},
 
{      WWT_PANEL,   RESIZE_NONE,    14,     3,   100,    17,    82, 0x0,                             STR_3803_SELECT_SHIP_DEPOT_ORIENTATION},
 
{      WWT_PANEL,   RESIZE_NONE,    14,   103,   200,    17,    82, 0x0,                             STR_3803_SELECT_SHIP_DEPOT_ORIENTATION},
 
{   WIDGETS_END},
 
};
 

	
dummy_land.c
Show inline comments
 
@@ -67,17 +67,17 @@ static uint32 GetTileTrackStatus_Dummy(T
 
}
 

	
 
const TileTypeProcs _tile_type_dummy_procs = {
 
	DrawTile_Dummy,						/* draw_tile_proc */
 
	GetSlopeZ_Dummy,					/* get_slope_z_proc */
 
	ClearTile_Dummy,					/* clear_tile_proc */
 
	GetAcceptedCargo_Dummy,		/* get_accepted_cargo_proc */
 
	GetTileDesc_Dummy,				/* get_tile_desc_proc */
 
	GetTileTrackStatus_Dummy,	/* get_tile_track_status_proc */
 
	ClickTile_Dummy,					/* click_tile_proc */
 
	AnimateTile_Dummy,				/* animate_tile_proc */
 
	TileLoop_Dummy,						/* tile_loop_clear */
 
	ChangeTileOwner_Dummy,		/* change_tile_owner_clear */
 
	NULL,											/* get_produced_cargo_proc */
 
	NULL,											/* vehicle_enter_tile_proc */
 
	GetSlopeTileh_Dummy,			/* get_slope_tileh_proc */
 
	DrawTile_Dummy,           /* draw_tile_proc */
 
	GetSlopeZ_Dummy,          /* get_slope_z_proc */
 
	ClearTile_Dummy,          /* clear_tile_proc */
 
	GetAcceptedCargo_Dummy,   /* get_accepted_cargo_proc */
 
	GetTileDesc_Dummy,        /* get_tile_desc_proc */
 
	GetTileTrackStatus_Dummy, /* get_tile_track_status_proc */
 
	ClickTile_Dummy,          /* click_tile_proc */
 
	AnimateTile_Dummy,        /* animate_tile_proc */
 
	TileLoop_Dummy,           /* tile_loop_clear */
 
	ChangeTileOwner_Dummy,    /* change_tile_owner_clear */
 
	NULL,                     /* get_produced_cargo_proc */
 
	NULL,                     /* vehicle_enter_tile_proc */
 
	GetSlopeTileh_Dummy,      /* get_slope_tileh_proc */
 
};
economy.c
Show inline comments
 
@@ -687,54 +687,54 @@ static byte _price_category[NUM_PRICES] 
 
};
 

	
 
static const int32 _price_base[NUM_PRICES] = {
 
	100,		// station_value
 
	100,		// build_rail
 
	95,			// build_road
 
	65,			// build_signals
 
	275,		// build_bridge
 
	600,		// build_train_depot
 
	500,		// build_road_depot
 
	700,		// build_ship_depot
 
	450,		// build_tunnel
 
	200,		// train_station_track
 
	180,		// train_station_length
 
	600,		// build_airport
 
	200,		// build_bus_station
 
	200,		// build_truck_station
 
	350,		// build_dock
 
	400000,	// build_railvehicle
 
	2000,		// build_railwagon
 
	700000,	// aircraft_base
 
	14000,	// roadveh_base
 
	65000,	// ship_base
 
	20,			// build_trees
 
	250,		// terraform
 
	20,			// clear_1
 
	40,			// purchase_land
 
	200,		// clear_2
 
	500,		// clear_3
 
	20,			// remove_trees
 
	-70,		// remove_rail
 
	10,			// remove_signals
 
	50,			// clear_bridge
 
	80,			// remove_train_depot
 
	80,			// remove_road_depot
 
	90,			// remove_ship_depot
 
	30,			// clear_tunnel
 
	10000,	// clear_water
 
	50,			// remove_rail_station
 
	30,			// remove_airport
 
	50,			// remove_bus_station
 
	50,			// remove_truck_station
 
	55,			// remove_dock
 
	1600,		// remove_house
 
	40,			// remove_road
 
	5600,		// running_rail[0] railroad
 
	5200,		// running_rail[1] monorail
 
	4800,		// running_rail[2] maglev
 
	9600,		// aircraft_running
 
	1600,		// roadveh_running
 
	5600,		// ship_running
 
	    100, // station_value
 
	    100, // build_rail
 
	     95, // build_road
 
	     65, // build_signals
 
	    275, // build_bridge
 
	    600, // build_train_depot
 
	    500, // build_road_depot
 
	    700, // build_ship_depot
 
	    450, // build_tunnel
 
	    200, // train_station_track
 
	    180, // train_station_length
 
	    600, // build_airport
 
	    200, // build_bus_station
 
	    200, // build_truck_station
 
	    350, // build_dock
 
	 400000, // build_railvehicle
 
	   2000, // build_railwagon
 
	 700000, // aircraft_base
 
	  14000, // roadveh_base
 
	  65000, // ship_base
 
	     20, // build_trees
 
	    250, // terraform
 
	     20, // clear_1
 
	     40, // purchase_land
 
	    200, // clear_2
 
	    500, // clear_3
 
	     20, // remove_trees
 
	    -70, // remove_rail
 
	     10, // remove_signals
 
	     50, // clear_bridge
 
	     80, // remove_train_depot
 
	     80, // remove_road_depot
 
	     90, // remove_ship_depot
 
	     30, // clear_tunnel
 
	  10000, // clear_water
 
	     50, // remove_rail_station
 
	     30, // remove_airport
 
	     50, // remove_bus_station
 
	     50, // remove_truck_station
 
	     55, // remove_dock
 
	   1600, // remove_house
 
	     40, // remove_road
 
	   5600, // running_rail[0] railroad
 
	   5200, // running_rail[1] monorail
 
	   4800, // running_rail[2] maglev
 
	   9600, // aircraft_running
 
	   1600, // roadveh_running
 
	   5600, // ship_running
 
	1000000, // build_industry
 
};
 

	
 
@@ -1040,12 +1040,12 @@ no_add:;
 
}
 

	
 
static const SaveLoad _subsidies_desc[] = {
 
	SLE_VAR(Subsidy,cargo_type,		SLE_UINT8),
 
	SLE_VAR(Subsidy,age,					SLE_UINT8),
 
	SLE_CONDVAR(Subsidy,from,			SLE_FILE_U8 | SLE_VAR_U16, 0, 4),
 
	SLE_CONDVAR(Subsidy,from,			SLE_UINT16, 5, SL_MAX_VERSION),
 
	SLE_CONDVAR(Subsidy,to,				SLE_FILE_U8 | SLE_VAR_U16, 0, 4),
 
	SLE_CONDVAR(Subsidy,to,				SLE_UINT16, 5, SL_MAX_VERSION),
 
	    SLE_VAR(Subsidy, cargo_type, SLE_UINT8),
 
	    SLE_VAR(Subsidy, age,        SLE_UINT8),
 
	SLE_CONDVAR(Subsidy, from,       SLE_FILE_U8 | SLE_VAR_U16, 0, 4),
 
	SLE_CONDVAR(Subsidy, from,       SLE_UINT16,                5, SL_MAX_VERSION),
 
	SLE_CONDVAR(Subsidy, to,         SLE_FILE_U8 | SLE_VAR_U16, 0, 4),
 
	SLE_CONDVAR(Subsidy, to,         SLE_UINT16,                5, SL_MAX_VERSION),
 
	SLE_END()
 
};
 

	
 
@@ -1635,24 +1635,24 @@ int32 CmdBuyCompany(TileIndex tile, uint
 
// Prices
 
static void SaveLoad_PRIC(void)
 
{
 
	SlArray(&_price, NUM_PRICES, SLE_INT32);
 
	SlArray(&_price,      NUM_PRICES, SLE_INT32);
 
	SlArray(&_price_frac, NUM_PRICES, SLE_UINT16);
 
}
 

	
 
// Cargo payment rates
 
static void SaveLoad_CAPR(void)
 
{
 
	SlArray(&_cargo_payment_rates, NUM_CARGO, SLE_INT32);
 
	SlArray(&_cargo_payment_rates,      NUM_CARGO, SLE_INT32);
 
	SlArray(&_cargo_payment_rates_frac, NUM_CARGO, SLE_UINT16);
 
}
 

	
 
static const SaveLoad _economy_desc[] = {
 
	SLE_VAR(Economy,max_loan,						SLE_INT32),
 
	SLE_VAR(Economy,max_loan_unround,		SLE_INT32),
 
	SLE_VAR(Economy,fluct,							SLE_FILE_I16 | SLE_VAR_I32),
 
	SLE_VAR(Economy,interest_rate,			SLE_UINT8),
 
	SLE_VAR(Economy,infl_amount,				SLE_UINT8),
 
	SLE_VAR(Economy,infl_amount_pr,			SLE_UINT8),
 
	SLE_VAR(Economy, max_loan,         SLE_INT32),
 
	SLE_VAR(Economy, max_loan_unround, SLE_INT32),
 
	SLE_VAR(Economy, fluct,            SLE_FILE_I16 | SLE_VAR_I32),
 
	SLE_VAR(Economy, interest_rate,    SLE_UINT8),
 
	SLE_VAR(Economy, infl_amount,      SLE_UINT8),
 
	SLE_VAR(Economy, infl_amount_pr,   SLE_UINT8),
 
	SLE_END()
 
};
 

	
 
@@ -1665,6 +1665,6 @@ static void SaveLoad_ECMY(void)
 
const ChunkHandler _economy_chunk_handlers[] = {
 
	{ 'PRIC', SaveLoad_PRIC, SaveLoad_PRIC, CH_RIFF | CH_AUTO_LENGTH},
 
	{ 'CAPR', SaveLoad_CAPR, SaveLoad_CAPR, CH_RIFF | CH_AUTO_LENGTH},
 
	{ 'SUBS', Save_SUBS,			Load_SUBS, CH_ARRAY},
 
	{ 'SUBS', Save_SUBS,     Load_SUBS,     CH_ARRAY},
 
	{ 'ECMY', SaveLoad_ECMY, SaveLoad_ECMY, CH_RIFF | CH_LAST},
 
};
engine.c
Show inline comments
 
@@ -25,9 +25,9 @@ AircraftVehicleInfo _aircraft_vehicle_in
 
RoadVehicleInfo _road_vehicle_info[NUM_ROAD_ENGINES];
 

	
 
enum {
 
	ENGINE_AVAILABLE = 1,
 
	ENGINE_AVAILABLE   = 1,
 
	ENGINE_INTRODUCING = 2,
 
	ENGINE_PREVIEWING = 4,
 
	ENGINE_PREVIEWING  = 4,
 
};
 

	
 
enum {
 
@@ -40,18 +40,18 @@ enum {
 
#define MC(cargo) (1 << cargo)
 
const uint32 _default_refitmasks[NUM_VEHICLE_TYPES] = {
 
	/* Trains */
 
	MC(GC_PASSENGERS)|MC(GC_COAL)|MC(GC_MAIL)|MC(GC_LIVESTOCK)|MC(GC_GOODS)|MC(GC_GRAIN)|MC(GC_WOOD)|MC(GC_IRON_ORE)|
 
	MC(GC_STEEL)|MC(GC_VALUABLES)|MC(GC_PAPER)|MC(GC_FOOD)|MC(GC_FRUIT)|MC(GC_COPPER_ORE)|MC(GC_WATER)|MC(GC_SUGAR)|
 
	MC(GC_TOYS)|MC(GC_CANDY)|MC(GC_TOFFEE)|MC(GC_COLA)|MC(GC_COTTON_CANDY)|MC(GC_BUBBLES)|MC(GC_PLASTIC)|MC(GC_FIZZY_DRINKS),
 
	MC(GC_PASSENGERS) | MC(GC_COAL)      | MC(GC_MAIL)   | MC(GC_LIVESTOCK) | MC(GC_GOODS)        | MC(GC_GRAIN)      | MC(GC_WOOD)    | MC(GC_IRON_ORE)    |
 
	MC(GC_STEEL)      | MC(GC_VALUABLES) | MC(GC_PAPER)  | MC(GC_FOOD)      | MC(GC_FRUIT)        | MC(GC_COPPER_ORE) | MC(GC_WATER)   | MC(GC_SUGAR)       |
 
	MC(GC_TOYS)       | MC(GC_CANDY)     | MC(GC_TOFFEE) | MC(GC_COLA)      | MC(GC_COTTON_CANDY) | MC(GC_BUBBLES)    | MC(GC_PLASTIC) | MC(GC_FIZZY_DRINKS),
 
	/* Road vehicles (not refittable by default) */
 
	0,
 
	/* Ships */
 
	MC(GC_COAL)|MC(GC_MAIL)|MC(GC_LIVESTOCK)|MC(GC_GOODS)|MC(GC_GRAIN)|MC(GC_WOOD)|MC(GC_IRON_ORE)|MC(GC_STEEL)|MC(GC_VALUABLES)|
 
	MC(GC_PAPER)|MC(GC_FOOD)|MC(GC_FRUIT)|MC(GC_COPPER_ORE)|MC(GC_WATER)|MC(GC_RUBBER)|MC(GC_SUGAR)|MC(GC_TOYS)|MC(GC_BATTERIES)|
 
	MC(GC_CANDY)|MC(GC_TOFFEE)|MC(GC_COLA)|MC(GC_COTTON_CANDY)|MC(GC_BUBBLES)|MC(GC_PLASTIC)|MC(GC_FIZZY_DRINKS),
 
	MC(GC_COAL)  | MC(GC_MAIL)   | MC(GC_LIVESTOCK) | MC(GC_GOODS)        | MC(GC_GRAIN)   | MC(GC_WOOD)    | MC(GC_IRON_ORE) | MC(GC_STEEL) | MC(GC_VALUABLES) |
 
	MC(GC_PAPER) | MC(GC_FOOD)   | MC(GC_FRUIT)     | MC(GC_COPPER_ORE)   | MC(GC_WATER)   | MC(GC_RUBBER)  | MC(GC_SUGAR)    | MC(GC_TOYS)  | MC(GC_BATTERIES) |
 
	MC(GC_CANDY) | MC(GC_TOFFEE) | MC(GC_COLA)      | MC(GC_COTTON_CANDY) | MC(GC_BUBBLES) | MC(GC_PLASTIC) | MC(GC_FIZZY_DRINKS),
 
	/* Aircraft */
 
	MC(GC_PASSENGERS)|MC(GC_MAIL)|MC(GC_GOODS)|MC(GC_VALUABLES)|MC(GC_FOOD)|MC(GC_FRUIT)|MC(GC_SUGAR)|MC(GC_TOYS)|
 
	MC(GC_BATTERIES)|MC(GC_CANDY)|MC(GC_TOFFEE)|MC(GC_COLA)|MC(GC_COTTON_CANDY)|MC(GC_BUBBLES)|MC(GC_PLASTIC)|MC(GC_FIZZY_DRINKS),
 
	MC(GC_PASSENGERS) | MC(GC_MAIL)  | MC(GC_GOODS)  | MC(GC_VALUABLES) | MC(GC_FOOD)         | MC(GC_FRUIT)   | MC(GC_SUGAR)   | MC(GC_TOYS) |
 
	MC(GC_BATTERIES)  | MC(GC_CANDY) | MC(GC_TOFFEE) | MC(GC_COLA)      | MC(GC_COTTON_CANDY) | MC(GC_BUBBLES) | MC(GC_PLASTIC) | MC(GC_FIZZY_DRINKS),
 
	/* Special/Disaster */
 
	0,0
 
};
 
@@ -606,25 +606,25 @@ static void Load_ERNW(void)
 
}
 

	
 
static const SaveLoad _engine_desc[] = {
 
	SLE_CONDVAR(Engine,intro_date,				SLE_FILE_U16 | SLE_VAR_I32,  0,  30),
 
	SLE_CONDVAR(Engine,intro_date,				SLE_INT32, 31, SL_MAX_VERSION),
 
	SLE_CONDVAR(Engine,age,								SLE_FILE_U16 | SLE_VAR_I32,  0,  30),
 
	SLE_CONDVAR(Engine,age,								SLE_INT32, 31, SL_MAX_VERSION),
 
	SLE_VAR(Engine,reliability,						SLE_UINT16),
 
	SLE_VAR(Engine,reliability_spd_dec,		SLE_UINT16),
 
	SLE_VAR(Engine,reliability_start,			SLE_UINT16),
 
	SLE_VAR(Engine,reliability_max,				SLE_UINT16),
 
	SLE_VAR(Engine,reliability_final,			SLE_UINT16),
 
	SLE_VAR(Engine,duration_phase_1,			SLE_UINT16),
 
	SLE_VAR(Engine,duration_phase_2,			SLE_UINT16),
 
	SLE_VAR(Engine,duration_phase_3,			SLE_UINT16),
 
	SLE_CONDVAR(Engine, intro_date,          SLE_FILE_U16 | SLE_VAR_I32,  0,  30),
 
	SLE_CONDVAR(Engine, intro_date,          SLE_INT32,                  31, SL_MAX_VERSION),
 
	SLE_CONDVAR(Engine, age,                 SLE_FILE_U16 | SLE_VAR_I32,  0,  30),
 
	SLE_CONDVAR(Engine, age,                 SLE_INT32,                  31, SL_MAX_VERSION),
 
	    SLE_VAR(Engine, reliability,         SLE_UINT16),
 
	    SLE_VAR(Engine, reliability_spd_dec, SLE_UINT16),
 
	    SLE_VAR(Engine, reliability_start,   SLE_UINT16),
 
	    SLE_VAR(Engine, reliability_max,     SLE_UINT16),
 
	    SLE_VAR(Engine, reliability_final,   SLE_UINT16),
 
	    SLE_VAR(Engine, duration_phase_1,    SLE_UINT16),
 
	    SLE_VAR(Engine, duration_phase_2,    SLE_UINT16),
 
	    SLE_VAR(Engine, duration_phase_3,    SLE_UINT16),
 

	
 
	SLE_VAR(Engine,lifelength,						SLE_UINT8),
 
	SLE_VAR(Engine,flags,									SLE_UINT8),
 
	SLE_VAR(Engine,preview_player,				SLE_UINT8),
 
	SLE_VAR(Engine,preview_wait,					SLE_UINT8),
 
	SLE_VAR(Engine,railtype,							SLE_UINT8),
 
	SLE_VAR(Engine,player_avail,					SLE_UINT8),
 
	    SLE_VAR(Engine, lifelength,          SLE_UINT8),
 
	    SLE_VAR(Engine, flags,               SLE_UINT8),
 
	    SLE_VAR(Engine, preview_player,      SLE_UINT8),
 
	    SLE_VAR(Engine, preview_wait,        SLE_UINT8),
 
	    SLE_VAR(Engine, railtype,            SLE_UINT8),
 
	    SLE_VAR(Engine, player_avail,        SLE_UINT8),
 

	
 
	// reserve extra space in savegame here. (currently 16 bytes)
 
	SLE_CONDNULL(16, 2, SL_MAX_VERSION),
engine.h
Show inline comments
 
@@ -143,16 +143,16 @@ bool IsEngineBuildable(uint engine, byte
 

	
 
enum {
 
	NUM_NORMAL_RAIL_ENGINES = 54,
 
	NUM_MONORAIL_ENGINES = 30,
 
	NUM_MAGLEV_ENGINES = 32,
 
	NUM_TRAIN_ENGINES = NUM_NORMAL_RAIL_ENGINES + NUM_MONORAIL_ENGINES + NUM_MAGLEV_ENGINES,
 
	NUM_ROAD_ENGINES = 88,
 
	NUM_SHIP_ENGINES = 11,
 
	NUM_AIRCRAFT_ENGINES = 41,
 
	TOTAL_NUM_ENGINES = NUM_TRAIN_ENGINES + NUM_ROAD_ENGINES + NUM_SHIP_ENGINES + NUM_AIRCRAFT_ENGINES,
 
	AIRCRAFT_ENGINES_INDEX = NUM_TRAIN_ENGINES + NUM_ROAD_ENGINES + NUM_SHIP_ENGINES,
 
	SHIP_ENGINES_INDEX = NUM_TRAIN_ENGINES + NUM_ROAD_ENGINES,
 
	ROAD_ENGINES_INDEX = NUM_TRAIN_ENGINES,
 
	NUM_MONORAIL_ENGINES    = 30,
 
	NUM_MAGLEV_ENGINES      = 32,
 
	NUM_TRAIN_ENGINES       = NUM_NORMAL_RAIL_ENGINES + NUM_MONORAIL_ENGINES + NUM_MAGLEV_ENGINES,
 
	NUM_ROAD_ENGINES        = 88,
 
	NUM_SHIP_ENGINES        = 11,
 
	NUM_AIRCRAFT_ENGINES    = 41,
 
	TOTAL_NUM_ENGINES       = NUM_TRAIN_ENGINES + NUM_ROAD_ENGINES + NUM_SHIP_ENGINES + NUM_AIRCRAFT_ENGINES,
 
	AIRCRAFT_ENGINES_INDEX  = NUM_TRAIN_ENGINES + NUM_ROAD_ENGINES + NUM_SHIP_ENGINES,
 
	SHIP_ENGINES_INDEX      = NUM_TRAIN_ENGINES + NUM_ROAD_ENGINES,
 
	ROAD_ENGINES_INDEX      = NUM_TRAIN_ENGINES,
 
};
 
VARDEF Engine _engines[TOTAL_NUM_ENGINES];
 
#define FOR_ALL_ENGINES(e) for (e = _engines; e != endof(_engines); e++)
engine_gui.c
Show inline comments
 
@@ -37,11 +37,11 @@ static StringID GetEngineCategoryName(En
 
}
 

	
 
static const Widget _engine_preview_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     5,     0,    10,     0,    13, STR_00C5,			STR_018B_CLOSE_WINDOW},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     5,     0,    10,     0,    13, STR_00C5,                                  STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     5,    11,   299,     0,    13, STR_8100_MESSAGE_FROM_VEHICLE_MANUFACTURE, STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{     WWT_IMGBTN,   RESIZE_NONE,     5,     0,   299,    14,   191, 0x0,						STR_NULL},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,     5,    85,   144,   172,   183, STR_00C9_NO,		STR_NULL},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,     5,   155,   214,   172,   183, STR_00C8_YES,	STR_NULL},
 
{     WWT_IMGBTN,   RESIZE_NONE,     5,     0,   299,    14,   191, 0x0,                                       STR_NULL},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,     5,    85,   144,   172,   183, STR_00C9_NO,                               STR_NULL},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,     5,   155,   214,   172,   183, STR_00C8_YES,                              STR_NULL},
 
{   WIDGETS_END},
 
};
 

	
fios.h
Show inline comments
 
@@ -12,17 +12,17 @@ typedef struct {
 
} FiosItem;
 

	
 
enum {
 
	FIOS_TYPE_DRIVE = 0,
 
	FIOS_TYPE_PARENT = 1,
 
	FIOS_TYPE_DIR = 2,
 
	FIOS_TYPE_FILE = 3,
 
	FIOS_TYPE_OLDFILE = 4,
 
	FIOS_TYPE_SCENARIO = 5,
 
	FIOS_TYPE_OLD_SCENARIO = 6,
 
	FIOS_TYPE_DIRECT = 7,
 
	FIOS_TYPE_PNG = 8,
 
	FIOS_TYPE_BMP = 9,
 
	FIOS_TYPE_INVALID = 255,
 
	FIOS_TYPE_DRIVE        =   0,
 
	FIOS_TYPE_PARENT       =   1,
 
	FIOS_TYPE_DIR          =   2,
 
	FIOS_TYPE_FILE         =   3,
 
	FIOS_TYPE_OLDFILE      =   4,
 
	FIOS_TYPE_SCENARIO     =   5,
 
	FIOS_TYPE_OLD_SCENARIO =   6,
 
	FIOS_TYPE_DIRECT       =   7,
 
	FIOS_TYPE_PNG          =   8,
 
	FIOS_TYPE_BMP          =   9,
 
	FIOS_TYPE_INVALID      = 255,
 
};
 

	
 
/* Variables to display file lists */
genworld_gui.c
Show inline comments
 
@@ -58,94 +58,94 @@ static inline void SetNewLandscapeType(b
 

	
 
// no longer static to allow calling from outside module
 
const Widget _generate_landscape_widgets[] = {
 
{  WWT_CLOSEBOX,  RESIZE_NONE, 13,   0,  10,   0,  13, STR_00C5,                STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION, RESIZE_NONE, 13,  11, 337,   0,  13, STR_WORLD_GENERATION_CAPTION,STR_NULL},
 
{     WWT_IMGBTN, RESIZE_NONE, 13,   0, 337,  14, 267, STR_NULL,                STR_NULL},
 
{  WWT_CLOSEBOX,  RESIZE_NONE, 13,   0,  10,   0,  13, STR_00C5,                     STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION, RESIZE_NONE, 13,  11, 337,   0,  13, STR_WORLD_GENERATION_CAPTION, STR_NULL},
 
{     WWT_IMGBTN, RESIZE_NONE, 13,   0, 337,  14, 267, STR_NULL,                     STR_NULL},
 

	
 
{    WWT_PANEL_2, RESIZE_NONE, 12,  10,  86,  24,  78, 0x1312,                  STR_030E_SELECT_TEMPERATE_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12,  90, 166,  24,  78, 0x1314,                  STR_030F_SELECT_SUB_ARCTIC_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12, 170, 246,  24,  78, 0x1316,                  STR_0310_SELECT_SUB_TROPICAL_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12, 250, 326,  24,  78, 0x1318,                  STR_0311_SELECT_TOYLAND_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12,  10,  86,  24,  78, 0x1312,                       STR_030E_SELECT_TEMPERATE_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12,  90, 166,  24,  78, 0x1314,                       STR_030F_SELECT_SUB_ARCTIC_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12, 170, 246,  24,  78, 0x1316,                       STR_0310_SELECT_SUB_TROPICAL_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12, 250, 326,  24,  78, 0x1318,                       STR_0311_SELECT_TOYLAND_LANDSCAPE},
 

	
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 149,  90, 101, STR_NULL,                STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 150, 161,  90, 101, STR_0225,                STR_NULL}, // Mapsize X
 
{      WWT_PANEL, RESIZE_NONE, 12, 180, 215,  90, 101, STR_NULL,                STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 216, 227,  90, 101, STR_0225,                STR_NULL}, // Mapsize Y
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 149,  90, 101, STR_NULL,                     STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 150, 161,  90, 101, STR_0225,                     STR_NULL}, // Mapsize X
 
{      WWT_PANEL, RESIZE_NONE, 12, 180, 215,  90, 101, STR_NULL,                     STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 216, 227,  90, 101, STR_0225,                     STR_NULL}, // Mapsize Y
 

	
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 163, 112, 123, STR_NULL,                STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 164, 175, 112, 123, STR_0225,                STR_NULL}, // Number of towns
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 163, 130, 141, STR_NULL,                STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 164, 175, 130, 141, STR_0225,                STR_NULL}, // Number of industries
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 163, 112, 123, STR_NULL,                     STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 164, 175, 112, 123, STR_0225,                     STR_NULL}, // Number of towns
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 163, 130, 141, STR_NULL,                     STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 164, 175, 130, 141, STR_0225,                     STR_NULL}, // Number of industries
 

	
 
{     WWT_IMGBTN, RESIZE_NONE, 15, 114, 194, 152, 163, STR_NULL,                STR_RANDOM_SEED_HELP}, // Edit box for seed
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 203, 285, 152, 163, STR_RANDOM,              STR_RANDOM_HELP},
 
{     WWT_IMGBTN, RESIZE_NONE, 15, 114, 194, 152, 163, STR_NULL,                     STR_RANDOM_SEED_HELP}, // Edit box for seed
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 203, 285, 152, 163, STR_RANDOM,                   STR_RANDOM_HELP},
 

	
 
{    WWT_TEXTBTN, RESIZE_NONE,  6, 243, 326, 228, 257, STR_GENERATE,            STR_NULL}, // Generate button
 
{    WWT_TEXTBTN, RESIZE_NONE,  6, 243, 326, 228, 257, STR_GENERATE,                 STR_NULL}, // Generate button
 

	
 
{     WWT_IMGBTN, RESIZE_NONE, 12, 216, 227, 112, 123, SPR_ARROW_DOWN,          STR_029E_MOVE_THE_STARTING_DATE},
 
{      WWT_PANEL, RESIZE_NONE, 12, 228, 314, 112, 123, 0x0,                     STR_NULL},
 
{     WWT_IMGBTN, RESIZE_NONE, 12, 315, 326, 112, 123, SPR_ARROW_UP,            STR_029F_MOVE_THE_STARTING_DATE},
 
{     WWT_IMGBTN, RESIZE_NONE, 12, 216, 227, 112, 123, SPR_ARROW_DOWN,               STR_029E_MOVE_THE_STARTING_DATE},
 
{      WWT_PANEL, RESIZE_NONE, 12, 228, 314, 112, 123, 0x0,                          STR_NULL},
 
{     WWT_IMGBTN, RESIZE_NONE, 12, 315, 326, 112, 123, SPR_ARROW_UP,                 STR_029F_MOVE_THE_STARTING_DATE},
 

	
 
{     WWT_IMGBTN, RESIZE_NONE, 12, 282, 293, 130, 141, SPR_ARROW_DOWN,          STR_SNOW_LINE_DOWN},
 
{      WWT_PANEL, RESIZE_NONE, 12, 294, 314, 130, 141, 0x0,                     STR_NULL},
 
{     WWT_IMGBTN, RESIZE_NONE, 12, 315, 326, 130, 141, SPR_ARROW_UP,            STR_SNOW_LINE_UP},
 
{     WWT_IMGBTN, RESIZE_NONE, 12, 282, 293, 130, 141, SPR_ARROW_DOWN,               STR_SNOW_LINE_DOWN},
 
{      WWT_PANEL, RESIZE_NONE, 12, 294, 314, 130, 141, 0x0,                          STR_NULL},
 
{     WWT_IMGBTN, RESIZE_NONE, 12, 315, 326, 130, 141, SPR_ARROW_UP,                 STR_SNOW_LINE_UP},
 

	
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 219, 192, 203, STR_NULL,                STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 192, 203, STR_0225,                STR_NULL}, // Tree placer
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 219, 192, 203, STR_NULL,                     STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 192, 203, STR_0225,                     STR_NULL}, // Tree placer
 

	
 
{      WWT_EMPTY, RESIZE_NONE, 12, 114, 231, 174, 185, STR_NULL,                STR_NULL},
 
//{      WWT_PANEL, RESIZE_NONE, 12, 114, 219, 174, 185, STR_NULL,                STR_NULL},
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 231, 174, 185, STR_NULL,                STR_NULL},
 
//{    WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 174, 185, STR_0225,                STR_NULL}, // Landscape generator
 
//{      WWT_PANEL, RESIZE_NONE, 12, 114, 219, 210, 221, STR_NULL,                STR_NULL},
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 231, 210, 221, STR_NULL,                STR_NULL},
 
//{    WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 210, 221, STR_0225,                STR_NULL}, // Terrain type
 
//{      WWT_PANEL, RESIZE_NONE, 12, 114, 219, 228, 239, STR_NULL,                STR_NULL},
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 231, 228, 239, STR_NULL,                STR_NULL},
 
//{    WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 228, 239, STR_0225,                STR_NULL}, // Water quantity
 
{      WWT_PANEL, RESIZE_NONE, 12, 113, 219, 246, 257, STR_NULL,                STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 246, 257, STR_0225,                STR_NULL}, // Map smoothness
 
{      WWT_EMPTY, RESIZE_NONE, 12, 114, 231, 174, 185, STR_NULL,                     STR_NULL},
 
//{      WWT_PANEL, RESIZE_NONE, 12, 114, 219, 174, 185, STR_NULL,                     STR_NULL},
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 231, 174, 185, STR_NULL,                     STR_NULL},
 
//{    WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 174, 185, STR_0225,                     STR_NULL}, // Landscape generator
 
//{      WWT_PANEL, RESIZE_NONE, 12, 114, 219, 210, 221, STR_NULL,                     STR_NULL},
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 231, 210, 221, STR_NULL,                     STR_NULL},
 
//{    WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 210, 221, STR_0225,                     STR_NULL}, // Terrain type
 
//{      WWT_PANEL, RESIZE_NONE, 12, 114, 219, 228, 239, STR_NULL,                     STR_NULL},
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 231, 228, 239, STR_NULL,                     STR_NULL},
 
//{    WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 228, 239, STR_0225,                     STR_NULL}, // Water quantity
 
{      WWT_PANEL, RESIZE_NONE, 12, 113, 219, 246, 257, STR_NULL,                     STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 246, 257, STR_0225,                     STR_NULL}, // Map smoothness
 
{   WIDGETS_END},
 
};
 

	
 
const Widget _heightmap_load_widgets[] = {
 
{   WWT_CLOSEBOX, RESIZE_NONE, 13,   0,  10,   0,  13, STR_00C5,                STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION, RESIZE_NONE, 13,  11, 337,   0,  13, STR_WORLD_GENERATION_CAPTION,STR_NULL},
 
{     WWT_IMGBTN, RESIZE_NONE, 13,   0, 337,  14, 235, STR_NULL,                STR_NULL},
 
{   WWT_CLOSEBOX, RESIZE_NONE, 13,   0,  10,   0,  13, STR_00C5,                     STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION, RESIZE_NONE, 13,  11, 337,   0,  13, STR_WORLD_GENERATION_CAPTION, STR_NULL},
 
{     WWT_IMGBTN, RESIZE_NONE, 13,   0, 337,  14, 235, STR_NULL,                     STR_NULL},
 

	
 
{    WWT_PANEL_2, RESIZE_NONE, 12,  10,  86,  24,  78, 0x1312,                  STR_030E_SELECT_TEMPERATE_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12,  90, 166,  24,  78, 0x1314,                  STR_030F_SELECT_SUB_ARCTIC_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12, 170, 246,  24,  78, 0x1316,                  STR_0310_SELECT_SUB_TROPICAL_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12, 250, 326,  24,  78, 0x1318,                  STR_0311_SELECT_TOYLAND_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12,  10,  86,  24,  78, 0x1312,                       STR_030E_SELECT_TEMPERATE_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12,  90, 166,  24,  78, 0x1314,                       STR_030F_SELECT_SUB_ARCTIC_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12, 170, 246,  24,  78, 0x1316,                       STR_0310_SELECT_SUB_TROPICAL_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12, 250, 326,  24,  78, 0x1318,                       STR_0311_SELECT_TOYLAND_LANDSCAPE},
 

	
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 149, 112, 123, STR_NULL,                STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 150, 161, 112, 123, STR_0225,                STR_NULL}, // Mapsize X
 
{      WWT_PANEL, RESIZE_NONE, 12, 180, 215, 112, 123, STR_NULL,                STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 216, 227, 112, 123, STR_0225,                STR_NULL}, // Mapsize Y
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 149, 112, 123, STR_NULL,                     STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 150, 161, 112, 123, STR_0225,                     STR_NULL}, // Mapsize X
 
{      WWT_PANEL, RESIZE_NONE, 12, 180, 215, 112, 123, STR_NULL,                     STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 216, 227, 112, 123, STR_0225,                     STR_NULL}, // Mapsize Y
 

	
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 163, 134, 145, STR_NULL,                STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 164, 175, 134, 145, STR_0225,                STR_NULL}, // Number of towns
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 163, 152, 163, STR_NULL,                STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 164, 175, 152, 163, STR_0225,                STR_NULL}, // Number of industries
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 163, 134, 145, STR_NULL,                     STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 164, 175, 134, 145, STR_0225,                     STR_NULL}, // Number of towns
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 163, 152, 163, STR_NULL,                     STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 164, 175, 152, 163, STR_0225,                     STR_NULL}, // Number of industries
 

	
 
{     WWT_IMGBTN, RESIZE_NONE, 15, 114, 194, 174, 185, STR_NULL,                STR_RANDOM_SEED_HELP}, // Edit box for seed
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 203, 285, 174, 185, STR_RANDOM,              STR_RANDOM_HELP},
 
{     WWT_IMGBTN, RESIZE_NONE, 15, 114, 194, 174, 185, STR_NULL,                     STR_RANDOM_SEED_HELP}, // Edit box for seed
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 203, 285, 174, 185, STR_RANDOM,                   STR_RANDOM_HELP},
 

	
 
{    WWT_TEXTBTN, RESIZE_NONE,  6, 243, 326, 196, 225, STR_GENERATE,            STR_NULL}, // Generate button
 
{    WWT_TEXTBTN, RESIZE_NONE,  6, 243, 326, 196, 225, STR_GENERATE,                 STR_NULL}, // Generate button
 

	
 
{     WWT_IMGBTN, RESIZE_NONE, 12, 216, 227, 134, 145, SPR_ARROW_DOWN,          STR_029E_MOVE_THE_STARTING_DATE},
 
{      WWT_PANEL, RESIZE_NONE, 12, 228, 314, 134, 145, 0x0,                     STR_NULL},
 
{     WWT_IMGBTN, RESIZE_NONE, 12, 315, 326, 134, 145, SPR_ARROW_UP,            STR_029F_MOVE_THE_STARTING_DATE},
 
{     WWT_IMGBTN, RESIZE_NONE, 12, 216, 227, 134, 145, SPR_ARROW_DOWN,               STR_029E_MOVE_THE_STARTING_DATE},
 
{      WWT_PANEL, RESIZE_NONE, 12, 228, 314, 134, 145, 0x0,                          STR_NULL},
 
{     WWT_IMGBTN, RESIZE_NONE, 12, 315, 326, 134, 145, SPR_ARROW_UP,                 STR_029F_MOVE_THE_STARTING_DATE},
 

	
 
{     WWT_IMGBTN, RESIZE_NONE, 12, 282, 293, 152, 163, SPR_ARROW_DOWN,          STR_SNOW_LINE_DOWN},
 
{      WWT_PANEL, RESIZE_NONE, 12, 294, 314, 152, 163, 0x0,                     STR_NULL},
 
{     WWT_IMGBTN, RESIZE_NONE, 12, 315, 326, 152, 163, SPR_ARROW_UP,            STR_SNOW_LINE_UP},
 
{     WWT_IMGBTN, RESIZE_NONE, 12, 282, 293, 152, 163, SPR_ARROW_DOWN,               STR_SNOW_LINE_DOWN},
 
{      WWT_PANEL, RESIZE_NONE, 12, 294, 314, 152, 163, 0x0,                          STR_NULL},
 
{     WWT_IMGBTN, RESIZE_NONE, 12, 315, 326, 152, 163, SPR_ARROW_UP,                 STR_SNOW_LINE_UP},
 

	
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 219, 196, 207, STR_NULL,                STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 196, 207, STR_0225,                STR_NULL}, // Tree placer
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 219, 196, 207, STR_NULL,                     STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 196, 207, STR_0225,                     STR_NULL}, // Tree placer
 

	
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 219, 214, 225, STR_NULL,                STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 214, 225, STR_0225,                STR_NULL}, // Heightmap rotation
 
{      WWT_PANEL, RESIZE_NONE, 12, 114, 219, 214, 225, STR_NULL,                     STR_NULL},
 
{    WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 214, 225, STR_0225,                     STR_NULL}, // Heightmap rotation
 
{   WIDGETS_END},
 
};
 

	
gfx.c
Show inline comments
 
@@ -271,12 +271,12 @@ static inline SpriteID GetFontBase(FontS
 

	
 

	
 
enum {
 
	ASCII_SETX = 1,
 
	ASCII_SETXY = 2,
 
	ASCII_SETX       =  1,
 
	ASCII_SETXY      =  2,
 

	
 
	ASCII_TINYFONT = 8,
 
	ASCII_BIGFONT = 9,
 
	ASCII_NL = 10,
 
	ASCII_TINYFONT   =  8,
 
	ASCII_BIGFONT    =  9,
 
	ASCII_NL         = 10,
 

	
 
	ASCII_COLORSTART = 15,
 
};
graph_gui.c
Show inline comments
 
@@ -257,17 +257,17 @@ static void GraphLegendWndProc(Window *w
 
}
 

	
 
static const Widget _graph_legend_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5, STR_018B_CLOSE_WINDOW},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,                       STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   249,     0,    13, STR_704E_KEY_TO_COMPANY_GRAPHS, STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   249,    14,   113, 0x0,STR_NULL},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     2,   247,    16,    27, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     2,   247,    28,    39, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     2,   247,    40,    51, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     2,   247,    52,    63, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     2,   247,    64,    75, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     2,   247,    76,    87, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     2,   247,    88,    99, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     2,   247,   100,   111, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   249,    14,   113, 0x0,                            STR_NULL},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     2,   247,    16,    27, 0x0,                            STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     2,   247,    28,    39, 0x0,                            STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     2,   247,    40,    51, 0x0,                            STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     2,   247,    52,    63, 0x0,                            STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     2,   247,    64,    75, 0x0,                            STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     2,   247,    76,    87, 0x0,                            STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     2,   247,    88,    99, 0x0,                            STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     2,   247,   100,   111, 0x0,                            STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{   WIDGETS_END},
 
};
 

	
 
@@ -365,10 +365,10 @@ static void OperatingProfitWndProc(Windo
 
}
 

	
 
static const Widget _operating_profit_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,												STR_018B_CLOSE_WINDOW},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,                        STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   525,     0,    13, STR_7025_OPERATING_PROFIT_GRAPH, STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,   526,   575,     0,    13, STR_704C_KEY,										STR_704D_SHOW_KEY_TO_GRAPHS},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   575,    14,   173, 0x0,															STR_NULL},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,   526,   575,     0,    13, STR_704C_KEY,                    STR_704D_SHOW_KEY_TO_GRAPHS},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   575,    14,   173, 0x0,                             STR_NULL},
 
{   WIDGETS_END},
 
};
 

	
 
@@ -440,10 +440,10 @@ static void IncomeGraphWndProc(Window *w
 
}
 

	
 
static const Widget _income_graph_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,							STR_018B_CLOSE_WINDOW},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,              STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   525,     0,    13, STR_7022_INCOME_GRAPH, STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,   526,   575,     0,    13, STR_704C_KEY,					STR_704D_SHOW_KEY_TO_GRAPHS},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   575,    14,   141, 0x0,										STR_NULL},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,   526,   575,     0,    13, STR_704C_KEY,          STR_704D_SHOW_KEY_TO_GRAPHS},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   575,    14,   141, 0x0,                   STR_NULL},
 
{   WIDGETS_END},
 
};
 

	
 
@@ -513,10 +513,10 @@ static void DeliveredCargoGraphWndProc(W
 
}
 

	
 
static const Widget _delivered_cargo_graph_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,													STR_018B_CLOSE_WINDOW},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,                          STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   525,     0,    13, STR_7050_UNITS_OF_CARGO_DELIVERED, STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,   526,   575,     0,    13, STR_704C_KEY,											STR_704D_SHOW_KEY_TO_GRAPHS},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   575,    14,   141, 0x0,																STR_NULL},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,   526,   575,     0,    13, STR_704C_KEY,                      STR_704D_SHOW_KEY_TO_GRAPHS},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   575,    14,   141, 0x0,                               STR_NULL},
 
{   WIDGETS_END},
 
};
 

	
 
@@ -588,11 +588,11 @@ static void PerformanceHistoryWndProc(Wi
 
}
 

	
 
static const Widget _performance_history_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,															STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   475,     0,    13, STR_7051_COMPANY_PERFORMANCE_RATINGS,	STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,   526,   575,     0,    13, STR_704C_KEY,													STR_704D_SHOW_KEY_TO_GRAPHS},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,   476,   525,     0,    13, STR_PERFORMANCE_DETAIL_KEY,						STR_704D_SHOW_KEY_TO_GRAPHS},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   575,    14,   237, 0x0,																		STR_NULL},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,                             STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   475,     0,    13, STR_7051_COMPANY_PERFORMANCE_RATINGS, STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,   526,   575,     0,    13, STR_704C_KEY,                         STR_704D_SHOW_KEY_TO_GRAPHS},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,   476,   525,     0,    13, STR_PERFORMANCE_DETAIL_KEY,           STR_704D_SHOW_KEY_TO_GRAPHS},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   575,    14,   237, 0x0,                                  STR_NULL},
 
{   WIDGETS_END},
 
};
 

	
 
@@ -662,10 +662,10 @@ static void CompanyValueGraphWndProc(Win
 
}
 

	
 
static const Widget _company_value_graph_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,								STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   525,     0,    13, STR_7052_COMPANY_VALUES,	STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,   526,   575,     0,    13, STR_704C_KEY,						STR_704D_SHOW_KEY_TO_GRAPHS},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   575,    14,   237, 0x0,											STR_NULL},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,                STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   525,     0,    13, STR_7052_COMPANY_VALUES, STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    14,   526,   575,     0,    13, STR_704C_KEY,            STR_704D_SHOW_KEY_TO_GRAPHS},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   575,    14,   237, 0x0,                     STR_NULL},
 
{   WIDGETS_END},
 
};
 

	
 
@@ -752,21 +752,21 @@ static void CargoPaymentRatesWndProc(Win
 
}
 

	
 
static const Widget _cargo_payment_rates_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,											STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   567,     0,    13, STR_7061_CARGO_PAYMENT_RATES,	STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,    14,     0,   567,    14,   141, 0x0,														STR_NULL},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    24,    31, 0x0,														STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    32,    39, 0x0,														STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    40,    47, 0x0,														STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    48,    55, 0x0,														STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    56,    63, 0x0,														STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    64,    71, 0x0,														STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    72,    79, 0x0,														STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    80,    87, 0x0,														STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    88,    95, 0x0,														STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    96,   103, 0x0,														STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,   104,   111, 0x0,														STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,   112,   119, 0x0,														STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,                     STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   567,     0,    13, STR_7061_CARGO_PAYMENT_RATES, STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,    14,     0,   567,    14,   141, 0x0,                          STR_NULL},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    24,    31, 0x0,                          STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    32,    39, 0x0,                          STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    40,    47, 0x0,                          STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    48,    55, 0x0,                          STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    56,    63, 0x0,                          STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    64,    71, 0x0,                          STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    72,    79, 0x0,                          STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    80,    87, 0x0,                          STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    88,    95, 0x0,                          STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,    96,   103, 0x0,                          STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,   104,   111, 0x0,                          STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{      WWT_PANEL,   RESIZE_NONE,    12,   493,   562,   112,   119, 0x0,                          STR_7064_TOGGLE_GRAPH_FOR_CARGO},
 
{   WIDGETS_END},
 
};
 

	
 
@@ -1055,29 +1055,29 @@ static void PerformanceRatingDetailWndPr
 
}
 

	
 
static const Widget _performance_rating_detail_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,								STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   298,     0,    13, STR_PERFORMANCE_DETAIL,	STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,    14,    27, 0x0,											STR_NULL},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,               STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,    14,    11,   298,     0,    13, STR_PERFORMANCE_DETAIL, STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,    14,    27, 0x0,                    STR_NULL},
 

	
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,    28,    47, 0x0,STR_PERFORMANCE_DETAIL_VEHICLES_TIP},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,    48,    67, 0x0,STR_PERFORMANCE_DETAIL_STATIONS_TIP},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,    68,    87, 0x0,STR_PERFORMANCE_DETAIL_MIN_PROFIT_TIP},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,    88,   107, 0x0,STR_PERFORMANCE_DETAIL_MIN_INCOME_TIP},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,   108,   127, 0x0,STR_PERFORMANCE_DETAIL_MAX_INCOME_TIP},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,   128,   147, 0x0,STR_PERFORMANCE_DETAIL_DELIVERED_TIP},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,   148,   167, 0x0,STR_PERFORMANCE_DETAIL_CARGO_TIP},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,   168,   187, 0x0,STR_PERFORMANCE_DETAIL_MONEY_TIP},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,   188,   207, 0x0,STR_PERFORMANCE_DETAIL_LOAN_TIP},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,   208,   227, 0x0,STR_PERFORMANCE_DETAIL_TOTAL_TIP},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,    28,    47, 0x0,                    STR_PERFORMANCE_DETAIL_VEHICLES_TIP},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,    48,    67, 0x0,                    STR_PERFORMANCE_DETAIL_STATIONS_TIP},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,    68,    87, 0x0,                    STR_PERFORMANCE_DETAIL_MIN_PROFIT_TIP},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,    88,   107, 0x0,                    STR_PERFORMANCE_DETAIL_MIN_INCOME_TIP},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,   108,   127, 0x0,                    STR_PERFORMANCE_DETAIL_MAX_INCOME_TIP},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,   128,   147, 0x0,                    STR_PERFORMANCE_DETAIL_DELIVERED_TIP},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,   148,   167, 0x0,                    STR_PERFORMANCE_DETAIL_CARGO_TIP},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,   168,   187, 0x0,                    STR_PERFORMANCE_DETAIL_MONEY_TIP},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,   188,   207, 0x0,                    STR_PERFORMANCE_DETAIL_LOAN_TIP},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     0,   298,   208,   227, 0x0,                    STR_PERFORMANCE_DETAIL_TOTAL_TIP},
 

	
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     2,    38,    14,    26, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,    39,    75,    14,    26, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,    76,   112,    14,    26, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,   113,   149,    14,    26, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,   150,   186,    14,    26, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,   187,   223,    14,    26, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,   224,   260,    14,    26, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,   261,   297,    14,    26, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,     2,    38,    14,    26, 0x0,                    STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,    39,    75,    14,    26, 0x0,                    STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,    76,   112,    14,    26, 0x0,                    STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,   113,   149,    14,    26, 0x0,                    STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,   150,   186,    14,    26, 0x0,                    STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,   187,   223,    14,    26, 0x0,                    STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,   224,   260,    14,    26, 0x0,                    STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{     WWT_IMGBTN,   RESIZE_NONE,    14,   261,   297,    14,    26, 0x0,                    STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
 
{   WIDGETS_END},
 
};
 

	
 
@@ -1208,12 +1208,12 @@ static void SignListWndProc(Window *w, W
 
}
 

	
 
static const Widget _sign_list_widget[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,									STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,  RESIZE_RIGHT,    14,    11,   345,     0,    13, STR_SIGN_LIST_CAPTION,		STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{  WWT_STICKYBOX,     RESIZE_LR,    14,   346,   357,     0,    13, 0x0,											STR_STICKY_BUTTON},
 
{      WWT_PANEL,     RESIZE_RB,    14,     0,   345,    14,   137, 0x0,											STR_NULL},
 
{  WWT_SCROLLBAR,    RESIZE_LRB,    14,   346,   357,    14,   125, 0x0,											STR_0190_SCROLL_BAR_SCROLLS_LIST},
 
{  WWT_RESIZEBOX,   RESIZE_LRTB,    14,   346,   357,   126,   137, 0x0,											STR_RESIZE_BUTTON},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    14,     0,    10,     0,    13, STR_00C5,              STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,  RESIZE_RIGHT,    14,    11,   345,     0,    13, STR_SIGN_LIST_CAPTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{  WWT_STICKYBOX,     RESIZE_LR,    14,   346,   357,     0,    13, 0x0,                   STR_STICKY_BUTTON},
 
{      WWT_PANEL,     RESIZE_RB,    14,     0,   345,    14,   137, 0x0,                   STR_NULL},
 
{  WWT_SCROLLBAR,    RESIZE_LRB,    14,   346,   357,    14,   125, 0x0,                   STR_0190_SCROLL_BAR_SCROLLS_LIST},
 
{  WWT_RESIZEBOX,   RESIZE_LRTB,    14,   346,   357,   126,   137, 0x0,                   STR_RESIZE_BUTTON},
 
{   WIDGETS_END},
 
};
 

	
gui.h
Show inline comments
 
@@ -133,8 +133,8 @@ void ShowNetworkGameWindow(void);
 
void ShowBuildBridgeWindow(uint start, uint end, byte type);
 

	
 
enum {
 
	ZOOM_IN = 0,
 
	ZOOM_OUT = 1,
 
	ZOOM_IN   = 0,
 
	ZOOM_OUT  = 1,
 
	ZOOM_NONE = 2, // hack, used to update the button status
 
};
 

	
industry.h
Show inline comments
 
@@ -108,45 +108,45 @@ void DeleteIndustry(Industry *is);
 
void PlantRandomFarmField(const Industry *i);
 

	
 
enum {
 
	IT_COAL_MINE = 0,
 
	IT_POWER_STATION = 1,
 
	IT_SAWMILL = 2,
 
	IT_FOREST = 3,
 
	IT_OIL_REFINERY = 4,
 
	IT_OIL_RIG = 5,
 
	IT_FACTORY = 6,
 
	IT_PRINTING_WORKS = 7,
 
	IT_STEEL_MILL = 8,
 
	IT_FARM = 9,
 
	IT_COPPER_MINE = 10,
 
	IT_OIL_WELL = 11,
 
	IT_BANK_TEMP = 12,
 
	IT_FOOD_PROCESS = 13,
 
	IT_PAPER_MILL = 14,
 
	IT_GOLD_MINE = 15,
 
	IT_BANK_TROPIC_ARCTIC = 16,
 
	IT_DIAMOND_MINE = 17,
 
	IT_IRON_MINE = 18,
 
	IT_FRUIT_PLANTATION = 19,
 
	IT_RUBBER_PLANTATION = 20,
 
	IT_WATER_SUPPLY = 21,
 
	IT_WATER_TOWER = 22,
 
	IT_FACTORY_2 = 23,
 
	IT_FARM_2 = 24,
 
	IT_LUMBER_MILL = 25,
 
	IT_COTTON_CANDY = 26,
 
	IT_CANDY_FACTORY = 27,
 
	IT_BATTERY_FARM = 28,
 
	IT_COLA_WELLS = 29,
 
	IT_TOY_SHOP = 30,
 
	IT_TOY_FACTORY = 31,
 
	IT_PLASTIC_FOUNTAINS = 32,
 
	IT_FIZZY_DRINK_FACTORY = 33,
 
	IT_BUBBLE_GENERATOR = 34,
 
	IT_TOFFEE_QUARRY = 35,
 
	IT_SUGAR_MINE = 36,
 
	IT_COAL_MINE           =   0,
 
	IT_POWER_STATION       =   1,
 
	IT_SAWMILL             =   2,
 
	IT_FOREST              =   3,
 
	IT_OIL_REFINERY        =   4,
 
	IT_OIL_RIG             =   5,
 
	IT_FACTORY             =   6,
 
	IT_PRINTING_WORKS      =   7,
 
	IT_STEEL_MILL          =   8,
 
	IT_FARM                =   9,
 
	IT_COPPER_MINE         =  10,
 
	IT_OIL_WELL            =  11,
 
	IT_BANK_TEMP           =  12,
 
	IT_FOOD_PROCESS        =  13,
 
	IT_PAPER_MILL          =  14,
 
	IT_GOLD_MINE           =  15,
 
	IT_BANK_TROPIC_ARCTIC  =  16,
 
	IT_DIAMOND_MINE        =  17,
 
	IT_IRON_MINE           =  18,
 
	IT_FRUIT_PLANTATION    =  19,
 
	IT_RUBBER_PLANTATION   =  20,
 
	IT_WATER_SUPPLY        =  21,
 
	IT_WATER_TOWER         =  22,
 
	IT_FACTORY_2           =  23,
 
	IT_FARM_2              =  24,
 
	IT_LUMBER_MILL         =  25,
 
	IT_COTTON_CANDY        =  26,
 
	IT_CANDY_FACTORY       =  27,
 
	IT_BATTERY_FARM        =  28,
 
	IT_COLA_WELLS          =  29,
 
	IT_TOY_SHOP            =  30,
 
	IT_TOY_FACTORY         =  31,
 
	IT_PLASTIC_FOUNTAINS   =  32,
 
	IT_FIZZY_DRINK_FACTORY =  33,
 
	IT_BUBBLE_GENERATOR    =  34,
 
	IT_TOFFEE_QUARRY       =  35,
 
	IT_SUGAR_MINE          =  36,
 
	IT_END,
 
	IT_INVALID = 255,
 
	IT_INVALID             = 255,
 
};
 

	
 
typedef enum IndustryLifeTypes {
industry_cmd.c
Show inline comments
 
@@ -594,9 +594,9 @@ static void TileLoopIndustry_BubbleGener
 
	int dir;
 
	Vehicle *v;
 
	static const int8 _tileloop_ind_case_161[12] = {
 
		11, 0, -4, -14,
 
		-4, -10, -4, 1,
 
		49, 59, 60, 65,
 
		11,   0, -4, -14,
 
		-4, -10, -4,   1,
 
		49,  59, 60,  65,
 
	};
 

	
 
	SndPlayTileFx(SND_2E_EXTRACT_AND_POP, tile);
 
@@ -1160,11 +1160,11 @@ static const byte _industry_section_bits
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 4, 2, 16, 16, 16, 16,
 
	16, 16,  4,  2, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 4, 2, 16, 16, 16, 16, 16,
 
	16,  4,  2, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
	16, 16, 16, 16, 16, 16, 16, 16,
 
@@ -1763,10 +1763,10 @@ static void UpdateIndustryStatistics(Ind
 
}
 

	
 
static const byte _new_industry_rand[4][32] = {
 
	{12,12,12,12,12,12,12, 0, 0, 6, 6, 9, 9, 3, 3, 3,18,18, 4, 4, 2, 2, 5, 5, 5, 5, 5, 5, 1, 1, 8, 8},
 
	{16,16,16, 0, 0, 0, 9, 9, 9, 9,13,13, 3, 3, 3, 3,15,15,15, 4, 4,11,11,11,11,11,14,14, 1, 1, 7, 7},
 
	{21,21,21,24,22,22,22,22,23,23,16,16,16, 4, 4,19,19,19,13,13,20,20,20,11,11,11,17,17,17,10,10,10},
 
	{30,30,30,36,36,31,31,31,27,27,27,28,28,28,26,26,26,34,34,34,35,35,35,29,29,29,32,32,32,33,33,33},
 
	{12, 12, 12, 12, 12, 12, 12,  0,  0,  6,  6,  9,  9,  3,  3,  3, 18, 18,  4,  4,  2,  2,  5,  5,  5,  5,  5,  5,  1,  1,  8,  8},
 
	{16, 16, 16,  0,  0,  0,  9,  9,  9,  9, 13, 13,  3,  3,  3,  3, 15, 15, 15,  4,  4, 11, 11, 11, 11, 11, 14, 14,  1,  1,  7,  7},
 
	{21, 21, 21, 24, 22, 22, 22, 22, 23, 23, 16, 16, 16,  4,  4, 19, 19, 19, 13, 13, 20, 20, 20, 11, 11, 11, 17, 17, 17, 10, 10, 10},
 
	{30, 30, 30, 36, 36, 31, 31, 31, 27, 27, 27, 28, 28, 28, 26, 26, 26, 34, 34, 34, 35, 35, 35, 29, 29, 29, 32, 32, 32, 33, 33, 33},
 
};
 

	
 
static void MaybeNewIndustry(uint32 r)
 
@@ -1900,46 +1900,46 @@ void InitializeIndustries(void)
 
}
 

	
 
const TileTypeProcs _tile_type_industry_procs = {
 
	DrawTile_Industry,					/* draw_tile_proc */
 
	GetSlopeZ_Industry,					/* get_slope_z_proc */
 
	ClearTile_Industry,					/* clear_tile_proc */
 
	GetAcceptedCargo_Industry,	/* get_accepted_cargo_proc */
 
	GetTileDesc_Industry,				/* get_tile_desc_proc */
 
	GetTileTrackStatus_Industry,/* get_tile_track_status_proc */
 
	ClickTile_Industry,					/* click_tile_proc */
 
	AnimateTile_Industry,				/* animate_tile_proc */
 
	TileLoop_Industry,					/* tile_loop_proc */
 
	ChangeTileOwner_Industry,		/* change_tile_owner_proc */
 
	GetProducedCargo_Industry,  /* get_produced_cargo_proc */
 
	NULL,												/* vehicle_enter_tile_proc */
 
	GetSlopeTileh_Industry,			/* get_slope_tileh_proc */
 
	DrawTile_Industry,           /* draw_tile_proc */
 
	GetSlopeZ_Industry,          /* get_slope_z_proc */
 
	ClearTile_Industry,          /* clear_tile_proc */
 
	GetAcceptedCargo_Industry,	 /* get_accepted_cargo_proc */
 
	GetTileDesc_Industry,        /* get_tile_desc_proc */
 
	GetTileTrackStatus_Industry, /* get_tile_track_status_proc */
 
	ClickTile_Industry,          /* click_tile_proc */
 
	AnimateTile_Industry,        /* animate_tile_proc */
 
	TileLoop_Industry,           /* tile_loop_proc */
 
	ChangeTileOwner_Industry,    /* change_tile_owner_proc */
 
	GetProducedCargo_Industry,   /* get_produced_cargo_proc */
 
	NULL,                        /* vehicle_enter_tile_proc */
 
	GetSlopeTileh_Industry,      /* get_slope_tileh_proc */
 
};
 

	
 
static const SaveLoad _industry_desc[] = {
 
	SLE_CONDVAR(Industry, xy,					SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
 
	SLE_CONDVAR(Industry, xy,					SLE_UINT32, 6, SL_MAX_VERSION),
 
	SLE_VAR(Industry,width,						SLE_UINT8),
 
	SLE_VAR(Industry,height,					SLE_UINT8),
 
	SLE_REF(Industry,town,						REF_TOWN),
 
	SLE_ARR(Industry,produced_cargo,  SLE_UINT8, 2),
 
	SLE_ARR(Industry,cargo_waiting,   SLE_UINT16, 2),
 
	SLE_ARR(Industry,production_rate, SLE_UINT8, 2),
 
	SLE_ARR(Industry,accepts_cargo,		SLE_UINT8, 3),
 
	SLE_VAR(Industry,prod_level,			SLE_UINT8),
 
	SLE_ARR(Industry,last_mo_production,SLE_UINT16, 2),
 
	SLE_ARR(Industry,last_mo_transported,SLE_UINT16, 2),
 
	SLE_ARR(Industry,pct_transported,SLE_UINT8, 2),
 
	SLE_ARR(Industry,total_production,SLE_UINT16, 2),
 
	SLE_ARR(Industry,total_transported,SLE_UINT16, 2),
 
	SLE_CONDVAR(Industry, xy,                  SLE_FILE_U16 | SLE_VAR_U32,  0, 5),
 
	SLE_CONDVAR(Industry, xy,                  SLE_UINT32,                  6, SL_MAX_VERSION),
 
	    SLE_VAR(Industry, width,               SLE_UINT8),
 
	    SLE_VAR(Industry, height,              SLE_UINT8),
 
	    SLE_REF(Industry, town,                REF_TOWN),
 
	    SLE_ARR(Industry, produced_cargo,      SLE_UINT8,  2),
 
	    SLE_ARR(Industry, cargo_waiting,       SLE_UINT16, 2),
 
	    SLE_ARR(Industry, production_rate,     SLE_UINT8,  2),
 
	    SLE_ARR(Industry, accepts_cargo,       SLE_UINT8,  3),
 
	    SLE_VAR(Industry, prod_level,          SLE_UINT8),
 
	    SLE_ARR(Industry, last_mo_production,  SLE_UINT16, 2),
 
	    SLE_ARR(Industry, last_mo_transported, SLE_UINT16, 2),
 
	    SLE_ARR(Industry, pct_transported,     SLE_UINT8,  2),
 
	    SLE_ARR(Industry, total_production,    SLE_UINT16, 2),
 
	    SLE_ARR(Industry, total_transported,   SLE_UINT16, 2),
 

	
 
	SLE_VAR(Industry,counter,					SLE_UINT16),
 
	    SLE_VAR(Industry, counter,             SLE_UINT16),
 

	
 
	SLE_VAR(Industry,type,						SLE_UINT8),
 
	SLE_VAR(Industry,owner,						SLE_UINT8),
 
	SLE_VAR(Industry,color_map,				SLE_UINT8),
 
	SLE_CONDVAR(Industry, last_prod_year,	SLE_FILE_U8 | SLE_VAR_I32, 0, 30),
 
	SLE_CONDVAR(Industry, last_prod_year,	SLE_INT32, 31, SL_MAX_VERSION),
 
	SLE_VAR(Industry,was_cargo_delivered,SLE_UINT8),
 
	    SLE_VAR(Industry, type,                SLE_UINT8),
 
	    SLE_VAR(Industry, owner,               SLE_UINT8),
 
	    SLE_VAR(Industry, color_map,           SLE_UINT8),
 
	SLE_CONDVAR(Industry, last_prod_year,      SLE_FILE_U8 | SLE_VAR_I32,  0, 30),
 
	SLE_CONDVAR(Industry, last_prod_year,      SLE_INT32,                 31, SL_MAX_VERSION),
 
	    SLE_VAR(Industry, was_cargo_delivered, SLE_UINT8),
 

	
 
	// reserve extra space in savegame here. (currently 32 bytes)
 
	SLE_CONDNULL(32, 2, SL_MAX_VERSION),
industry_gui.c
Show inline comments
 
@@ -57,130 +57,130 @@ static void BuildIndustryWndProc(Window 
 
}
 

	
 
static const Widget _build_industry_land0_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,											STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   169,     0,    13, STR_0314_FUND_NEW_INDUSTRY,		STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   169,    14,   115, 0x0,														STR_NULL},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    16,    27, STR_0241_POWER_STATION,				STR_0263_CONSTRUCT_POWER_STATION},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    29,    40, STR_0242_SAWMILL,							STR_0264_CONSTRUCT_SAWMILL},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    42,    53, STR_0244_OIL_REFINERY,					STR_0266_CONSTRUCT_OIL_REFINERY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    55,    66, STR_0246_FACTORY,							STR_0268_CONSTRUCT_FACTORY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    68,    79, STR_0247_STEEL_MILL,						STR_0269_CONSTRUCT_STEEL_MILL},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                       STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   169,     0,    13, STR_0314_FUND_NEW_INDUSTRY,     STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   169,    14,   115, 0x0,                            STR_NULL},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    16,    27, STR_0241_POWER_STATION,         STR_0263_CONSTRUCT_POWER_STATION},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    29,    40, STR_0242_SAWMILL,               STR_0264_CONSTRUCT_SAWMILL},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    42,    53, STR_0244_OIL_REFINERY,          STR_0266_CONSTRUCT_OIL_REFINERY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    55,    66, STR_0246_FACTORY,               STR_0268_CONSTRUCT_FACTORY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    68,    79, STR_0247_STEEL_MILL,            STR_0269_CONSTRUCT_STEEL_MILL},
 
{   WIDGETS_END},
 
};
 

	
 
static const Widget _build_industry_land1_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,											STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   169,     0,    13, STR_0314_FUND_NEW_INDUSTRY,		STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   169,    14,   115, 0x0,														STR_NULL},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    16,    27, STR_0241_POWER_STATION,				STR_0263_CONSTRUCT_POWER_STATION},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    29,    40, STR_024C_PAPER_MILL,						STR_026E_CONSTRUCT_PAPER_MILL},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    42,    53, STR_0244_OIL_REFINERY,					STR_0266_CONSTRUCT_OIL_REFINERY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    55,    66, STR_024D_FOOD_PROCESSING_PLANT,STR_026F_CONSTRUCT_FOOD_PROCESSING},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    68,    79, STR_024E_PRINTING_WORKS,				STR_0270_CONSTRUCT_PRINTING_WORKS},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                       STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   169,     0,    13, STR_0314_FUND_NEW_INDUSTRY,     STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   169,    14,   115, 0x0,                            STR_NULL},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    16,    27, STR_0241_POWER_STATION,         STR_0263_CONSTRUCT_POWER_STATION},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    29,    40, STR_024C_PAPER_MILL,            STR_026E_CONSTRUCT_PAPER_MILL},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    42,    53, STR_0244_OIL_REFINERY,          STR_0266_CONSTRUCT_OIL_REFINERY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    55,    66, STR_024D_FOOD_PROCESSING_PLANT, STR_026F_CONSTRUCT_FOOD_PROCESSING},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    68,    79, STR_024E_PRINTING_WORKS,        STR_0270_CONSTRUCT_PRINTING_WORKS},
 
{   WIDGETS_END},
 
};
 

	
 
static const Widget _build_industry_land2_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,											STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   169,     0,    13, STR_0314_FUND_NEW_INDUSTRY,		STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   169,    14,   115, 0x0,														STR_NULL},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    16,    27, STR_0250_LUMBER_MILL,					STR_0273_CONSTRUCT_LUMBER_MILL_TO},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    29,    40, STR_024D_FOOD_PROCESSING_PLANT,STR_026F_CONSTRUCT_FOOD_PROCESSING},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    42,    53, STR_0244_OIL_REFINERY,					STR_0266_CONSTRUCT_OIL_REFINERY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    55,    66, STR_0246_FACTORY,							STR_0268_CONSTRUCT_FACTORY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    68,    79, STR_0254_WATER_TOWER,					STR_0277_CONSTRUCT_WATER_TOWER_CAN},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                       STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   169,     0,    13, STR_0314_FUND_NEW_INDUSTRY,     STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   169,    14,   115, 0x0,                            STR_NULL},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    16,    27, STR_0250_LUMBER_MILL,           STR_0273_CONSTRUCT_LUMBER_MILL_TO},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    29,    40, STR_024D_FOOD_PROCESSING_PLANT, STR_026F_CONSTRUCT_FOOD_PROCESSING},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    42,    53, STR_0244_OIL_REFINERY,          STR_0266_CONSTRUCT_OIL_REFINERY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    55,    66, STR_0246_FACTORY,               STR_0268_CONSTRUCT_FACTORY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    68,    79, STR_0254_WATER_TOWER,           STR_0277_CONSTRUCT_WATER_TOWER_CAN},
 
{   WIDGETS_END},
 
};
 

	
 
static const Widget _build_industry_land3_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,											STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   169,     0,    13, STR_0314_FUND_NEW_INDUSTRY,		STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   169,    14,   115, 0x0,														STR_NULL},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    16,    27, STR_0258_CANDY_FACTORY,				STR_027B_CONSTRUCT_CANDY_FACTORY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    29,    40, STR_025B_TOY_SHOP,							STR_027E_CONSTRUCT_TOY_SHOP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    42,    53, STR_025C_TOY_FACTORY,					STR_027F_CONSTRUCT_TOY_FACTORY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    55,    66, STR_025E_FIZZY_DRINK_FACTORY,	STR_0281_CONSTRUCT_FIZZY_DRINK_FACTORY},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                       STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   169,     0,    13, STR_0314_FUND_NEW_INDUSTRY,     STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   169,    14,   115, 0x0,                            STR_NULL},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    16,    27, STR_0258_CANDY_FACTORY,         STR_027B_CONSTRUCT_CANDY_FACTORY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    29,    40, STR_025B_TOY_SHOP,              STR_027E_CONSTRUCT_TOY_SHOP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    42,    53, STR_025C_TOY_FACTORY,           STR_027F_CONSTRUCT_TOY_FACTORY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    55,    66, STR_025E_FIZZY_DRINK_FACTORY,   STR_0281_CONSTRUCT_FIZZY_DRINK_FACTORY},
 
{   WIDGETS_END},
 
};
 

	
 
static const Widget _build_industry_land0_widgets_extra[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,							STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   169,     0,    13, STR_0314_FUND_NEW_INDUSTRY,STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   169,    14,   187, 0x0,										STR_NULL},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                       STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   169,     0,    13, STR_0314_FUND_NEW_INDUSTRY,     STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   169,    14,   187, 0x0,                            STR_NULL},
 

	
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    16,    27, STR_0241_POWER_STATION,STR_0263_CONSTRUCT_POWER_STATION},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    29,    40, STR_0242_SAWMILL,			STR_0264_CONSTRUCT_SAWMILL},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    42,    53, STR_0244_OIL_REFINERY,	STR_0266_CONSTRUCT_OIL_REFINERY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    55,    66, STR_0246_FACTORY,					STR_0268_CONSTRUCT_FACTORY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    68,    79, STR_0247_STEEL_MILL,		STR_0269_CONSTRUCT_STEEL_MILL},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    16,    27, STR_0241_POWER_STATION,         STR_0263_CONSTRUCT_POWER_STATION},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    29,    40, STR_0242_SAWMILL,               STR_0264_CONSTRUCT_SAWMILL},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    42,    53, STR_0244_OIL_REFINERY,          STR_0266_CONSTRUCT_OIL_REFINERY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    55,    66, STR_0246_FACTORY,               STR_0268_CONSTRUCT_FACTORY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    68,    79, STR_0247_STEEL_MILL,            STR_0269_CONSTRUCT_STEEL_MILL},
 

	
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    84,    95, STR_0240_COAL_MINE,		STR_CONSTRUCT_COAL_MINE_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    97,    108, STR_0243_FOREST,			STR_CONSTRUCT_FOREST_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    110,    121, STR_0245_OIL_RIG,		STR_CONSTRUCT_OIL_RIG_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    123,    134, STR_0248_FARM,						STR_CONSTRUCT_FARM_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    136,    147, STR_024A_OIL_WELLS,			STR_CONSTRUCT_OIL_WELLS_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    149,    160, STR_0249_IRON_ORE_MINE,	STR_CONSTRUCT_IRON_ORE_MINE_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    84,    95, STR_0240_COAL_MINE,             STR_CONSTRUCT_COAL_MINE_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    97,   108, STR_0243_FOREST,                STR_CONSTRUCT_FOREST_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,   110,   121, STR_0245_OIL_RIG,               STR_CONSTRUCT_OIL_RIG_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,   123,   134, STR_0248_FARM,                  STR_CONSTRUCT_FARM_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,   136,   147, STR_024A_OIL_WELLS,             STR_CONSTRUCT_OIL_WELLS_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,   149,   160, STR_0249_IRON_ORE_MINE,         STR_CONSTRUCT_IRON_ORE_MINE_TIP},
 

	
 
{   WIDGETS_END},
 
};
 

	
 
static const Widget _build_industry_land1_widgets_extra[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,								STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   169,     0,    13, STR_0314_FUND_NEW_INDUSTRY,		STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   169,    14,   174, 0x0,											STR_NULL},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                       STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   169,     0,    13, STR_0314_FUND_NEW_INDUSTRY,     STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   169,    14,   174, 0x0,                            STR_NULL},
 

	
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    16,    27, STR_0241_POWER_STATION,	STR_0263_CONSTRUCT_POWER_STATION},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    29,    40, STR_024C_PAPER_MILL,			STR_026E_CONSTRUCT_PAPER_MILL},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    42,    53, STR_0244_OIL_REFINERY,		STR_0266_CONSTRUCT_OIL_REFINERY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    55,    66, STR_024D_FOOD_PROCESSING_PLANT,STR_026F_CONSTRUCT_FOOD_PROCESSING},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    68,    79, STR_024E_PRINTING_WORKS,	STR_0270_CONSTRUCT_PRINTING_WORKS},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    16,    27, STR_0241_POWER_STATION,         STR_0263_CONSTRUCT_POWER_STATION},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    29,    40, STR_024C_PAPER_MILL,            STR_026E_CONSTRUCT_PAPER_MILL},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    42,    53, STR_0244_OIL_REFINERY,          STR_0266_CONSTRUCT_OIL_REFINERY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    55,    66, STR_024D_FOOD_PROCESSING_PLANT, STR_026F_CONSTRUCT_FOOD_PROCESSING},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    68,    79, STR_024E_PRINTING_WORKS,        STR_0270_CONSTRUCT_PRINTING_WORKS},
 

	
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    81+3,    92+3, STR_0240_COAL_MINE,	STR_CONSTRUCT_COAL_MINE_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    94+3,   105+3, STR_0243_FOREST,			STR_CONSTRUCT_FOREST_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    107+3,  118+3, STR_0248_FARM,				STR_CONSTRUCT_FARM_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    120+3,  131+3, STR_024A_OIL_WELLS,	STR_CONSTRUCT_OIL_WELLS_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    133+3,  144+3, STR_024F_GOLD_MINE,	STR_CONSTRUCT_GOLD_MINE_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    84,    95, STR_0240_COAL_MINE,             STR_CONSTRUCT_COAL_MINE_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    97,   108, STR_0243_FOREST,                STR_CONSTRUCT_FOREST_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,   110,   121, STR_0248_FARM,                  STR_CONSTRUCT_FARM_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,   123,   134, STR_024A_OIL_WELLS,             STR_CONSTRUCT_OIL_WELLS_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,   136,   147, STR_024F_GOLD_MINE,             STR_CONSTRUCT_GOLD_MINE_TIP},
 
{   WIDGETS_END},
 
};
 

	
 
static const Widget _build_industry_land2_widgets_extra[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,							STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   169,     0,    13, STR_0314_FUND_NEW_INDUSTRY,			STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   169,    14,   200, 0x0,										STR_NULL},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                       STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   169,     0,    13, STR_0314_FUND_NEW_INDUSTRY,     STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   169,    14,   200, 0x0,                            STR_NULL},
 

	
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    16,    27, STR_0250_LUMBER_MILL,	STR_0273_CONSTRUCT_LUMBER_MILL_TO},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    29,    40, STR_024D_FOOD_PROCESSING_PLANT,STR_026F_CONSTRUCT_FOOD_PROCESSING},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    42,    53, STR_0244_OIL_REFINERY,	STR_0266_CONSTRUCT_OIL_REFINERY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    55,    66, STR_0246_FACTORY,			STR_0268_CONSTRUCT_FACTORY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    68,    79, STR_0254_WATER_TOWER,	STR_0277_CONSTRUCT_WATER_TOWER_CAN},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    16,    27, STR_0250_LUMBER_MILL,           STR_0273_CONSTRUCT_LUMBER_MILL_TO},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    29,    40, STR_024D_FOOD_PROCESSING_PLANT, STR_026F_CONSTRUCT_FOOD_PROCESSING},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    42,    53, STR_0244_OIL_REFINERY,          STR_0266_CONSTRUCT_OIL_REFINERY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    55,    66, STR_0246_FACTORY,               STR_0268_CONSTRUCT_FACTORY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    68,    79, STR_0254_WATER_TOWER,           STR_0277_CONSTRUCT_WATER_TOWER_CAN},
 

	
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    81+3,    92+3, STR_024A_OIL_WELLS,STR_CONSTRUCT_OIL_WELLS_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    94+3,    105+3, STR_0255_DIAMOND_MINE,			STR_CONSTRUCT_DIAMOND_MINE_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    107+3,    118+3, STR_0256_COPPER_ORE_MINE,	STR_CONSTRUCT_COPPER_ORE_MINE_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    120+3,    131+3, STR_0248_FARM,		STR_CONSTRUCT_FARM_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    133+3,    144+3, STR_0251_FRUIT_PLANTATION,	STR_CONSTRUCT_FRUIT_PLANTATION_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    146+3,    157+3, STR_0252_RUBBER_PLANTATION,STR_CONSTRUCT_RUBBER_PLANTATION_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    159+3,    170+3, STR_0253_WATER_SUPPLY,			STR_CONSTRUCT_WATER_SUPPLY_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    84,    95, STR_024A_OIL_WELLS,             STR_CONSTRUCT_OIL_WELLS_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    97,   108, STR_0255_DIAMOND_MINE,          STR_CONSTRUCT_DIAMOND_MINE_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,   110,   121, STR_0256_COPPER_ORE_MINE,       STR_CONSTRUCT_COPPER_ORE_MINE_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,   123,   134, STR_0248_FARM,                  STR_CONSTRUCT_FARM_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,   136,   147, STR_0251_FRUIT_PLANTATION,      STR_CONSTRUCT_FRUIT_PLANTATION_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,   149,   160, STR_0252_RUBBER_PLANTATION,     STR_CONSTRUCT_RUBBER_PLANTATION_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,   162,   173, STR_0253_WATER_SUPPLY,          STR_CONSTRUCT_WATER_SUPPLY_TIP},
 
{   WIDGETS_END},
 
};
 

	
 
static const Widget _build_industry_land3_widgets_extra[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,								STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   169,     0,    13, STR_0314_FUND_NEW_INDUSTRY,			STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   169,    14,   187, 0x0,	STR_NULL},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     7,     0,    10,     0,    13, STR_00C5,                       STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     7,    11,   169,     0,    13, STR_0314_FUND_NEW_INDUSTRY,     STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{      WWT_PANEL,   RESIZE_NONE,     7,     0,   169,    14,   187, 0x0,                            STR_NULL},
 

	
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    16,    27, STR_0258_CANDY_FACTORY,	STR_027B_CONSTRUCT_CANDY_FACTORY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    29,    40, STR_025B_TOY_SHOP,				STR_027E_CONSTRUCT_TOY_SHOP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    42,    53, STR_025C_TOY_FACTORY,		STR_027F_CONSTRUCT_TOY_FACTORY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    55,    66, STR_025E_FIZZY_DRINK_FACTORY,		STR_0281_CONSTRUCT_FIZZY_DRINK_FACTORY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    16,    27, STR_0258_CANDY_FACTORY,         STR_027B_CONSTRUCT_CANDY_FACTORY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    29,    40, STR_025B_TOY_SHOP,              STR_027E_CONSTRUCT_TOY_SHOP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    42,    53, STR_025C_TOY_FACTORY,           STR_027F_CONSTRUCT_TOY_FACTORY},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    55,    66, STR_025E_FIZZY_DRINK_FACTORY,   STR_0281_CONSTRUCT_FIZZY_DRINK_FACTORY},
 

	
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    68+3,    79+3, STR_0257_COTTON_CANDY_FOREST,STR_CONSTRUCT_COTTON_CANDY_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    81+3,    92+3, STR_0259_BATTERY_FARM,				STR_CONSTRUCT_BATTERY_FARM_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    94+3,    105+3, STR_025A_COLA_WELLS,				STR_CONSTRUCT_COLA_WELLS_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    107+3,    118+3, STR_025D_PLASTIC_FOUNTAINS,STR_CONSTRUCT_PLASTIC_FOUNTAINS_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    120+3,    131+3, STR_025F_BUBBLE_GENERATOR,	STR_CONSTRUCT_BUBBLE_GENERATOR_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    133+3,    144+3, STR_0260_TOFFEE_QUARRY,		STR_CONSTRUCT_TOFFEE_QUARRY_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    146+3,    157+3, STR_0261_SUGAR_MINE,				STR_CONSTRUCT_SUGAR_MINE_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    71,    82, STR_0257_COTTON_CANDY_FOREST,   STR_CONSTRUCT_COTTON_CANDY_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    84,    95, STR_0259_BATTERY_FARM,          STR_CONSTRUCT_BATTERY_FARM_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,    97,   108, STR_025A_COLA_WELLS,            STR_CONSTRUCT_COLA_WELLS_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,   110,   121, STR_025D_PLASTIC_FOUNTAINS,     STR_CONSTRUCT_PLASTIC_FOUNTAINS_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,   123,   134, STR_025F_BUBBLE_GENERATOR,      STR_CONSTRUCT_BUBBLE_GENERATOR_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,   136,   147, STR_0260_TOFFEE_QUARRY,         STR_CONSTRUCT_TOFFEE_QUARRY_TIP},
 
{    WWT_TEXTBTN,   RESIZE_NONE,    14,     2,   167,   149,   160, STR_0261_SUGAR_MINE,            STR_CONSTRUCT_SUGAR_MINE_TIP},
 
{   WIDGETS_END},
 
};
 

	
 
@@ -420,14 +420,14 @@ static void UpdateIndustryProduction(Ind
 
}
 

	
 
static const Widget _industry_view_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     9,     0,    10,     0,    13, STR_00C5,	STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     9,    11,   247,     0,    13, STR_4801,	STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{  WWT_STICKYBOX,   RESIZE_NONE,     9,   248,   259,     0,    13, 0x0,       STR_STICKY_BUTTON},
 
{     WWT_IMGBTN,   RESIZE_NONE,     9,     0,   259,    14,   105, 0x0,				STR_NULL},
 
{	  WWT_6,   RESIZE_NONE,     9,     2,   257,    16,   103, 0x0,				STR_NULL},
 
{     WWT_IMGBTN,   RESIZE_NONE,     9,     0,   259,   106,   147, 0x0,				STR_NULL},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,     9,     0,   129,   148,   159, STR_00E4_LOCATION,	STR_482C_CENTER_THE_MAIN_VIEW_ON},
 
{     WWT_IMGBTN,   RESIZE_NONE,     9,   130,   259,   148,   159, 0x0,				STR_NULL},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,     9,     0,    10,     0,    13, STR_00C5,          STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,     9,    11,   247,     0,    13, STR_4801,          STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{  WWT_STICKYBOX,   RESIZE_NONE,     9,   248,   259,     0,    13, 0x0,               STR_STICKY_BUTTON},
 
{     WWT_IMGBTN,   RESIZE_NONE,     9,     0,   259,    14,   105, 0x0,               STR_NULL},
 
{          WWT_6,   RESIZE_NONE,     9,     2,   257,    16,   103, 0x0,               STR_NULL},
 
{     WWT_IMGBTN,   RESIZE_NONE,     9,     0,   259,   106,   147, 0x0,               STR_NULL},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,     9,     0,   129,   148,   159, STR_00E4_LOCATION, STR_482C_CENTER_THE_MAIN_VIEW_ON},
 
{     WWT_IMGBTN,   RESIZE_NONE,     9,   130,   259,   148,   159, 0x0,               STR_NULL},
 
{   WIDGETS_END},
 
};
 

	
 
@@ -453,17 +453,17 @@ void ShowIndustryViewWindow(int industry
 
}
 

	
 
static const Widget _industry_directory_widgets[] = {
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    13,     0,    10,     0,    13, STR_00C5,									STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,    13,    11,   495,     0,    13, STR_INDUSTRYDIR_CAPTION,	STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{  WWT_STICKYBOX,   RESIZE_NONE,    13,   496,   507,     0,    13, 0x0,											STR_STICKY_BUTTON},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    13,     0,   100,    14,    25, STR_SORT_BY_NAME,					STR_SORT_ORDER_TIP},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    13,   101,   200,    14,    25, STR_SORT_BY_TYPE,					STR_SORT_ORDER_TIP},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    13,   201,   300,    14,    25, STR_SORT_BY_PRODUCTION,		STR_SORT_ORDER_TIP},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    13,   301,   400,    14,    25, STR_SORT_BY_TRANSPORTED,	STR_SORT_ORDER_TIP},
 
{      WWT_PANEL,   RESIZE_NONE,    13,   401,   495,    14,    25, 0x0,											STR_NULL},
 
{     WWT_IMGBTN, RESIZE_BOTTOM,    13,     0,   495,    26,   189, 0x0,											STR_200A_TOWN_NAMES_CLICK_ON_NAME},
 
{  WWT_SCROLLBAR, RESIZE_BOTTOM,    13,   496,   507,    14,   177, 0x0,											STR_0190_SCROLL_BAR_SCROLLS_LIST},
 
{  WWT_RESIZEBOX,     RESIZE_TB,    13,   496,   507,   178,   189, 0x0,											STR_RESIZE_BUTTON},
 
{   WWT_CLOSEBOX,   RESIZE_NONE,    13,     0,    10,     0,    13, STR_00C5,                STR_018B_CLOSE_WINDOW},
 
{    WWT_CAPTION,   RESIZE_NONE,    13,    11,   495,     0,    13, STR_INDUSTRYDIR_CAPTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
 
{  WWT_STICKYBOX,   RESIZE_NONE,    13,   496,   507,     0,    13, 0x0,                     STR_STICKY_BUTTON},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    13,     0,   100,    14,    25, STR_SORT_BY_NAME,        STR_SORT_ORDER_TIP},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    13,   101,   200,    14,    25, STR_SORT_BY_TYPE,        STR_SORT_ORDER_TIP},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    13,   201,   300,    14,    25, STR_SORT_BY_PRODUCTION,  STR_SORT_ORDER_TIP},
 
{ WWT_PUSHTXTBTN,   RESIZE_NONE,    13,   301,   400,    14,    25, STR_SORT_BY_TRANSPORTED, STR_SORT_ORDER_TIP},
 
{      WWT_PANEL,   RESIZE_NONE,    13,   401,   495,    14,    25, 0x0,                     STR_NULL},
 
{     WWT_IMGBTN, RESIZE_BOTTOM,    13,     0,   495,    26,   189, 0x0,                     STR_200A_TOWN_NAMES_CLICK_ON_NAME},
 
{  WWT_SCROLLBAR, RESIZE_BOTTOM,    13,   496,   507,    14,   177, 0x0,                     STR_0190_SCROLL_BAR_SCROLLS_LIST},
 
{  WWT_RESIZEBOX,     RESIZE_TB,    13,   496,   507,   178,   189, 0x0,                     STR_RESIZE_BUTTON},
 
{   WIDGETS_END},
 
};
 

	
intro_gui.c
Show inline comments
 
@@ -15,24 +15,24 @@
 
#include "genworld.h"
 

	
 
static const Widget _select_game_widgets[] = {
 
{    WWT_CAPTION, RESIZE_NONE, 13,   0, 335,   0,  13, STR_0307_OPENTTD,       STR_NULL},
 
{     WWT_IMGBTN, RESIZE_NONE, 13,   0, 335,  14, 176, STR_NULL,               STR_NULL},
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12,  10, 167,  22,  33, STR_0140_NEW_GAME,      STR_02FB_START_A_NEW_GAME},
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325,  22,  33, STR_0141_LOAD_GAME,     STR_02FC_LOAD_A_SAVED_GAME},
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12,  10, 167,  40,  51, STR_029A_PLAY_SCENARIO, STR_0303_START_A_NEW_GAME_USING},
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325,  40,  51, STR_PLAY_HEIGHTMAP,     STR_PLAY_HEIGHTMAP_HINT},
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12,  10, 167,  58,  69, STR_0220_CREATE_SCENARIO,STR_02FE_CREATE_A_CUSTOMIZED_GAME},
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325,  58,  69, STR_MULTIPLAYER,        STR_0300_SELECT_MULTIPLAYER_GAME},
 
{    WWT_CAPTION, RESIZE_NONE, 13,   0, 335,   0,  13, STR_0307_OPENTTD,         STR_NULL},
 
{     WWT_IMGBTN, RESIZE_NONE, 13,   0, 335,  14, 176, STR_NULL,                 STR_NULL},
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12,  10, 167,  22,  33, STR_0140_NEW_GAME,        STR_02FB_START_A_NEW_GAME},
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325,  22,  33, STR_0141_LOAD_GAME,       STR_02FC_LOAD_A_SAVED_GAME},
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12,  10, 167,  40,  51, STR_029A_PLAY_SCENARIO,   STR_0303_START_A_NEW_GAME_USING},
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325,  40,  51, STR_PLAY_HEIGHTMAP,       STR_PLAY_HEIGHTMAP_HINT},
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12,  10, 167,  58,  69, STR_0220_CREATE_SCENARIO, STR_02FE_CREATE_A_CUSTOMIZED_GAME},
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325,  58,  69, STR_MULTIPLAYER,          STR_0300_SELECT_MULTIPLAYER_GAME},
 

	
 
{    WWT_PANEL_2, RESIZE_NONE, 12,  10,  86,  77, 131, 0x1312,                 STR_030E_SELECT_TEMPERATE_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12,  90, 166,  77, 131, 0x1314,                 STR_030F_SELECT_SUB_ARCTIC_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12, 170, 246,  77, 131, 0x1316,                 STR_0310_SELECT_SUB_TROPICAL_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12, 250, 326,  77, 131, 0x1318,                 STR_0311_SELECT_TOYLAND_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12,  10,  86,  77, 131, 0x1312,                   STR_030E_SELECT_TEMPERATE_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12,  90, 166,  77, 131, 0x1314,                   STR_030F_SELECT_SUB_ARCTIC_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12, 170, 246,  77, 131, 0x1316,                   STR_0310_SELECT_SUB_TROPICAL_LANDSCAPE},
 
{    WWT_PANEL_2, RESIZE_NONE, 12, 250, 326,  77, 131, 0x1318,                   STR_0311_SELECT_TOYLAND_LANDSCAPE},
 

	
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12,  10, 167, 139, 150, STR_0148_GAME_OPTIONS,  STR_0301_DISPLAY_GAME_OPTIONS},
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325, 139, 150, STR_01FE_DIFFICULTY,    STR_0302_DISPLAY_DIFFICULTY_OPTIONS},
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12,  10, 167, 157, 168, STR_CONFIG_PATCHES,     STR_CONFIG_PATCHES_TIP},
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325, 157, 168, STR_0304_QUIT,          STR_0305_QUIT_OPENTTD},
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12,  10, 167, 139, 150, STR_0148_GAME_OPTIONS,    STR_0301_DISPLAY_GAME_OPTIONS},
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325, 139, 150, STR_01FE_DIFFICULTY,      STR_0302_DISPLAY_DIFFICULTY_OPTIONS},
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12,  10, 167, 157, 168, STR_CONFIG_PATCHES,       STR_CONFIG_PATCHES_TIP},
 
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325, 157, 168, STR_0304_QUIT,            STR_0305_QUIT_OPENTTD},
 
{    WIDGETS_END },
 
};
 

	
landscape.c
Show inline comments
 
@@ -50,13 +50,13 @@ const TileTypeProcs * const _tile_type_p
 

	
 
/* landscape slope => sprite */
 
const byte _tileh_to_sprite[32] = {
 
	0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,0,
 
	0,0,0,0,0,0,0,16,0,0,0,17,0,15,18,0,
 
	0, 1, 2, 3, 4, 5, 6,  7, 8, 9, 10, 11, 12, 13, 14, 0,
 
	0, 0, 0, 0, 0, 0, 0, 16, 0, 0,  0, 17,  0, 15, 18, 0,
 
};
 

	
 
const byte _inclined_tileh[] = {
 
	SLOPE_SW, SLOPE_NW, SLOPE_SW, SLOPE_SE, SLOPE_NE, SLOPE_SE, SLOPE_NE, SLOPE_NW,
 
	SLOPE_E, SLOPE_N, SLOPE_W, SLOPE_S,
 
	SLOPE_SW,  SLOPE_NW,  SLOPE_SW,  SLOPE_SE, SLOPE_NE, SLOPE_SE, SLOPE_NE, SLOPE_NW,
 
	SLOPE_E,   SLOPE_N,   SLOPE_W,   SLOPE_S,
 
	SLOPE_NWS, SLOPE_WSE, SLOPE_SEN, SLOPE_ENW
 
};
 

	
 
@@ -445,8 +445,8 @@ void ConvertGroundTilesIntoWaterTiles(vo
 
	}
 
}
 

	
 
static const byte _genterrain_tbl_1[5] = { 10, 22, 33, 37, 4 };
 
static const byte _genterrain_tbl_2[5] = { 0, 0, 0, 0, 33 };
 
static const byte _genterrain_tbl_1[5] = { 10, 22, 33, 37, 4  };
 
static const byte _genterrain_tbl_2[5] = {  0,  0,  0,  0, 33 };
 

	
 
static void GenerateTerrain(int type, int flag)
 
{

Changeset was too big and was cut off... Show full diff anyway

0 comments (0 inline, 0 general)