airport_movement.h
changeset 699 02b8b9c9194f
parent 179 003096efeb9d
child 909 81bc9ef93f50
equal deleted inserted replaced
698:edbf72dd127b 699:02b8b9c9194f
     1 #ifndef AIRPORT_MOVEMENT_H
     1 #ifndef AIRPORT_MOVEMENT_H
     2 #define AIRPORT_MOVEMENT_H
     2 #define AIRPORT_MOVEMENT_H
     3 
     3 
     4 #include "stdafx.h"
     4 #include "stdafx.h"
     5 #include "macros.h"
     5 #include "macros.h"
     6 
       
     7 // don't forget to change the airport_depots too for larger mapsizes. TILE_X_BITS 16
       
     8 // won't fit in uint16 for example and overflow will occur in the checking code!
       
     9 // TrueLight -- So make it a TileIndex..
       
    10 
     6 
    11 typedef struct AirportMovingData {
     7 typedef struct AirportMovingData {
    12 	int x,y;
     8 	int x,y;
    13 	byte flag;
     9 	byte flag;
    14 	byte direction;
    10 	byte direction;
   265 
   261 
   266 ///////////////////////////////////////////////////////////////////////
   262 ///////////////////////////////////////////////////////////////////////
   267 /////**********Movement Machine on Airports*********************///////
   263 /////**********Movement Machine on Airports*********************///////
   268 // first element of depots array tells us how many depots there are (to know size of array)
   264 // first element of depots array tells us how many depots there are (to know size of array)
   269 // this may be changed later when airports are moved to external file
   265 // this may be changed later when airports are moved to external file
   270 static const TileIndex _airport_depots_country[] = {1, TILE_XY(3,0)};
   266 static const TileIndex _airport_depots_country[] = {TILE_XY(3,0)};
   271 static const AirportFTAbuildup _airport_fta_country[] = {
   267 static const AirportFTAbuildup _airport_fta_country[] = {
   272 	{ 0,HANGAR,NOTHING_block,1},
   268 	{ 0,HANGAR,NOTHING_block,1},
   273 	{ 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},
   269 	{ 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},
   274 	{ 2,TERM1,TERM1_block,1},
   270 	{ 2,TERM1,TERM1_block,1},
   275 	{ 3,TERM2,TERM2_block,5},
   271 	{ 3,TERM2,TERM2_block,5},
   295 	{20,HELILANDING,AIRPORT_BUSY_block,21},
   291 	{20,HELILANDING,AIRPORT_BUSY_block,21},
   296 	{21,HELIENDLANDING,AIRPORT_BUSY_block,1},
   292 	{21,HELIENDLANDING,AIRPORT_BUSY_block,1},
   297 	{MAX_ELEMENTS,0,0,0} // end marker. DO NOT REMOVE
   293 	{MAX_ELEMENTS,0,0,0} // end marker. DO NOT REMOVE
   298 };
   294 };
   299 
   295 
   300 static const TileIndex _airport_depots_city[] = {1, TILE_XY(5,0)};
   296 static const TileIndex _airport_depots_city[] = {TILE_XY(5,0)};
   301 static const AirportFTAbuildup _airport_fta_city[] = {
   297 static const AirportFTAbuildup _airport_fta_city[] = {
   302 	{ 0,HANGAR,NOTHING_block,1}, {0,TAKEOFF,OUT_WAY_block,1}, {0,0,0,1},
   298 	{ 0,HANGAR,NOTHING_block,1}, {0,TAKEOFF,OUT_WAY_block,1}, {0,0,0,1},
   303 	{ 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
   299 	{ 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
   304 	{ 2,TERM1,TERM1_block,7}, {2,TAKEOFF,OUT_WAY_block,7}, {2,0,0,7},
   300 	{ 2,TERM1,TERM1_block,7}, {2,TAKEOFF,OUT_WAY_block,7}, {2,0,0,7},
   305 	{ 3,TERM2,TERM2_block,5}, {3,TAKEOFF,OUT_WAY_block,5}, {3,0,0,5},
   301 	{ 3,TERM2,TERM2_block,5}, {3,TAKEOFF,OUT_WAY_block,5}, {3,0,0,5},
   329 	{23,HELILANDING,IN_WAY_block,24},
   325 	{23,HELILANDING,IN_WAY_block,24},
   330 	{24,HELIENDLANDING,IN_WAY_block,17},
   326 	{24,HELIENDLANDING,IN_WAY_block,17},
   331 	{MAX_ELEMENTS,0,0,0} // end marker. DO NOT REMOVE
   327 	{MAX_ELEMENTS,0,0,0} // end marker. DO NOT REMOVE
   332 };
   328 };
   333 
   329 
   334 static const TileIndex _airport_depots_metropolitan[] = {1, TILE_XY(5,0)};
   330 static const TileIndex _airport_depots_metropolitan[] = {TILE_XY(5,0)};
   335 static const AirportFTAbuildup _airport_fta_metropolitan[] = {
   331 static const AirportFTAbuildup _airport_fta_metropolitan[] = {
   336 	{ 0,HANGAR,NOTHING_block,1},
   332 	{ 0,HANGAR,NOTHING_block,1},
   337 	{ 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
   333 	{ 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
   338 	{ 2,TERM1,TERM1_block,7},
   334 	{ 2,TERM1,TERM1_block,7},
   339 	{ 3,TERM2,TERM2_block,5},
   335 	{ 3,TERM2,TERM2_block,5},
   365 	{25,HELILANDING,IN_WAY_block,26},
   361 	{25,HELILANDING,IN_WAY_block,26},
   366 	{26,HELIENDLANDING,IN_WAY_block,18},
   362 	{26,HELIENDLANDING,IN_WAY_block,18},
   367 	{MAX_ELEMENTS,0,0,0} // end marker. DO NOT REMOVE
   363 	{MAX_ELEMENTS,0,0,0} // end marker. DO NOT REMOVE
   368 };
   364 };
   369 
   365 
   370 static const TileIndex _airport_depots_international[] = {2, TILE_XY(0,3), TILE_XY(6,1)};
   366 static const TileIndex _airport_depots_international[] = {TILE_XY(0,3), TILE_XY(6,1)};
   371 static const AirportFTAbuildup _airport_fta_international[] = {
   367 static const AirportFTAbuildup _airport_fta_international[] = {
   372 	{ 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},
   368 	{ 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},
   373 	{ 1,HANGAR,NOTHING_block,3}, {1,255,HANGAR2_AREA_block,1}, {1,HELITAKEOFF,HELIPAD2_block,3}, {1,0,0,3},
   369 	{ 1,HANGAR,NOTHING_block,3}, {1,255,HANGAR2_AREA_block,1}, {1,HELITAKEOFF,HELIPAD2_block,3}, {1,0,0,3},
   374 	{ 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},
   370 	{ 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},
   375 	{ 3,255,HANGAR2_AREA_block,0}, {3,HANGAR,0,1}, {3,0,0,18},
   371 	{ 3,255,HANGAR2_AREA_block,0}, {3,HANGAR,0,1}, {3,0,0,18},
   427 	{49,0,HANGAR2_AREA_block,50}, // need to go to hangar when waiting in air
   423 	{49,0,HANGAR2_AREA_block,50}, // need to go to hangar when waiting in air
   428 	{50,0,HANGAR2_AREA_block,3},
   424 	{50,0,HANGAR2_AREA_block,3},
   429 	{MAX_ELEMENTS,0,0,0} // end marker. DO NOT REMOVE
   425 	{MAX_ELEMENTS,0,0,0} // end marker. DO NOT REMOVE
   430 };
   426 };
   431 
   427 
   432 static const TileIndex _airport_depots_heliport_oilrig[] = {0};
   428 // heliports, oilrigs don't have depots
   433 static const AirportFTAbuildup _airport_fta_heliport_oilrig[] = {
   429 static const AirportFTAbuildup _airport_fta_heliport_oilrig[] = {
   434 	{0,HELIPAD1,HELIPAD1_block,1},
   430 	{0,HELIPAD1,HELIPAD1_block,1},
   435 	{1,HELITAKEOFF,NOTHING_block,0}, // takeoff
   431 	{1,HELITAKEOFF,NOTHING_block,0}, // takeoff
   436 	{2,255,AIRPORT_BUSY_block,0}, {2,HELILANDING,0,3}, {2,HELITAKEOFF,0,1},
   432 	{2,255,AIRPORT_BUSY_block,0}, {2,HELILANDING,0,3}, {2,HELITAKEOFF,0,1},
   437 	{3,HELILANDING,AIRPORT_BUSY_block,4},
   433 	{3,HELILANDING,AIRPORT_BUSY_block,4},