RichK
--------------------------------------------------------------
This is the main thread for the NewGRF (Air)ports branch: [url]svn://svn.openttd.org/branches/NewGRF_ports[/url]
The concept is to remove the hardcoded airports from OTTD, and provide them as modifiable and replaceable newgrfs, so allowing users the ability to design and include their own airports, along with specific new graphics.
Specific new features provided in this branch:
New GUI, with preview picture.
Rotateable airports (where defined)
Asymmetrical airports with holes!
Part land/part sea airports (for seaplanes)
Multi-tile depots so that a hangar can be scaled better to cross more than one tile.
State Machine changes:
More advanced block locking and releasing, including multi-block test, lock & release
Explicit Choose Terminal/Helipad commands
Force Heading command
Choose route by Minimum Runway length
Short takeoffs & landings
Allow heights to go below height of st->airport_tile (useful for seaplane airports)
Explicit z-height given in state machine position
New airports & graphics:
Use of Skidd13's airport graphics in airportsextended.grf.
New Real World Airports: La Guardia, NY; San Francisco, CA; Munich 2011, Germany
Seaplane airport
What it is NOT:
NB: It is NOT Modular Airports, and all discussion of Modular Airports in this thread is off topic, and I will ask a moderator to remove it.
Currently working on this branch are:
RichK: Main coder of airport state machines
Rubidium: Code correction, and general cleanup.
Skidd13: Graphics supremo. Creator of some wonderful new airport graphics.
Bug reports via PM to myself please, but not if it is an unfinished area. Its not really fair on me & Rubidium as developers to deal with bug reports on items that are still work in progress. It just wastes our time. If there is an issue with a completed item (see below), then yes, let us know. But asking me to explain why the Munich airport doesnt yet work, is because it aint done yet. NewGRF_ports is effectively being developed in public since anyone can download the svn, however that doesnt mean to say the public should expect a slick working product all the time. Give us the room to get on with it, please

I would not trust the results with BuildOTTD. We are messing with some of the OTTD data files, and BuildOTTD has sometimes created problems by not disabling files we had disabled. If you have built using BuildOTTD, and the error occurs before any game is loaded, that is most likely BuildOTTD missing replicating some file change. OTTD is more than just the .exe.
Current Development Status
What does work (and I think is pretty much finished):
User interface
Airport rotation
Placement mask for partial land/sea placement
"Holes" in airports
Addition of Choose Terminal, Force Heading commands
Introduction of new replacement graphics for airportsextended.grf. Basic airports will use traditional sets. 90%
Multi-tile depots
City Airport
Metropolitan (using Skidd13 replacement graphics)
Commuter - although I may add the other orientations. (with Skidd13 replacement graphics)
International
Intercontinental
Helistation
Heliport
Oilrig
Helidepot (with 4 orientations)
La Guardia (realworldairports.grf - RWA)
San Francisco (realworldairports.grf)
Seaplane airport
Minor tweaks:
Small airport - update with improvements made to Seaplane airport
Graphics OK, state machines NOT working:
-
Not really there yet... but in progress:
Munich 2011 - graphics sorted, state machine begun (and at 85 positions already, it isnt finished! City Airport has ~25 positions!)
Schiphol - basic layout worked out, but no state machine design work done.
Ideas:
Gatwick - long thin with single ultra high capacity runway, multiple landings in progress, etc. Lets see whether I can simulate BenK's normal daily routine.
When I complete an airport (to my satisfaction), I usually commit it as a Feature.
To Do: Lots
a) Noise level relative to airport size. (Already added to trunk)
b) Choose runway by length command
c) Free flight concept - once an aircraft leaves an airport, it leaves state machine control. This model will be required for other transport types, so it would be good to model here.
d) Aircraft "waypoints" - use balloon graphics, or perhaps a cloud, or something as a waypoint marker. This could organise the skies better for those who like that sort of detail. <-- An idea - may not be implemented
e) TTDP states translation, so that new state machine can trigger aircraft graphic changes ... gear up, angle down, etc.
f) Callback for choice of next aircraft position under NFO control. Triggered only when aircraft reaches an exact position, and that position is marked as "allow callback here". This would open up the possibilities for choice of terminal by cargo type, etc.
g) Review physical movement scheme. I would like to have better angled glide slopes, but its not friendly using integers.
h) Airport closure & replacement. (adapt cirdan's work)
i) Adjust balance for helicopters. Higher payments for helis. Maybe also have "luxury" aircraft type too, with its own payment rate. Thus, early aircraft can be luxury, and we can also have 20 seater executive jets paid luxury rates. (Maybe as cargo type "executives"; special passengers generated in business districts - perhaps 1 passenger in 500 in a business district).
j) Aircraft fuel consumption. Aircraft have to refuel - refuelling takes time based on distance to next airport. Cost payment for fuel added to running costs (current r.costs are regarded as maintenance. maybe only charge maintenance charge when the aircraft is serviced). If not defined, default to a flat rate "landing fee".
k) Aircraft range. Limit range to aircraft capability. If no range defined, must default to "any range" to support early aircraft newgrfs that dont define the property. Scale range across map.
Base j&k stuff on discussion in thread from zutty and CARST.
l) Any aircraft broken down will go to the nearest (capable) airport hangar. (Im even considering allowing emergency landings at opponents airports. Call it CAA/FAA rules

Phase II
Extend concept to docks. Make ships enter state machine for handling in docks. Whole ship movement needs looking at.
Phase III
Extend concept to road vehicles.
If you have any nice ideas, I'm happy to look at them.