Update to 1.10.0-beta1
This commit is contained in:
@@ -386,7 +386,7 @@ static const Direction _default_airports_rotation[] = {
|
||||
|
||||
/** AirportSpec definition for airports without any depot. */
|
||||
#define AS_ND(ap_name, size_x, size_y, min_year, max_year, catchment, noise, maint_cost, ttdpatch_type, class_id, name, preview) \
|
||||
AS_GENERIC(&_airportfta_##ap_name, _tile_table_##ap_name, _default_airports_rotation, lengthof(_tile_table_##ap_name), NULL, 0, \
|
||||
AS_GENERIC(&_airportfta_##ap_name, _tile_table_##ap_name, _default_airports_rotation, lengthof(_tile_table_##ap_name), nullptr, 0, \
|
||||
size_x, size_y, noise, catchment, min_year, max_year, maint_cost, ttdpatch_type, class_id, name, preview, true)
|
||||
|
||||
/** AirportSpec definition for airports with at least one depot. */
|
||||
@@ -405,12 +405,12 @@ extern const AirportSpec _origin_airport_specs[] = {
|
||||
AS(helidepot, 2, 2, 1976, MAX_YEAR, 4, 2, 7, ATP_TTDP_SMALL, APC_HELIPORT, STR_AIRPORT_HELIDEPOT, SPR_AIRPORT_PREVIEW_HELIDEPOT),
|
||||
AS(intercontinental, 9, 11, 2002, MAX_YEAR, 10, 25, 72, ATP_TTDP_LARGE, APC_HUB, STR_AIRPORT_INTERCONTINENTAL, SPR_AIRPORT_PREVIEW_INTERCONTINENTAL),
|
||||
AS(helistation, 4, 2, 1980, MAX_YEAR, 4, 3, 14, ATP_TTDP_SMALL, APC_HELIPORT, STR_AIRPORT_HELISTATION, SPR_AIRPORT_PREVIEW_HELISTATION),
|
||||
AS_GENERIC(&_airportfta_oilrig, NULL, _default_airports_rotation, 0, NULL, 0, 1, 1, 0, 4, 0, 0, 0, ATP_TTDP_OILRIG, APC_HELIPORT, STR_NULL, 0, false),
|
||||
AS_GENERIC(&_airportfta_oilrig, nullptr, _default_airports_rotation, 0, nullptr, 0, 1, 1, 0, 4, 0, 0, 0, ATP_TTDP_OILRIG, APC_HELIPORT, STR_NULL, 0, false),
|
||||
};
|
||||
|
||||
assert_compile(NEW_AIRPORT_OFFSET == lengthof(_origin_airport_specs));
|
||||
|
||||
const AirportSpec AirportSpec::dummy = AS_GENERIC(&_airportfta_dummy, NULL, _default_airports_rotation, 0, NULL, 0, 0, 0, 0, 0, MIN_YEAR, MIN_YEAR, 0, ATP_TTDP_LARGE, APC_BEGIN, STR_NULL, 0, false);
|
||||
const AirportSpec AirportSpec::dummy = AS_GENERIC(&_airportfta_dummy, nullptr, _default_airports_rotation, 0, nullptr, 0, 0, 0, 0, 0, MIN_YEAR, MIN_YEAR, 0, ATP_TTDP_LARGE, APC_BEGIN, STR_NULL, 0, false);
|
||||
|
||||
#undef AS
|
||||
#undef AS_ND
|
||||
|
||||
+231
-225
@@ -34,7 +34,7 @@ struct AirportFTAbuildup {
|
||||
* @param flags Movement flags.
|
||||
* @param dir Direction.
|
||||
*/
|
||||
#define AMD(x, y, flags, dir) { x, y, flags, {dir} }
|
||||
#define AMD(x, y, flags, dir) { x, y, flags, dir }
|
||||
|
||||
/** Dummy airport. */
|
||||
static const AirportMovingData _airport_moving_data_dummy[] = {
|
||||
@@ -71,10 +71,10 @@ static const AirportMovingData _airport_moving_data_country[22] = {
|
||||
};
|
||||
|
||||
/** Commuter Airfield (small) 5x4. */
|
||||
static const AirportMovingData _airport_moving_data_commuter[37] = {
|
||||
static const AirportMovingData _airport_moving_data_commuter[38] = {
|
||||
AMD( 69, 3, AMED_EXACTPOS, DIR_SE), // 00 In Hangar
|
||||
AMD( 72, 22, 0, DIR_N ), // 01 Taxi to right outside depot
|
||||
AMD( 8, 22, AMED_EXACTPOS, DIR_SW), // 01 Taxi to right outside depot
|
||||
AMD( 8, 22, AMED_EXACTPOS, DIR_SW), // 02 Taxi to right outside depot
|
||||
AMD( 24, 36, AMED_EXACTPOS, DIR_SE), // 03 Terminal 1
|
||||
AMD( 40, 36, AMED_EXACTPOS, DIR_SE), // 04 Terminal 2
|
||||
AMD( 56, 36, AMED_EXACTPOS, DIR_SE), // 05 Terminal 3
|
||||
@@ -108,8 +108,9 @@ static const AirportMovingData _airport_moving_data_commuter[37] = {
|
||||
AMD( 48, 8, AMED_HELI_RAISE, DIR_N ), // 32 Takeoff Helipad2
|
||||
AMD( 64, 22, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 33 Go to position for Hangarentrance in air
|
||||
AMD( 64, 22, AMED_HELI_LOWER, DIR_N ), // 34 Land in front of hangar
|
||||
AMD( 40, 8, AMED_EXACTPOS, DIR_N ), // pre-helitakeoff helipad 1
|
||||
AMD( 56, 8, AMED_EXACTPOS, DIR_N ), // pre-helitakeoff helipad 2
|
||||
AMD( 40, 8, AMED_EXACTPOS, DIR_N ), // 35 pre-helitakeoff helipad 1
|
||||
AMD( 56, 8, AMED_EXACTPOS, DIR_N ), // 36 pre-helitakeoff helipad 2
|
||||
AMD( 64, 25, AMED_HELI_RAISE, DIR_N ), // 37 Take off in front of hangar
|
||||
};
|
||||
|
||||
/** City Airport (large) 6x6. */
|
||||
@@ -179,11 +180,11 @@ static const AirportMovingData _airport_moving_data_metropolitan[28] = {
|
||||
};
|
||||
|
||||
/** International Airport (international) - 2 runways, 6 terminals, dedicated helipad. */
|
||||
static const AirportMovingData _airport_moving_data_international[51] = {
|
||||
static const AirportMovingData _airport_moving_data_international[53] = {
|
||||
AMD( 7, 55, AMED_EXACTPOS, DIR_SE), // 00 In Hangar 1
|
||||
AMD( 100, 21, AMED_EXACTPOS, DIR_SE), // 01 In Hangar 2
|
||||
AMD( 7, 70, 0, DIR_N ), // 02 Taxi to right outside depot
|
||||
AMD( 100, 36, 0, DIR_N ), // 03 Taxi to right outside depot
|
||||
AMD( 7, 70, 0, DIR_N ), // 02 Taxi to right outside depot (Hangar 1)
|
||||
AMD( 100, 36, 0, DIR_N ), // 03 Taxi to right outside depot (Hangar 2)
|
||||
AMD( 38, 70, AMED_EXACTPOS, DIR_SW), // 04 Terminal 1
|
||||
AMD( 38, 54, AMED_EXACTPOS, DIR_SW), // 05 Terminal 2
|
||||
AMD( 38, 38, AMED_EXACTPOS, DIR_SW), // 06 Terminal 3
|
||||
@@ -232,6 +233,8 @@ static const AirportMovingData _airport_moving_data_international[51] = {
|
||||
AMD( 104, 55, AMED_HELI_RAISE, DIR_N ), // 48 Takeoff Helipad2
|
||||
AMD( 104, 32, AMED_NOSPDCLAMP | AMED_SLOWTURN, DIR_N ), // 49 Go to position for Hangarentrance in air
|
||||
AMD( 104, 32, AMED_HELI_LOWER, DIR_N ), // 50 Land in HANGAR2_AREA to go to hangar
|
||||
AMD( 7, 70, AMED_HELI_RAISE, DIR_N ), // 51 Takeoff from HANGAR1_AREA
|
||||
AMD( 100, 36, AMED_HELI_RAISE, DIR_N ), // 52 Takeoff from HANGAR2_AREA
|
||||
};
|
||||
|
||||
/** Intercontinental Airport - 4 runways, 8 terminals, 2 dedicated helipads. */
|
||||
@@ -408,11 +411,11 @@ static const AirportMovingData _airport_moving_data_oilrig[9] = {
|
||||
/////**********Movement Machine on Airports*********************///////
|
||||
static const byte _airport_entries_dummy[] = {0, 1, 2, 3};
|
||||
static const AirportFTAbuildup _airport_fta_dummy[] = {
|
||||
{ 0, 0, 0, 3},
|
||||
{ 1, 0, 0, 0},
|
||||
{ 2, 0, 0, 1},
|
||||
{ 3, 0, 0, 2},
|
||||
{ MAX_ELEMENTS, 0, 0, 0 } // end marker. DO NOT REMOVE
|
||||
{ 0, TO_ALL, 0, 3},
|
||||
{ 1, TO_ALL, 0, 0},
|
||||
{ 2, TO_ALL, 0, 1},
|
||||
{ 3, TO_ALL, 0, 2},
|
||||
{ MAX_ELEMENTS, TO_ALL, 0, 0 } // end marker. DO NOT REMOVE
|
||||
};
|
||||
|
||||
/* First element of terminals array tells us how many depots there are (to know size of array)
|
||||
@@ -422,11 +425,11 @@ static const byte _airport_terminal_country[] = {1, 2};
|
||||
static const byte _airport_entries_country[] = {16, 15, 18, 17};
|
||||
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 },
|
||||
{ 1, TERMGROUP, AIRPORT_BUSY_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, TERM1, TERM1_block, 2 }, { 1, TERM2, 0, 4 }, { 1, HELITAKEOFF, 0, 19 }, { 1, TO_ALL, 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 },
|
||||
{ 4, TERMGROUP, AIRPORT_BUSY_block, 0 }, { 4, TERM2, 0, 5 }, { 4, HANGAR, 0, 1 }, { 4, TAKEOFF, 0, 6 }, { 4, HELITAKEOFF, 0, 1 },
|
||||
{ 5, TERMGROUP, AIRPORT_BUSY_block, 0 }, { 5, TERM2, TERM2_block, 3 }, { 5, TO_ALL, 0, 4 },
|
||||
{ 6, 0, AIRPORT_BUSY_block, 7 },
|
||||
/* takeoff */
|
||||
{ 7, TAKEOFF, AIRPORT_BUSY_block, 8 },
|
||||
@@ -435,82 +438,83 @@ static const AirportFTAbuildup _airport_fta_country[] = {
|
||||
/* 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 },
|
||||
{ 12, TO_ALL, AIRPORT_BUSY_block, 13 },
|
||||
{ 13, ENDLANDING, AIRPORT_BUSY_block, 14 }, { 13, TERM2, 0, 5 }, { 13, TO_ALL, 0, 14 },
|
||||
{ 14, TO_ALL, 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 },
|
||||
{ 15, TO_ALL, NOTHING_block, 16 },
|
||||
{ 16, TO_ALL, NOTHING_block, 17 },
|
||||
{ 17, TO_ALL, NOTHING_block, 18 },
|
||||
{ 18, TO_ALL, 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
|
||||
{ MAX_ELEMENTS, TO_ALL, 0, 0 } // end marker. DO NOT REMOVE
|
||||
};
|
||||
|
||||
static const HangarTileTable _airport_depots_commuter[] = { {{4, 0}, DIR_SE, 0} };
|
||||
static const byte _airport_terminal_commuter[] = { 1, 3 };
|
||||
static const byte _airport_entries_commuter[] = {22, 21, 24, 23};
|
||||
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 },
|
||||
{ 0, HANGAR, NOTHING_block, 1 }, { 0, HELITAKEOFF, TAXIWAY_BUSY_block, 1 }, { 0, TO_ALL, 0, 1 },
|
||||
{ 1, TERMGROUP, 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, 37 }, { 1, TO_ALL, 0, 0 },
|
||||
{ 2, TERMGROUP, 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, TO_ALL, 0, 2 },
|
||||
{ 3, TERM1, TERM1_block, 8 }, { 3, HANGAR, 0, 8 }, { 3, TAKEOFF, 0, 8 }, { 3, TO_ALL, 0, 3 },
|
||||
{ 4, TERM2, TERM2_block, 9 }, { 4, HANGAR, 0, 9 }, { 4, TAKEOFF, 0, 9 }, { 4, TO_ALL, 0, 4 },
|
||||
{ 5, TERM3, TERM3_block, 10 }, { 5, HANGAR, 0, 10 }, { 5, TAKEOFF, 0, 10 }, { 5, TO_ALL, 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 },
|
||||
{ 8, TERMGROUP, TAXIWAY_BUSY_block, 8 }, { 8, TAKEOFF, TAXIWAY_BUSY_block, 9 }, { 8, HANGAR, TAXIWAY_BUSY_block, 9 }, { 8, TERM1, TERM1_block, 3 }, { 8, TO_ALL, TAXIWAY_BUSY_block, 9 },
|
||||
{ 9, TERMGROUP, 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, TO_ALL, TAXIWAY_BUSY_block, 10 },
|
||||
{ 10, TERMGROUP, TAXIWAY_BUSY_block, 10 }, { 10, TERM3, TERM3_block, 5 }, { 10, HELIPAD1, 0, 9 }, { 10, HELIPAD2, HELIPAD2_block, 7 }, { 10, HELITAKEOFF, 0, 1 }, { 10, TAKEOFF, TAXIWAY_BUSY_block, 1 }, { 10, HANGAR, TAXIWAY_BUSY_block, 1 }, { 10, TO_ALL, TAXIWAY_BUSY_block, 9 },
|
||||
{ 11, TO_ALL, OUT_WAY_block, 12 },
|
||||
/* takeoff */
|
||||
{ 12, TAKEOFF, RUNWAY_IN_OUT_block, 13 },
|
||||
{ 13, 0, RUNWAY_IN_OUT_block, 14 },
|
||||
{ 13, TO_ALL, 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 },
|
||||
{ 18, TO_ALL, RUNWAY_IN_OUT_block, 19 },
|
||||
{ 19, TO_ALL, RUNWAY_IN_OUT_block, 20 },
|
||||
{ 20, ENDLANDING, IN_WAY_block, 2 },
|
||||
/* In Air */
|
||||
{ 21, 0, NOTHING_block, 22 },
|
||||
{ 22, 0, NOTHING_block, 23 },
|
||||
{ 23, 0, NOTHING_block, 24 },
|
||||
{ 24, 0, NOTHING_block, 16 },
|
||||
{ 21, TO_ALL, NOTHING_block, 22 },
|
||||
{ 22, TO_ALL, NOTHING_block, 23 },
|
||||
{ 23, TO_ALL, NOTHING_block, 24 },
|
||||
{ 24, TO_ALL, 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 },
|
||||
{ 27, TO_ALL, NOTHING_block, 29 }, // helipad1 approach
|
||||
{ 28, TO_ALL, 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, TERMGROUP, NOTHING_block, 0 }, { 29, HELIPAD1, HELIPAD1_block, 6 },
|
||||
{ 30, TERMGROUP, 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
|
||||
{ 33, TO_ALL, TAXIWAY_BUSY_block, 34 }, // need to go to hangar when waiting in air
|
||||
{ 34, TO_ALL, TAXIWAY_BUSY_block, 1 },
|
||||
{ 35, TO_ALL, HELIPAD1_block, 31 },
|
||||
{ 36, TO_ALL, HELIPAD2_block, 32 },
|
||||
{ 37, HELITAKEOFF, NOTHING_block, 0 },
|
||||
{ MAX_ELEMENTS, TO_ALL, 0, 0 } // end marker. DO NOT REMOVE
|
||||
};
|
||||
|
||||
static const HangarTileTable _airport_depots_city[] = { {{5, 0}, DIR_SE, 0} };
|
||||
static const byte _airport_terminal_city[] = { 1, 3 };
|
||||
static const byte _airport_entries_city[] = {26, 29, 27, 28};
|
||||
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, 6 }, { 3, 0, 0, 6 },
|
||||
{ 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, TERM2_block, 3 }, { 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 },
|
||||
{ 0, HANGAR, NOTHING_block, 1 }, { 0, TAKEOFF, OUT_WAY_block, 1 }, { 0, TO_ALL, 0, 1 },
|
||||
{ 1, TERMGROUP, TAXIWAY_BUSY_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, TERM2, 0, 6 }, { 1, TERM3, 0, 6 }, { 1, TO_ALL, 0, 7 }, // for all else, go to 7
|
||||
{ 2, TERM1, TERM1_block, 7 }, { 2, TAKEOFF, OUT_WAY_block, 7 }, { 2, TO_ALL, 0, 7 },
|
||||
{ 3, TERM2, TERM2_block, 5 }, { 3, TAKEOFF, OUT_WAY_block, 6 }, { 3, TO_ALL, 0, 6 },
|
||||
{ 4, TERM3, TERM3_block, 5 }, { 4, TAKEOFF, OUT_WAY_block, 5 }, { 4, TO_ALL, 0, 5 },
|
||||
{ 5, TERMGROUP, TAXIWAY_BUSY_block, 0 }, { 5, TERM2, TERM2_block, 3 }, { 5, TERM3, TERM3_block, 4 }, { 5, TO_ALL, 0, 6 },
|
||||
{ 6, TERMGROUP, TAXIWAY_BUSY_block, 0 }, { 6, TERM2, TERM2_block, 3 }, { 6, TERM3, 0, 5 }, { 6, HANGAR, 0, 1 }, { 6, TO_ALL, 0, 7 },
|
||||
{ 7, TERMGROUP, TAXIWAY_BUSY_block, 0 }, { 7, TERM1, TERM1_block, 2 }, { 7, TAKEOFF, OUT_WAY_block, 8 }, { 7, HELITAKEOFF, 0, 22 }, { 7, HANGAR, 0, 1 }, { 7, TO_ALL, 0, 6 },
|
||||
{ 8, 0, OUT_WAY_block, 9 },
|
||||
{ 9, 0, RUNWAY_IN_OUT_block, 10 },
|
||||
/* takeoff */
|
||||
@@ -520,24 +524,24 @@ static const AirportFTAbuildup _airport_fta_city[] = {
|
||||
/* 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, 17 },
|
||||
{ 16, 0, RUNWAY_IN_OUT_block, 17 }, // not used, left for compatibility
|
||||
{ 15, TO_ALL, RUNWAY_IN_OUT_block, 17 },
|
||||
{ 16, TO_ALL, RUNWAY_IN_OUT_block, 17 }, // not used, left for compatibility
|
||||
{ 17, ENDLANDING, IN_WAY_block, 7 },
|
||||
/* In Air */
|
||||
{ 18, 0, NOTHING_block, 25 },
|
||||
{ 19, 0, NOTHING_block, 20 },
|
||||
{ 20, 0, NOTHING_block, 21 },
|
||||
{ 21, 0, NOTHING_block, 13 },
|
||||
{ 18, TO_ALL, NOTHING_block, 25 },
|
||||
{ 19, TO_ALL, NOTHING_block, 20 },
|
||||
{ 20, TO_ALL, NOTHING_block, 21 },
|
||||
{ 21, TO_ALL, NOTHING_block, 13 },
|
||||
/* helicopter */
|
||||
{ 22, HELITAKEOFF, NOTHING_block, 0 },
|
||||
{ 23, HELILANDING, IN_WAY_block, 24 },
|
||||
{ 24, HELIENDLANDING, IN_WAY_block, 17 },
|
||||
{ 25, 0, NOTHING_block, 20},
|
||||
{ 26, 0, NOTHING_block, 19},
|
||||
{ 27, 0, NOTHING_block, 28},
|
||||
{ 28, 0, NOTHING_block, 19},
|
||||
{ 29, 0, NOTHING_block, 26},
|
||||
{ MAX_ELEMENTS, 0, 0, 0 } // end marker. DO NOT REMOVE
|
||||
{ 25, TO_ALL, NOTHING_block, 20},
|
||||
{ 26, TO_ALL, NOTHING_block, 19},
|
||||
{ 27, TO_ALL, NOTHING_block, 28},
|
||||
{ 28, TO_ALL, NOTHING_block, 19},
|
||||
{ 29, TO_ALL, NOTHING_block, 26},
|
||||
{ MAX_ELEMENTS, TO_ALL, 0, 0 } // end marker. DO NOT REMOVE
|
||||
};
|
||||
|
||||
static const HangarTileTable _airport_depots_metropolitan[] = { {{5, 0}, DIR_SE, 0} };
|
||||
@@ -545,13 +549,13 @@ static const byte _airport_terminal_metropolitan[] = { 1, 3 };
|
||||
static const byte _airport_entries_metropolitan[] = {20, 19, 22, 21};
|
||||
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
|
||||
{ 1, TERMGROUP, TAXIWAY_BUSY_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, TERM2, 0, 6 }, { 1, TERM3, 0, 6 }, { 1, TO_ALL, 0, 7 }, // for all else, go to 7
|
||||
{ 2, TERM1, TERM1_block, 7 },
|
||||
{ 3, TERM2, TERM2_block, 6 },
|
||||
{ 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, TERM2_block, 3 }, { 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 },
|
||||
{ 5, TERMGROUP, TAXIWAY_BUSY_block, 0 }, { 5, TERM2, TERM2_block, 3 }, { 5, TERM3, TERM3_block, 4 }, { 5, TO_ALL, 0, 6 },
|
||||
{ 6, TERMGROUP, TAXIWAY_BUSY_block, 0 }, { 6, TERM2, TERM2_block, 3 }, { 6, TERM3, 0, 5 }, { 6, HANGAR, 0, 1 }, { 6, TO_ALL, 0, 7 },
|
||||
{ 7, TERMGROUP, TAXIWAY_BUSY_block, 0 }, { 7, TERM1, TERM1_block, 2 }, { 7, TAKEOFF, 0, 8 }, { 7, HELITAKEOFF, 0, 23 }, { 7, HANGAR, 0, 1 }, { 7, TO_ALL, 0, 6 },
|
||||
{ 8, 0, OUT_WAY_block, 9 },
|
||||
{ 9, 0, RUNWAY_OUT_block, 10 },
|
||||
/* takeoff */
|
||||
@@ -561,86 +565,88 @@ static const AirportFTAbuildup _airport_fta_metropolitan[] = {
|
||||
/* 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 },
|
||||
{ 15, TO_ALL, RUNWAY_IN_block, 16 },
|
||||
{ 16, TERMGROUP, RUNWAY_IN_block, 0 }, { 16, ENDLANDING, IN_WAY_block, 17 },
|
||||
{ 17, TERMGROUP, RUNWAY_OUT_block, 0 }, { 17, ENDLANDING, IN_WAY_block, 18 },
|
||||
{ 18, ENDLANDING, IN_WAY_block, 27 },
|
||||
/* In Air */
|
||||
{ 19, 0, NOTHING_block, 20 },
|
||||
{ 20, 0, NOTHING_block, 21 },
|
||||
{ 21, 0, NOTHING_block, 22 },
|
||||
{ 22, 0, NOTHING_block, 13 },
|
||||
{ 19, TO_ALL, NOTHING_block, 20 },
|
||||
{ 20, TO_ALL, NOTHING_block, 21 },
|
||||
{ 21, TO_ALL, NOTHING_block, 22 },
|
||||
{ 22, TO_ALL, NOTHING_block, 13 },
|
||||
/* helicopter */
|
||||
{ 23, 0, NOTHING_block, 24 },
|
||||
{ 23, TO_ALL, NOTHING_block, 24 },
|
||||
{ 24, HELITAKEOFF, NOTHING_block, 0 },
|
||||
{ 25, HELILANDING, IN_WAY_block, 26 },
|
||||
{ 26, HELIENDLANDING, IN_WAY_block, 18 },
|
||||
{ 27, 255, TAXIWAY_BUSY_block, 27 }, { 27, TERM1, TERM1_block, 2 }, { 27, 0, 0, 7 },
|
||||
{ MAX_ELEMENTS, 0, 0, 0 } // end marker. DO NOT REMOVE
|
||||
{ 27, TERMGROUP, TAXIWAY_BUSY_block, 27 }, { 27, TERM1, TERM1_block, 2 }, { 27, TO_ALL, 0, 7 },
|
||||
{ MAX_ELEMENTS, TO_ALL, 0, 0 } // end marker. DO NOT REMOVE
|
||||
};
|
||||
|
||||
static const HangarTileTable _airport_depots_international[] = { {{0, 3}, DIR_SE, 0}, {{6, 1}, DIR_SE, 1} };
|
||||
static const byte _airport_terminal_international[] = { 2, 3, 3 };
|
||||
static const byte _airport_entries_international[] = { 38, 37, 40, 39 };
|
||||
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 },
|
||||
{ 0, HANGAR, NOTHING_block, 2 }, { 0, TERMGROUP, TERM_GROUP1_block, 0 }, { 0, TERMGROUP, TERM_GROUP2_ENTER1_block, 1 }, { 0, HELITAKEOFF, AIRPORT_ENTRANCE_block, 2 }, { 0, TO_ALL, 0, 2 },
|
||||
{ 1, HANGAR, NOTHING_block, 3 }, { 1, TERMGROUP, HANGAR2_AREA_block, 1 }, { 1, HELITAKEOFF, HANGAR2_AREA_block, 3 }, { 1, TO_ALL, 0, 3 },
|
||||
{ 2, TERMGROUP, 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, 51 }, { 2, TO_ALL, 0, 23 },
|
||||
{ 3, TERMGROUP, HANGAR2_AREA_block, 0 }, { 3, HANGAR, 0, 1 }, { 3, HELITAKEOFF, 0, 52 }, { 3, TO_ALL, 0, 18 },
|
||||
{ 4, TERM1, TERM1_block, 23 }, { 4, HANGAR, AIRPORT_ENTRANCE_block, 23 }, { 4, TO_ALL, 0, 23 },
|
||||
{ 5, TERM2, TERM2_block, 24 }, { 5, HANGAR, AIRPORT_ENTRANCE_block, 24 }, { 5, TO_ALL, 0, 24 },
|
||||
{ 6, TERM3, TERM3_block, 25 }, { 6, HANGAR, AIRPORT_ENTRANCE_block, 25 }, { 6, TO_ALL, 0, 25 },
|
||||
{ 7, TERM4, TERM4_block, 16 }, { 7, HANGAR, HANGAR2_AREA_block, 16 }, { 7, TO_ALL, 0, 16 },
|
||||
{ 8, TERM5, TERM5_block, 17 }, { 8, HANGAR, HANGAR2_AREA_block, 17 }, { 8, TO_ALL, 0, 17 },
|
||||
{ 9, TERM6, TERM6_block, 18 }, { 9, HANGAR, HANGAR2_AREA_block, 18 }, { 9, TO_ALL, 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 },
|
||||
{ 12, TO_ALL, TERM_GROUP2_ENTER1_block, 13 },
|
||||
{ 13, TO_ALL, TERM_GROUP2_ENTER1_block, 14 },
|
||||
{ 14, TO_ALL, TERM_GROUP2_ENTER2_block, 15 },
|
||||
{ 15, TO_ALL, TERM_GROUP2_ENTER2_block, 16 },
|
||||
{ 16, TERMGROUP, TERM_GROUP2_block, 0 }, { 16, TERM4, TERM4_block, 7 }, { 16, HELIPAD1, HELIPAD1_block, 10 }, { 16, HELITAKEOFF, HELIPAD1_block, 10 }, { 16, TO_ALL, 0, 17 },
|
||||
{ 17, TERMGROUP, 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, TO_ALL, 0, 18 },
|
||||
{ 18, TERMGROUP, TERM_GROUP2_block, 0 }, { 18, TERM6, TERM6_block, 9 }, { 18, TAKEOFF, 0, 19 }, { 18, HANGAR, HANGAR2_AREA_block, 3 }, { 18, TO_ALL, 0, 17 },
|
||||
{ 19, TO_ALL, TERM_GROUP2_EXIT1_block, 20 },
|
||||
{ 20, TO_ALL, TERM_GROUP2_EXIT1_block, 21 },
|
||||
{ 21, TO_ALL, TERM_GROUP2_EXIT2_block, 22 },
|
||||
{ 22, TO_ALL, TERM_GROUP2_EXIT2_block, 26 },
|
||||
{ 23, TERMGROUP, TERM_GROUP1_block, 0 }, { 23, TERM1, TERM1_block, 4 }, { 23, HANGAR, AIRPORT_ENTRANCE_block, 2 }, { 23, TO_ALL, 0, 24 },
|
||||
{ 24, TERMGROUP, TERM_GROUP1_block, 0 }, { 24, TERM2, TERM2_block, 5 }, { 24, TERM1, 0, 23 }, { 24, HANGAR, 0, 23 }, { 24, TO_ALL, 0, 25 },
|
||||
{ 25, TERMGROUP, TERM_GROUP1_block, 0 }, { 25, TERM3, TERM3_block, 6 }, { 25, TAKEOFF, 0, 26 }, { 25, TO_ALL, 0, 24 },
|
||||
{ 26, TERMGROUP, TAXIWAY_BUSY_block, 0 }, { 26, TAKEOFF, 0, 27 }, { 26, TO_ALL, 0, 25 },
|
||||
{ 27, TO_ALL, OUT_WAY_block, 28 },
|
||||
/* takeoff */
|
||||
{ 28, TAKEOFF, OUT_WAY_block, 29 },
|
||||
{ 29, 0, RUNWAY_OUT_block, 30 },
|
||||
{ 29, TO_ALL, 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 },
|
||||
{ 34, TO_ALL, RUNWAY_IN_block, 35 },
|
||||
{ 35, TO_ALL, RUNWAY_IN_block, 36 },
|
||||
{ 36, ENDLANDING, IN_WAY_block, 36 }, { 36, TERMGROUP, TERM_GROUP1_block, 0 }, { 36, TERMGROUP, TERM_GROUP2_ENTER1_block, 1 }, { 36, TERM4, 0, 12 }, { 36, TERM5, 0, 12 }, { 36, TERM6, 0, 12 }, { 36, TO_ALL, 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, TO_ALL, NOTHING_block, 38 },
|
||||
{ 38, TO_ALL, NOTHING_block, 39 },
|
||||
{ 39, TO_ALL, NOTHING_block, 40 },
|
||||
{ 40, TO_ALL, 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 },
|
||||
{ 43, TO_ALL, NOTHING_block, 45 },
|
||||
{ 44, TO_ALL, 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, TERMGROUP, NOTHING_block, 0 }, { 45, HELIPAD1, HELIPAD1_block, 10 },
|
||||
{ 46, TERMGROUP, 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
|
||||
{ 49, TO_ALL, HANGAR2_AREA_block, 50 }, // need to go to hangar when waiting in air
|
||||
{ 50, TO_ALL, HANGAR2_AREA_block, 3 },
|
||||
{ 51, HELITAKEOFF, NOTHING_block, 0 },
|
||||
{ 52, HELITAKEOFF, NOTHING_block, 0 },
|
||||
{ MAX_ELEMENTS, TO_ALL, 0, 0 } // end marker. DO NOT REMOVE
|
||||
};
|
||||
|
||||
/* intercontinental */
|
||||
@@ -648,92 +654,92 @@ static const HangarTileTable _airport_depots_intercontinental[] = { {{0, 5}, DIR
|
||||
static const byte _airport_terminal_intercontinental[] = { 2, 4, 4 };
|
||||
static const byte _airport_entries_intercontinental[] = { 44, 43, 46, 45 };
|
||||
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, TAKEOFF, 0, 59}, { 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 },
|
||||
{ 0, HANGAR, NOTHING_block, 2 }, { 0, TERMGROUP, HANGAR1_AREA_block | TERM_GROUP1_block, 0 }, { 0, TERMGROUP, HANGAR1_AREA_block | TERM_GROUP1_block, 1 }, { 0, TAKEOFF, HANGAR1_AREA_block | TERM_GROUP1_block, 2 }, { 0, TO_ALL, 0, 2 },
|
||||
{ 1, HANGAR, NOTHING_block, 3 }, { 1, TERMGROUP, HANGAR2_AREA_block, 1 }, { 1, TERMGROUP, HANGAR2_AREA_block, 0 }, { 1, TO_ALL, 0, 3 },
|
||||
{ 2, TERMGROUP, HANGAR1_AREA_block, 0 }, { 2, TERMGROUP, TERM_GROUP1_block, 0 }, { 2, TERMGROUP, 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, TO_ALL, 0, 27 },
|
||||
{ 3, TERMGROUP, HANGAR2_AREA_block, 0 }, { 3, HANGAR, 0, 1 }, { 3, HELITAKEOFF, 0, 75 }, {3, TAKEOFF, 0, 59}, { 3, TO_ALL, 0, 20 },
|
||||
{ 4, TERM1, TERM1_block, 26 }, { 4, HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 26 }, { 4, TO_ALL, 0, 26 },
|
||||
{ 5, TERM2, TERM2_block, 27 }, { 5, HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 27 }, { 5, TO_ALL, 0, 27 },
|
||||
{ 6, TERM3, TERM3_block, 28 }, { 6, HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 28 }, { 6, TO_ALL, 0, 28 },
|
||||
{ 7, TERM4, TERM4_block, 29 }, { 7, HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 29 }, { 7, TO_ALL, 0, 29 },
|
||||
{ 8, TERM5, TERM5_block, 18 }, { 8, HANGAR, HANGAR2_AREA_block, 18 }, { 8, TO_ALL, 0, 18 },
|
||||
{ 9, TERM6, TERM6_block, 19 }, { 9, HANGAR, HANGAR2_AREA_block, 19 }, { 9, TO_ALL, 0, 19 },
|
||||
{ 10, TERM7, TERM7_block, 20 }, { 10, HANGAR, HANGAR2_AREA_block, 20 }, { 10, TO_ALL, 0, 20 },
|
||||
{ 11, TERM8, TERM8_block, 21 }, { 11, HANGAR, HANGAR2_AREA_block, 21 }, { 11, TO_ALL, 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, 0, TERM_GROUP2_EXIT1_block, 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, 0, OUT_WAY_block2, 31 },
|
||||
{ 31, 0, OUT_WAY_block, 32 },
|
||||
{ 14, TO_ALL, TERM_GROUP2_ENTER1_block, 15 },
|
||||
{ 15, TO_ALL, TERM_GROUP2_ENTER1_block, 16 },
|
||||
{ 16, TO_ALL, TERM_GROUP2_ENTER2_block, 17 },
|
||||
{ 17, TO_ALL, TERM_GROUP2_ENTER2_block, 18 },
|
||||
{ 18, TERMGROUP, TERM_GROUP2_block, 0 }, { 18, TERM5, TERM5_block, 8 }, { 18, TAKEOFF, 0, 19 }, { 18, HELITAKEOFF, HELIPAD1_block, 19 }, { 18, TO_ALL, TERM_GROUP2_EXIT1_block, 19 },
|
||||
{ 19, TERMGROUP, TERM_GROUP2_block, 0 }, { 19, TERM6, TERM6_block, 9 }, { 19, TERM5, 0, 18 }, { 19, TAKEOFF, 0, 57 }, { 19, HELITAKEOFF, HELIPAD1_block, 20 }, { 19, TO_ALL, TERM_GROUP2_EXIT1_block, 20 }, // add exit to runway out 2
|
||||
{ 20, TERMGROUP, 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, TO_ALL, TERM_GROUP2_EXIT1_block, 21 },
|
||||
{ 21, TERMGROUP, 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, TO_ALL, TERM_GROUP2_EXIT1_block, 22 },
|
||||
{ 22, TERMGROUP, 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, TO_ALL, 0, 23 },
|
||||
{ 23, TO_ALL, TERM_GROUP2_EXIT1_block, 70 },
|
||||
{ 24, TO_ALL, TERM_GROUP2_EXIT2_block, 25 },
|
||||
{ 25, TERMGROUP, TERM_GROUP2_EXIT2_block, 0 }, { 25, HANGAR, HANGAR1_AREA_block | TERM_GROUP1_block, 29 }, { 25, TO_ALL, 0, 29 },
|
||||
{ 26, TERMGROUP, 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, TO_ALL, 0, 27 },
|
||||
{ 27, TERMGROUP, 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, TO_ALL, 0, 28 },
|
||||
{ 28, TERMGROUP, 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, TO_ALL, 0, 29 },
|
||||
{ 29, TERMGROUP, TERM_GROUP1_block, 0 }, { 29, TERM4, TERM4_block, 7 }, { 29, HANGAR, HANGAR1_AREA_block, 27 }, { 29, TAKEOFF, 0, 30 }, { 29, TO_ALL, 0, 28 },
|
||||
{ 30, TO_ALL, OUT_WAY_block2, 31 },
|
||||
{ 31, TO_ALL, OUT_WAY_block, 32 },
|
||||
/* takeoff */
|
||||
{ 32, TAKEOFF, RUNWAY_OUT_block, 33 },
|
||||
{ 33, 0, RUNWAY_OUT_block, 34 },
|
||||
{ 33, TO_ALL, RUNWAY_OUT_block, 34 },
|
||||
{ 34, STARTTAKEOFF, NOTHING_block, 35 },
|
||||
{ 35, ENDTAKEOFF, NOTHING_block, 0 },
|
||||
/* landing */
|
||||
{ 36, 0, 0, 0 },
|
||||
{ 36, TO_ALL, 0, 0 },
|
||||
{ 37, LANDING, RUNWAY_IN_block, 38 },
|
||||
{ 38, 0, RUNWAY_IN_block, 39 },
|
||||
{ 39, 0, RUNWAY_IN_block, 40 },
|
||||
{ 38, TO_ALL, RUNWAY_IN_block, 39 },
|
||||
{ 39, TO_ALL, 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 },
|
||||
{ 41, TO_ALL, IN_WAY_block, 42 },
|
||||
{ 42, TERMGROUP, IN_WAY_block, 0 }, { 42, TERMGROUP, TERM_GROUP1_block, 0 }, { 42, TERMGROUP, TERM_GROUP1_block, 1 }, { 42, HANGAR, 0, 2 }, { 42, TO_ALL, 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, TO_ALL, 0, 44 },
|
||||
{ 44, FLYING, 0, 45 }, { 44, HELILANDING, 0, 47 }, { 44, LANDING, 0, 69 }, { 44, TO_ALL, 0, 45 },
|
||||
{ 45, TO_ALL, 0, 46 },
|
||||
{ 46, FLYING, 0, 43 }, { 46, LANDING, 0, 76 }, { 46, TO_ALL, 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 },
|
||||
{ 49, TO_ALL, NOTHING_block, 51 },
|
||||
{ 50, TO_ALL, 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, TERMGROUP, NOTHING_block, 0 }, { 51, HELIPAD1, HELIPAD1_block, 12 }, { 51, HANGAR, 0, 55 }, { 51, TO_ALL, 0, 12 },
|
||||
{ 52, TERMGROUP, NOTHING_block, 0 }, { 52, HELIPAD2, HELIPAD2_block, 13 }, { 52, HANGAR, 0, 55 }, { 52, TO_ALL, 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 },
|
||||
{ 55, TO_ALL, HANGAR2_AREA_block, 56 }, // need to go to hangar when waiting in air
|
||||
{ 56, TO_ALL, 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 },
|
||||
{ 57, TERMGROUP, OUT_WAY2_block, 0 }, { 57, TAKEOFF, 0, 58 }, { 57, TO_ALL, 0, 58 },
|
||||
{ 58, TO_ALL, OUT_WAY2_block, 59 },
|
||||
{ 59, TAKEOFF, RUNWAY_OUT2_block, 60 }, // takeoff
|
||||
{ 60, 0, RUNWAY_OUT2_block, 61 },
|
||||
{ 60, TO_ALL, 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 },
|
||||
{ 64, TO_ALL, RUNWAY_IN2_block, 65 },
|
||||
{ 65, TO_ALL, RUNWAY_IN2_block, 66 },
|
||||
{ 66, ENDLANDING, RUNWAY_IN2_block, 0 }, { 66, TERMGROUP, 0, 1 }, { 66, TERMGROUP, 0, 0 }, { 66, TO_ALL, 0, 67 },
|
||||
{ 67, TO_ALL, IN_WAY2_block, 68 },
|
||||
{ 68, TERMGROUP, IN_WAY2_block, 0 }, { 68, TERMGROUP, TERM_GROUP2_block, 1 }, { 68, TERMGROUP, TERM_GROUP1_block, 0 }, { 68, HANGAR, HANGAR2_AREA_block, 22 }, { 68, TO_ALL, 0, 22 },
|
||||
{ 69, TERMGROUP, RUNWAY_IN2_block, 0 }, { 69, TO_ALL, RUNWAY_IN2_block, 63 },
|
||||
{ 70, TERMGROUP, TERM_GROUP2_EXIT1_block, 0 }, { 70, HELIPAD1, HELIPAD1_block, 12 }, { 70, HELITAKEOFF, HELIPAD1_block, 12 }, { 70, TO_ALL, 0, 71 },
|
||||
{ 71, TERMGROUP, TERM_GROUP2_EXIT1_block, 0 }, { 71, HELIPAD2, HELIPAD2_block, 13 }, { 71, HELITAKEOFF, HELIPAD1_block, 12 }, { 71, TO_ALL, 0, 24 },
|
||||
{ 72, TO_ALL, HELIPAD1_block, 53 },
|
||||
{ 73, TO_ALL, 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
|
||||
{ 76, TERMGROUP, RUNWAY_IN_block, 0 }, { 76, TO_ALL, RUNWAY_IN_block, 37 },
|
||||
{ MAX_ELEMENTS, TO_ALL, 0, 0 } // end marker. DO NOT REMOVE
|
||||
};
|
||||
|
||||
|
||||
@@ -742,15 +748,15 @@ static const byte _airport_entries_heliport[] = { 7, 7, 7, 7 };
|
||||
static const AirportFTAbuildup _airport_fta_heliport[] = {
|
||||
{ 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 },
|
||||
{ 2, TERMGROUP, 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 },
|
||||
{ 5, TO_ALL, NOTHING_block, 6 },
|
||||
{ 6, TO_ALL, NOTHING_block, 7 },
|
||||
{ 7, TO_ALL, NOTHING_block, 8 },
|
||||
{ 8, FLYING, NOTHING_block, 5 }, { 8, HELILANDING, HELIPAD1_block, 2 }, // landing
|
||||
{ MAX_ELEMENTS, 0, 0, 0 } // end marker. DO NOT REMOVE
|
||||
{ MAX_ELEMENTS, TO_ALL, 0, 0 } // end marker. DO NOT REMOVE
|
||||
};
|
||||
#define _airport_entries_oilrig _airport_entries_heliport
|
||||
#define _airport_fta_oilrig _airport_fta_heliport
|
||||
@@ -760,7 +766,7 @@ static const HangarTileTable _airport_depots_helidepot[] = { {{1, 0}, DIR_SE, 0}
|
||||
static const byte _airport_entries_helidepot[] = { 4, 4, 4, 4 };
|
||||
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 },
|
||||
{ 1, TERMGROUP, HANGAR2_AREA_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, HELIPAD1, HELIPAD1_block, 14 }, { 1, HELITAKEOFF, 0, 15 }, { 1, TO_ALL, 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 },
|
||||
@@ -769,63 +775,63 @@ static const AirportFTAbuildup _airport_fta_helidepot[] = {
|
||||
{ 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 },
|
||||
{ 8, HELIENDLANDING, PRE_HELIPAD_block, 8 }, { 8, HELIPAD1, 0, 9 }, { 8, HANGAR, 0, 12 }, { 8, TO_ALL, 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, TERMGROUP, NOTHING_block, 10 }, { 10, HELIPAD1, HELIPAD1_block, 14 }, { 10, HANGAR, 0, 1 }, { 10, TO_ALL, 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 },
|
||||
{ 12, TO_ALL, HANGAR2_AREA_block, 13 }, // need to go to hangar when waiting in air
|
||||
{ 13, TO_ALL, 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
|
||||
{ 17, TO_ALL, NOTHING_block, 11 },
|
||||
{ MAX_ELEMENTS, TO_ALL, 0, 0 } // end marker. DO NOT REMOVE
|
||||
};
|
||||
|
||||
/* helistation */
|
||||
static const HangarTileTable _airport_depots_helistation[] = { {{0, 0}, DIR_SE, 0} };
|
||||
static const byte _airport_entries_helistation[] = { 25, 25, 25, 25 };
|
||||
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, TO_ALL, 0, 0 },
|
||||
{ 1, TERMGROUP, HANGAR2_AREA_block, 0 }, { 1, HANGAR, 0, 0 }, { 1, HELITAKEOFF, 0, 3 }, { 1, TO_ALL, 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, TO_ALL, 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 },
|
||||
{ 4, TERMGROUP, TAXIWAY_BUSY_block, 0 }, { 4, HANGAR, HANGAR2_AREA_block, 1 }, { 4, HELITAKEOFF, 0, 1 }, { 4, TO_ALL, 0, 5 },
|
||||
{ 5, TERMGROUP, TAXIWAY_BUSY_block, 0 }, { 5, HELIPAD1, HELIPAD1_block, 6 }, { 5, HELIPAD2, HELIPAD2_block, 7 }, { 5, HELIPAD3, HELIPAD3_block, 8 }, { 5, TO_ALL, 0, 4 },
|
||||
{ 6, HELIPAD1, HELIPAD1_block, 5 }, { 6, HANGAR, HANGAR2_AREA_block, 5 }, { 6, HELITAKEOFF, 0, 9 }, { 6, TO_ALL, 0, 6 },
|
||||
{ 7, HELIPAD2, HELIPAD2_block, 5 }, { 7, HANGAR, HANGAR2_AREA_block, 5 }, { 7, HELITAKEOFF, 0, 10 }, { 7, TO_ALL, 0, 7 },
|
||||
{ 8, HELIPAD3, HELIPAD3_block, 5 }, { 8, HANGAR, HANGAR2_AREA_block, 5 }, { 8, HELITAKEOFF, 0, 11 }, { 8, TO_ALL, 0, 8 },
|
||||
{ 9, 0, HELIPAD1_block, 12 },
|
||||
{ 10, 0, HELIPAD2_block, 13 },
|
||||
{ 11, 0, HELIPAD3_block, 14 },
|
||||
{ 10, TO_ALL, HELIPAD2_block, 13 },
|
||||
{ 11, TO_ALL, 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 },
|
||||
{ 17, TO_ALL, NOTHING_block, 20 },
|
||||
{ 18, TO_ALL, NOTHING_block, 21 },
|
||||
{ 19, TO_ALL, 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, TERMGROUP, NOTHING_block, 0 }, { 20, HELIPAD1, HELIPAD1_block, 6 }, { 20, HANGAR, 0, 23 }, { 20, TO_ALL, 0, 6 },
|
||||
{ 21, TERMGROUP, NOTHING_block, 0 }, { 21, HELIPAD2, HELIPAD2_block, 7 }, { 21, HANGAR, 0, 23 }, { 21, TO_ALL, 0, 7 },
|
||||
{ 22, TERMGROUP, NOTHING_block, 0 }, { 22, HELIPAD3, HELIPAD3_block, 8 }, { 22, HANGAR, 0, 23 }, { 22, TO_ALL, 0, 8 },
|
||||
{ 23, TO_ALL, HANGAR2_AREA_block, 24 }, // need to go to helihangar when waiting in air
|
||||
{ 24, TO_ALL, HANGAR2_AREA_block, 1 },
|
||||
{ 25, TO_ALL, NOTHING_block, 26 },
|
||||
{ 26, TO_ALL, NOTHING_block, 27 },
|
||||
{ 27, TO_ALL, NOTHING_block, 2 },
|
||||
{ 28, TO_ALL, NOTHING_block, 29 },
|
||||
{ 29, TO_ALL, NOTHING_block, 30 },
|
||||
{ 30, TO_ALL, NOTHING_block, 31 },
|
||||
{ 31, TO_ALL, NOTHING_block, 32 },
|
||||
{ 32, TO_ALL, NOTHING_block, 25 },
|
||||
{ MAX_ELEMENTS, TO_ALL, 0, 0 } // end marker. DO NOT REMOVE
|
||||
};
|
||||
|
||||
#endif /* AIRPORT_MOVEMENT_H */
|
||||
|
||||
@@ -741,7 +741,7 @@ static const PalSpriteID * const * const _bridge_sprite_table[MAX_BRIDGES] = {
|
||||
* @param nrd description of the road bridge in query tool
|
||||
*/
|
||||
#define MBR(y, mnl, mxl, p, mxs, spr, plt, dsc, nrl, nrd) \
|
||||
{y, mnl, mxl, p, mxs, spr, plt, dsc, { nrl, nrd }, NULL, 0}
|
||||
{y, mnl, mxl, p, mxs, spr, plt, dsc, { nrl, nrd }, nullptr, 0}
|
||||
|
||||
const BridgeSpec _orig_bridge[] = {
|
||||
/*
|
||||
|
||||
+128
-194
File diff suppressed because it is too large
Load Diff
@@ -11,7 +11,7 @@
|
||||
|
||||
/** Construction macro for a #CargoSpec structure. */
|
||||
#define MK(bt, label, c, e, f, g, h, fr, te, ks1, ks2, ks3, ks4, ks5, l, m, cmult) \
|
||||
{bt, label, c, c, e, cmult, f, {g, h}, fr, te, 0, 0, ks1, ks2, ks3, ks4, ks5, l, m, NULL, NULL, 0}
|
||||
{bt, label, c, c, e, cmult, f, {g, h}, fr, te, 0, 0, ks1, ks2, ks3, ks4, ks5, l, m, nullptr, nullptr, 0}
|
||||
/** Cargo types available by default. */
|
||||
static const CargoSpec _default_cargo[] = {
|
||||
MK( 0, 'PASS', 152, 1, 3185, 0, 24, false, TE_PASSENGERS,
|
||||
|
||||
@@ -29,8 +29,8 @@ interval = 0
|
||||
str = STR_NULL
|
||||
strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT
|
||||
strval = STR_NULL
|
||||
proc = NULL
|
||||
load = NULL
|
||||
proc = nullptr
|
||||
load = nullptr
|
||||
from = SL_MIN_VERSION
|
||||
to = SL_MAX_VERSION
|
||||
cat = SC_ADVANCED
|
||||
|
||||
@@ -18,13 +18,13 @@ SDT_END = SDT_END()
|
||||
|
||||
[defaults]
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
guiflags = 0
|
||||
guiflags = SGF_NONE
|
||||
interval = 0
|
||||
str = STR_NULL
|
||||
strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT
|
||||
strval = STR_NULL
|
||||
proc = NULL
|
||||
load = NULL
|
||||
proc = nullptr
|
||||
load = nullptr
|
||||
from = SL_MIN_VERSION
|
||||
to = SL_MAX_VERSION
|
||||
cat = SC_ADVANCED
|
||||
@@ -57,7 +57,7 @@ max = MAX_YEAR
|
||||
base = CurrencySpec
|
||||
var = prefix
|
||||
type = SLE_STRBQ
|
||||
def = NULL
|
||||
def = nullptr
|
||||
|
||||
[SDT_STR]
|
||||
base = CurrencySpec
|
||||
|
||||
@@ -412,7 +412,7 @@ static const SortableSpriteStruct RailCatenarySpriteData_Tunnel[] = {
|
||||
* Identifiers for Wires:
|
||||
* <ol><li>Direction of the wire</li>
|
||||
* <li>Slope of the tile for diagonals, placement inside the track for horiz/vertical pieces</li>
|
||||
* <li>Place where a pylon shoule be</li></ol>
|
||||
* <li>Place where a pylon should be</li></ol>
|
||||
* Identifiers for Pylons:
|
||||
* <ol><li>Direction of the wire</li>
|
||||
* <li>Slope of the tile</li>
|
||||
|
||||
+2
-2
@@ -388,7 +388,7 @@ static const EngineInfo _orig_engine_info[] = {
|
||||
* Tractive effort coefficient by default is the same as TTDPatch, 0.30*256=76
|
||||
* Air drag value depends on the top speed of the vehicle.
|
||||
*/
|
||||
#define RVI(a, b, c, d, e, f, g, h, i, j, k) { a, b, c, {j}, d, e, f, g, h, k, i, 0, 0, 0, VE_DEFAULT, 0, 76, 0, 0 }
|
||||
#define RVI(a, b, c, d, e, f, g, h, i, j, k) { a, b, c, j, d, e, f, g, h, k, i, 0, 0, 0, VE_DEFAULT, 0, 76, 0, 0 }
|
||||
#define M RAILVEH_MULTIHEAD
|
||||
#define W RAILVEH_WAGON
|
||||
#define G RAILVEH_SINGLEHEAD
|
||||
@@ -669,7 +669,7 @@ static const AircraftVehicleInfo _orig_aircraft_vehicle_info[] = {
|
||||
* Tractive effort coefficient by default is the same as TTDPatch, 0.30*256=76
|
||||
* Air drag value depends on the top speed of the vehicle.
|
||||
*/
|
||||
#define ROV(a, b, c, d, e, f, g, h) { a, b, c, PR_RUNNING_ROADVEH, d, e, f, g, h, 76, 0, VE_DEFAULT, 0 }
|
||||
#define ROV(a, b, c, d, e, f, g, h) { a, b, c, PR_RUNNING_ROADVEH, d, e, f, g, h, 76, 0, VE_DEFAULT, 0, ROADTYPE_ROAD }
|
||||
static const RoadVehicleInfo _orig_road_vehicle_info[] = {
|
||||
/* image_index sfx max_speed power
|
||||
* | cost_factor | | capacity |
|
||||
|
||||
@@ -12,7 +12,7 @@ static uint16 _old_diff_custom[GAME_DIFFICULTY_NUM];
|
||||
uint8 _old_diff_level; ///< Old difficulty level from old savegames
|
||||
uint8 _old_units; ///< Old units from old savegames
|
||||
|
||||
/* Most of these strings are used both for gameopt-backward compatability
|
||||
/* Most of these strings are used both for gameopt-backward compatibility
|
||||
* and the settings tables. The rest is here for consistency. */
|
||||
static const char *_locale_currencies = "GBP|USD|EUR|YEN|ATS|BEF|CHF|CZK|DEM|DKK|ESP|FIM|FRF|GRD|HUF|ISK|ITL|NLG|NOK|PLN|RON|RUR|SIT|SEK|YTL|SKK|BRL|EEK|custom";
|
||||
static const char *_locale_units = "imperial|metric|si";
|
||||
@@ -21,9 +21,7 @@ static const char *_climates = "temperate|arctic|tropic|toyland";
|
||||
static const char *_autosave_interval = "off|monthly|quarterly|half year|yearly";
|
||||
static const char *_roadsides = "left|right";
|
||||
static const char *_savegame_date = "long|short|iso";
|
||||
#ifdef ENABLE_NETWORK
|
||||
static const char *_server_langs = "ANY|ENGLISH|GERMAN|FRENCH|BRAZILIAN|BULGARIAN|CHINESE|CZECH|DANISH|DUTCH|ESPERANTO|FINNISH|HUNGARIAN|ICELANDIC|ITALIAN|JAPANESE|KOREAN|LITHUANIAN|NORWEGIAN|POLISH|PORTUGUESE|ROMANIAN|RUSSIAN|SLOVAK|SLOVENIAN|SPANISH|SWEDISH|TURKISH|UKRAINIAN|AFRIKAANS|CROATIAN|CATALAN|ESTONIAN|GALICIAN|GREEK|LATVIAN";
|
||||
#endif /* ENABLE_NETWORK */
|
||||
static const char *_osk_activation = "disabled|double|single|immediately";
|
||||
static const char *_settings_profiles = "easy|medium|hard";
|
||||
static const char *_news_display = "off|summarized|full";
|
||||
@@ -52,13 +50,13 @@ SDT_END = SDT_END()
|
||||
|
||||
[defaults]
|
||||
flags = 0
|
||||
guiflags = 0
|
||||
guiflags = SGF_NONE
|
||||
interval = 0
|
||||
str = STR_NULL
|
||||
strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT
|
||||
strval = STR_NULL
|
||||
proc = NULL
|
||||
load = NULL
|
||||
proc = nullptr
|
||||
load = nullptr
|
||||
from = SL_MIN_VERSION
|
||||
to = SL_MAX_VERSION
|
||||
cat = SC_ADVANCED
|
||||
@@ -76,7 +74,7 @@ length = 17
|
||||
def = 0
|
||||
min = 0
|
||||
max = 0
|
||||
full = NULL
|
||||
full = nullptr
|
||||
to = SLV_4
|
||||
|
||||
[SDTG_GENERAL]
|
||||
@@ -90,7 +88,7 @@ length = 18
|
||||
def = 0
|
||||
min = 0
|
||||
max = 0
|
||||
full = NULL
|
||||
full = nullptr
|
||||
from = SLV_4
|
||||
|
||||
##
|
||||
|
||||
+31
-31
@@ -25,13 +25,13 @@ SDTG_END = SDTG_END()
|
||||
|
||||
[defaults]
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
guiflags = 0
|
||||
guiflags = SGF_NONE
|
||||
interval = 0
|
||||
str = STR_NULL
|
||||
strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT
|
||||
strval = STR_NULL
|
||||
proc = NULL
|
||||
load = NULL
|
||||
proc = nullptr
|
||||
load = nullptr
|
||||
from = SL_MIN_VERSION
|
||||
to = SL_MAX_VERSION
|
||||
cat = SC_ADVANCED
|
||||
@@ -64,55 +64,55 @@ cat = SC_BASIC
|
||||
name = ""graphicsset""
|
||||
type = SLE_STRQ
|
||||
var = BaseGraphics::ini_set
|
||||
def = NULL
|
||||
def = nullptr
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDTG_STR]
|
||||
name = ""soundsset""
|
||||
type = SLE_STRQ
|
||||
var = BaseSounds::ini_set
|
||||
def = NULL
|
||||
def = nullptr
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDTG_STR]
|
||||
name = ""musicset""
|
||||
type = SLE_STRQ
|
||||
var = BaseMusic::ini_set
|
||||
def = NULL
|
||||
def = nullptr
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDTG_STR]
|
||||
name = ""videodriver""
|
||||
type = SLE_STRQ
|
||||
var = _ini_videodriver
|
||||
def = NULL
|
||||
def = nullptr
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTG_STR]
|
||||
name = ""musicdriver""
|
||||
type = SLE_STRQ
|
||||
var = _ini_musicdriver
|
||||
def = NULL
|
||||
def = nullptr
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTG_STR]
|
||||
name = ""sounddriver""
|
||||
type = SLE_STRQ
|
||||
var = _ini_sounddriver
|
||||
def = NULL
|
||||
def = nullptr
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTG_STR]
|
||||
name = ""blitter""
|
||||
type = SLE_STRQ
|
||||
var = _ini_blitter
|
||||
def = NULL
|
||||
def = nullptr
|
||||
|
||||
[SDTG_STR]
|
||||
name = ""language""
|
||||
type = SLE_STRB
|
||||
var = _config_language_file
|
||||
def = NULL
|
||||
def = nullptr
|
||||
cat = SC_BASIC
|
||||
|
||||
; workaround for implicit lengthof() in SDTG_LIST
|
||||
@@ -128,14 +128,14 @@ cat = SC_BASIC
|
||||
name = ""screenshot_format""
|
||||
type = SLE_STRB
|
||||
var = _screenshot_format_name
|
||||
def = NULL
|
||||
def = nullptr
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTG_STR]
|
||||
name = ""savegame_format""
|
||||
type = SLE_STRB
|
||||
var = _savegame_format
|
||||
def = NULL
|
||||
def = nullptr
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTG_BOOL]
|
||||
@@ -144,35 +144,35 @@ var = _rightclick_emulate
|
||||
def = false
|
||||
|
||||
[SDTG_STR]
|
||||
ifdef = WITH_FREETYPE
|
||||
ifdef = HAS_TRUETYPE_FONT
|
||||
name = ""small_font""
|
||||
type = SLE_STRB
|
||||
var = _freetype.small.font
|
||||
def = NULL
|
||||
def = nullptr
|
||||
|
||||
[SDTG_STR]
|
||||
ifdef = WITH_FREETYPE
|
||||
ifdef = HAS_TRUETYPE_FONT
|
||||
name = ""medium_font""
|
||||
type = SLE_STRB
|
||||
var = _freetype.medium.font
|
||||
def = NULL
|
||||
def = nullptr
|
||||
|
||||
[SDTG_STR]
|
||||
ifdef = WITH_FREETYPE
|
||||
ifdef = HAS_TRUETYPE_FONT
|
||||
name = ""large_font""
|
||||
type = SLE_STRB
|
||||
var = _freetype.large.font
|
||||
def = NULL
|
||||
def = nullptr
|
||||
|
||||
[SDTG_STR]
|
||||
ifdef = WITH_FREETYPE
|
||||
ifdef = HAS_TRUETYPE_FONT
|
||||
name = ""mono_font""
|
||||
type = SLE_STRB
|
||||
var = _freetype.mono.font
|
||||
def = NULL
|
||||
def = nullptr
|
||||
|
||||
[SDTG_VAR]
|
||||
ifdef = WITH_FREETYPE
|
||||
ifdef = HAS_TRUETYPE_FONT
|
||||
name = ""small_size""
|
||||
type = SLE_UINT
|
||||
var = _freetype.small.size
|
||||
@@ -181,7 +181,7 @@ min = 0
|
||||
max = 72
|
||||
|
||||
[SDTG_VAR]
|
||||
ifdef = WITH_FREETYPE
|
||||
ifdef = HAS_TRUETYPE_FONT
|
||||
name = ""medium_size""
|
||||
type = SLE_UINT
|
||||
var = _freetype.medium.size
|
||||
@@ -190,7 +190,7 @@ min = 0
|
||||
max = 72
|
||||
|
||||
[SDTG_VAR]
|
||||
ifdef = WITH_FREETYPE
|
||||
ifdef = HAS_TRUETYPE_FONT
|
||||
name = ""large_size""
|
||||
type = SLE_UINT
|
||||
var = _freetype.large.size
|
||||
@@ -199,7 +199,7 @@ min = 0
|
||||
max = 72
|
||||
|
||||
[SDTG_VAR]
|
||||
ifdef = WITH_FREETYPE
|
||||
ifdef = HAS_TRUETYPE_FONT
|
||||
name = ""mono_size""
|
||||
type = SLE_UINT
|
||||
var = _freetype.mono.size
|
||||
@@ -208,25 +208,25 @@ min = 0
|
||||
max = 72
|
||||
|
||||
[SDTG_BOOL]
|
||||
ifdef = WITH_FREETYPE
|
||||
ifdef = HAS_TRUETYPE_FONT
|
||||
name = ""small_aa""
|
||||
var = _freetype.small.aa
|
||||
def = false
|
||||
|
||||
[SDTG_BOOL]
|
||||
ifdef = WITH_FREETYPE
|
||||
ifdef = HAS_TRUETYPE_FONT
|
||||
name = ""medium_aa""
|
||||
var = _freetype.medium.aa
|
||||
def = false
|
||||
|
||||
[SDTG_BOOL]
|
||||
ifdef = WITH_FREETYPE
|
||||
ifdef = HAS_TRUETYPE_FONT
|
||||
name = ""large_aa""
|
||||
var = _freetype.large.aa
|
||||
def = false
|
||||
|
||||
[SDTG_BOOL]
|
||||
ifdef = WITH_FREETYPE
|
||||
ifdef = HAS_TRUETYPE_FONT
|
||||
name = ""mono_aa""
|
||||
var = _freetype.mono.aa
|
||||
def = false
|
||||
@@ -280,14 +280,14 @@ cat = SC_BASIC
|
||||
name = ""keyboard""
|
||||
type = SLE_STRB
|
||||
var = _keyboard_opt[0]
|
||||
def = NULL
|
||||
def = nullptr
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTG_STR]
|
||||
name = ""keyboard_caps""
|
||||
type = SLE_STRB
|
||||
var = _keyboard_opt[1]
|
||||
def = NULL
|
||||
def = nullptr
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTG_VAR]
|
||||
|
||||
+138
-93
@@ -11,18 +11,19 @@
|
||||
|
||||
#include "../newgrf_house.h"
|
||||
#include "../newgrf_engine.h"
|
||||
#include "../newgrf_roadtype.h"
|
||||
|
||||
/* Helper for filling property tables */
|
||||
#define NIP(prop, base, variable, type, name) { name, (ptrdiff_t)cpp_offsetof(base, variable), cpp_sizeof(base, variable), prop, type }
|
||||
#define NIP_END() { NULL, 0, 0, 0, 0 }
|
||||
#define NIP_END() { nullptr, 0, 0, 0, 0 }
|
||||
|
||||
/* Helper for filling callback tables */
|
||||
#define NIC(cb_id, base, variable, bit) { #cb_id, (ptrdiff_t)cpp_offsetof(base, variable), cpp_sizeof(base, variable), bit, cb_id }
|
||||
#define NIC_END() { NULL, 0, 0, 0, 0 }
|
||||
#define NIC_END() { nullptr, 0, 0, 0, 0 }
|
||||
|
||||
/* Helper for filling variable tables */
|
||||
#define NIV(var, name) { name, var }
|
||||
#define NIV_END() { NULL, 0 }
|
||||
#define NIV_END() { nullptr, 0 }
|
||||
|
||||
|
||||
/*** NewGRF Vehicles ***/
|
||||
@@ -58,7 +59,7 @@ static const NIVariable _niv_vehicles[] = {
|
||||
NIV(0x47, "vehicle cargo info"),
|
||||
NIV(0x48, "vehicle type info"),
|
||||
NIV(0x49, "year of construction"),
|
||||
NIV(0x4A, "current rail type info"),
|
||||
NIV(0x4A, "current rail/road type info"),
|
||||
NIV(0x4B, "long date of last service"),
|
||||
NIV(0x4C, "current max speed"),
|
||||
NIV(0x4D, "position in articulated vehicle"),
|
||||
@@ -69,14 +70,14 @@ static const NIVariable _niv_vehicles[] = {
|
||||
};
|
||||
|
||||
class NIHVehicle : public NIHelper {
|
||||
bool IsInspectable(uint index) const { return Vehicle::Get(index)->GetGRF() != NULL; }
|
||||
uint GetParent(uint index) const { const Vehicle *first = Vehicle::Get(index)->First(); return GetInspectWindowNumber(GetGrfSpecFeature(first->type), first->index); }
|
||||
const void *GetInstance(uint index)const { return Vehicle::Get(index); }
|
||||
const void *GetSpec(uint index) const { return Vehicle::Get(index)->GetEngine(); }
|
||||
void SetStringParameters(uint index) const { this->SetSimpleStringParameters(STR_VEHICLE_NAME, index); }
|
||||
uint32 GetGRFID(uint index) const { return Vehicle::Get(index)->GetGRFID(); }
|
||||
bool IsInspectable(uint index) const override { return Vehicle::Get(index)->GetGRF() != nullptr; }
|
||||
uint GetParent(uint index) const override { const Vehicle *first = Vehicle::Get(index)->First(); return GetInspectWindowNumber(GetGrfSpecFeature(first->type), first->index); }
|
||||
const void *GetInstance(uint index)const override { return Vehicle::Get(index); }
|
||||
const void *GetSpec(uint index) const override { return Vehicle::Get(index)->GetEngine(); }
|
||||
void SetStringParameters(uint index) const override { this->SetSimpleStringParameters(STR_VEHICLE_NAME, index); }
|
||||
uint32 GetGRFID(uint index) const override { return Vehicle::Get(index)->GetGRFID(); }
|
||||
|
||||
/* virtual */ uint Resolve(uint index, uint var, uint param, bool *avail) const
|
||||
uint Resolve(uint index, uint var, uint param, bool *avail) const override
|
||||
{
|
||||
Vehicle *v = Vehicle::Get(index);
|
||||
VehicleResolverObject ro(v->engine_type, v, VehicleResolverObject::WO_CACHED);
|
||||
@@ -85,7 +86,7 @@ class NIHVehicle : public NIHelper {
|
||||
};
|
||||
|
||||
static const NIFeature _nif_vehicle = {
|
||||
NULL,
|
||||
nullptr,
|
||||
_nic_vehicles,
|
||||
_niv_vehicles,
|
||||
new NIHVehicle(),
|
||||
@@ -132,14 +133,14 @@ static const NIVariable _niv_stations[] = {
|
||||
};
|
||||
|
||||
class NIHStation : public NIHelper {
|
||||
bool IsInspectable(uint index) const { return GetStationSpec(index) != NULL; }
|
||||
uint GetParent(uint index) const { return GetInspectWindowNumber(GSF_FAKE_TOWNS, Station::GetByTile(index)->town->index); }
|
||||
const void *GetInstance(uint index)const { return NULL; }
|
||||
const void *GetSpec(uint index) const { return GetStationSpec(index); }
|
||||
void SetStringParameters(uint index) const { this->SetObjectAtStringParameters(STR_STATION_NAME, GetStationIndex(index), index); }
|
||||
uint32 GetGRFID(uint index) const { return (this->IsInspectable(index)) ? GetStationSpec(index)->grf_prop.grffile->grfid : 0; }
|
||||
bool IsInspectable(uint index) const override { return GetStationSpec(index) != nullptr; }
|
||||
uint GetParent(uint index) const override { return GetInspectWindowNumber(GSF_FAKE_TOWNS, Station::GetByTile(index)->town->index); }
|
||||
const void *GetInstance(uint index)const override { return nullptr; }
|
||||
const void *GetSpec(uint index) const override { return GetStationSpec(index); }
|
||||
void SetStringParameters(uint index) const override { this->SetObjectAtStringParameters(STR_STATION_NAME, GetStationIndex(index), index); }
|
||||
uint32 GetGRFID(uint index) const override { return (this->IsInspectable(index)) ? GetStationSpec(index)->grf_prop.grffile->grfid : 0; }
|
||||
|
||||
/* virtual */ uint Resolve(uint index, uint var, uint param, bool *avail) const
|
||||
uint Resolve(uint index, uint var, uint param, bool *avail) const override
|
||||
{
|
||||
StationResolverObject ro(GetStationSpec(index), Station::GetByTile(index), index);
|
||||
return ro.GetScope(VSG_SCOPE_SELF)->GetVariable(var, param, avail);
|
||||
@@ -147,7 +148,7 @@ class NIHStation : public NIHelper {
|
||||
};
|
||||
|
||||
static const NIFeature _nif_station = {
|
||||
NULL,
|
||||
nullptr,
|
||||
_nic_stations,
|
||||
_niv_stations,
|
||||
new NIHStation(),
|
||||
@@ -197,14 +198,14 @@ static const NIVariable _niv_house[] = {
|
||||
};
|
||||
|
||||
class NIHHouse : public NIHelper {
|
||||
bool IsInspectable(uint index) const { return HouseSpec::Get(GetHouseType(index))->grf_prop.grffile != NULL; }
|
||||
uint GetParent(uint index) const { return GetInspectWindowNumber(GSF_FAKE_TOWNS, GetTownIndex(index)); }
|
||||
const void *GetInstance(uint index)const { return NULL; }
|
||||
const void *GetSpec(uint index) const { return HouseSpec::Get(GetHouseType(index)); }
|
||||
void SetStringParameters(uint index) const { this->SetObjectAtStringParameters(STR_TOWN_NAME, GetTownIndex(index), index); }
|
||||
uint32 GetGRFID(uint index) const { return (this->IsInspectable(index)) ? HouseSpec::Get(GetHouseType(index))->grf_prop.grffile->grfid : 0; }
|
||||
bool IsInspectable(uint index) const override { return HouseSpec::Get(GetHouseType(index))->grf_prop.grffile != nullptr; }
|
||||
uint GetParent(uint index) const override { return GetInspectWindowNumber(GSF_FAKE_TOWNS, GetTownIndex(index)); }
|
||||
const void *GetInstance(uint index)const override { return nullptr; }
|
||||
const void *GetSpec(uint index) const override { return HouseSpec::Get(GetHouseType(index)); }
|
||||
void SetStringParameters(uint index) const override { this->SetObjectAtStringParameters(STR_TOWN_NAME, GetTownIndex(index), index); }
|
||||
uint32 GetGRFID(uint index) const override { return (this->IsInspectable(index)) ? HouseSpec::Get(GetHouseType(index))->grf_prop.grffile->grfid : 0; }
|
||||
|
||||
/* virtual */ uint Resolve(uint index, uint var, uint param, bool *avail) const
|
||||
uint Resolve(uint index, uint var, uint param, bool *avail) const override
|
||||
{
|
||||
HouseResolverObject ro(GetHouseType(index), index, Town::GetByTile(index));
|
||||
return ro.GetScope(VSG_SCOPE_SELF)->GetVariable(var, param, avail);
|
||||
@@ -212,7 +213,7 @@ class NIHHouse : public NIHelper {
|
||||
};
|
||||
|
||||
static const NIFeature _nif_house = {
|
||||
NULL,
|
||||
nullptr,
|
||||
_nic_house,
|
||||
_niv_house,
|
||||
new NIHHouse(),
|
||||
@@ -247,14 +248,14 @@ static const NIVariable _niv_industrytiles[] = {
|
||||
};
|
||||
|
||||
class NIHIndustryTile : public NIHelper {
|
||||
bool IsInspectable(uint index) const { return GetIndustryTileSpec(GetIndustryGfx(index))->grf_prop.grffile != NULL; }
|
||||
uint GetParent(uint index) const { return GetInspectWindowNumber(GSF_INDUSTRIES, GetIndustryIndex(index)); }
|
||||
const void *GetInstance(uint index)const { return NULL; }
|
||||
const void *GetSpec(uint index) const { return GetIndustryTileSpec(GetIndustryGfx(index)); }
|
||||
void SetStringParameters(uint index) const { this->SetObjectAtStringParameters(STR_INDUSTRY_NAME, GetIndustryIndex(index), index); }
|
||||
uint32 GetGRFID(uint index) const { return (this->IsInspectable(index)) ? GetIndustryTileSpec(GetIndustryGfx(index))->grf_prop.grffile->grfid : 0; }
|
||||
bool IsInspectable(uint index) const override { return GetIndustryTileSpec(GetIndustryGfx(index))->grf_prop.grffile != nullptr; }
|
||||
uint GetParent(uint index) const override { return GetInspectWindowNumber(GSF_INDUSTRIES, GetIndustryIndex(index)); }
|
||||
const void *GetInstance(uint index)const override { return nullptr; }
|
||||
const void *GetSpec(uint index) const override { return GetIndustryTileSpec(GetIndustryGfx(index)); }
|
||||
void SetStringParameters(uint index) const override { this->SetObjectAtStringParameters(STR_INDUSTRY_NAME, GetIndustryIndex(index), index); }
|
||||
uint32 GetGRFID(uint index) const override { return (this->IsInspectable(index)) ? GetIndustryTileSpec(GetIndustryGfx(index))->grf_prop.grffile->grfid : 0; }
|
||||
|
||||
/* virtual */ uint Resolve(uint index, uint var, uint param, bool *avail) const
|
||||
uint Resolve(uint index, uint var, uint param, bool *avail) const override
|
||||
{
|
||||
IndustryTileResolverObject ro(GetIndustryGfx(index), index, Industry::GetByTile(index));
|
||||
return ro.GetScope(VSG_SCOPE_SELF)->GetVariable(var, param, avail);
|
||||
@@ -262,7 +263,7 @@ class NIHIndustryTile : public NIHelper {
|
||||
};
|
||||
|
||||
static const NIFeature _nif_industrytile = {
|
||||
NULL,
|
||||
nullptr,
|
||||
_nic_industrytiles,
|
||||
_niv_industrytiles,
|
||||
new NIHIndustryTile(),
|
||||
@@ -346,26 +347,26 @@ static const NIVariable _niv_industries[] = {
|
||||
};
|
||||
|
||||
class NIHIndustry : public NIHelper {
|
||||
bool IsInspectable(uint index) const { return GetIndustrySpec(Industry::Get(index)->type)->grf_prop.grffile != NULL; }
|
||||
uint GetParent(uint index) const { return GetInspectWindowNumber(GSF_FAKE_TOWNS, Industry::Get(index)->town->index); }
|
||||
const void *GetInstance(uint index)const { return Industry::Get(index); }
|
||||
const void *GetSpec(uint index) const { return GetIndustrySpec(Industry::Get(index)->type); }
|
||||
void SetStringParameters(uint index) const { this->SetSimpleStringParameters(STR_INDUSTRY_NAME, index); }
|
||||
uint32 GetGRFID(uint index) const { return (this->IsInspectable(index)) ? GetIndustrySpec(Industry::Get(index)->type)->grf_prop.grffile->grfid : 0; }
|
||||
bool IsInspectable(uint index) const override { return GetIndustrySpec(Industry::Get(index)->type)->grf_prop.grffile != nullptr; }
|
||||
uint GetParent(uint index) const override { return GetInspectWindowNumber(GSF_FAKE_TOWNS, Industry::Get(index)->town->index); }
|
||||
const void *GetInstance(uint index)const override { return Industry::Get(index); }
|
||||
const void *GetSpec(uint index) const override { return GetIndustrySpec(Industry::Get(index)->type); }
|
||||
void SetStringParameters(uint index) const override { this->SetSimpleStringParameters(STR_INDUSTRY_NAME, index); }
|
||||
uint32 GetGRFID(uint index) const override { return (this->IsInspectable(index)) ? GetIndustrySpec(Industry::Get(index)->type)->grf_prop.grffile->grfid : 0; }
|
||||
|
||||
/* virtual */ uint Resolve(uint index, uint var, uint param, bool *avail) const
|
||||
uint Resolve(uint index, uint var, uint param, bool *avail) const override
|
||||
{
|
||||
Industry *i = Industry::Get(index);
|
||||
IndustriesResolverObject ro(i->location.tile, i, i->type);
|
||||
return ro.GetScope(VSG_SCOPE_SELF)->GetVariable(var, param, avail);
|
||||
}
|
||||
|
||||
uint GetPSASize(uint index, uint32 grfid) const { return cpp_lengthof(PersistentStorage, storage); }
|
||||
uint GetPSASize(uint index, uint32 grfid) const override { return cpp_lengthof(PersistentStorage, storage); }
|
||||
|
||||
const int32 *GetPSAFirstPosition(uint index, uint32 grfid) const
|
||||
const int32 *GetPSAFirstPosition(uint index, uint32 grfid) const override
|
||||
{
|
||||
const Industry *i = (const Industry *)this->GetInstance(index);
|
||||
if (i->psa == NULL) return NULL;
|
||||
if (i->psa == nullptr) return nullptr;
|
||||
return (int32 *)(&i->psa->storage);
|
||||
}
|
||||
};
|
||||
@@ -411,14 +412,14 @@ static const NIVariable _niv_objects[] = {
|
||||
};
|
||||
|
||||
class NIHObject : public NIHelper {
|
||||
bool IsInspectable(uint index) const { return ObjectSpec::GetByTile(index)->grf_prop.grffile != NULL; }
|
||||
uint GetParent(uint index) const { return GetInspectWindowNumber(GSF_FAKE_TOWNS, Object::GetByTile(index)->town->index); }
|
||||
const void *GetInstance(uint index)const { return Object::GetByTile(index); }
|
||||
const void *GetSpec(uint index) const { return ObjectSpec::GetByTile(index); }
|
||||
void SetStringParameters(uint index) const { this->SetObjectAtStringParameters(STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT, INVALID_STRING_ID, index); }
|
||||
uint32 GetGRFID(uint index) const { return (this->IsInspectable(index)) ? ObjectSpec::GetByTile(index)->grf_prop.grffile->grfid : 0; }
|
||||
bool IsInspectable(uint index) const override { return ObjectSpec::GetByTile(index)->grf_prop.grffile != nullptr; }
|
||||
uint GetParent(uint index) const override { return GetInspectWindowNumber(GSF_FAKE_TOWNS, Object::GetByTile(index)->town->index); }
|
||||
const void *GetInstance(uint index)const override { return Object::GetByTile(index); }
|
||||
const void *GetSpec(uint index) const override { return ObjectSpec::GetByTile(index); }
|
||||
void SetStringParameters(uint index) const override { this->SetObjectAtStringParameters(STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT, INVALID_STRING_ID, index); }
|
||||
uint32 GetGRFID(uint index) const override { return (this->IsInspectable(index)) ? ObjectSpec::GetByTile(index)->grf_prop.grffile->grfid : 0; }
|
||||
|
||||
/* virtual */ uint Resolve(uint index, uint var, uint param, bool *avail) const
|
||||
uint Resolve(uint index, uint var, uint param, bool *avail) const override
|
||||
{
|
||||
ObjectResolverObject ro(ObjectSpec::GetByTile(index), Object::GetByTile(index), index);
|
||||
return ro.GetScope(VSG_SCOPE_SELF)->GetVariable(var, param, avail);
|
||||
@@ -426,7 +427,7 @@ class NIHObject : public NIHelper {
|
||||
};
|
||||
|
||||
static const NIFeature _nif_object = {
|
||||
NULL,
|
||||
nullptr,
|
||||
_nic_objects,
|
||||
_niv_objects,
|
||||
new NIHObject(),
|
||||
@@ -445,25 +446,25 @@ static const NIVariable _niv_railtypes[] = {
|
||||
};
|
||||
|
||||
class NIHRailType : public NIHelper {
|
||||
bool IsInspectable(uint index) const { return true; }
|
||||
uint GetParent(uint index) const { return UINT32_MAX; }
|
||||
const void *GetInstance(uint index)const { return NULL; }
|
||||
const void *GetSpec(uint index) const { return NULL; }
|
||||
void SetStringParameters(uint index) const { this->SetObjectAtStringParameters(STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE, INVALID_STRING_ID, index); }
|
||||
uint32 GetGRFID(uint index) const { return 0; }
|
||||
bool IsInspectable(uint index) const override { return true; }
|
||||
uint GetParent(uint index) const override { return UINT32_MAX; }
|
||||
const void *GetInstance(uint index)const override { return nullptr; }
|
||||
const void *GetSpec(uint index) const override { return nullptr; }
|
||||
void SetStringParameters(uint index) const override { this->SetObjectAtStringParameters(STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE, INVALID_STRING_ID, index); }
|
||||
uint32 GetGRFID(uint index) const override { return 0; }
|
||||
|
||||
/* virtual */ uint Resolve(uint index, uint var, uint param, bool *avail) const
|
||||
uint Resolve(uint index, uint var, uint param, bool *avail) const override
|
||||
{
|
||||
/* There is no unique GRFFile for the tile. Multiple GRFs can define different parts of the railtype.
|
||||
* However, currently the NewGRF Debug GUI does not display variables depending on the GRF (like 0x7F) anyway. */
|
||||
RailTypeResolverObject ro(NULL, index, TCX_NORMAL, RTSG_END);
|
||||
RailTypeResolverObject ro(nullptr, index, TCX_NORMAL, RTSG_END);
|
||||
return ro.GetScope(VSG_SCOPE_SELF)->GetVariable(var, param, avail);
|
||||
}
|
||||
};
|
||||
|
||||
static const NIFeature _nif_railtype = {
|
||||
NULL,
|
||||
NULL,
|
||||
nullptr,
|
||||
nullptr,
|
||||
_niv_railtypes,
|
||||
new NIHRailType(),
|
||||
};
|
||||
@@ -481,14 +482,14 @@ static const NICallback _nic_airporttiles[] = {
|
||||
};
|
||||
|
||||
class NIHAirportTile : public NIHelper {
|
||||
bool IsInspectable(uint index) const { return AirportTileSpec::Get(GetAirportGfx(index))->grf_prop.grffile != NULL; }
|
||||
uint GetParent(uint index) const { return GetInspectWindowNumber(GSF_FAKE_TOWNS, Station::GetByTile(index)->town->index); }
|
||||
const void *GetInstance(uint index)const { return NULL; }
|
||||
const void *GetSpec(uint index) const { return AirportTileSpec::Get(GetAirportGfx(index)); }
|
||||
void SetStringParameters(uint index) const { this->SetObjectAtStringParameters(STR_STATION_NAME, GetStationIndex(index), index); }
|
||||
uint32 GetGRFID(uint index) const { return (this->IsInspectable(index)) ? AirportTileSpec::Get(GetAirportGfx(index))->grf_prop.grffile->grfid : 0; }
|
||||
bool IsInspectable(uint index) const override { return AirportTileSpec::Get(GetAirportGfx(index))->grf_prop.grffile != nullptr; }
|
||||
uint GetParent(uint index) const override { return GetInspectWindowNumber(GSF_FAKE_TOWNS, Station::GetByTile(index)->town->index); }
|
||||
const void *GetInstance(uint index)const override { return nullptr; }
|
||||
const void *GetSpec(uint index) const override { return AirportTileSpec::Get(GetAirportGfx(index)); }
|
||||
void SetStringParameters(uint index) const override { this->SetObjectAtStringParameters(STR_STATION_NAME, GetStationIndex(index), index); }
|
||||
uint32 GetGRFID(uint index) const override { return (this->IsInspectable(index)) ? AirportTileSpec::Get(GetAirportGfx(index))->grf_prop.grffile->grfid : 0; }
|
||||
|
||||
/* virtual */ uint Resolve(uint index, uint var, uint param, bool *avail) const
|
||||
uint Resolve(uint index, uint var, uint param, bool *avail) const override
|
||||
{
|
||||
AirportTileResolverObject ro(AirportTileSpec::GetByTile(index), index, Station::GetByTile(index));
|
||||
return ro.GetScope(VSG_SCOPE_SELF)->GetVariable(var, param, avail);
|
||||
@@ -496,7 +497,7 @@ class NIHAirportTile : public NIHelper {
|
||||
};
|
||||
|
||||
static const NIFeature _nif_airporttile = {
|
||||
NULL,
|
||||
nullptr,
|
||||
_nic_airporttiles,
|
||||
_niv_industrytiles, // Yes, they share this (at least now)
|
||||
new NIHAirportTile(),
|
||||
@@ -519,22 +520,22 @@ static const NIVariable _niv_towns[] = {
|
||||
};
|
||||
|
||||
class NIHTown : public NIHelper {
|
||||
bool IsInspectable(uint index) const { return Town::IsValidID(index); }
|
||||
uint GetParent(uint index) const { return UINT32_MAX; }
|
||||
const void *GetInstance(uint index)const { return Town::Get(index); }
|
||||
const void *GetSpec(uint index) const { return NULL; }
|
||||
void SetStringParameters(uint index) const { this->SetSimpleStringParameters(STR_TOWN_NAME, index); }
|
||||
uint32 GetGRFID(uint index) const { return 0; }
|
||||
bool PSAWithParameter() const { return true; }
|
||||
uint GetPSASize(uint index, uint32 grfid) const { return cpp_lengthof(PersistentStorage, storage); }
|
||||
bool IsInspectable(uint index) const override { return Town::IsValidID(index); }
|
||||
uint GetParent(uint index) const override { return UINT32_MAX; }
|
||||
const void *GetInstance(uint index)const override { return Town::Get(index); }
|
||||
const void *GetSpec(uint index) const override { return nullptr; }
|
||||
void SetStringParameters(uint index) const override { this->SetSimpleStringParameters(STR_TOWN_NAME, index); }
|
||||
uint32 GetGRFID(uint index) const override { return 0; }
|
||||
bool PSAWithParameter() const override { return true; }
|
||||
uint GetPSASize(uint index, uint32 grfid) const override { return cpp_lengthof(PersistentStorage, storage); }
|
||||
|
||||
/* virtual */ uint Resolve(uint index, uint var, uint param, bool *avail) const
|
||||
uint Resolve(uint index, uint var, uint param, bool *avail) const override
|
||||
{
|
||||
TownResolverObject ro(NULL, Town::Get(index), true);
|
||||
TownResolverObject ro(nullptr, Town::Get(index), true);
|
||||
return ro.GetScope(VSG_SCOPE_SELF)->GetVariable(var, param, avail);
|
||||
}
|
||||
|
||||
const int32 *GetPSAFirstPosition(uint index, uint32 grfid) const
|
||||
const int32 *GetPSAFirstPosition(uint index, uint32 grfid) const override
|
||||
{
|
||||
Town *t = Town::Get(index);
|
||||
|
||||
@@ -543,17 +544,59 @@ class NIHTown : public NIHelper {
|
||||
if ((*iter)->grfid == grfid) return (int32 *)(&(*iter)->storage[0]);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
};
|
||||
|
||||
static const NIFeature _nif_town = {
|
||||
NULL,
|
||||
NULL,
|
||||
nullptr,
|
||||
nullptr,
|
||||
_niv_towns,
|
||||
new NIHTown(),
|
||||
};
|
||||
|
||||
/*** NewGRF road types ***/
|
||||
|
||||
static const NIVariable _niv_roadtypes[] = {
|
||||
NIV(0x40, "terrain type"),
|
||||
NIV(0x41, "enhanced tunnels"),
|
||||
NIV(0x42, "level crossing status"),
|
||||
NIV(0x43, "construction date"),
|
||||
NIV(0x44, "town zone"),
|
||||
NIV_END()
|
||||
};
|
||||
|
||||
class NIHRoadType : public NIHelper {
|
||||
bool IsInspectable(uint index) const override { return true; }
|
||||
uint GetParent(uint index) const override { return UINT32_MAX; }
|
||||
const void *GetInstance(uint index) const override { return nullptr; }
|
||||
const void *GetSpec(uint index) const override { return nullptr; }
|
||||
void SetStringParameters(uint index) const override { this->SetObjectAtStringParameters(STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_RAIL_TYPE, INVALID_STRING_ID, index); }
|
||||
uint32 GetGRFID(uint index) const override { return 0; }
|
||||
|
||||
uint Resolve(uint index, uint var, uint param, bool *avail) const override
|
||||
{
|
||||
/* There is no unique GRFFile for the tile. Multiple GRFs can define different parts of the railtype.
|
||||
* However, currently the NewGRF Debug GUI does not display variables depending on the GRF (like 0x7F) anyway. */
|
||||
RoadTypeResolverObject ro(nullptr, index, TCX_NORMAL, ROTSG_END);
|
||||
return ro.GetScope(VSG_SCOPE_SELF)->GetVariable(var, param, avail);
|
||||
}
|
||||
};
|
||||
|
||||
static const NIFeature _nif_roadtype = {
|
||||
nullptr,
|
||||
nullptr,
|
||||
_niv_roadtypes,
|
||||
new NIHRoadType(),
|
||||
};
|
||||
|
||||
static const NIFeature _nif_tramtype = {
|
||||
nullptr,
|
||||
nullptr,
|
||||
_niv_roadtypes,
|
||||
new NIHRoadType(),
|
||||
};
|
||||
|
||||
/** Table with all NIFeatures. */
|
||||
static const NIFeature * const _nifeatures[] = {
|
||||
&_nif_vehicle, // GSF_TRAINS
|
||||
@@ -561,19 +604,21 @@ static const NIFeature * const _nifeatures[] = {
|
||||
&_nif_vehicle, // GSF_SHIPS
|
||||
&_nif_vehicle, // GSF_AIRCRAFT
|
||||
&_nif_station, // GSF_STATIONS
|
||||
NULL, // GSF_CANALS (no callbacks/action2 implemented)
|
||||
NULL, // GSF_BRIDGES (no callbacks/action2)
|
||||
nullptr, // GSF_CANALS (no callbacks/action2 implemented)
|
||||
nullptr, // GSF_BRIDGES (no callbacks/action2)
|
||||
&_nif_house, // GSF_HOUSES
|
||||
NULL, // GSF_GLOBALVAR (has no "physical" objects)
|
||||
nullptr, // GSF_GLOBALVAR (has no "physical" objects)
|
||||
&_nif_industrytile, // GSF_INDUSTRYTILES
|
||||
&_nif_industry, // GSF_INDUSTRIES
|
||||
NULL, // GSF_CARGOES (has no "physical" objects)
|
||||
NULL, // GSF_SOUNDFX (has no "physical" objects)
|
||||
NULL, // GSF_AIRPORTS (feature not implemented)
|
||||
NULL, // GSF_SIGNALS (feature not implemented)
|
||||
nullptr, // GSF_CARGOES (has no "physical" objects)
|
||||
nullptr, // GSF_SOUNDFX (has no "physical" objects)
|
||||
nullptr, // GSF_AIRPORTS (feature not implemented)
|
||||
nullptr, // GSF_SIGNALS (feature not implemented)
|
||||
&_nif_object, // GSF_OBJECTS
|
||||
&_nif_railtype, // GSF_RAILTYPES
|
||||
&_nif_airporttile, // GSF_AIRPORTTILES
|
||||
&_nif_roadtype, // GSF_ROADTYPES
|
||||
&_nif_tramtype, // GSF_TRAMTYPES
|
||||
&_nif_town, // GSF_FAKE_TOWNS
|
||||
};
|
||||
assert_compile(lengthof(_nifeatures) == GSF_FAKE_END);
|
||||
|
||||
@@ -112,8 +112,8 @@ static const RailtypeInfo _original_railtypes[] = {
|
||||
/* sort order */
|
||||
0 << 4 | 7,
|
||||
|
||||
{ NULL },
|
||||
{ NULL },
|
||||
{ nullptr },
|
||||
{ nullptr },
|
||||
},
|
||||
|
||||
/** Electrified railway */
|
||||
@@ -156,7 +156,7 @@ static const RailtypeInfo _original_railtypes[] = {
|
||||
STR_RAIL_MENU_ELRAIL_CONSTRUCTION,
|
||||
STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION,
|
||||
STR_REPLACE_ELRAIL_VEHICLES,
|
||||
STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE,
|
||||
STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE,
|
||||
},
|
||||
|
||||
/* Offset of snow tiles */
|
||||
@@ -213,8 +213,8 @@ static const RailtypeInfo _original_railtypes[] = {
|
||||
/* sort order */
|
||||
1 << 4 | 7,
|
||||
|
||||
{ NULL },
|
||||
{ NULL },
|
||||
{ nullptr },
|
||||
{ nullptr },
|
||||
},
|
||||
|
||||
/** Monorail */
|
||||
@@ -310,8 +310,8 @@ static const RailtypeInfo _original_railtypes[] = {
|
||||
/* sort order */
|
||||
2 << 4 | 7,
|
||||
|
||||
{ NULL },
|
||||
{ NULL },
|
||||
{ nullptr },
|
||||
{ nullptr },
|
||||
},
|
||||
|
||||
/** Maglev */
|
||||
@@ -407,8 +407,8 @@ static const RailtypeInfo _original_railtypes[] = {
|
||||
/* sort order */
|
||||
3 << 4 | 7,
|
||||
|
||||
{ NULL },
|
||||
{ NULL },
|
||||
{ nullptr },
|
||||
{ nullptr },
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -41,35 +41,6 @@ static const DrawTileSprites _road_depot[] = {
|
||||
{ {0xA4A, PAL_NONE}, _road_depot_NW }
|
||||
};
|
||||
|
||||
static const DrawTileSeqStruct _tram_depot_NE[] = {
|
||||
TILE_SEQ_LINE((SPR_TRAMWAY_BASE + 0x35) | (1 << PALETTE_MODIFIER_COLOUR), PAL_NONE, 0, 15, 16, 1)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const DrawTileSeqStruct _tram_depot_SE[] = {
|
||||
TILE_SEQ_LINE((SPR_TRAMWAY_BASE + 0x31) | (1 << PALETTE_MODIFIER_COLOUR), PAL_NONE, 0, 0, 1, 16)
|
||||
TILE_SEQ_LINE((SPR_TRAMWAY_BASE + 0x32) | (1 << PALETTE_MODIFIER_COLOUR), PAL_NONE, 15, 0, 1, 16)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const DrawTileSeqStruct _tram_depot_SW[] = {
|
||||
TILE_SEQ_LINE((SPR_TRAMWAY_BASE + 0x33) | (1 << PALETTE_MODIFIER_COLOUR), PAL_NONE, 0, 0, 16, 1)
|
||||
TILE_SEQ_LINE((SPR_TRAMWAY_BASE + 0x34) | (1 << PALETTE_MODIFIER_COLOUR), PAL_NONE, 0, 15, 16, 1)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const DrawTileSeqStruct _tram_depot_NW[] = {
|
||||
TILE_SEQ_LINE((SPR_TRAMWAY_BASE + 0x36) | (1 << PALETTE_MODIFIER_COLOUR), PAL_NONE, 15, 0, 1, 16)
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const DrawTileSprites _tram_depot[] = {
|
||||
{ {0xA4A, PAL_NONE}, _tram_depot_NE },
|
||||
{ {0xA4A, PAL_NONE}, _tram_depot_SE },
|
||||
{ {0xA4A, PAL_NONE}, _tram_depot_SW },
|
||||
{ {0xA4A, PAL_NONE}, _tram_depot_NW }
|
||||
};
|
||||
|
||||
/* Sprite layout for level crossings. The SpriteIDs are actually offsets
|
||||
* from the base SpriteID returned from the NewGRF sprite resolver. */
|
||||
static const DrawTileSeqStruct _crossing_layout_ALL[] = {
|
||||
|
||||
@@ -0,0 +1,183 @@
|
||||
/* $Id$ */
|
||||
|
||||
/*
|
||||
* This file is part of OpenTTD.
|
||||
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
|
||||
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file roadtypes.h
|
||||
* All the roadtype-specific information is stored here.
|
||||
*/
|
||||
|
||||
#ifndef ROADTYPES_H
|
||||
#define ROADTYPES_H
|
||||
|
||||
/**
|
||||
* Global Roadtype definition
|
||||
*/
|
||||
static const RoadTypeInfo _original_roadtypes[] = {
|
||||
/* Road */
|
||||
{
|
||||
/* GUI sprites */
|
||||
{
|
||||
SPR_IMG_ROAD_X_DIR,
|
||||
SPR_IMG_ROAD_Y_DIR,
|
||||
SPR_IMG_AUTOROAD,
|
||||
SPR_IMG_ROAD_DEPOT,
|
||||
SPR_IMG_ROAD_TUNNEL,
|
||||
SPR_IMG_CONVERT_ROAD,
|
||||
},
|
||||
|
||||
{
|
||||
SPR_CURSOR_ROAD_NESW,
|
||||
SPR_CURSOR_ROAD_NWSE,
|
||||
SPR_CURSOR_AUTOROAD,
|
||||
SPR_CURSOR_ROAD_DEPOT,
|
||||
SPR_CURSOR_ROAD_TUNNEL,
|
||||
SPR_CURSOR_CONVERT_ROAD,
|
||||
},
|
||||
|
||||
/* strings */
|
||||
{
|
||||
STR_ROAD_NAME_ROAD,
|
||||
STR_ROAD_TOOLBAR_ROAD_CONSTRUCTION_CAPTION,
|
||||
STR_ROAD_MENU_ROAD_CONSTRUCTION,
|
||||
STR_BUY_VEHICLE_ROAD_VEHICLE_CAPTION,
|
||||
STR_REPLACE_ROAD_VEHICLES,
|
||||
STR_ENGINE_PREVIEW_ROAD_VEHICLE,
|
||||
|
||||
STR_ERROR_CAN_T_BUILD_ROAD_HERE,
|
||||
STR_ERROR_CAN_T_REMOVE_ROAD_FROM,
|
||||
STR_ERROR_CAN_T_BUILD_ROAD_DEPOT,
|
||||
{ STR_ERROR_CAN_T_BUILD_BUS_STATION, STR_ERROR_CAN_T_BUILD_TRUCK_STATION },
|
||||
{ STR_ERROR_CAN_T_REMOVE_BUS_STATION, STR_ERROR_CAN_T_REMOVE_TRUCK_STATION },
|
||||
STR_ERROR_CAN_T_CONVERT_ROAD,
|
||||
{ STR_STATION_BUILD_BUS_ORIENTATION, STR_STATION_BUILD_TRUCK_ORIENTATION },
|
||||
{ STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP, STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP },
|
||||
},
|
||||
|
||||
/* Powered roadtypes */
|
||||
ROADTYPES_ROAD,
|
||||
|
||||
/* flags */
|
||||
ROTFB_TOWN_BUILD,
|
||||
|
||||
/* cost multiplier */
|
||||
8,
|
||||
|
||||
/* maintenance cost multiplier */
|
||||
16,
|
||||
|
||||
/* max speed */
|
||||
0,
|
||||
|
||||
/* road type label */
|
||||
'ROAD',
|
||||
|
||||
/* alternate labels */
|
||||
RoadTypeLabelList(),
|
||||
|
||||
/* map colour */
|
||||
0x01,
|
||||
|
||||
/* introduction date */
|
||||
MIN_YEAR,
|
||||
|
||||
/* roadtypes required for this to be introduced */
|
||||
ROADTYPES_NONE,
|
||||
|
||||
/* introduction road types */
|
||||
ROADTYPES_ROAD,
|
||||
|
||||
/* sort order */
|
||||
0x07,
|
||||
|
||||
{ nullptr },
|
||||
{ nullptr },
|
||||
},
|
||||
|
||||
/* Electrified Tram */
|
||||
{
|
||||
/* GUI sprites */
|
||||
{
|
||||
SPR_IMG_TRAMWAY_X_DIR,
|
||||
SPR_IMG_TRAMWAY_Y_DIR,
|
||||
SPR_IMG_AUTOTRAM,
|
||||
SPR_IMG_ROAD_DEPOT,
|
||||
SPR_IMG_ROAD_TUNNEL,
|
||||
SPR_IMG_CONVERT_TRAM,
|
||||
},
|
||||
|
||||
{
|
||||
SPR_CURSOR_TRAMWAY_NESW,
|
||||
SPR_CURSOR_TRAMWAY_NWSE,
|
||||
SPR_CURSOR_AUTOTRAM,
|
||||
SPR_CURSOR_ROAD_DEPOT,
|
||||
SPR_CURSOR_ROAD_TUNNEL,
|
||||
SPR_CURSOR_CONVERT_TRAM,
|
||||
},
|
||||
|
||||
/* strings */
|
||||
{
|
||||
STR_ROAD_NAME_TRAM,
|
||||
STR_ROAD_TOOLBAR_TRAM_CONSTRUCTION_CAPTION,
|
||||
STR_ROAD_MENU_TRAM_CONSTRUCTION,
|
||||
STR_BUY_VEHICLE_TRAM_VEHICLE_CAPTION,
|
||||
STR_REPLACE_TRAM_VEHICLES,
|
||||
STR_ENGINE_PREVIEW_TRAM_VEHICLE,
|
||||
|
||||
STR_ERROR_CAN_T_BUILD_TRAMWAY_HERE,
|
||||
STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM,
|
||||
STR_ERROR_CAN_T_BUILD_TRAM_DEPOT,
|
||||
{ STR_ERROR_CAN_T_BUILD_PASSENGER_TRAM_STATION, STR_ERROR_CAN_T_BUILD_CARGO_TRAM_STATION },
|
||||
{ STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION, STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION },
|
||||
STR_ERROR_CAN_T_CONVERT_TRAMWAY,
|
||||
{ STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION, STR_STATION_BUILD_CARGO_TRAM_ORIENTATION },
|
||||
{ STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP, STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP },
|
||||
},
|
||||
|
||||
/* Powered roadtypes */
|
||||
ROADTYPES_TRAM,
|
||||
|
||||
/* flags */
|
||||
ROTFB_CATENARY | ROTFB_NO_HOUSES,
|
||||
|
||||
/* cost multiplier */
|
||||
16,
|
||||
|
||||
/* maintenance cost multiplier */
|
||||
24,
|
||||
|
||||
/* max speed */
|
||||
0,
|
||||
|
||||
/* road type label */
|
||||
'ELRL',
|
||||
|
||||
/* alternate labels */
|
||||
RoadTypeLabelList(),
|
||||
|
||||
/* map colour */
|
||||
0x01,
|
||||
|
||||
/* introduction date */
|
||||
INVALID_DATE,
|
||||
|
||||
/* roadtypes required for this to be introduced */
|
||||
ROADTYPES_NONE,
|
||||
|
||||
/* introduction road types */
|
||||
ROADTYPES_TRAM,
|
||||
|
||||
/* sort order */
|
||||
0x17,
|
||||
|
||||
{ nullptr },
|
||||
{ nullptr },
|
||||
},
|
||||
};
|
||||
|
||||
#endif /* ROADTYPES_H */
|
||||
@@ -1445,39 +1445,39 @@ static const RoadDriveEntry * const _road_tram_drive_data[] = {
|
||||
_roadveh_drive_data_29,
|
||||
_roadveh_tram_turn_sw_1,
|
||||
_roadveh_tram_turn_nw_1,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
nullptr,
|
||||
};
|
||||
|
||||
static const RoadDriveEntry * const * const _road_drive_data[2] = {
|
||||
|
||||
@@ -33,7 +33,7 @@ static size_t ConvertLandscape(const char *value);
|
||||
* Thse are for members in the struct described by the current
|
||||
* #SettingDesc list / .ini file. Here, 'base' specifies type of the
|
||||
* struct while 'var' points out the member of the struct (the actual
|
||||
* struct to store it in is implicitely defined by the #SettingDesc
|
||||
* struct to store it in is implicitly defined by the #SettingDesc
|
||||
* list / .ini file preamble the entry is in).
|
||||
*
|
||||
* The something part defines the type of variable to store. There are a
|
||||
@@ -57,24 +57,24 @@ static size_t ConvertLandscape(const char *value);
|
||||
*/
|
||||
|
||||
#define NSD_GENERAL(name, def, cmd, guiflags, min, max, interval, many, str, strhelp, strval, proc, load, cat)\
|
||||
{name, (const void*)(size_t)(def), {(byte)cmd}, {(uint16)guiflags}, min, max, interval, many, str, strhelp, strval, proc, load, cat}
|
||||
{name, (const void*)(size_t)(def), cmd, guiflags, min, max, interval, many, str, strhelp, strval, proc, load, cat}
|
||||
|
||||
/* Macros for various objects to go in the configuration file.
|
||||
* This section is for global variables */
|
||||
#define SDTG_GENERAL(name, sdt_cmd, sle_cmd, type, flags, guiflags, var, length, def, min, max, interval, full, str, strhelp, strval, proc, from, to, cat)\
|
||||
{NSD_GENERAL(name, def, sdt_cmd, guiflags, min, max, interval, full, str, strhelp, strval, proc, NULL, cat), SLEG_GENERAL(sle_cmd, var, type | flags, length, from, to)}
|
||||
{NSD_GENERAL(name, def, sdt_cmd, guiflags, min, max, interval, full, str, strhelp, strval, proc, nullptr, cat), SLEG_GENERAL(sle_cmd, var, type | flags, length, from, to)}
|
||||
|
||||
#define SDTG_VAR(name, type, flags, guiflags, var, def, min, max, interval, str, strhelp, strval, proc, from, to, cat)\
|
||||
SDTG_GENERAL(name, SDT_NUMX, SL_VAR, type, flags, guiflags, var, 0, def, min, max, interval, NULL, str, strhelp, strval, proc, from, to, cat)
|
||||
SDTG_GENERAL(name, SDT_NUMX, SL_VAR, type, flags, guiflags, var, 0, def, min, max, interval, nullptr, str, strhelp, strval, proc, from, to, cat)
|
||||
|
||||
#define SDTG_BOOL(name, flags, guiflags, var, def, str, strhelp, strval, proc, from, to, cat)\
|
||||
SDTG_GENERAL(name, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, var, 0, def, 0, 1, 0, NULL, str, strhelp, strval, proc, from, to, cat)
|
||||
SDTG_GENERAL(name, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, var, 0, def, 0, 1, 0, nullptr, str, strhelp, strval, proc, from, to, cat)
|
||||
|
||||
#define SDTG_LIST(name, type, length, flags, guiflags, var, def, str, strhelp, strval, proc, from, to, cat)\
|
||||
SDTG_GENERAL(name, SDT_INTLIST, SL_ARR, type, flags, guiflags, var, length, def, 0, 0, 0, NULL, str, strhelp, strval, proc, from, to, cat)
|
||||
SDTG_GENERAL(name, SDT_INTLIST, SL_ARR, type, flags, guiflags, var, length, def, 0, 0, 0, nullptr, str, strhelp, strval, proc, from, to, cat)
|
||||
|
||||
#define SDTG_STR(name, type, flags, guiflags, var, def, str, strhelp, strval, proc, from, to, cat)\
|
||||
SDTG_GENERAL(name, SDT_STRING, SL_STR, type, flags, guiflags, var, sizeof(var), def, 0, 0, 0, NULL, str, strhelp, strval, proc, from, to, cat)
|
||||
SDTG_GENERAL(name, SDT_STRING, SL_STR, type, flags, guiflags, var, sizeof(var), def, 0, 0, 0, nullptr, str, strhelp, strval, proc, from, to, cat)
|
||||
|
||||
#define SDTG_OMANY(name, type, flags, guiflags, var, def, max, full, str, strhelp, strval, proc, from, to, cat)\
|
||||
SDTG_GENERAL(name, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, var, 0, def, 0, max, 0, full, str, strhelp, strval, proc, from, to, cat)
|
||||
@@ -83,9 +83,9 @@ static size_t ConvertLandscape(const char *value);
|
||||
SDTG_GENERAL(name, SDT_MANYOFMANY, SL_VAR, type, flags, guiflags, var, 0, def, 0, 0, 0, full, str, strhelp, strval, proc, from, to, cat)
|
||||
|
||||
#define SDTG_NULL(length, from, to)\
|
||||
{{"", NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, STR_NULL, STR_NULL, NULL, NULL, SC_NONE}, SLEG_NULL(length, from, to)}
|
||||
{{"", nullptr, SDT_NUMX, SGF_NONE, 0, 0, 0, nullptr, STR_NULL, STR_NULL, STR_NULL, nullptr, nullptr, SC_NONE}, SLEG_NULL(length, from, to)}
|
||||
|
||||
#define SDTG_END() {{NULL, NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, STR_NULL, STR_NULL, NULL, NULL, SC_NONE}, SLEG_END()}
|
||||
#define SDTG_END() {{nullptr, nullptr, SDT_NUMX, SGF_NONE, 0, 0, 0, nullptr, STR_NULL, STR_NULL, STR_NULL, nullptr, nullptr, SC_NONE}, SLEG_END()}
|
||||
|
||||
/* Macros for various objects to go in the configuration file.
|
||||
* This section is for structures where their various members are saved */
|
||||
@@ -93,44 +93,44 @@ static size_t ConvertLandscape(const char *value);
|
||||
{NSD_GENERAL(name, def, sdt_cmd, guiflags, min, max, interval, full, str, strhelp, strval, proc, load, cat), SLE_GENERAL(sle_cmd, base, var, type | flags, length, from, to)}
|
||||
|
||||
#define SDT_VAR(base, var, type, flags, guiflags, def, min, max, interval, str, strhelp, strval, proc, from, to, cat)\
|
||||
SDT_GENERAL(#var, SDT_NUMX, SL_VAR, type, flags, guiflags, base, var, 1, def, min, max, interval, NULL, str, strhelp, strval, proc, NULL, from, to, cat)
|
||||
SDT_GENERAL(#var, SDT_NUMX, SL_VAR, type, flags, guiflags, base, var, 1, def, min, max, interval, nullptr, str, strhelp, strval, proc, nullptr, from, to, cat)
|
||||
|
||||
#define SDT_BOOL(base, var, flags, guiflags, def, str, strhelp, strval, proc, from, to, cat)\
|
||||
SDT_GENERAL(#var, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, base, var, 1, def, 0, 1, 0, NULL, str, strhelp, strval, proc, NULL, from, to, cat)
|
||||
SDT_GENERAL(#var, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, base, var, 1, def, 0, 1, 0, nullptr, str, strhelp, strval, proc, nullptr, from, to, cat)
|
||||
|
||||
#define SDT_LIST(base, var, type, flags, guiflags, def, str, strhelp, strval, proc, from, to, cat)\
|
||||
SDT_GENERAL(#var, SDT_INTLIST, SL_ARR, type, flags, guiflags, base, var, lengthof(((base*)8)->var), def, 0, 0, 0, NULL, str, strhelp, strval, proc, NULL, from, to, cat)
|
||||
SDT_GENERAL(#var, SDT_INTLIST, SL_ARR, type, flags, guiflags, base, var, lengthof(((base*)8)->var), def, 0, 0, 0, nullptr, str, strhelp, strval, proc, nullptr, from, to, cat)
|
||||
|
||||
#define SDT_STR(base, var, type, flags, guiflags, def, str, strhelp, strval, proc, from, to, cat)\
|
||||
SDT_GENERAL(#var, SDT_STRING, SL_STR, type, flags, guiflags, base, var, sizeof(((base*)8)->var), def, 0, 0, 0, NULL, str, strhelp, strval, proc, NULL, from, to, cat)
|
||||
SDT_GENERAL(#var, SDT_STRING, SL_STR, type, flags, guiflags, base, var, sizeof(((base*)8)->var), def, 0, 0, 0, nullptr, str, strhelp, strval, proc, nullptr, from, to, cat)
|
||||
|
||||
#define SDT_CHR(base, var, flags, guiflags, def, str, strhelp, strval, proc, from, to, cat)\
|
||||
SDT_GENERAL(#var, SDT_STRING, SL_VAR, SLE_CHAR, flags, guiflags, base, var, 1, def, 0, 0, 0, NULL, str, strhelp, strval, proc, NULL, from, to, cat)
|
||||
SDT_GENERAL(#var, SDT_STRING, SL_VAR, SLE_CHAR, flags, guiflags, base, var, 1, def, 0, 0, 0, nullptr, str, strhelp, strval, proc, nullptr, from, to, cat)
|
||||
|
||||
#define SDT_OMANY(base, var, type, flags, guiflags, def, max, full, str, strhelp, strval, proc, from, to, load, cat)\
|
||||
SDT_GENERAL(#var, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, base, var, 1, def, 0, max, 0, full, str, strhelp, strval, proc, load, from, to, cat)
|
||||
|
||||
#define SDT_MMANY(base, var, type, flags, guiflags, def, full, str, proc, strhelp, strval, from, to, cat)\
|
||||
SDT_GENERAL(#var, SDT_MANYOFMANY, SL_VAR, type, flags, guiflags, base, var, 1, def, 0, 0, 0, full, str, strhelp, strval, proc, NULL, from, to, cat)
|
||||
SDT_GENERAL(#var, SDT_MANYOFMANY, SL_VAR, type, flags, guiflags, base, var, 1, def, 0, 0, 0, full, str, strhelp, strval, proc, nullptr, from, to, cat)
|
||||
|
||||
#define SDT_NULL(length, from, to)\
|
||||
{{"", NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, STR_NULL, STR_NULL, NULL, NULL, SC_NONE}, SLE_CONDNULL(length, from, to)}
|
||||
{{"", nullptr, SDT_NUMX, SGF_NONE, 0, 0, 0, nullptr, STR_NULL, STR_NULL, STR_NULL, nullptr, nullptr, SC_NONE}, SLE_CONDNULL(length, from, to)}
|
||||
|
||||
|
||||
#define SDTC_VAR(var, type, flags, guiflags, def, min, max, interval, str, strhelp, strval, proc, from, to, cat)\
|
||||
SDTG_GENERAL(#var, SDT_NUMX, SL_VAR, type, flags, guiflags, _settings_client.var, 1, def, min, max, interval, NULL, str, strhelp, strval, proc, from, to, cat)
|
||||
SDTG_GENERAL(#var, SDT_NUMX, SL_VAR, type, flags, guiflags, _settings_client.var, 1, def, min, max, interval, nullptr, str, strhelp, strval, proc, from, to, cat)
|
||||
|
||||
#define SDTC_BOOL(var, flags, guiflags, def, str, strhelp, strval, proc, from, to, cat)\
|
||||
SDTG_GENERAL(#var, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, _settings_client.var, 1, def, 0, 1, 0, NULL, str, strhelp, strval, proc, from, to, cat)
|
||||
SDTG_GENERAL(#var, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, _settings_client.var, 1, def, 0, 1, 0, nullptr, str, strhelp, strval, proc, from, to, cat)
|
||||
|
||||
#define SDTC_LIST(var, type, flags, guiflags, def, str, strhelp, strval, proc, from, to, cat)\
|
||||
SDTG_GENERAL(#var, SDT_INTLIST, SL_ARR, type, flags, guiflags, _settings_client.var, lengthof(_settings_client.var), def, 0, 0, 0, NULL, str, strhelp, strval, proc, from, to, cat)
|
||||
SDTG_GENERAL(#var, SDT_INTLIST, SL_ARR, type, flags, guiflags, _settings_client.var, lengthof(_settings_client.var), def, 0, 0, 0, nullptr, str, strhelp, strval, proc, from, to, cat)
|
||||
|
||||
#define SDTC_STR(var, type, flags, guiflags, def, str, strhelp, strval, proc, from, to, cat)\
|
||||
SDTG_GENERAL(#var, SDT_STRING, SL_STR, type, flags, guiflags, _settings_client.var, sizeof(_settings_client.var), def, 0, 0, 0, NULL, str, strhelp, strval, proc, from, to, cat)
|
||||
SDTG_GENERAL(#var, SDT_STRING, SL_STR, type, flags, guiflags, _settings_client.var, sizeof(_settings_client.var), def, 0, 0, 0, nullptr, str, strhelp, strval, proc, from, to, cat)
|
||||
|
||||
#define SDTC_OMANY(var, type, flags, guiflags, def, max, full, str, strhelp, strval, proc, from, to, cat)\
|
||||
SDTG_GENERAL(#var, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, _settings_client.var, 1, def, 0, max, 0, full, str, strhelp, strval, proc, from, to, cat)
|
||||
|
||||
#define SDT_END() {{NULL, NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, STR_NULL, STR_NULL, NULL, NULL, SC_NONE}, SLE_END()}
|
||||
#define SDT_END() {{nullptr, nullptr, SDT_NUMX, SGF_NONE, 0, 0, 0, nullptr, STR_NULL, STR_NULL, STR_NULL, nullptr, nullptr, SC_NONE}, SLE_END()}
|
||||
|
||||
|
||||
+103
-86
@@ -44,12 +44,11 @@ static bool ZoomMinMaxChanged(int32 p1);
|
||||
static bool MaxVehiclesChanged(int32 p1);
|
||||
static bool InvalidateShipPathCache(int32 p1);
|
||||
|
||||
#ifdef ENABLE_NETWORK
|
||||
static bool UpdateClientName(int32 p1);
|
||||
static bool UpdateServerPassword(int32 p1);
|
||||
static bool UpdateRconPassword(int32 p1);
|
||||
static bool UpdateClientConfigValues(int32 p1);
|
||||
#endif /* ENABLE_NETWORK */
|
||||
|
||||
/* End - Callback Functions for the various settings */
|
||||
|
||||
/* Some settings do not need to be synchronised when playing in multiplayer.
|
||||
@@ -82,13 +81,13 @@ SDT_END = SDT_END()
|
||||
|
||||
[defaults]
|
||||
flags = 0
|
||||
guiflags = 0
|
||||
guiflags = SGF_NONE
|
||||
interval = 0
|
||||
str = STR_NULL
|
||||
strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT
|
||||
strval = STR_NULL
|
||||
proc = NULL
|
||||
load = NULL
|
||||
proc = nullptr
|
||||
load = nullptr
|
||||
from = SL_MIN_VERSION
|
||||
to = SL_MAX_VERSION
|
||||
cat = SC_ADVANCED
|
||||
@@ -96,7 +95,7 @@ cat = SC_ADVANCED
|
||||
|
||||
|
||||
; Saved settings variables.
|
||||
; Do not ADD or REMOVE something in this "difficulty.XXX" table or before it. It breaks savegame compatability.
|
||||
; Do not ADD or REMOVE something in this "difficulty.XXX" table or before it. It breaks savegame compatibility.
|
||||
[SDT_VAR]
|
||||
base = GameSettings
|
||||
var = difficulty.max_no_competitors
|
||||
@@ -618,6 +617,21 @@ def = true
|
||||
str = STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS
|
||||
strhelp = STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT
|
||||
|
||||
[SDT_VAR]
|
||||
base = GameSettings
|
||||
var = economy.town_cargogen_mode
|
||||
type = SLE_UINT8
|
||||
from = SLV_TOWN_CARGOGEN
|
||||
guiflags = SGF_MULTISTRING
|
||||
def = TCGM_BITCOUNT
|
||||
min = TCGM_BEGIN
|
||||
max = TCGM_END - 1
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_TOWN_CARGOGENMODE
|
||||
strhelp = STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL
|
||||
cat = SC_ADVANCED
|
||||
|
||||
; link graph
|
||||
|
||||
[SDT_VAR]
|
||||
@@ -938,12 +952,12 @@ type = SLE_UINT8
|
||||
from = SLV_87
|
||||
guiflags = SGF_MULTISTRING
|
||||
def = 2
|
||||
min = 0
|
||||
min = 1
|
||||
max = 2
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS
|
||||
strhelp = STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_PATHFINDER_OPF
|
||||
strval = STR_CONFIG_SETTING_PATHFINDER_NPF
|
||||
proc = InvalidateShipPathCache
|
||||
cat = SC_EXPERT
|
||||
|
||||
@@ -1008,14 +1022,14 @@ proc = MaxVehiclesChanged
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDTG_BOOL]
|
||||
name = NULL
|
||||
name = nullptr
|
||||
guiflags = SGF_NO_NETWORK
|
||||
var = _old_vds.servint_ispercent
|
||||
def = false
|
||||
to = SLV_120
|
||||
|
||||
[SDTG_VAR]
|
||||
name = NULL
|
||||
name = nullptr
|
||||
type = SLE_UINT16
|
||||
guiflags = SGF_0ISDISABLED
|
||||
var = _old_vds.servint_trains
|
||||
@@ -1025,7 +1039,7 @@ max = 800
|
||||
to = SLV_120
|
||||
|
||||
[SDTG_VAR]
|
||||
name = NULL
|
||||
name = nullptr
|
||||
type = SLE_UINT16
|
||||
guiflags = SGF_0ISDISABLED
|
||||
var = _old_vds.servint_roadveh
|
||||
@@ -1035,7 +1049,7 @@ max = 800
|
||||
to = SLV_120
|
||||
|
||||
[SDTG_VAR]
|
||||
name = NULL
|
||||
name = nullptr
|
||||
type = SLE_UINT16
|
||||
guiflags = SGF_0ISDISABLED
|
||||
var = _old_vds.servint_ships
|
||||
@@ -1045,7 +1059,7 @@ max = 800
|
||||
to = SLV_120
|
||||
|
||||
[SDTG_VAR]
|
||||
name = NULL
|
||||
name = nullptr
|
||||
type = SLE_UINT16
|
||||
guiflags = SGF_0ISDISABLED
|
||||
var = _old_vds.servint_aircraft
|
||||
@@ -1204,6 +1218,15 @@ strhelp = STR_CONFIG_SETTING_CATCHMENT_HELPTEXT
|
||||
proc = StationCatchmentChanged
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDT_BOOL]
|
||||
base = GameSettings
|
||||
var = station.serve_neutral_industries
|
||||
def = true
|
||||
from = SLV_SERVE_NEUTRAL_INDUSTRIES
|
||||
str = STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES
|
||||
strhelp = STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT
|
||||
proc = StationCatchmentChanged
|
||||
|
||||
[SDT_BOOL]
|
||||
base = GameSettings
|
||||
var = order.gradual_loading
|
||||
@@ -1401,6 +1424,20 @@ str = STR_CONFIG_SETTING_ALLOW_SHARES
|
||||
strhelp = STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT
|
||||
proc = InvalidateCompanyWindow
|
||||
|
||||
[SDT_VAR]
|
||||
base = GameSettings
|
||||
var = economy.min_years_for_shares
|
||||
type = SLE_UINT8
|
||||
from = SLV_TRADING_AGE
|
||||
def = 6
|
||||
min = 0
|
||||
max = 255
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES
|
||||
strhelp = STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT
|
||||
strval = STR_JUST_INT
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDT_VAR]
|
||||
base = GameSettings
|
||||
var = economy.feeder_payment_share
|
||||
@@ -1532,6 +1569,21 @@ strhelp = STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT
|
||||
strval = STR_JUST_COMMA
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDT_VAR]
|
||||
base = GameSettings
|
||||
var = script.script_max_memory_megabytes
|
||||
type = SLE_UINT32
|
||||
from = SLV_SCRIPT_MEMLIMIT
|
||||
guiflags = SGF_NEWGAME_ONLY
|
||||
def = 1024
|
||||
min = 8
|
||||
max = 8192
|
||||
interval = 8
|
||||
str = STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY
|
||||
strhelp = STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE
|
||||
cat = SC_EXPERT
|
||||
|
||||
##
|
||||
[SDT_VAR]
|
||||
base = GameSettings
|
||||
@@ -1646,23 +1698,10 @@ max = 255
|
||||
cat = SC_EXPERT
|
||||
|
||||
##
|
||||
[SDT_VAR]
|
||||
base = GameSettings
|
||||
var = pf.opf.pf_maxlength
|
||||
type = SLE_UINT16
|
||||
def = 4096
|
||||
min = 64
|
||||
max = 65535
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDT_VAR]
|
||||
base = GameSettings
|
||||
var = pf.opf.pf_maxdepth
|
||||
type = SLE_UINT8
|
||||
def = 48
|
||||
min = 4
|
||||
max = 255
|
||||
cat = SC_EXPERT
|
||||
; Used to be pf.opf.pf_maxlength & pf.opf.pf_maxdepth
|
||||
[SDT_NULL]
|
||||
length = 3
|
||||
to = SLV_REMOVE_OPF
|
||||
|
||||
##
|
||||
[SDT_VAR]
|
||||
@@ -2148,6 +2187,26 @@ min = 0
|
||||
max = 1000000
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDT_VAR]
|
||||
base = GameSettings
|
||||
var = pf.yapf.ship_curve45_penalty
|
||||
type = SLE_UINT
|
||||
from = SLV_SHIP_CURVE_PENALTY
|
||||
def = 1 * YAPF_TILE_LENGTH
|
||||
min = 0
|
||||
max = 1000000
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDT_VAR]
|
||||
base = GameSettings
|
||||
var = pf.yapf.ship_curve90_penalty
|
||||
type = SLE_UINT
|
||||
from = SLV_SHIP_CURVE_PENALTY
|
||||
def = 6 * YAPF_TILE_LENGTH
|
||||
min = 0
|
||||
max = 1000000
|
||||
cat = SC_EXPERT
|
||||
|
||||
##
|
||||
[SDT_VAR]
|
||||
base = GameSettings
|
||||
@@ -2483,7 +2542,7 @@ var = locale.digit_group_separator
|
||||
type = SLE_STRQ
|
||||
from = SLV_118
|
||||
flags = SLF_NO_NETWORK_SYNC
|
||||
def = NULL
|
||||
def = nullptr
|
||||
proc = RedrawScreen
|
||||
cat = SC_BASIC
|
||||
|
||||
@@ -2493,7 +2552,7 @@ var = locale.digit_group_separator_currency
|
||||
type = SLE_STRQ
|
||||
from = SLV_118
|
||||
flags = SLF_NO_NETWORK_SYNC
|
||||
def = NULL
|
||||
def = nullptr
|
||||
proc = RedrawScreen
|
||||
cat = SC_BASIC
|
||||
|
||||
@@ -2503,7 +2562,7 @@ var = locale.digit_decimal_separator
|
||||
type = SLE_STRQ
|
||||
from = SLV_126
|
||||
flags = SLF_NO_NETWORK_SYNC
|
||||
def = NULL
|
||||
def = nullptr
|
||||
proc = RedrawScreen
|
||||
cat = SC_BASIC
|
||||
|
||||
@@ -3332,14 +3391,14 @@ cat = SC_BASIC
|
||||
var = music.custom_1
|
||||
type = SLE_UINT8
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
def = NULL
|
||||
def = nullptr
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDTC_LIST]
|
||||
var = music.custom_2
|
||||
type = SLE_UINT8
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
def = NULL
|
||||
def = nullptr
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDTC_BOOL]
|
||||
@@ -3535,7 +3594,6 @@ strhelp = STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = gui.network_chat_box_width_pct
|
||||
type = SLE_UINT16
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3545,7 +3603,6 @@ max = 100
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = gui.network_chat_box_height
|
||||
type = SLE_UINT8
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3555,7 +3612,6 @@ max = 255
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = gui.network_chat_timeout
|
||||
type = SLE_UINT16
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3565,7 +3621,6 @@ max = 65535
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.sync_freq
|
||||
type = SLE_UINT16
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NOT_IN_CONFIG | SLF_NO_NETWORK_SYNC
|
||||
@@ -3576,7 +3631,6 @@ max = 100
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.frame_freq
|
||||
type = SLE_UINT8
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NOT_IN_CONFIG | SLF_NO_NETWORK_SYNC
|
||||
@@ -3587,7 +3641,6 @@ max = 100
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.commands_per_frame
|
||||
type = SLE_UINT16
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3598,7 +3651,6 @@ max = 65535
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.max_commands_in_queue
|
||||
type = SLE_UINT16
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3609,7 +3661,6 @@ max = 65535
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.bytes_per_frame
|
||||
type = SLE_UINT16
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3620,7 +3671,6 @@ max = 65535
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.bytes_per_frame_burst
|
||||
type = SLE_UINT16
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3631,7 +3681,6 @@ max = 65535
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.max_init_time
|
||||
type = SLE_UINT16
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3642,7 +3691,6 @@ max = 32000
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.max_join_time
|
||||
type = SLE_UINT16
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3652,7 +3700,6 @@ min = 0
|
||||
max = 32000
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.max_download_time
|
||||
type = SLE_UINT16
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3662,7 +3709,6 @@ min = 0
|
||||
max = 32000
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.max_password_time
|
||||
type = SLE_UINT16
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3672,7 +3718,6 @@ min = 0
|
||||
max = 32000
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.max_lag_time
|
||||
type = SLE_UINT16
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3682,14 +3727,12 @@ min = 0
|
||||
max = 32000
|
||||
|
||||
[SDTC_BOOL]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.pause_on_join
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
guiflags = SGF_NETWORK_ONLY
|
||||
def = true
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.server_port
|
||||
type = SLE_UINT16
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3700,7 +3743,6 @@ max = 65535
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.server_admin_port
|
||||
type = SLE_UINT16
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3711,7 +3753,6 @@ max = 65535
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTC_BOOL]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.server_admin_chat
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
guiflags = SGF_NETWORK_ONLY
|
||||
@@ -3719,14 +3760,12 @@ def = true
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTC_BOOL]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.server_advertise
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
guiflags = SGF_NETWORK_ONLY
|
||||
def = false
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.lan_internet
|
||||
type = SLE_UINT8
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3736,83 +3775,73 @@ min = 0
|
||||
max = 1
|
||||
|
||||
[SDTC_STR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.client_name
|
||||
type = SLE_STRB
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
def = NULL
|
||||
def = nullptr
|
||||
proc = UpdateClientName
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDTC_STR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.server_password
|
||||
type = SLE_STRB
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
guiflags = SGF_NETWORK_ONLY
|
||||
def = NULL
|
||||
def = nullptr
|
||||
proc = UpdateServerPassword
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDTC_STR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.rcon_password
|
||||
type = SLE_STRB
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
guiflags = SGF_NETWORK_ONLY
|
||||
def = NULL
|
||||
def = nullptr
|
||||
proc = UpdateRconPassword
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDTC_STR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.admin_password
|
||||
type = SLE_STRB
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
guiflags = SGF_NETWORK_ONLY
|
||||
def = NULL
|
||||
def = nullptr
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDTC_STR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.default_company_pass
|
||||
type = SLE_STRB
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
def = NULL
|
||||
def = nullptr
|
||||
|
||||
[SDTC_STR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.server_name
|
||||
type = SLE_STRB
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
guiflags = SGF_NETWORK_ONLY
|
||||
def = NULL
|
||||
def = nullptr
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDTC_STR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.connect_to_ip
|
||||
type = SLE_STRB
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
def = NULL
|
||||
def = nullptr
|
||||
|
||||
[SDTC_STR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.network_id
|
||||
type = SLE_STRB
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
guiflags = SGF_NETWORK_ONLY
|
||||
def = NULL
|
||||
def = nullptr
|
||||
|
||||
[SDTC_BOOL]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.autoclean_companies
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
guiflags = SGF_NETWORK_ONLY
|
||||
def = false
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.autoclean_unprotected
|
||||
type = SLE_UINT8
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3822,7 +3851,6 @@ min = 0
|
||||
max = 240
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.autoclean_protected
|
||||
type = SLE_UINT8
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3832,7 +3860,6 @@ min = 0
|
||||
max = 240
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.autoclean_novehicles
|
||||
type = SLE_UINT8
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3842,7 +3869,6 @@ min = 0
|
||||
max = 240
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.max_companies
|
||||
type = SLE_UINT8
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3854,7 +3880,6 @@ proc = UpdateClientConfigValues
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.max_clients
|
||||
type = SLE_UINT8
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3865,7 +3890,6 @@ max = MAX_CLIENTS
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.max_spectators
|
||||
type = SLE_UINT8
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3877,7 +3901,6 @@ proc = UpdateClientConfigValues
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.restart_game_year
|
||||
type = SLE_INT32
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3888,7 +3911,6 @@ max = MAX_YEAR
|
||||
interval = 1
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.min_active_clients
|
||||
type = SLE_UINT8
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3898,7 +3920,6 @@ min = 0
|
||||
max = MAX_CLIENTS
|
||||
|
||||
[SDTC_OMANY]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.server_lang
|
||||
type = SLE_UINT8
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3909,7 +3930,6 @@ full = _server_langs
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDTC_BOOL]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.reload_cfg
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
guiflags = SGF_NETWORK_ONLY
|
||||
@@ -3917,7 +3937,6 @@ def = false
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTC_STR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.last_host
|
||||
type = SLE_STRB
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3925,7 +3944,6 @@ def = """"
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTC_VAR]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.last_port
|
||||
type = SLE_UINT16
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
@@ -3935,7 +3953,6 @@ max = UINT16_MAX
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDTC_BOOL]
|
||||
ifdef = ENABLE_NETWORK
|
||||
var = network.no_http_content_downloads
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
def = false
|
||||
@@ -3944,7 +3961,7 @@ cat = SC_EXPERT
|
||||
; Since the network code (CmdChangeSetting and friends) use the index in this array to decide
|
||||
; which setting the server is talking about all conditional compilation of this array must be at the
|
||||
; end. This isn't really the best solution, the settings the server can tell the client about should
|
||||
; either use a seperate array or some other form of identifier.
|
||||
; either use a separate array or some other form of identifier.
|
||||
|
||||
;
|
||||
; We might need to emulate a right mouse button on mac
|
||||
|
||||
+13
-4
@@ -27,10 +27,10 @@
|
||||
* All sprites which are described here are referenced only one to a handful of times
|
||||
* throughout the code. When introducing new sprite enums, use meaningful names.
|
||||
* Don't be lazy and typing, and only use abbreviations when their meaning is clear or
|
||||
* the length of the enum would get out of hand. In that case EXPLAIN THE ABBREVATION
|
||||
* the length of the enum would get out of hand. In that case EXPLAIN THE ABBREVIATION
|
||||
* IN THIS FILE, and perhaps add some comments in the code where it is used.
|
||||
* Now, don't whine about this being too much typing work if the enums are like
|
||||
* 30 characters in length. If your editor doen't help you simplifying your work,
|
||||
* 30 characters in length. If your editor doesn't help you simplifying your work,
|
||||
* get a proper editor. If your Operating Systems don't have any decent editors,
|
||||
* get a proper Operating System.
|
||||
*
|
||||
@@ -56,7 +56,7 @@ static const SpriteID SPR_LARGE_SMALL_WINDOW = 682;
|
||||
|
||||
/** Extra graphic spritenumbers */
|
||||
static const SpriteID SPR_OPENTTD_BASE = 4896;
|
||||
static const uint16 OPENTTD_SPRITE_COUNT = 179;
|
||||
static const uint16 OPENTTD_SPRITE_COUNT = 184;
|
||||
|
||||
/* Halftile-selection sprites */
|
||||
static const SpriteID SPR_HALFTILE_SELECTION_FLAT = SPR_OPENTTD_BASE;
|
||||
@@ -273,13 +273,15 @@ static const SpriteID SPR_TRAMWAY_BUS_STOP_DT_X_W = SPR_TRAMWAY_BASE + 24;
|
||||
static const SpriteID SPR_TRAMWAY_BUS_STOP_DT_X_E = SPR_TRAMWAY_BASE + 26;
|
||||
static const SpriteID SPR_TRAMWAY_PAVED_STRAIGHT_Y = SPR_TRAMWAY_BASE + 46;
|
||||
static const SpriteID SPR_TRAMWAY_PAVED_STRAIGHT_X = SPR_TRAMWAY_BASE + 47;
|
||||
static const SpriteID SPR_TRAMWAY_DEPOT_WITH_TRACK = SPR_TRAMWAY_BASE + 49;
|
||||
static const SpriteID SPR_TRAMWAY_BACK_WIRES_STRAIGHT = SPR_TRAMWAY_BASE + 55;
|
||||
static const SpriteID SPR_TRAMWAY_FRONT_WIRES_STRAIGHT = SPR_TRAMWAY_BASE + 56;
|
||||
static const SpriteID SPR_TRAMWAY_BACK_WIRES_SLOPED = SPR_TRAMWAY_BASE + 72;
|
||||
static const SpriteID SPR_TRAMWAY_FRONT_WIRES_SLOPED = SPR_TRAMWAY_BASE + 68;
|
||||
static const SpriteID SPR_TRAMWAY_TUNNEL_WIRES = SPR_TRAMWAY_BASE + 80;
|
||||
static const SpriteID SPR_TRAMWAY_BRIDGE = SPR_TRAMWAY_BASE + 107;
|
||||
static const uint16 TRAMWAY_SPRITE_COUNT = 113;
|
||||
static const SpriteID SPR_TRAMWAY_DEPOT_NO_TRACK = SPR_TRAMWAY_BASE + 113;
|
||||
static const uint16 TRAMWAY_SPRITE_COUNT = 119;
|
||||
|
||||
/** One way road sprites */
|
||||
static const SpriteID SPR_ONEWAY_BASE = SPR_TRAMWAY_BASE + TRAMWAY_SPRITE_COUNT;
|
||||
@@ -563,6 +565,7 @@ static const SpriteID SPR_ROAD_SLOPE_START = 1343;
|
||||
static const SpriteID SPR_ROAD_Y_SNOW = 1351;
|
||||
static const SpriteID SPR_ROAD_X_SNOW = 1352;
|
||||
/* see _road_sloped_sprites_offset in road_cmd.cpp for offsets for sloped road tiles */
|
||||
static const SpriteID SPR_ROAD_DEPOT = 1408;
|
||||
|
||||
static const SpriteID SPR_EXCAVATION_X = 1414;
|
||||
static const SpriteID SPR_EXCAVATION_Y = 1415;
|
||||
@@ -1099,6 +1102,7 @@ static const SpriteID SPR_IMG_ZOOMIN = 735;
|
||||
static const SpriteID SPR_IMG_ZOOMOUT = 736;
|
||||
static const SpriteID SPR_IMG_BUILDRAIL = 727;
|
||||
static const SpriteID SPR_IMG_BUILDROAD = 728;
|
||||
static const SpriteID SPR_IMG_BUILDTRAMS = SPR_OPENTTD_BASE + 179;
|
||||
static const SpriteID SPR_IMG_BUILDWATER = 729;
|
||||
static const SpriteID SPR_IMG_BUILDAIR = 730;
|
||||
static const SpriteID SPR_IMG_LANDSCAPING = 4083;
|
||||
@@ -1343,6 +1347,11 @@ static const SpriteID SPR_IMG_GOAL = SPR_OPENTTD_BASE + 171;
|
||||
static const SpriteID SPR_IMG_GOAL_COMPLETED = SPR_OPENTTD_BASE + 172;
|
||||
static const SpriteID SPR_IMG_GOAL_BROKEN_REF= SPR_OPENTTD_BASE + 173;
|
||||
|
||||
static const SpriteID SPR_IMG_CONVERT_ROAD = SPR_OPENTTD_BASE + 180;
|
||||
static const CursorID SPR_CURSOR_CONVERT_ROAD = SPR_OPENTTD_BASE + 181;
|
||||
static const SpriteID SPR_IMG_CONVERT_TRAM = SPR_OPENTTD_BASE + 182;
|
||||
static const CursorID SPR_CURSOR_CONVERT_TRAM = SPR_OPENTTD_BASE + 183;
|
||||
|
||||
/* intro_gui.cpp, genworld_gui.cpp */
|
||||
static const SpriteID SPR_SELECT_TEMPERATE = 4882;
|
||||
static const SpriteID SPR_SELECT_TEMPERATE_PUSHED = 4883;
|
||||
|
||||
@@ -789,7 +789,7 @@ static const DrawTileSeqStruct _station_display_datas_waypoint_Y[] = {
|
||||
* @param dtss Sequence child sprites of the tile
|
||||
*/
|
||||
#define TILE_SPRITE_LINE(img, dtss) { {img, PAL_NONE}, dtss },
|
||||
#define TILE_SPRITE_NULL() { {0, 0}, NULL },
|
||||
#define TILE_SPRITE_NULL() { {0, 0}, nullptr },
|
||||
|
||||
extern const DrawTileSprites _station_display_datas_rail[] = {
|
||||
TILE_SPRITE_LINE(SPR_RAIL_TRACK_X, _station_display_datas_0)
|
||||
|
||||
@@ -23,13 +23,13 @@ SDTG_END = SDTG_END()
|
||||
|
||||
[defaults]
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
guiflags = 0
|
||||
guiflags = SGF_NONE
|
||||
interval = 0
|
||||
str = STR_NULL
|
||||
strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT
|
||||
strval = STR_NULL
|
||||
proc = NULL
|
||||
load = NULL
|
||||
proc = nullptr
|
||||
load = nullptr
|
||||
from = SL_MIN_VERSION
|
||||
to = SL_MAX_VERSION
|
||||
cat = SC_ADVANCED
|
||||
|
||||
@@ -19,13 +19,13 @@ SDT_END = SDT_END()
|
||||
[defaults]
|
||||
base = WindowDesc
|
||||
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
|
||||
guiflags = 0
|
||||
guiflags = SGF_NONE
|
||||
interval = 0
|
||||
str = STR_NULL
|
||||
strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT
|
||||
strval = STR_NULL
|
||||
proc = NULL
|
||||
load = NULL
|
||||
proc = nullptr
|
||||
load = nullptr
|
||||
from = SL_MIN_VERSION
|
||||
to = SL_MAX_VERSION
|
||||
cat = SC_ADVANCED
|
||||
|
||||
Reference in New Issue
Block a user