(svn r10925) [NewGRF_ports] -Add: Added graphics placement of Intercontinental and Helistation. State Machines not yet functional. NewGRF_ports
authorrichk
Thu, 16 Aug 2007 20:28:14 +0000
branchNewGRF_ports
changeset 6838 33fd9078e316
parent 6837 c39d50afbaf0
child 6839 4884c39c4d66
(svn r10925) [NewGRF_ports] -Add: Added graphics placement of Intercontinental and Helistation. State Machines not yet functional.
-Change: Both Intercontinental and Helistation now loaded for old games.
**All old game airports now have newgrf equivalents.**
bin/data/airportsextended.grf
bin/data/sprites/airportsextended.nfo
src/openttd.cpp
Binary file bin/data/airportsextended.grf has changed
--- a/bin/data/sprites/airportsextended.nfo	Thu Aug 16 08:23:58 2007 +0000
+++ b/bin/data/sprites/airportsextended.nfo	Thu Aug 16 20:28:14 2007 +0000
@@ -1,7 +1,7 @@
 // Automatically generated by GRFCODEC. Do not modify!
 // (Info version 7)
 // Format: spritenum pcxfile xpos ypos compression ysize xsize xrel yrel
-    0 * 4	 88 00 00 00
+    0 * 4	 92 00 00 00
 
 // Length of GRF in sprites
 // if version of TTDPatch higher than X, skip two sprites
@@ -126,6 +126,7 @@
   109 sprites/airportsextended.pcx 221 383 09 64 96 0 0
 
 // Define a graphics set ID (cargo ID = 0
+//!!Error (58): Action 2 declaring no loaded sets.
   110 * 7	 02 0D 00
 // Little/lots set
 		00 01
@@ -520,6 +521,7 @@
 		01 FF 3E FF  //1951-2175
 		00 FF
 
+//!!Error (164): Offset 10: 13 is not a valid callback for this feature.
   113 * 14	 02 0D
 		03 // ID
 		81 0C // Check variable 0C (callback id)
@@ -536,7 +538,7 @@
 // Metropolitan Airport
 //-------------------------
 
-// 10 properties to change, 1 station to change, station id = 01
+// 11 properties to change, 1 station to change, station id = 01
   115 * 935	 00 0D 0B 01 01
 
 // Class ID
@@ -863,6 +865,7 @@
 		01 FF 3C FF  //1980-2175
 		00 FF
 
+//!!Error (164): Offset 10: 13 is not a valid callback for this feature.
   117 * 14	 02 0D
 		06 // ID
 		81 0C // Check variable 0C (callback id)
@@ -880,6 +883,7 @@
 //-------------------------
 
 // 12 properties to change, 1 station to change, station id = 02
+//!!Error (66): Property data is missing terminating byte(s).
   119 * 1369	 00 0D 0C 01 02
 
 // Class ID
@@ -1334,6 +1338,7 @@
 		01 FF 4A FF  //1951-2175
 		00 FF
 
+//!!Error (164): Offset 10: 13 is not a valid callback for this feature.
   121 * 14	 02 0D
 		07 // ID
 		81 0C // Check variable 0C (callback id)
@@ -1350,7 +1355,7 @@
 // Helidepot
 //-------------------------
 
-// 10 properties to change, 1 station to change, station id = nn
+// 11 properties to change, 1 station to change, station id = nn
   123 * 453	 00 0D 0B 01 03
 
 // Class ID
@@ -1518,6 +1523,7 @@
 		01 FF 3E FF  //1951-2175
 		00 FF
 
+//!!Error (164): Offset 10: 13 is not a valid callback for this feature.
   125 * 14	 02 0D
 		09 // ID
 		81 0C // Check variable 0C (callback id)
@@ -1530,18 +1536,1061 @@
   126 * 7	 03 0D 01 03 00 09 00
 
 
-// Name
+
+//-------------------------
+// Intercontinental Airport
+//-------------------------
+
+// 12 properties to change, 1 station to change, station id = 04
+//!!Error (66): Property data is missing terminating byte(s).
+  127 * 2293	 00 0D 0C 01 04
+
+// Class ID
+	08 "INTL"
+ //Sprite layout
+		09 1D
+// tilelayout:00   was 102 = 0x66 :
+			4A 0A 00 00
+					07 07 00 02 02 08 78 0A 00 80
+					00 00 00 01 10 06 67 8A 00 80
+				80
+
+// tilelayout:01   was 120 = 0x78 :
+			59 0A 00 00
+					00 00 00 10 01 06 68 8A 00 80
+					00 00 00 01 10 06 67 8A 00 80
+				80
+
+// tilelayout:02   was 89 = 0x59 :
+			56 0A 00 00
+					00 00 00 10 01 06 68 8A 00 80
+				80
+
+// tilelayout:03   was 118 = 0x76 :
+			59 0A 00 00
+					0F 00 00 01 10 06 67 8A 00 80
+					00 00 00 10 01 06 68 8A 00 80
+				80
+
+// tilelayout:04   was 23 = 0x17 :
+			56 0A 00 00
+					00 0F 00 10 01 06 68 8A 00 80
+				80
+
+// tilelayout:05   was 119 = 0x77 :
+			59 0A 00 00
+					0F 00 00 01 10 06 67 8A 00 80
+					00 0F 00 10 01 06 68 8A 00 80
+				80
+
+// tilelayout:06   was 117 = 0x75 :
+			4A 0A 00 00
+					00 00 00 01 10 06 67 8A 00 80
+					0F 00 00 01 10 06 67 8A 00 80
+				80
+
+// tilelayout:07   was 87 = 0x57 :
+			4A 0A 00 00
+					00 00 00 01 10 06 67 8A 00 80
+				80
+
+// tilelayout:08   was 54 = 0x36 :
+			6B 0A 00 00
+					00 00 00 0F 0F 1E 6C 8A 00 80
+				80
+
+// tilelayout:09   was 8 = 0x08 :
+			4A 0A 00 00
+				80
+
+// tilelayout:0A   was 51 = 0x33 :
+			8D 0F 00 00
+					07 07 00 02 02 46 29 0A 00 80
+					00 00 00 01 10 06 67 8A 00 80
+				80
+
+// tilelayout:0B   was 162 = 0xA2 :
+			4A 0A 00 00
+					00 00 00 00 00 00 3B 04 00 00
+				80
+
+// tilelayout:0C   was 85 = 0x55 :
+			4A 0A 00 00
+					03 03 00 0A 0A 3C 5B 8A 00 80
+				80
+
+// tilelayout:0D   was 116 = 0x74 :
+			4A 0A 00 00
+					0A 06 00 00 00 00 22 17 00 80
+				80
+
+// tilelayout:0E   was 9 = 0x09 :
+			4A 0A 00 00
+					00 00 00 10 01 06 68 8A 00 80
+				80
+
+// tilelayout:0F   was 10 = 0x0A :
+			4A 0A 00 00
+					0F 00 00 01 10 06 67 8A 00 80
+				80
+
+// tilelayout:10   was 11 = 0x0B :
+			4B 0A 00 00
+				80
+
+// tilelayout:11   was 31 = 0x1F :
+			4A 0A 00 00
+					00 03 00 10 0B 28 5E 8A 00 80
+				80
+
+// tilelayout:12   was 160 = 0xA0 :
+			4A 0A 00 00
+					03 03 00 0A 0A 3C 2F 88 00 80
+				80
+
+// tilelayout:13   was 32 = 0x20 :
+			4A 0A 00 00
+					0E 00 00 02 10 1C 5F 8A 00 80
+					00 00 00 02 10 1C 60 0A 00 80
+				80
+
+// tilelayout:14   was 27 = 0x1B :
+			4A 0A 00 00
+					02 00 00 0B 10 28 5A 8A 00 80
+				80
+
+// tilelayout:15   was 30 = 0x1E :
+			4A 0A 00 00
+					03 03 00 0A 0B 23 5D 8A 00 80
+				80
+
+// tilelayout:16   was 142 = 0x8E :
+			4A 0A 00 00
+					00 0F 00 10 01 06 68 8A 00 80
+				80
+
+// tilelayout:17   was 29 = 0x1D :
+			4A 0A 00 00
+					00 01 00 0E 0E 1E 5C 8A 00 80
+				80
+
+// tilelayout:18   was 163 = 0xA3 :
+			4A 0A 00 00
+					00 00 00 00 00 00 74 04 00 00
+					00 00 00 00 00 00 7D 84 00 00
+				80
+
+// tilelayout:19   was 164 = 0xA4 :
+			8D 0F 00 00
+					00 00 00 01 10 06 67 8A 00 80
+					04 0B 00 01 01 14 74 8A 00 80
+				80
+
+// tilelayout:1A   was 37 = 0x25 :
+			8D 0F 00 00
+				80
+
+// tilelayout:1B   was 121 = 0x79 :
+			59 0A 00 00
+					00 00 00 01 10 06 67 8A 00 80
+					00 0F 00 10 01 06 68 8A 00 80
+				80
+
+// 1C intercontinental mini pic
+			8F 04 00 08
+				80
+
+// Prop0B Callbacks
+		0B 01 //Availability
+
+// Define custom layouts
+		0E 01
+			01
+			09 0B 1C
+				  00 01 02 02 02 02 02 02 03
+				  01 04 04 04 04 04 04 05 06
+				  07 08 07 09 09 09 09 0A 06
+				  07 0B 07 0C 0D 0D 09 0E 0F
+				  07 09 09 10 11 10 09 12 13
+				  13 12 09 10 14 10 09 09 0F
+				  07 09 09 10 15 10 09 09 0F
+				  07 16 09 10 17 10 0F 18 0F
+				  07 19 07 09 09 09 0F 1A 06
+				  07 01 02 02 02 02 02 02 05
+				  1B 04 04 04 04 04 04 05 1A
+
+// Prop19 Vehicle Type
+		19 03 //Air
+
+// Define Finite State Machine
+		1A 4D  // positions 00-4C
+
+	// Intercontinental Airport : Position 00
+	\w7 \w87 \w0 40 \wx0007 00  // HANGAR
+		05
+			40 4E 00 02
+			7E 00 7E 46 4E 7F 00 02
+			7E 01 7E 46 4E 7F 00 02
+			41 7E 46 4E 7F 00 02
+			00 00 00 02
+
+	// Intercontinental Airport : Position 01
+	\w135 \w72 \w0 40 \wx0007 00  // HANGAR
+		04
+			40 48 00 03
+			7E 01 48 00 03
+			7E 00 48 00 03
+			00 00 00 03
+
+	// Intercontinental Airport : Position 02
+	\w7 \w104 \w0 00 \wx0000 4E
+		0A
+			40 00 00 00
+			41 46 00 1B
+			05 00 00 1A
+			06 00 00 1A
+			08 00 00 1A
+			09 00 00 1A
+			25 00 00 1A
+			26 00 00 1A
+			51 00 00 4A
+			00 00 00 1B
+
+	// Intercontinental Airport : Position 03
+	\w135 \w88 \w0 00 \wx0000 48
+		03
+			40 00 00 01
+			51 00 00 4B
+			00 00 00 14
+
+	// Intercontinental Airport : Position 04
+	\w56 \w120 \w0 01 \wx000D 00  // TERM1
+		03
+			01 00 00 1A
+			40 7E 46 4E 7F 00 1A
+			00 00 00 1A
+
+	// Intercontinental Airport : Position 05
+	\w56 \w104 \w0 02 \wx000B 02  // TERM2
+		03
+			02 02 00 1B
+			40 7E 46 4E 7F 00 1B
+			00 00 00 1B
+
+	// Intercontinental Airport : Position 06
+	\w56 \w88 \w0 03 \wx000B 03  // TERM3
+		03
+			03 03 00 1C
+			40 7E 46 4E 7F 00 1C
+			00 00 00 1C
+
+	// Intercontinental Airport : Position 07
+	\w56 \w72 \w0 04 \wx000B 04  // TERM4
+		03
+			04 04 00 1D
+			40 7E 46 4E 7F 00 1D
+			00 00 00 1D
+
+	// Intercontinental Airport : Position 08
+	\w88 \w120 \w0 05 \wx0001 05  // TERM5
+		03
+			05 05 00 12
+			40 48 00 12
+			00 00 00 12
+
+	// Intercontinental Airport : Position 09
+	\w88 \w104 \w0 06 \wx0003 06  // TERM6
+		03
+			06 06 00 13
+			40 48 00 13
+			00 00 00 13
+
+	// Intercontinental Airport : Position 0A
+	\w88 \w88 \w0 08 \wx0003 07  // TERM7
+		03
+			08 07 00 14
+			40 48 00 14
+			00 00 00 14
+
+	// Intercontinental Airport : Position 0B
+	\w88 \w72 \w0 09 \wx0003 08  // TERM8
+		03
+			09 08 00 15
+			40 48 00 15
+			00 00 00 15
+
+	// Intercontinental Airport : Position 0C
+	\w88 \w56 \w0 25 \wx0007 25  // HELIPAD1
+		03
+			25 25 00 0C
+			40 00 00 46
+			51 00 00 48
+
+	// Intercontinental Airport : Position 0D
+	\w72 \w56 \w0 26 \wx0003 26  // HELIPAD2
+		03
+			26 26 00 0D
+			40 00 00 47
+			51 00 00 49
+
+	// Intercontinental Airport : Position 0E
+	\w40 \w136 \w0 00 \wx0000 49
+		01
+			00 49 00 0F
+
+	// Intercontinental Airport : Position 0F
+	\w56 \w136 \w0 00 \wx0000 49
+		01
+			00 49 00 10
+
+	// Intercontinental Airport : Position 10
+	\w88 \w136 \w0 00 \wx0000 4A
+		01
+			00 4A 00 11
+
+	// Intercontinental Airport : Position 11
+	\w104 \w136 \w0 00 \wx0000 4A
+		01
+			00 4A 00 12
+
+	// Intercontinental Airport : Position 12
+	\w104 \w120 \w0 00 \wx0000 47
+		04
+			05 05 00 08
+			41 00 00 13
+			51 25 00 13
+			00 4B 00 13
+
+	// Intercontinental Airport : Position 13
+	\w104 \w104 \w0 00 \wx0000 47
+		05
+			06 06 00 09
+			05 00 00 12
+			41 00 00 39
+			51 25 00 14
+			00 4B 00 14
+
+	// Intercontinental Airport : Position 14
+	\w104 \w88 \w0 00 \wx0000 47
+		06
+			08 07 00 0A
+			05 00 00 13
+			06 00 00 13
+			40 48 00 03
+			41 00 00 13
+			00 4B 00 15
+
+	// Intercontinental Airport : Position 15
+	\w104 \w72 \w0 00 \wx0000 47
+		07
+			09 08 00 0B
+			40 48 00 14
+			05 00 00 14
+			06 00 00 14
+			08 00 00 14
+			41 00 00 14
+			00 4B 00 16
+
+	// Intercontinental Airport : Position 16
+	\w104 \w56 \w0 00 \wx0000 47
+		07
+			40 00 00 15
+			05 00 00 15
+			06 00 00 15
+			08 00 00 15
+			09 00 00 15
+			41 00 00 15
+			00 00 00 17
+
+	// Intercontinental Airport : Position 17
+	\w104 \w40 \w0 00 \wx0000 4B
+		01
+			00 4B 00 46
+
+	// Intercontinental Airport : Position 18
+	\w56 \w40 \w0 00 \wx0000 4C
+		01
+			00 4C 00 19
+
+	// Intercontinental Airport : Position 19
+	\w40 \w40 \w0 00 \wx0000 4C
+		02
+			40 7E 46 4E 7F 00 1D
+			00 00 00 1D
+
+	// Intercontinental Airport : Position 1A
+	\w40 \w120 \w0 00 \wx0000 46
+		0A
+			01 00 00 04
+			40 4E 00 1B
+			05 49 00 0E
+			06 49 00 0E
+			08 49 00 0E
+			09 49 00 0E
+			25 49 00 0E
+			26 49 00 0E
+			51 49 00 0E
+			00 00 00 1B
+
+	// Intercontinental Airport : Position 1B
+	\w40 \w104 \w0 00 \wx0000 46
+		0A
+			02 02 00 05
+			40 4E 00 02
+			01 00 00 1A
+			05 00 00 1A
+			06 00 00 1A
+			08 00 00 1A
+			09 00 00 1A
+			25 00 00 0E
+			26 00 00 0E
+			00 00 00 1C
+
+	// Intercontinental Airport : Position 1C
+	\w40 \w88 \w0 00 \wx0000 46
+		0C
+			03 03 00 06
+			40 4E 00 1B
+			01 00 00 1B
+			02 00 00 1B
+			04 00 00 1D
+			05 00 00 0E
+			06 00 00 0E
+			08 00 00 0E
+			09 00 00 0E
+			25 00 00 0E
+			26 00 00 0E
+			00 00 00 1D
+
+	// Intercontinental Airport : Position 1D
+	\w40 \w72 \w0 00 \wx0000 46
+		04
+			04 04 00 07
+			40 4E 00 1B
+			41 00 00 1E
+			00 00 00 1C
+
+	// Intercontinental Airport : Position 1E
+	\w18 \w72 \w0 00 \wx0000 52
+		01
+			00 52 00 1F
+
+	// Intercontinental Airport : Position 1F
+	\w8 \w40 \w0 00 \wx0000 43
+		01
+			00 43 00 20
+
+	// Intercontinental Airport : Position 20
+	\w8 \w24 \w0 41 \wx000B 41  // TAKEOFF
+		01
+			41 41 00 21
+
+	// Intercontinental Airport : Position 21
+	\w119 \w24 \w0 00 \wx0010 41
+		01
+			00 41 00 22
+
+	// Intercontinental Airport : Position 22
+	\w117 \w24 \w0 42 \wx0010 00  // STARTTAKEOFF
+		01
+			00 00 00 23
+
+	// Intercontinental Airport : Position 23
+	\w197 \w24 \w80 43 \wx0010 00  // ENDTAKEOFF
+		01
+			00 00 00 00
+
+	// Intercontinental Airport : Position 24
+	\w254 \w84 \w0 00 \wx0030 00
+		01
+			00 00 00 00
+
+	// Intercontinental Airport : Position 25
+	\w117 \w168 \w0 44 \wx0010 40  // LANDING
+		01
+			44 40 00 26
+
+	// Intercontinental Airport : Position 26
+	\w3 \w168 \w0 00 \wx0050 40
+		01
+			00 40 00 27
+
+	// Intercontinental Airport : Position 27
+	\w8 \w168 \w0 00 \wx0000 40
+		01
+			00 40 00 28
+
+	// Intercontinental Airport : Position 28
+	\w8 \w144 \w0 45 \wx0000 40  // ENDLANDING
+		01
+			45 40 00 29
+
+	// Intercontinental Airport : Position 29
+	\w8 \w128 \w0 00 \wx0000 44
+		01
+			00 44 00 2A
+
+	// Intercontinental Airport : Position 2A
+	\w8 \w120 \w0 00 \wx000B 44
+		04
+			7E 00 46 00 02
+			7E 01 46 00 02
+			40 00 00 02
+			00 00 00 1A
+
+	// Intercontinental Airport : Position 2B
+	\w56 \w344 \w0 00 \wx0030 00
+		01
+			00 00 00 2C
+
+	// Intercontinental Airport : Position 2C
+	\wxFF38 \w88 \w0 7F \wx0030 00  // FLYING
+		04
+			7F 00 00 2D
+			54 00 00 2F
+			44 00 00 45
+			00 00 00 2D
+
+	// Intercontinental Airport : Position 2D
+	\w56 \wxFF58 \w0 00 \wx0030 00
+		01
+			00 00 00 2E
+
+	// Intercontinental Airport : Position 2E
+	\w312 \w88 \w0 7F \wx0030 00  // FLYING
+		03
+			7F 00 00 2B
+			44 00 00 4C
+			00 00 00 2B
+
+	// Intercontinental Airport : Position 2F
+	\w96 \w40 \w0 54 \wx0030 4D  // HELILANDING
+		01
+			00 4D 00 30
+
+	// Intercontinental Airport : Position 30
+	\w96 \w40 \w0 55 \wx0030 4D  // HELIENDLANDING
+		03
+			25 00 00 31
+			26 00 00 32
+			40 00 00 37
+
+	// Intercontinental Airport : Position 31
+	\w82 \w54 \w0 00 \wx0030 00
+		01
+			00 00 00 33
+
+	// Intercontinental Airport : Position 32
+	\w64 \w56 \w0 00 \wx0030 00
+		01
+			00 00 00 34
+
+	// Intercontinental Airport : Position 33
+	\w81 \w55 \w0 00 \wx0000 00
+		03
+			25 25 00 0C
+			40 00 00 37
+			00 00 00 0C
+
+	// Intercontinental Airport : Position 34
+	\w64 \w56 \w0 00 \wx0000 00
+		03
+			26 26 00 0D
+			40 00 00 37
+			00 00 00 0D
+
+	// Intercontinental Airport : Position 35
+	\w80 \w56 \w80 51 \wx0000 00  // HELITAKEOFF
+		01
+			51 00 00 00
+
+	// Intercontinental Airport : Position 36
+	\w64 \w56 \w80 51 \wx0000 00  // HELITAKEOFF
+		01
+			51 00 00 00
+
+	// Intercontinental Airport : Position 37
+	\w136 \w96 \w0 00 \wx0030 48
+		01
+			00 48 00 38
+
+	// Intercontinental Airport : Position 38
+	\w136 \w96 \w0 00 \wx0000 48
+		01
+			00 48 00 03
+
+	// Intercontinental Airport : Position 39
+	\w126 \w104 \w0 00 \wx0000 4F
+		02
+			41 00 00 3A
+			00 00 00 3A
+
+	// Intercontinental Airport : Position 3A
+	\w136 \w136 \w0 00 \wx0000 4F
+		01
+			00 4F 00 3B
+
+	// Intercontinental Airport : Position 3B
+	\w136 \w152 \w0 41 \wx0003 42  // TAKEOFF
+		01
+			41 42 00 3C
+
+	// Intercontinental Airport : Position 3C
+	\w16 \w152 \w0 00 \wx0010 42
+		01
+			00 42 00 3D
+
+	// Intercontinental Airport : Position 3D
+	\w20 \w152 \w0 42 \wx0010 00  // STARTTAKEOFF
+		01
+			42 00 00 3E
+
+	// Intercontinental Airport : Position 3E
+	\wxFFC8 \w152 \w0 43 \wx0010 00  // ENDTAKEOFF
+		01
+			43 00 00 00
+
+	// Intercontinental Airport : Position 3F
+	\w24 \w8 \w0 44 \wx0010 51  // LANDING
+		01
+			44 51 00 40
+
+	// Intercontinental Airport : Position 40
+	\w136 \w8 \w0 00 \wx0050 51
+		01
+			00 51 00 41
+
+	// Intercontinental Airport : Position 41
+	\w136 \w8 \w0 00 \wx0000 51
+		01
+			00 51 00 42
+
+	// Intercontinental Airport : Position 42
+	\w136 \w24 \w0 45 \wx0000 51  // ENDLANDING
+		01
+			00 51 00 43
+
+	// Intercontinental Airport : Position 43
+	\w136 \w40 \w0 00 \wx0000 50
+		01
+			00 50 00 44
+
+	// Intercontinental Airport : Position 44
+	\w136 \w56 \w0 00 \wx0003 50
+		03
+			7E 01 47 00 16
+			7E 00 46 00 16
+			40 48 00 16
+
+	// Intercontinental Airport : Position 45
+	\wxFFC8 \w8 \w0 00 \wx0030 51
+		01
+			00 51 00 3F
+
+	// Intercontinental Airport : Position 46
+	\w88 \w40 \w0 00 \wx0000 4B
+		03
+			25 25 00 0C
+			51 25 00 0C
+			00 00 00 47
+
+	// Intercontinental Airport : Position 47
+	\w72 \w40 \w0 00 \wx0000 4B
+		03
+			26 26 00 0D
+			51 25 00 0C
+			00 00 00 18
+
+	// Intercontinental Airport : Position 48
+	\w88 \w57 \w0 00 \wx0007 25
+		01
+			00 25 00 35
+
+	// Intercontinental Airport : Position 49
+	\w71 \w56 \w0 00 \wx0003 26
+		01
+			00 26 00 36
+
+	// Intercontinental Airport : Position 4A
+	\w8 \w120 \w80 51 \wx0000 00  // HELITAKEOFF
+		01
+			51 00 00 00
+
+	// Intercontinental Airport : Position 4B
+	\w136 \w104 \w80 51 \wx0000 00  // HELITAKEOFF
+		01
+			51 00 00 00
+
+	// Intercontinental Airport : Position 4C
+	\w197 \w168 \w0 00 \wx0030 40
+		01
+			00 40 00 25
+
+// Prop1C Vehicle Entry Points
+		1C 2B 2B 2B 2B
+
+// Prop1D Hangar/Depot Locations
+		1D 02 00 05 01 08 04 02
+
+// Prop1E Terminal Groups
+		1E 02 04 04
+
+// Prop1F Helipad Groups
+		1F 01 02
+
+// Prop20 Port Subtype
+		20 03
+
+// Prop22 Catchment Area
+		22 0A
+
+//availability date varaction2
+//Intercontinental Airport available from 2003 (1920+83) to 2175 (1920+255)
+  128 * 14	 02 0D
+		0A // ID
+		81 01 // Variable 01 (current date)
+		00 FF
+		01
+		01 FF 53 FF  //2003-2175
+		00 FF
+
+//!!Error (164): Offset 10: 13 is not a valid callback for this feature.
+  129 * 14	 02 0D
+		0B // ID
+		81 0C // Check variable 0C (callback id)
+		00 FF
+		01
+		0A 00 13 13 // Jump to action 2 ID 02 if this is callback 13
+		00 00 // Otherwise return the real sprites
+
+	// Use graphics ID (1 station, ID 4, 0 cargo specific graphics, default cargo = 0)
+  130 * 7	 03 0D 01 04 00 0B 00
+
+
+//-------------------------
+// Helistation
+//-------------------------
+
+// 11 properties to change, 1 station to change, station id = 05
+  131 * 866	 00 0D 0B 01 05
+
+// Class ID
+	08 "HELI"
+ //Sprite layout
+		09 08
+// tilelayout:00   was 32 = 0x20 :
+			4A 0A 00 00
+					0E 00 00 02 10 1C 5F 8A 00 80
+					00 00 00 02 10 1C 60 0A 00 80
+				80
+
+// tilelayout:01   was 134 = 0x86 :
+			4A 0A 00 00
+					00 00 00 10 01 06 68 8A 00 80
+					03 03 00 0A 0A 3C 2F 88 00 80
+				80
+
+// tilelayout:02   was 159 = 0x9F :
+			4A 0A 00 00
+					00 01 02 00 00 00 39 04 00 00
+					00 00 00 10 01 06 68 8A 00 80
+				80
+
+// tilelayout:03   was 158 = 0x9E :
+			4A 0A 00 00
+					00 01 02 00 00 00 39 04 00 00
+					0F 00 00 01 10 06 67 8A 00 80
+					00 00 00 10 01 06 68 8A 00 80
+				80
+
+// tilelayout:04   was 161 = 0xA1 :
+			4A 0A 00 00
+					00 00 00 01 10 06 67 8A 00 80
+					00 0F 00 10 01 06 68 8A 00 80
+				80
+
+// tilelayout:05   was 142 = 0x8E :
+			4A 0A 00 00
+					00 0F 00 10 01 06 68 8A 00 80
+				80
+
+// tilelayout:06   was 157 = 0x9D :
+			4A 0A 00 00
+					00 01 02 00 00 00 39 04 00 00
+					0F 00 00 01 10 06 67 8A 00 80
+					00 0F 00 10 01 06 68 8A 00 80
+				80
+
+// 07 intercontinental mini pic
+			90 04 00 08
+				80
+
+// Prop0B Callbacks
+		0B 01 //Availability
+
+// Define custom layouts
+		0E 01
+			01
+			04 02 07
+				  00 01 02 03
+				  04 05 05 06
+
+// Prop19 Vehicle Type
+		19 03 //Air
+
+// Define Finite State Machine
+		1A 21  // positions 00-20
+
+	// Helistation : Position 00
+	\w8 \w3 \w0 40 \wx0007 00  // HANGAR
+		06
+			40 00 00 08
+			25 00 00 01
+			26 00 00 01
+			27 00 00 01
+			51 00 00 01
+			00 00 00 00
+
+	// Helistation : Position 01
+	\w8 \w22 \w0 00 \wx0000 48
+		03
+			40 00 00 00
+			51 00 00 03
+			00 00 00 04
+
+	// Helistation : Position 02
+	\w116 \w24 \w0 7F \wx0030 00  // FLYING
+		03
+			7F 00 00 1C
+			54 00 00 0F
+			00 00 00 1C
+
+	// Helistation : Position 03
+	\w14 \w22 \w80 51 \wx0000 00  // HELITAKEOFF
+		01
+			51 00 00 00
+
+	// Helistation : Position 04
+	\w24 \w22 \w0 00 \wx0000 42
+		03
+			40 48 00 01
+			51 00 00 01
+			00 00 00 05
+
+	// Helistation : Position 05
+	\w40 \w22 \w0 00 \wx0000 42
+		04
+			25 25 00 06
+			26 26 00 07
+			27 27 00 08
+			00 00 00 04
+
+	// Helistation : Position 06
+	\w40 \w8 \w0 25 \wx0003 25  // HELIPAD1
+		04
+			25 25 00 05
+			40 48 00 05
+			51 00 00 09
+			00 00 00 06
+
+	// Helistation : Position 07
+	\w56 \w8 \w0 26 \wx0003 26  // HELIPAD2
+		04
+			26 26 00 05
+			40 48 00 05
+			51 00 00 0A
+			00 00 00 07
+
+	// Helistation : Position 08
+	\w56 \w24 \w0 27 \wx0003 27  // HELIPAD3
+		04
+			27 27 00 05
+			40 48 00 05
+			51 00 00 0B
+			00 00 00 08
+
+	// Helistation : Position 09
+	\w40 \w8 \w0 00 \wx0001 25
+		01
+			00 25 00 0C
+
+	// Helistation : Position 0A
+	\w56 \w8 \w0 00 \wx0001 26
+		01
+			00 26 00 0D
+
+	// Helistation : Position 0B
+	\w56 \w24 \w0 00 \wx0001 27
+		01
+			00 27 00 0E
+
+	// Helistation : Position 0C
+	\w32 \w8 \w80 51 \wx0000 00  // HELITAKEOFF
+		01
+			51 00 00 00
+
+	// Helistation : Position 0D
+	\w48 \w8 \w80 51 \wx0000 00  // HELITAKEOFF
+		01
+			51 00 00 00
+
+	// Helistation : Position 0E
+	\w48 \w24 \w80 51 \wx0000 00  // HELITAKEOFF
+		01
+			51 00 00 00
+
+	// Helistation : Position 0F
+	\w84 \w24 \w0 54 \wx0030 4D  // HELILANDING
+		01
+			54 4D 00 10
+
+	// Helistation : Position 10
+	\w68 \w24 \w0 55 \wx0030 4D  // HELIENDLANDING
+		05
+			55 4D 00 10
+			25 00 00 11
+			26 00 00 12
+			27 00 00 13
+			40 00 00 17
+
+	// Helistation : Position 11
+	\w32 \w8 \w0 00 \wx0030 00
+		01
+			00 00 00 14
+
+	// Helistation : Position 12
+	\w48 \w8 \w0 00 \wx0030 00
+		01
+			00 00 00 15
+
+	// Helistation : Position 13
+	\w48 \w24 \w0 00 \wx0030 00
+		01
+			00 00 00 16
+
+	// Helistation : Position 14
+	\w40 \w8 \w0 00 \wx0000 00
+		03
+			25 25 00 06
+			40 00 00 17
+			00 00 00 06
+
+	// Helistation : Position 15
+	\w48 \w8 \w0 00 \wx0000 00
+		03
+			26 26 00 07
+			40 00 00 17
+			00 00 00 07
+
+	// Helistation : Position 16
+	\w48 \w24 \w0 00 \wx0000 00
+		03
+			27 27 00 08
+			40 00 00 17
+			00 00 00 08
+
+	// Helistation : Position 17
+	\w0 \w22 \w0 00 \wx0030 48
+		01
+			00 48 00 18
+
+	// Helistation : Position 18
+	\w0 \w22 \w0 00 \wx0000 48
+		01
+			00 48 00 01
+
+	// Helistation : Position 19
+	\w148 \wxFFF8 \w0 00 \wx0030 00
+		01
+			00 00 00 1A
+
+	// Helistation : Position 1A
+	\w148 \w8 \w0 00 \wx0030 00
+		01
+			00 00 00 1B
+
+	// Helistation : Position 1B
+	\w132 \w24 \w0 00 \wx0030 00
+		01
+			00 00 00 02
+
+	// Helistation : Position 1C
+	\w100 \w24 \w0 00 \wx0030 00
+		01
+			00 00 00 1D
+
+	// Helistation : Position 1D
+	\w84 \w8 \w0 00 \wx0030 00
+		01
+			00 00 00 1E
+
+	// Helistation : Position 1E
+	\w84 \wxFFF8 \w0 00 \wx0030 00
+		01
+			00 00 00 1F
+
+	// Helistation : Position 1F
+	\w100 \wxFFE8 \w0 00 \wx0030 00
+		01
+			00 00 00 20
+
+	// Helistation : Position 20
+	\w132 \wxFFE8 \w0 00 \wx0030 00
+		01
+			00 00 00 19
+
+// Prop1C Vehicle Entry Points
+		1C 19 19 19 19
+
+// Prop1D Hangar/Depot Locations
+		1D 01 00 00 01
+
+// Prop1F Helipad Groups
+		1F 01 03
+
+// Prop20 Port Subtype
+		20 02
+
+// Prop22 Catchment Area
+		22 04
+
+//availability date varaction2
+//Helistation available from 1999 (1920+79) to 2175 (1920+255)
+  132 * 14	 02 0D
+		0C // ID
+		81 01 // Variable 01 (current date)
+		00 FF
+		01
+		01 FF 4F FF  //1951-2175
+		00 FF
+
+//!!Error (164): Offset 10: 13 is not a valid callback for this feature.
+  133 * 14	 02 0D
+		0D // ID
+		81 0C // Check variable 0C (callback id)
+		00 FF
+		01
+		0C 00 13 13 // Jump to action 2 ID 02 if this is callback 13
+		00 00 // Otherwise return the real sprites
+
+	// Use graphics ID (1 station, ID 5, 0 cargo specific graphics, default cargo = 0)
+  134 * 7	 03 0D 01 05 00 0D 00
+
+
+// Names
 // Set the name of the station; all languages, 1 string, offset of CD 00, because 'generic strings' flag is set it's a word.
-  127 * 21	 04 0D FF 01 00 CD "Small airports" 00
-  128 * 25	 04 0D 9F 01 00 CD "Kleine vliegvelden" 00
-  129 * 23	 04 0D FF 01 00 CE "Commuter airport" 00
-  130 * 22	 04 0D 9F 01 00 CE "Pendelvliegveld" 00
-  131 * 21	 04 0D FF 01 01 CD "Large airports" 00
-  132 * 27	 04 0D FF 01 01 CE "Metropolitan Airport" 00
-  133 * 29	 04 0D FF 01 02 CD "International airports" 00
-  134 * 28	 04 0D FF 01 02 CE "International Airport" 00
-  135 * 16	 04 0D FF 01 03 CD "Heliports" 00
-  136 * 16	 04 0D FF 01 03 CE "Helidepot" 00
+  135 * 21	 04 0D FF 01 00 CD "Small airports" 00
+  136 * 25	 04 0D 9F 01 00 CD "Kleine vliegvelden" 00
+  137 * 23	 04 0D FF 01 00 CE "Commuter airport" 00
+  138 * 22	 04 0D 9F 01 00 CE "Pendelvliegveld" 00
+  139 * 21	 04 0D FF 01 01 CD "Large airports" 00
+  140 * 27	 04 0D FF 01 01 CE "Metropolitan Airport" 00
+  141 * 29	 04 0D FF 01 02 CD "International airports" 00
+  142 * 28	 04 0D FF 01 02 CE "International Airport" 00
+  143 * 31	 04 0D FF 01 04 CE "Intercontinental Airport" 00
+  144 * 16	 04 0D FF 01 03 CD "Heliports" 00
+  145 * 16	 04 0D FF 01 03 CE "Helidepot" 00
+  146 * 18	 04 0D FF 01 05 CE "Helistation" 00
 
 // The Fence Layouts
 //					0F 00 00 01 10 06 67 8A 00 80 // fence west
--- a/src/openttd.cpp	Thu Aug 16 08:23:58 2007 +0000
+++ b/src/openttd.cpp	Thu Aug 16 20:28:14 2007 +0000
@@ -1497,6 +1497,8 @@
 								case AT_METROPOLITAN:  ResetAirportToNewGRFSpec(t, st, 0x5850414F, 1); break;
 								case AT_INTERNATIONAL: ResetAirportToNewGRFSpec(t, st, 0x5850414F, 2); break;
 								case AT_HELIDEPOT:     ResetAirportToNewGRFSpec(t, st, 0x5850414F, 3); break;
+								case AT_INTERCON:      ResetAirportToNewGRFSpec(t, st, 0x5850414F, 4); break;
+								case AT_HELISTATION:   ResetAirportToNewGRFSpec(t, st, 0x5850414F, 5); break;
 							}
 						}
 						break;