Does the 'Start' element actually add anything to the 'Runway' element?

Or the 'Helipad' element? Why is the altitude '0.0M' in the 'Start' element for helipads?

Is there somewhere you can find this information?
 

scruffyduck

Administrator
Staff member
FSDevConf team
Resource contributor
I think it might help to spend some time with the SDK?

I am not sure I understand the question. Runway starts are separate elements that are associated with runway but are not connected to them in any way. Neither do they modifiy the code, neither does deleting a runway delete any starts, neither does changing the altitude of one affect the other...... and so on....
 
Funny how none of the ESP/FSX SDK documentation turns up on Google. I thought they'd taken it down or something.

But I'm still not completely confident. I'm making a utility which will have a route planner for a multiplayer FSX server. One of it's functions will be to list up runways and ILS info for the airport.

There are loads of elements like runway, deleterunway, start, deletestart, runwaystart and I can't find a flow-chart or anything that says something like: To get the valid runways and navaids for an airport do the following:

0. Find out somehow what order the airport bgl files are loaded in
1. Get all airport and deleteairport elements for an airport and process them in order from 'step 0' so you're left with undeleted airports
2. Get all runway and deleterunway records using surface/designator/heading as key and process them in order from 'step 0' so you're left with undeleted runways
3. Get all starts and deletestarts using surface/designator/heading as key and process them in order from 'step 0' so you're left with undeleted starts
4. For each runway: if primarytakeoff is set to true use the heading/designator/surface to get the complete runway name. if secondarytakeoff is set to true, find a corresponding start record to get the heading/designator information..
5. (and so on)

Am I over-complicating things or is this how complicated things really are?

I've noticed that some of the runways have false for all (primary|secondary)(landing|takeoff) values. What is the point of these? Just to get a visual representation of a closed runway?
 

scruffyduck

Administrator
Staff member
FSDevConf team
Resource contributor
The FSX/ESP/P3D SDK is not free and therefore it should not show up for download (unless you have the appropriate licensed sim). If it did then it would be pirated.

I assume that you have a version of FSX that does have the SDK?

It sounds like you are trying to decompile the airport record and then make some use of the information.

I can be pretty sure that there is nothing available that matches your flowchart and it sounds like some sort of spec for an application.

0. Find out somehow what order the airport bgl files are loaded in
If you mean what I think you mean then it is in the order as defined in the scenery.cfg file for folders and then within folders in alpha numeric order.
Are you looking for the last to be loaded copy of an airport?

1. Get all airport and deleteairport elements for an airport and process them in order from 'step 0' so you're left with undeleted airports
Do you understand what delete records do? They tell FSX to ignore airport elements from Bgl files that loaded before the one containing the delete record. Airports never get deleted. The delete record(s) in an airport record within a Bgl file affect the contents of the airport not the actual airport itself.

I can't say if your process is too complicated since I don't know what your end goal is. It does seem complicated though.....
 
I have Acceleration Gold so I have the FSX SDK, and I even have an MSDN subscription so I have the ESP SDK as well. But I can't find the information I need.

What I'm doing is I've batch-run your BGL2XML tool on all the APX*.bgl files and I'm parsing the XML files to get airport information (icao, location, name) and runway information (heading, designator, surface, length, ILS(gs/dme/bc) so people can plan routes via an ajax-enabled MVC application.

My idea was to put the stuff I mentioned in a database, and using WebAPI/JQuery to extract and display the information in a practical manner. The server in question has a bot ATC system that only works on airports with runways longer than a certain length so I need that information as a bare minimum, but while I'm getting that data I thought I might as well provide other useful information at the same time.
 
There are elements defined in the SDK called "DeleteAirport" and "RunwayStart", but as far as I can see they're not actually used anywhere in a stock FSX installation. I guess the point of "DeleteAirport" is so Add-On sceneries can hide airports and replace them with their own versions.
 

scruffyduck

Administrator
Staff member
FSDevConf team
Resource contributor
OK so this is a scanner to collect information about stock FSX airports. The minimum you need is a list of airports with their reference points, names etc plus runways with lengths. The stock list of airports already exists. What is missing is runway data.

DeleteAirport is a set of flags:

DeleteAirport
deleteAllApproaches = "TRUE"
deleteAllApronLights = "TRUE"
deleteAllAprons = "TRUE"
deleteAllFrequencies = "TRUE"
deleteAllHelipads = "TRUE"
deleteAllRunways = "TRUE"
deleteAllStarts = "TRUE"
deleteAllTaxiways = "TRUE"
deleteAllBlastFences = "TRUE"
deleteAllBoundaryFences = "TRUE"
deleteAllControlTowers = "TRUE"
deleteAllJetways = "TRUE"

When all set to true as above they will indeed remove airport factilities. What they won't remove is the airport buildings of course. But if you are looking for a list of stock airports then I am not sure that information is really relevant

DeleteRunway, DeleteStart etc are specific so it is possible to delete a single instance rather than deleting the lot. I am not aware that these are used. Airport design tools will set the DeleteAll Flags and then replace the stock elements with a copy. Users then delete the copy if they want the object gone.

As you say you will not find any DeleteAirport, DeleteRunway etc in the stock records since they are intended for third party addons to exclude ('delete') stock items.
 
Runway start is used at most airports by the drop-down box "Choose runway/starting position" dropdown box on the Select Airport window
 
Top