# HG changeset patch # User richk # Date 1187232515 0 # Node ID 40ae45d56c694549493faadb2869e3fa5d10d091 # Parent fdb4b408c7dcb2bf7fde810ffb23f863afd80c57 (svn r10916) [NewGRF_ports] -Feature: Added Helidepot to HELI class in airportsextended.grf. diff -r fdb4b408c7dc -r 40ae45d56c69 bin/data/airportsextended.grf Binary file bin/data/airportsextended.grf has changed diff -r fdb4b408c7dc -r 40ae45d56c69 bin/data/sprites/airportsextended.nfo --- a/bin/data/sprites/airportsextended.nfo Thu Aug 16 00:09:08 2007 +0000 +++ b/bin/data/sprites/airportsextended.nfo Thu Aug 16 02:48:35 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 82 00 00 00 + 0 * 4 88 00 00 00 // Length of GRF in sprites // if version of TTDPatch higher than X, skip two sprites @@ -126,7 +126,6 @@ 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 @@ -521,7 +520,6 @@ 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) @@ -539,7 +537,7 @@ //------------------------- // 10 properties to change, 1 station to change, station id = 01 - 115 * 927 00 0D 0B 01 01 + 115 * 935 00 0D 0B 01 01 // Class ID 08 "LRGE" @@ -865,7 +863,6 @@ 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) @@ -883,7 +880,7 @@ //------------------------- // 12 properties to change, 1 station to change, station id = 02 - 119 * 1356 00 0D 0C 01 02 + 119 * 1369 00 0D 0C 01 02 // Class ID 08 "INTL" @@ -1337,7 +1334,6 @@ 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,17 +1346,202 @@ 122 * 7 03 0D 01 02 00 07 00 +//------------------------- +// Helidepot +//------------------------- + +// 10 properties to change, 1 station to change, station id = nn + 123 * 453 00 0D 0B 01 03 + +// Class ID + 08 "HELI" + //Sprite layout + 09 05 +// tilelayout:00 was 124 = 0x7C : + 4A 0A 00 00 + 00 00 00 10 01 06 68 8A 00 80 + 00 00 00 01 10 06 67 8A 00 80 + 03 03 00 0A 0A 3C 2F 88 00 80 + 80 + +// tilelayout:01 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:02 was 122 = 0x7A : + 4A 0A 00 00 + 0A 06 00 00 00 00 22 17 00 80 + 00 00 00 01 10 06 67 8A 00 80 + 00 0F 00 10 01 06 68 8A 00 80 + 80 + +// tilelayout:03 was 123 = 0x7B : + 4A 0A 00 00 + 0F 00 00 01 10 06 67 8A 00 80 + 00 0F 00 10 01 06 68 8A 00 80 + 80 + +// 04 helidepot mini pic + 91 04 00 08 + 80 + +// Prop0B Callbacks + 0B 01 //Availability + +// Define custom layouts + 0E 01 + 01 + 02 02 04 + 00 01 + 02 03 + +// Prop19 Vehicle Type + 19 03 //Air + +// Define Finite State Machine + 1A 10 // positions 00-11 + + // Helidepot : Position 00 + \w24 \w4 \w0 40 \wx0003 00 // HANGAR + 02 + 40 48 00 01 + 00 48 00 01 + + // Helidepot : Position 01 + \w24 \w28 \w0 00 \wx0000 48 + 03 + 40 00 00 00 + 25 25 48 0C + 51 00 00 0D + + // Helidepot : Position 02 + \w5 \w38 \w80 7F \wx00B0 00 // FLYING + 04 + 7F 00 00 03 + 40 48 00 0A + 54 7E 25 4D 7F 00 07 + 51 00 00 0E + + // Helidepot : Position 03 + \wxFFF1 \wxFFF1 \w80 00 \wx00B0 00 + 01 + 00 00 00 04 + + // Helidepot : Position 04 + \wxFFF1 \wxFFCF \w80 00 \wx00B0 00 + 01 + 00 00 00 05 + + // Helidepot : Position 05 + \w49 \wxFFCF \w80 00 \wx00B0 00 + 01 + 00 00 00 06 + + // Helidepot : Position 06 + \w49 \wxFFF1 \w80 00 \wx00B0 00 + 01 + 00 00 00 02 + + // Helidepot : Position 07 + \w8 \w16 \w80 54 \wx0030 4D // HELILANDING + 02 + 40 00 4D 0A + 00 00 4D 08 + + // Helidepot : Position 08 + \w8 \w16 \w0 55 \wx0030 4D // HELIENDLANDING + 02 + 25 00 4D 0C + 40 48 4D 01 + + // Helidepot : Position 09 + \w8 \w24 \w80 51 \wx0000 00 // HELITAKEOFF + 01 + 51 00 00 00 + + // Helidepot : Position 0A + \w24 \w18 \w80 00 \wx0030 48 + 01 + 00 48 00 0B + + // Helidepot : Position 0B + \w24 \w18 \w80 00 \wx0000 48 + 01 + 00 48 00 01 + + // Helidepot : Position 0C + \w8 \w24 \w0 25 \wx000F 25 // HELIPAD1 + 03 + 25 25 00 0C + 40 48 25 01 + 51 00 00 0F + + // Helidepot : Position 0D + \w24 \w22 \w80 51 \wx0000 00 // HELITAKEOFF + 01 + 51 00 00 00 + + // Helidepot : Position 0E + \w8 \w22 \w80 51 \wx0000 00 // HELITAKEOFF + 01 + 51 00 00 00 + + // Helidepot : Position 0F + \w8 \w24 \w0 00 \wx0025 00 + 01 + 00 00 00 09 + +// Prop1C Vehicle Entry Points + 1C 04 04 04 04 + +// Prop1D Hangar/Depot Locations + 1D 01 01 00 01 + +// Prop1F Helipad Groups + 1F 01 01 + +// Prop20 Port Subtype + 20 02 + +// Prop22 Catchment Area + 22 04 + +//availability date varaction2 +//Helidepot available from 1981 (1920+61) to 2175 (1920+255) + 124 * 14 02 0D + 08 // ID + 81 01 // Variable 01 (current date) + 00 FF + 01 + 01 FF 3E FF //1951-2175 + 00 FF + + 125 * 14 02 0D + 09 // ID + 81 0C // Check variable 0C (callback id) + 00 FF + 01 + 08 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 3, 0 cargo specific graphics, default cargo = 0) + 126 * 7 03 0D 01 03 00 09 00 + + // Name // Set the name of the station; all languages, 1 string, offset of CD 00, because 'generic strings' flag is set it's a word. - 123 * 21 04 0D FF 01 00 CD "Small airports" 00 - 124 * 25 04 0D 9F 01 00 CD "Kleine vliegvelden" 00 - 125 * 23 04 0D FF 01 00 CE "Commuter airport" 00 - 126 * 22 04 0D 9F 01 00 CE "Pendelvliegveld" 00 - 127 * 21 04 0D FF 01 01 CD "Large airports" 00 - 128 * 27 04 0D FF 01 01 CE "Metropolitan Airport" 00 - 129 * 29 04 0D FF 01 02 CD "International airports" 00 - 130 * 28 04 0D FF 01 02 CE "International Airport" 00 -// 118 * 16 04 0D FF 01 03 CD "Heliports" 00 + 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 // The Fence Layouts // 0F 00 00 01 10 06 67 8A 00 80 // fence west diff -r fdb4b408c7dc -r 40ae45d56c69 src/openttd.cpp --- a/src/openttd.cpp Thu Aug 16 00:09:08 2007 +0000 +++ b/src/openttd.cpp Thu Aug 16 02:48:35 2007 +0000 @@ -1525,6 +1525,11 @@ ResetAirportToNewGRFSpec(t, st, 0x5850414F, 2); } break; + case AT_HELIDEPOT: + { + ResetAirportToNewGRFSpec(t, st, 0x5850414F, 3); + } + break; default: break; }