| Marginal → X-Plane Scenery → Tools → OverlayEditor |
DSF overlay scenery editorThis application edits X-Plane® DSF “overlay” scenery packages for X-Plane 8.30 or later. It runs on Windows 2000 or later, MacOS 10.7 or later and Linux.
The application allows you to place 3D objects, building facades, draped textures, roads and other kinds of scenery objects on top of X-Plane's terrain. The application does not edit X-Plane airport layouts (i.e. runways, taxiways and navaids) and does not edit X-Plane's terrain mesh, but it does read and display both of these in simplified form so you can see where you're placing your objects.
Other applications allow you to edit or replace airport layouts, terrain mesh, and/or place objects. Please read the section below if you intend to use OverlayEditor in conjunction with other scenery tools.
button to create a new scenery package:
button to take you to the area that you want to model:
button to place this aircraft. It appears at the centre of the screen, and is colored pink to indicate that it is selected.
button.That's it; you have created your first scenery package. You can continue to place additional objects in this scenery package if you like. You should probably also read the Tool bar, Main window and List of objects sections of this document.
The application window consists of five parts. Click on this screenshot for a description:
![]() |
Create a new scenery package. This creates a new folder in X-Plane's Custom Scenery folder. |
![]() |
Open an existing scenery package. All the packages in X-Plane's Custom Scenery folder are listed, but you can only actually edit those that use DSF overlays
(rather than ENVs or “full” DSFs that contain a terrain mesh). |
![]() |
Save the scenery package. Note: Any existing .dsf files are backed up with the extension .dsf.bak |
![]() |
Import objects (and their textures) from another scenery package or from a downloaded collection of scenery objects, and add them to the list of objects. You can also import .dds and .png texture files directly for use as draped polygons.The imported objects are copied to custom objects or objects if either of these folders exist, otherwise to the package's top-level folder.
(So this button is only available once you have saved the scenery package).Before you import objects from another scenery package you should first check the license terms; these often prohibit re-distribution of individual objects. |
![]() |
Import objects from the default scenery and place them in your scenery package. This is most useful for “tweaking” small areas of “autogen” objects, roads or forests; place an Exclusion region of appropriate type and use this button to pull in the “autogen” objects, roads or forests from the default scenery that are within the area of the Exclusion region. |
![]() |
Add the object that is highlighted in the list of objects to the scenery. The object is added at the current cursor location and with the current heading. |
![]() |
If you have a forest or draped polygon selected - Add a hole in it. If you have a polygon node selected - Add new polygon node next to it. |
![]() |
Give the selected polygon node curve control handles. |
![]() |
Delete the selected object(s) or selected node. |
![]() |
Undo the last edit. |
![]() |
Turn background imagery on or off. You can use a mapping service or a simple file to provide background imagery (just for reference; it's not saved with the scenery package). If you use a file you can adjust its position while the Background imagery dialog is displayed. If you use a GeoTIFF or JPEG2000 file it will be placed according to any geolocation info that it contains. (Note: it may not be placed on-screen - click on the main window and press C to centre the view on it). |
![]() |
Reload the object, texture and apt.dat files in the scenery package. Use this if you have modified any of these files outside of this application. Also use this if you have added new objects and you want these new objects to appear in the list of objects. (Note that the DSF files are not reloaded - just re-open the package if you want to revert to the last saved version). |
![]() |
Go to an airport or lat/lon location. |
![]() |
Lock object types. Locked objects can't be selected or modified. Use this to avoid accidentally selecting or editing certain kinds of objects. |
![]() |
Change X-Plane's top-level folder and display options. Do not change the location of X-Plane's top-level folder while you are editing a scenery package, otherwise your unsaved changes will be lost. |
![]() |
Show this help file. |
This shows the objects that have been placed in a 1°×1° region of the loaded scenery package.
By default terrain is textured, displayed as flat, and roads and taxiway markings are omitted - you can change this with
and/or add mapping imagery with
. Runways, taxiways, navaids and X-Plane's default road and rail networks are displayed in simplified form and cannot be edited. Scenery objects from other scenery packages and “autogen” scenery objects from the default scenery are not displayed at all.
Navigate with the cursor keys or mouse. Hold down Shift for bigger steps or Ctrl for tiny steps:
| Up, Down, Left, Right | Pan |
| Mouse click on window edge | Pan |
| Drag middle mouse button/wheel | Pan |
| ↖, ↘ | Rotate |
| ⇞ , ⇟ | Change elevation |
| − , + | Zoom |
| Mouse wheel / Zoom gesture | Zoom at mouse pointer |
Note: On a laptop hold down Fn and use the cursor keys for the ↖, ↘, ⇞ and ⇟ keys.
Selected objects are highlighted in pink in the main window. To select objects:
| Mouse click | Select an object under the mouse cursor. Note: If you have multiple objects under the mouse cursor, click again to select the next one. |
| Mouse drag | Select objects. |
| Cmd and click or drag | Toggle selected objects. |
| Space | Select all objects in the main window (even if they're too small to see). |
| Ctrl Space | Toggle selection of all objects in the main window. |
You can't select or otherwise manipulate runways, taxiways or navaids (ILS, VOR, DME etc).
If you select a single polygon you can click on an individual node (i.e. corner) to select it. The selected node is highlighted in white.
| Mouse click and drag | Move selected object(s), polygon node, or polygon curve control handle. Hold down Cmd to move a curve control handle independently of its pair. |
| W, S, A, D | Move selected object(s) or polygon node. Note: You can also use the keys on the numeric keypad if your keyboard has one - ensure that NumLock is on. |
| Q, E | Rotate selected object(s) about the cursor. To rotate a single object about its origin, select it and press C before rotating. |
| R, F | Change the selected:
|
| C | Centre the cursor on the selected object(s) or polygon node. |
| Shift C | Centre the cursor on the selected object and rotate the view to match its heading. |
| N | Select the next use in this 1°×1° region of the object that is highlighted in the list of objects. |
| Ctrl N | Add the next use of the highlighted object to the selection. |
| Ctrl Shift N | Select all uses in this 1°×1° region of the highlighted object. |
Enter or ![]() |
Add the object that is highlighted in the list of objects to the scenery. |
Cmd Enter or ![]() |
Add new polygon node next to the currently selected node, or add hole in the selected forest or draped polygon. |
Delete or ![]() |
Delete selected object(s) or polygon node. |
Cmd Z or ![]() |
Undo the last edit. |
| Cmd X, C, V | Cut, Copy, Paste. |
All the objects, facades etc in the scenery package folder are listed under the heading “Objects in this package” (including those that are present in the scenery package folder but are not used in the scenery). When you create a new scenery package “Objects in this package” is initially empty, but objects that have been made available by scenery libraries are listed under further headings in the drop-down list. The objects under the various lib/... headings are supplied by X-Plane's built-in libraries; the objects under the remaining headings are supplied by library packages found in your Custom Scenery folder. (Note that later versions of X-Plane come with more extensive libraries than older versions, so you should always design using the oldest version of X-Plane that you want your scenery package to work with).
You can use any of the objects in these lists in your scenery package - think of these lists as an artist's palette. You can also use the Search box to search through the available objects by name. Select one of the objects in these lists and press
to place it in your scenery package.
The type of object is indicated by a symbol:
- 3D Object (.obj, .agp)
- Facade polygon (.fac)
- Forest polygon (.for)
- Draped polygon (.pol) with a repeating texture (requires X-Plane 8.50 or later)
- Draped polygon (.pol) for use as a quadrilateral orthophoto or decal (requires X-Plane 8.60 or later)
- Line polygon (.lin)
- String polygon (.str)
- Other polygon (.agb, .ags, etc)
- Road, Railway or Powerline network (requires X-Plane 10 or later)
- Exclusion region
- Missing or unreadable object or polygonOnce you place a 3D Object (denoted by the symbol
) in your scenery package you can move, rotate or delete it (see above for the keys to use) and that's about it. The other types of objects are all “polygons” of various kinds. You can click on the “nodes” (i.e. corners) of a polygon and drag to change the polygon's shape, and you can press
to add new nodes. Most polygon types also have properties that can be changed with the R and F keys.
Some library objects are shown in these lists with a symbol
or
instead of the normal symbol
or
. This means that the library object exists in multiple versions; X-Plane will choose which version of the object to display at random, but this application always displays the same version.
Use
to copy objects from another scenery package or from a downloaded collection of scenery objects. Alternatively, just drag objects from Explorer or Finder and drop them on the list of objects. The imported objects will appear under the “Objects in this package” heading. (Don't use this to copy objects from a scenery library; just select the object from the appropriate list).
Use
if you have otherwise added or modified objects in the scenery package folder, or if you have installed a new scenery library.
A preview of the currently selected object is shown (when available) underneath the list of objects.
You can drag the separators between the preview window and the other windows to make the preview picture larger or smaller.
This area shows the cursor location, heading and elevation. If you have selected an object or polygon this area also shows details about it (or an average location if you have selected more than one object). If you have selected a polygon node this area shows additional details (if any) that you can change with the R and F keys, and the distance to adjacent nodes.
Roads, railways and powerlines (collectively “networks”) work similarly to other kinds of polygons, but there are some additional points to bear in mind:
To help with this, when you drag the first or last node of a network segment it will “snap” to any nearby nodes in other segments. And if the “snapped-to” node is in the middle of its segment, that segment will be split in two.
The user's “number of roads” rendering option controls which kinds of networks they will see:
| Setting | Networks displayed |
|---|---|
| none | none |
| default | “hwy”, “powerlines”, “rail” |
| tons | as above, plus “local”, “primary”, “secondary” |
| extreme | as above, plus “single” |
To construct a bridge over a road or railway:
Note: OverlayEditor doesn't display the bridge segments as being raised, so you may have to experiment a little.
You can use
to make OverlayEditor display networks from the default scenery (in outline form). But X-Plane will not join network segments in your scenery package to segments from the default scenery, and traffic will not flow between them. You can place an Exclusion region to hide network segments from the default scenery, use
to pull the hidden segments into your scenery package, and then edit them.
This application displays terrain and objects in orthogonal projection (no perspective) and in a simplified form. i.e.:
.pol file:
.pol) file that contains a TEXTURE statement is assumed to be intended for use as a repeating texture (requires X-Plane 8.50 or later)..pol) file that contains a TEXTURE_NOWRAP statement is assumed to be intended for use as a quadrilateral orthophoto or decal (requires X-Plane 8.60 or later). OverlayEditor does not allow you to add nodes or holes to orthophotos..pol) file for either purpose but you will see visual artefacts if you use a TEXTURE statement in an orthophoto/decal or use a TEXTURE_NOWRAP statement in a repeating texture.X-Plane prioritises scenery packages. Prior to X-Plane 10.10 a package's priority is determined by its ASCIIbetical order in the Custom Scenery folder. Since X-Plane 10.10 a package's priority is determined by its order in the Custom Scenery/scenery_packs.ini file. You can see the order in which X-Plane prioritises your packages by looking at the file Log.txt in X-Plane's top-level folder.
X-Plane will not load or display a scenery package if it has a lower priority than a “full” DSF scenery package (i.e. one containg a terrain mesh) for the same area, but this application will not warn you about this problem.
When you open or reload a scenery package this application warns about any objects that are missing or that it can't read, but lets you edit and save the scenery package anyway. X-Plane will display an error unless you either provide implementations of missing and unreadable objects, or remove all uses of these objects from the scenery.
X-Plane supports having multiple versions of a single library object,
and chooses which object to display at random.
However, this application always displays the first version of an object
that it comes across.
Many objects in the default libraries exist in multiple versions - e.g. the library object /lib/global8/us/in_sq_90_30r.obj exists in at least eight different versions; if you use that object in your scenery package then this application will always display the same version, but X-Plane will display one of the eight versions chosen at random.
There are a number of other applications that can create X-Plane scenery packages. Those applications that place scenery objects work by writing “overlay” .dsf files into a scenery package folder. OverlayEditor can read and edit “overlay” .dsf files produced by other applications; but of course if you re-run the other application you may overwrite any edits that you have made using OverlayEditor.
In particular, the WED application can be used both to create X-Plane airport layouts and to place scenery objects. Like OverlayEditor it places scenery objects by writing “overlay” .dsf files, but it also writes the airport layouts to a file named apt.dat in your scenery package. You can safely use WED to create and edit airport layout(s) and OverlayEditor to place scenery objects within the same scenery package as long as you only use the File → Export apt.dat menu option in WED and avoid the File → Export Scenery Pack menu option.
OverlayEditor needs to load lots of textures and uses much more memory
if the preferences are set to display terrain. Closing other applications,
particularly applications like X-Plane that also make heavy use of textures,
will make OverlayEditor load faster. Or you can tell OverlayEditor not to
display terrain; press
and select “No terrain”.
Editing is slower when the preferences are set to display terrain elevation.
This is particularly noticable when editing polygons because OverlayEditor
has to fit the polygons to the terrain mesh. OverlayEditor runs much
faster if you tell it not to display elevation; press
and select “No terrain” or “Show terrain”.
Your scenery package uses objects that are either missing or unreadable. Missing or unreadable 3D objects are displayed as small “placeholders”. Missing or unreadable polygons are displayed as “placeholder” shapes.

This happens when OverlayEditor fails to find or read the texture file
listed in your object(s).
OverlayEditor expects the texture filename to have the correct case -
edit your object to correct the texture filename.
OverlayEditor cannot read interlaced PNG files - save your
PNG file in 24bit or 32bit non-interlaced format.
Then press
to tell OverlayEditor to re-read your objects and textures.
Note that OverlayEditor only reports problems with textures when you load or
reload a scenery package, and when you first add an object to the scenery.
OverlayEditor doesn't draw lights or lines - 3D objects that only contain lights or lines are displayed as small “placeholders”. This is a limitation of the application.
In X-Plane polygons must be “simple”, i.e. a polygon's sides must not intersect each other. X-Plane won't display non-simple polygons. OverlayEditor displays non-simple polygons as a bright red outline.
This is a limitation of the DSF file format as currently used by X-Plane.
Laminar's scenery tools encode DSF files with a precision of approximately 0.0000005°, which at the equator is about 5 cm or 2 inches. To avoid objects and nodes shifting when you save and re-open your scenery package, or when you view your scenery package in X-Plane, OverlayEditor doesn't let you place objects or polygon nodes with finer precision than that supported by the DSF files.
.OverlayEditor doesn't display the “autogen” scenery objects, so you may have to experiment a bit.
Exclusion regions are always rectangular (you can't add or delete nodes) and can't be rotated. You can make up more complex shapes by adding multiple exclusion regions.
Follow the above procedure. In addition, your scenery package must have a higher priority than the other package. So you may need to rename one of the two packages to change their relative priority.
Exclusion regions exclude objects from other, lower priority, scenery packages, not from the scenery package that contains them.
OverlayEditor just places scenery objects (other than network segments) directly on top of the terrain mesh. To change the apparent elevation of a 3D object you need to edit the object using a 3D modelling application.
and check that the “X-Plane location” points to the copy of X-Plane that you're running.Log.txt in the top-level
X-Plane folder.
Your scenery package should be listed at least twice in this file;
firstly in the list of scenery packages, eg:
n Custom Scenery\My package\DSF load time: nnn for file Custom Scenery\My package\Earth nav data:+50-010\+51-001.dsfLog.txt to see which DSF files X-Plane is loading from
the Custom Scenery folder - this will tell you the name
of the package that is hiding your package..env files.This application is licensed under the GNU GPL license; either version 2 of the license, or (at your option) any later version.
Use of these tools does not impose any requirement on you to license your work under a GPL license. For the avoidance of doubt, this means that you can license any scenery that you make using these tools under commercial terms (subject to any licensing restrictions on any imported or library objects that you use).
The author would appreciate a courtesy copy of any commercial scenery that you make using these tools, but you are under no obligation.
This application uses and/or includes the following software:
Version 2.61 © 2006-2017 Jonathan Harris
![]() |