Add custom buildings to FS2004 airports using FS9 models, BGLComp placement, scenery folders and exclusions, with fixes for missing textures.
To add custom buildings to an FS2004 airport, create or select an FS9-compatible scenery model, compile it and its geographic placement into BGL files with the FS2004 SDK tools, put those files and textures in a separate add-on scenery area, activate it in the Scenery Library, then remove any conflicting default objects.
The work has two parts: the three-dimensional model and the placement data telling FS2004 where to display it. AFCAD can adjust the surrounding airport layout, but it does not replace the modelling and BGL compilation process.
Choose the right FS2004 building method
Use an existing library object for speed, or create an FS2004-format model when the building must reproduce a particular terminal, hangar or landmark.
| Goal | Method | Main consideration |
|---|---|---|
| Place a stock or library building | Create a geographic placement referencing that object's GUID | The required object library must be installed |
| Create an original building | Model it, export an FS9 MDL, then compile the model and placement | Requires FS2004-compatible materials, textures and SDK tools |
| Alter runways, aprons or parking | Use an airport-layout editor | This changes airport data rather than creating the 3D building |
How do I build and place the object?
The reliable workflow keeps every custom file outside FS2004's default scenery folders.
- Create a separate scenery area. Make folders such as
Addon Scenery\MyAirport\sceneryandAddon Scenery\MyAirport\texture. Never overwrite a default airport BGL; doing so makes removal and fault-finding needlessly difficult. - Build or select the model. The original SDK workflow uses Gmax with the FS2004 gamepack and MakeMDL, although any modelling chain is suitable if it genuinely exports an FS2004 scenery MDL. Set the model's origin at ground level, work at a consistent real-world scale and keep polygon and material counts sensible.
- Prepare FS9 textures. Use power-of-two dimensions and convert source artwork into an FS2004-compatible bitmap format. DXT1 suits ordinary opaque surfaces, while DXT3 or another alpha-capable FS9 format is needed where graded transparency matters. Night textures conventionally use the
_LMsuffix and must be assigned correctly in the material. - Export and assign a unique GUID. MakeMDL produces the FS2004 model data. Give an original building its own GUID rather than copying one from another project; duplicate identifiers can cause the wrong object to appear.
- Compile the library and placement. Use the FS2004 BGLComp tool and its XML format to package the model and reference it at the required latitude, longitude, heading, scale and altitude. A one-off model and its placement can be compiled together, although separate library and placement BGLs are easier to reuse and diagnose.
- Install the compiled files. Put runtime
.bglfiles in thesceneryfolder and texture.bmpfiles in the adjacenttexturefolder. A loose.mdlfile placed in the scenery folder will not appear by itself. - Activate and test the area. Add the parent folder to FS2004's Scenery Library, keep it above the default scenery and reload the scenery or restart FS9. Our guide to the correct FS2004 scenery-folder and library setup covers this activation stage in detail.
Test first with altitude set to ground-relative, a scale of 1 and the scenery-complexity threshold no higher than necessary. Check the building from several directions and distances; a faulty model origin or bounding box can make an object disappear unexpectedly.
How do I remove the default airport buildings?
Remove conflicting default buildings with a tightly drawn exclusion rectangle compiled into a scenery BGL above the default airport.
Select only the object categories that need excluding, such as generic buildings or library objects. An airport-wide exclusion can also remove wanted windsocks, vegetation and other details. Keep the exclusion and custom placement in separate BGL files so either can be disabled during testing.
If the old building belongs to another add-on rather than the default scenery, library priority becomes relevant. Put the replacement area above the scenery being suppressed, and avoid editing the other package directly.
Why does my custom building not appear in FS2004?
A missing building is usually caused by an inactive scenery area, incorrect coordinates, an unresolved GUID or a model compiled for the wrong simulator.
- Check the hemisphere: an incorrect east/west sign can place the object thousands of miles from the airport.
- Check the library: the placement BGL must reference the same GUID as the installed model library.
- Raise Scenery Complexity: an object whose image-complexity threshold exceeds the simulator setting remains hidden.
- Confirm the target format: an FSX or Prepar3D MDL does not become FS2004-compatible merely by renaming or repackaging it.
- Remove duplicates: disable older copies of the airport while testing so that scenery priority is unambiguous.
Why are the textures white, black or transparent?
Texture faults normally mean the bitmap is absent, stored in the wrong folder, exported in an unsuitable format or using an incorrect alpha channel. Confirm that every filename referenced by the model exists in the scenery area's texture folder, including any night map, and do not leave source PNG or JPEG files there expecting FS9 to convert them.
Why is the building floating or underground?
A floating or buried building indicates an incorrect model origin, altitude mode or airport elevation. For a ground-mounted structure, put the model's base at its zero-height origin and place it at zero altitude above ground level. Use an absolute elevation only when the building has been designed for a known fixed datum.
Can AFCAD add the building itself?
AFCAD is best used to align runways, taxiways, aprons and parking around the new structure, not to create its unique 3D model. The AFCAD 2.21 layout editor and documentation are useful once the building footprint and location are known.
How should I package the finished airport?
Distribute the compiled BGL files, their required textures and clear installation instructions in a self-contained scenery area. State any dependency on a separate object library; otherwise another simmer may see an empty space where the building should be.
A finished FS2004 airport package containing custom buildings and textures provides a useful reference for how these components are grouped. If FS2004 closes only when the airport comes into range, disable the new area immediately and work through our add-on airport crash checks; an incompatible model, damaged BGL or bad texture is then more likely than a placement error.