• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

Priority of scenery files...

Messages
87
Country
germany
Hi there,

I hope this is the last question before I'm gonna finish my airport scenery. ;)


For my airport scenery I've currently two bgl-files:

1. Vector-file cvx...bgl with airport boundary and AutoGen exclusions
2. Scenery bgl for my airport.


Those files are at the moment stored in different subfolders in \addonscenery where the folder with the cvx has the lower priority.

Is this really necessary or may I place both files in the same folder?

Michael
 
You should be able to put them in the same folder I think
 
You have 3 choices but like Jon says both files will be prioritized properly by FS when placed into the same scenery folder.

1. Put both files into the Addon Scenery\scenery folder
2. Put both files into the Scenery\Global\scenery folder.

On startup FS will handle everything for you and prioritize the loading properly.

3. This method is when you start having many mutiple bgl's including textures and want to make a seperate scenery folder.

Add a folder to the Addon Scenery folder such as Addon scenery\EDDP. Now make a scenery and texture folder for the EDDP. Place the bgl's into the scenery and the textures into the texture folder.

This method requires opening the library from inside FSX and add a active layer to the scenery.cfg. I only use this method if I have many multiple bgl's and dds/bmp files (Kai Tak VHHX on AVSIM).

It is also best to name your bgl's with the airport ICAO first.

EDDP_scen_upn.bgl
EDDP_cvx_upn.bgl
etc.

This keeps all related files grouped together in a single scenery folder that has other airport bgl's.
 
Last edited:
You've already answered the next question implicitly: naming of the files!
I've read somewhere in the forums that the filename could have influence on the sequence/priority how FSX it handles.
(Higher priorized ones should start with 00***)

In my case this obviously plays no important role.


The only thing I've to say once again:

MANY, MANY THANKS!! :)


Michael
 
Whenever someone has to sort file read based on a naming scheme that is telling you the bgl file does not follow the way FS reads the bgl internally.

It is up to the scenery creator to break the source into geographically related areas to optimize how the scenery is loaded into memory. If a naming scheme has to be used to sort what loads first then the engine efficiency is decreased.

FS efficiencey is based impart on how the order of XML is read internal to the bgl contrary to popular belief. If you listed in your xml a proper sort order and nested data correctly then FS reads this and not a file name sort order.

Many parts (attributes) inside a scenery bgl are read only (example attribute R) and similar to locking a file. What we are suppose to do in scenery airport design and what we do are 2 different issues. What we are suppose to do is block the locks in certain parts of the root scenery bgl and write new scenery in XML txt format. FS gives us a blocking command called deleteAll='s so we can at a higher priority display what we want and not what is in the root bgl file.

That means we are working with a locked root bgl file, blocking certain parts and then writing XML compiled which locks our new scenery bgl file. Again that is what we are suppose to do but what we do is unlock a locked root bgl, bring it up to a higher priority, manipultate it, block certain areas of the root data and then compile to lock it based on what we want to show.

This is very similar to that TERMINAL_WAYPOINT you moved. When you wrote a new XML for the original Terminal_Waypoint as seen with the GPS receiver you did not unlock the root bgl but told FS to block the root waypoint and read where you put it at a higher priority. You locked your XML when you compiled it.

So you took a Locked element/attribute, blocked it, moved it and then locked it at your priority level. FS is smart enough to read what you wanted to do internally to the bgl you created with the compiler.

When FS cannot fiqure out what someone is doing (incorrectly) then it cannot prioritize the compiled XML => bgl that it is trying to read internally.

The work around that some are using is to force a certain file to load first by giving it a name that places the file at the top of the folder. A very very poor work around when FS can read the interal bgl sort/list order much more efficiently and not sacrifice memory.
 
As you just mentioned the internal order in a custom (in my case: airport scenery) XML file:

Is somewhere a documentation to the SDK available that's defining the order, in that I've to place the different tags/sections in my XML file?

Someone told me that the exclusion rects have to be placed on top just after the <FSData> tag.
Followed by the buildings.
Afterwards the airport definitions.


Michael
 
Someone told me that the exclusion rects have to be placed on top just after the <FSData> tag.
Followed by the buildings.
Afterwards the airport definitions.


That would be correct

Exclude
add back scenery plus any new buildings, Library mdl's, Global GUID's, etc.
Airport Header
all needed DeleteAll='s
and now build your airport.

If you are going to add a non terminal NDB or VOR then put those at the end of the XML

</Airport>

NDB's, VOR's go here if they are non_terminal

</FSData>


There is no reason to copy every single Airport element into you new XML.

example

If you have no intentions of changing any airport Freq's then leave them in the APX.bgl and don't bring/copy them forward. DO NOT add a deleteAllFrequencies= Tag

Let FSX use the freq's that are in the root bgl and only use what you have brought forward. FSX is smart enough to split/read what is needed at the root bgl and then what is placed at the higher priority.

Keep the higher priority airport as simple as possible so FSX does not have to read data x2 and then decide what to do with it.

Another way to look at it is

If you copy any part of the airport data into your new XML you must have a deleteAll= in order to block a duplication.

You will find many enhanced airports available that duplicate all the approaches in the GPS receiver. This is because FSX is reading them in 2 different places (root and new airport) and the deleteAllApproaches="TRUE" was not used.

There is no need to bring all the approach data forward if no chnages are made so no need for a deleteAllApproaches tag to begin with.

Most airport design utilities are coping everything into the new airport and using every single deleteALL= statement TRUE/FALSE. I do not agree with this way of doing things because it puts more startup load on FSX. One airport will not show a problem but some users in FS9 had 1000's of enhanced airports. As we move toward FSX airport design ACES added many more deleteALL= for blocking various visible/non-visible scenery.

It is a simple process that says if I am not going to change a Blast Fence, Boundary Fence, Approach Code, Freq's, Start Locations, HeliPads, etc. then leave them out of the enhanced airport XML.

In some cases a duplication of airport data will cause a CTD. The problem is the CTD can occur anywhere in the 108NM radius of the ARP so in highly populated areas where many airports have been added it is a process of elimination to find the cause.
 
Last edited:
Michael

You might fine some of this useful which was a post made in a non public forum so most here have not seen it. I am talking about FS9/AFCAD but most rules apply to FSX also.

My original post is as follows


I saw a post on another forum where someone was telling someone else to place all approach data into the FS9 AFCAD program using a decompile/compile process.

I simply responded to say do not do that because AFCAD on a reopen and save flushes all data that Lee felt did not belong in AFCAD.

The poster came back a little irrate with questions on where Approach code belongs if not in a AFCAD bgl.

Some of what I posted pertains to all Airport enhancement utilities but the post was refering to FS9 which most of the rules I state are FSX also.

This may help with understanding that the XML is a very complex process that the SDK does not explain. It also gives insight to a further expansion of ADE in the near future.

> carrot symbols are his questions to me that I put in a quote box here

Quote:
>
>Allrighty then... So what do you add your new approach to then.
>

After you write a new XML of approaches and TERMINAL_WAYPOINTS you compile and place into the ...FS9\Scenery\Generic\scenery folder or FSX\\\Global\scenery folder. FS will handle the reindexing and the read sort order (your XML elements/Attributes) of the bgl automactically. What this does is unlocks the Approach data that is in the original AP9nnnn.bgl, layers it as a proper priority and then relocks the approach data at the proper higher layer without any intervention on the designers part.

That should also answer xxxxx question on where to put is Approach bgl which does not belong above all other 3rd party scenery. It MUST BE layered between the AP9/Xnnnnn.bgl appropriate folder and the Addon Scenery\scenery folder which is were MS requires ALL enhanced airports if a sub scenery folder of Addon is not made.

Quote:
>
>I assume they need to be within a set of <Airport> tags somewhere,
>

Yes, Approach data has to nest under a airport header because the Airport owns the data and then everything resides inside the FSdata. This becomes very complex because

1. The Airport header owns most everything that is not a subset to something else except non Terminal Navaids

2. The Airport owns the Runways but the Runway owns the ILS data.

3. The Airport owns the Runways, the Runway owns the ILS, but the ATC owns the Approach data for the ILS or any approach associated to the runway.

4. The Airport owns the Runway, the Runway owns the pattern, but the pattern is owned by the TNG FP for AI Planes and the Control tower (if it exsit) for the User Plane flying circuits. The pattern altitude is also own by the runway but is only honored by VFR (not IFR) TNG FP's that AI Planes are flying.

5. The Airport property does not own the runway but the Airport Header does. This is the foundation of my Crosswind Runway Technique I introduced when FS9 was released. A runway for a airport can be placed halfway around the world and the Airport knows it is there.

6. The Airport owns the Runway, the Runway owns the length, the Aircraft.cfg file for both the USER/AI Plane owns the Empty Weight of the Aircraft (EW) which then tells ATC what runway the AI/User is assigned for takeoff and arrival. This is the foundation I use to open all 5 parallel runways for arrival at my KATL for FSX.

The list can be endless but as you peck your way down through the XML you have to understand who controls and owns what subset.

Another example is some Scenery that you see (or lack of) on airport property is owned by the scenery database. That means you can build a exclude XML and compile every single exclude that you created for the entire world in a master XML because excludes are owned by the World Scenery Database.

Quote:
>
>what do I do, make a new XML with just the
>airport tags and the approaches?
>

Yes if that is all that you want in that bgl. Besides new or edited Approach data you can also place all

1. Multiple excludes which in some cases number more then 50 per airport

2. 100's of scenery libraryObject GUID's including both generic buildings and mdl models that also come from many different Regions. Some designers steer away from certain model.mdl which is in a Region and also suppose to be specific and locked, it is not. This does not require hacking any type FS9/FSX default bgl's and some of us have learned how to move Scenery from one part of the world to another without tampering with any MS protected code.

3. New Control Towers with Beacon's,

4. New Wind Socks,

5. Jetways made by Shez or other public 3rd party

6. Many many different types of static ground support equipment

7. New NDB's both TERMINAL and non TERMINAL based on who owns it and where it is prioritized in the XML structure

8. VOR's if new ones have been commissioned

9. TERMINAL_WAYPOINTS which are owned by the airport

10. WAYPOINTS again based on prioritizing and read sort order that the Airport does not own

11. New Taxiway signs

12. Move exsiting default Taxiway signs once they are unlocked

13. Add STAR approaches so ATC will vector all arrival's USER/AI off the STAR and onto the IAF Transition prior to the 30 degree offset vectors for final

14. Create exoctic VMC (clear weather) approaches so all AI Planes are forced to fly a LDA, SDA, IGS, GPS, RNAV, VORDME, VOR, NDBDME, NDB, Curved approaches to avoid high terrain on final, circle to land type approaches, etc.

the list can be almost endless

Some of what is in the list above requires a deleteALLxxxxxxxxx='s statement to block the default so it is not x2 (duplicated).

Some require a proper XML exclusion.

Some require a certain read order structure.

Some areas cannot be blocked or excluded and even if in your XML are still read from the original AP9/Xnnnnn.bgl.

Some don't require any blocking, read order or excluding.

FS9/FSX is smart enough to know if you add a certain element/attribute in your XML it will not load the default data but load what you have added so no duplicates occur at your airport when processed by the dll's.

Quote:
>
>Doesn't that effectively constitute "duplicate afcads"?
>

No, because none of what I listed above can even be in a Lee Swordy af2_xxxx.bgl enhanced airport unlike other Utilities in design now. A AFCAD bgl is designed to control all Ground behavior of User/AI Airplanes with the exception of the invisible scenery related to Freq's, Start Locations which are multi functional when passed through the dll, and some forms of Navaid data that displays on the Grid which is not owned by the Airport.

Dulicate AFCAD bgl's designed with Lee Swordy's Utility can cause a CTD because a Designer does not understand what causes the CTD inside the XML (AFCAD) to begin with.

You can have many many AFCAD's for one airport. I don't mean put one in and take one out like so many PAYWARE and FREEWARE scenery designers do to open and close different runways based on winds.

What I am talking about is the 8 AFCAD's I have for KATL or the 9 AFCAD's I have for KDFW that all together make up a single entire airport. We call those Overlay AFCAD's which is misleading because they are really side by side independent (8 or 9) Airports to make one functional Airport.

Most of what I have said above is FS9. There are a few exceptions for FSX because of the way MS realigned certain airport elements in the default APXnnnnn.bgl but the same applies during construction of a FSX enhanced airport which also follows the guidlines above.

One of the differences is that FSX did away with the Generic folder so all additional enhanced airport bgl's that are not part of ADE/FSXP/AFX or even AFCAD if it is used in FSX enhanced airport design now belongs in the ....FSX\Scenery\Global\scenery folder.

Probably a lot more then what you wanted to know so I will stop here unless you have more questions.
 
Just got back after a month on the US mainland so I am catching up on things.

1. Exclusion naming. I think the main issue here (at least in FS9) is with excluding terrain layers using BGLC (LWM) code. With vector exclusion in FSX that should not be an issue any longer, as the exclusions and replacement layers are compiled into the same bgl by shp2vec.

2. SceneGenX has ordered FS9 XML as
Airport
SceneryObject
ExclusionRectangle

and I haven't seen any problem, except the bug about the first exclusion's properties applying to subsequent exclusions in the file.

scott s.
.
 
I have a simple question that needs a simple answer, I have 1 textured poly BGL, ok, I assume I need to place that BGL into a folder, I put it in my ...addon/scenery folder, Ok, when I start FSX, and I fly over the area where I placed the Textured Poly, it doesn't show up. Now, I already have a water class poly in that area, I simply want to replace that water class with a custom water texture. I was told to use SBX to create a textured poly and compile it. I did that. My question is, does SBX compile the textured poly with the coordinates I placed it at? And....Do I need to remove any water class polys and/or land class polys in order for my new textured poly to show up? I just need a simple answer as to which direction to go in. I'm completely new at SBX and not fully familiar with how to use it perfectly. I've been reading the manual but it don't tell me anything about how to make it work. I've looked around on Google and YT trying to find an answer to these two questions and figure out why my texture is not showing up in FSX. The airport is completely home brewed and is no way a stock airport. I simply just want to replace a water class texture with a custom made one, that's all. No fanciness , no fooling with vertices, and vectors, just simply replace one with the other. It sounds so simple, but not so much. One last question, is there any way to look and see if my texture poly is even getting compiled into the BGL?
 
You must distinguish between changing the local waterclass type definition for an area, and mapping a waterclass color texture onto a terrain Polygon; they are different things.

[EDITED]

Ground2K scenery utility from FS9 era uses VTP type polygons for terrain land class or objects; Luis Feliz-Tirado's tutorial explains them:

https://library.avsim.net/esearch.php?CatID=fs2002sd&DLID=33724

[EDITED]


You must exclude the local land or water class objects in order to replace them with a different type of local terrain "class' object.

Use FSX / P3D Terrain SDK TMFViewer to inspect SHP2VEC compiled CVX vector or Resample compiled custom land or water class or photo-real satellite imagery BGLs.

If a terrain BGL is SCASM / ASM compiled, one must decompile it or attempt to view it in MCX.

GaryGB
 
Last edited:
I got lucky, didn't have to go through all of that, I just placed the texture on top of the original and it shows fine, I'm just having problems with shoreline vectors not showing.
 
I abandoned the water texture thing. I didn't like the look of things, everything looked too fake,flat, and no shorelines, just didn't like it, I'll stick with my "pinkish" water. I can deal with that, just wish it didn't involve so many files, I'd like to make it a bit darker pink. But that is just too much work.
 
Back
Top