src/table/ai_rail.h
changeset 7813 49fbe41f8a04
parent 7354 4108080dce70
child 6818 8c977ca780fe
child 10429 1b99254f9607
child 10801 3ad9dfb5430d
equal deleted inserted replaced
7812:9e652ca4827b 7813:49fbe41f8a04
     1 /* $Id$ */
     1 /* $Id$ */
     2 
     2 
     3 struct AiDefaultBlockData {
     3 struct AiDefaultBlockData {
     4 	byte mode;
     4 	byte mode;
     5 	byte attr;
     5 	DiagDirection attr;
     6 	TileIndexDiffC tileoffs;
     6 	TileIndexDiffC tileoffs;
     7 };
     7 };
     8 
     8 
     9 struct AiDefaultRailBlock {
     9 struct AiDefaultRailBlock {
    10 	byte p0;
    10 	byte p0;
    20 	const AiDefaultBlockData *data;
    20 	const AiDefaultBlockData *data;
    21 };
    21 };
    22 
    22 
    23 
    23 
    24 #define MKHDR(a, b, c, d, e) a, b, c, d, e,
    24 #define MKHDR(a, b, c, d, e) a, b, c, d, e,
    25 #define MKDEPOT(a, b, c)   {0, a, {b, c}}
    25 #define MKDEPOT(a, b, c)   {0, (DiagDirection)a, {b, c}}
    26 #define MKSTATION(a, b, c) {1, a, {b, c}}
    26 #define MKSTATION(a, b, c) {1, (DiagDirection)a, {b, c}}
    27 #define MKRAIL(a, b, c)    {2, a, {b, c}}
    27 #define MKRAIL(a, b, c)    {2, (DiagDirection)a, {b, c}}
    28 #define MKCLRRAIL(a, b, c) {3, a, {b, c}}
    28 #define MKCLRRAIL(a, b, c) {3, (DiagDirection)a, {b, c}}
    29 #define MKEND              {4, 0, {0, 0}}
    29 #define MKEND              {4, (DiagDirection)0, {0, 0}}
    30 
    30 
    31 static const AiDefaultBlockData _raildata_ai_0_data[] = {
    31 static const AiDefaultBlockData _raildata_ai_0_data[] = {
    32 	MKDEPOT(2, -1, 1),
    32 	MKDEPOT(2, -1, 1),
    33 	MKSTATION(0x15, 0, -1),
    33 	MKSTATION(0x15, 0, -1),
    34 	MKRAIL(0x26, 0, 1),
    34 	MKRAIL(0x26, 0, 1),
   553 	&_roaddata_ai_6,
   553 	&_roaddata_ai_6,
   554 	&_roaddata_ai_7,
   554 	&_roaddata_ai_7,
   555 	NULL
   555 	NULL
   556 };
   556 };
   557 
   557 
   558 #define MKAIR(a, b, c) {0, a, {b, c}}
   558 #undef MKHDR
       
   559 #undef MKDEPOT
       
   560 #undef MKSTATION
       
   561 #undef MKRAIL
       
   562 #undef MKCLRRAIL
       
   563 #undef MKEND
       
   564 
       
   565 
       
   566 #define MKAIR(a, b, c) {0, (DiagDirection)a, {b, c}}
       
   567 #define MKEND() {1, (DiagDirection)0, {0, 0}}
   559 
   568 
   560 static const AiDefaultBlockData _airportdata_ai_0[] = {
   569 static const AiDefaultBlockData _airportdata_ai_0[] = {
   561 	MKAIR(1, 0, 0),
   570 	MKAIR(1, 0, 0),
   562 	{1, 0, {0, 0}},
   571 	MKEND(),
   563 };
   572 };
   564 
   573 
   565 static const AiDefaultBlockData _airportdata_ai_1[] = {
   574 static const AiDefaultBlockData _airportdata_ai_1[] = {
   566 	MKAIR(0, 0, 0),
   575 	MKAIR(0, 0, 0),
   567 	{1, 0, {0, 0}}
   576 	MKEND(),
   568 };
   577 };
   569 
   578 
   570 static const AiDefaultBlockData _airportdata_ai_3[] = {
   579 static const AiDefaultBlockData _airportdata_ai_3[] = {
   571 	MKAIR(3, 0, 0),
   580 	MKAIR(3, 0, 0),
   572 	{1, 0, {0, 0}},
   581 	MKEND(),
   573 };
   582 };
   574 
   583 
   575 static const AiDefaultBlockData _airportdata_ai_4[] = {
   584 static const AiDefaultBlockData _airportdata_ai_4[] = {
   576 	MKAIR(4, 0, 0),
   585 	MKAIR(4, 0, 0),
   577 	{1, 0, {0, 0}},
   586 	MKEND(),
   578 };
   587 };
   579 
   588 
   580 static const AiDefaultBlockData _airportdata_ai_5[] = {
   589 static const AiDefaultBlockData _airportdata_ai_5[] = {
   581 	MKAIR(5, 0, 0),
   590 	MKAIR(5, 0, 0),
   582 	{1, 0, {0, 0}},
   591 	MKEND(),
   583 };
   592 };
   584 
   593 
   585 static const AiDefaultBlockData _airportdata_ai_7[] = {
   594 static const AiDefaultBlockData _airportdata_ai_7[] = {
   586 	MKAIR(7, 0, 0),
   595 	MKAIR(7, 0, 0),
   587 	{1, 0, {0, 0}}
   596 	MKEND(),
   588 };
   597 };
       
   598 
       
   599 #undef MKAIR
       
   600 #undef MDEND
   589 
   601 
   590 static const AiDefaultBlockData * const _airport_default_block_data[] = {
   602 static const AiDefaultBlockData * const _airport_default_block_data[] = {
   591 	_airportdata_ai_7, // intercontinental airport
   603 	_airportdata_ai_7, // intercontinental airport
   592 	_airportdata_ai_4, // international airport
   604 	_airportdata_ai_4, // international airport
   593 	_airportdata_ai_3, // metropolitan airport
   605 	_airportdata_ai_3, // metropolitan airport