YSFLIGHT Scenery Editor | ![]() |
UpdatesIn 20090426 version, the following features have been added.
In 20051003 version, four new types of map elements are added: GRADATION QUAD STRIP, QUAD STRIP, TRIANGLES, and QUADRILATERALS. OpenGL version of YSFLIGHT draws a scene much faster when multiple quadrilaterals / triangles with same color are grouped into a single element than having those quadrilaterals and triangles as individual elements. However, it is a tedious task to manually pick such quadrilaterals and triangles and group them into a single element. So, the program can automatically do it for you. If you choose "Map" menu -> "Optimize by Grouping Consecutive Quads/Tris," the program searches for the quadrilaterals and triangles that can be grouped, and group them into one element automatically. Doing this will considerablly improve the drawing performance of OpenGL version of YSFLIGHT. There is little effect on the performance of Non-OpenGL version. |
SetupYou need to specify the directory in which YSFLIGHT is installed. Please specify the directory with the steps below. (1) "Choose Option" -> "Option" (The following dialog appears) (2) Click "Browse" button. (3) Move to the directory in which YSFLIGHT is installed, (by default "C:\Program Files\YSFLIGHT.COM\YSFLIGHT"), and select fsmaino.exe
Meanings of other items are as follows: Auto Load STP If this option is on, starting-position file will automatically be loaded when a field file is loaded. Auto Save STP If this option is on, starting-position file will automatically be saved when a field file is saved. Auto Save LST If this option is on, LST file (needed for YS FLIGHT SIMULATOR program to recognize the field) will automatically be saved when a field file is saved. Ground Lattice Size Specifies the size of lattice drawn on the ground. Font Size Specifies the font size used in Scenery Editor Language You can choose from "AUTOMATIC", "FORCE_ENGLISH", and "SPECIFY_FILE" Language File If you have a language file (.uitxt), you can specify it here.
|
Basic OperationsMain Window, View Control Dialog
When you start the program, you'll see a window and two dialogs as shown on the right. The window titled as "YSFLIGHT SCENERY EDITOR" is the main window, which is used for specifying coordinates, picking objects, selecting menus, etc. The dialog titled as "Select Color" is the color dialog. Please click here for more details about the color dialog.
Changing ViewpointYou can change the viewpoint by moving mouse cursor while SHIFT key and mouse button are held down. (You can check "Rotate/Scroll by Dragging" on "Viewing Control" dialog, instead of holding down SHIFT key.) Functionalities of shift key and mouse button combinations are as follows.
You can press F1 through F6 keys to change the view angle to a preset angle. In Scenery Editor, you may use F2 key (look down) often because this angle shows the map from the straight up, like satellite camera.
When you need to move your viewpoint so that a particular point on the scenery is centered, follow the steps below.
Input CoordinateThere are two methods of specifying a coordinate. In general, when you need to specify only one coordinate, move the cursor to the location of your choice by one of the following methods, and press SPACE key to settle. INPUT COORDINATE 1When the program shows a green cursor as shown below, you can move the cursor in horizontal directions by moving mouse with the left button held down, and in vertical direction with right button held down. INPUT COORDINATE 2When the program shows a green cursor as follows (the number of axes can be less than three), you can move the mouse by pressing mouse left button on one of the axes and move mouse without releasing the button.
Please follow the instruction below when you need to specify more than one coordinates. (1) Move a cursor to the point of your choice, and press ENTER key (2) Repeat (1) until you specify all the coordinates (3) Press SPACE key You can also edit points. If you press Page Up key, a rectangular marker appears as shown below. If you press page up key again, the marker moves to the previous point, or if you press page down key, the marker moves to the next point. If you press space key when the rectangular marker is shown, the point enclosed by the rectangular marker will move to the location of the INPUT COORDINATE 1 cursor.
If you press insert key when the rectangular marker is shown, a point is inserted at the INPUT COORDINATE 1 cursor before the point enclosed by the rectangular marker as shown below.
If you press back space key, the point enclosed by the rectangular marker is deleted as shown below.
Input RectangleIn this program, you can specify a rectangle by specifying multiple coordinates. The rectangle will be the smallest rectangle that encloses all the coordinates and two of the edges are parallel to the line connecting the first and the second coordinates. In other words, the first two coordinates specify the orientation of the rectangle, and the size of the rectangle is specified by all the coordinates. Example:
RotationThe program shows a cylinder as shown below when you need to rotate something. You can rotate the target by left-clicking the thick green line and move mouse without releasing the button in the direction of the thick line. I have to admit that this method is not very intuitive, but please get used to it.
|
EditCurrent Item, Current SceneryWhen you edit the data, you often need to choose a target scenery item or a target child scenery. Most of the operations modify a selected scenery item (current item) or a selected child scenery (current scenery). Initially (when the program starts) no item is selected, and the current scenery is the top most scenery, which is a scenery without a parent scenery. To select a current item, choose "Select" -> "Select Item", and click a scenery item (or its frame) that you want to select. When you choose a current item, a current scenery is automatically set to the child scenery in which the current item belongs. To unselect a current item, choose "Select" -> "Unselect Item". To select a current scenery, choose "Select" -> "Select Scenery", and click a child scenery's axes (yellow) or frame. To unselect a current scenery (to select the top most scenery), choose "Select" -> "Unselect Scenery". When you add a new scenery item, the item belongs to the current scenery. Selection DialogYou can select an item of specific type, tag, id, or ground object type by using Selection Dialog. You can open the dialog by choosing "Select"=>"Open Select Dialog". You can select a specific scenery item by setting conditions on the dialog and clicking "Select and Move View Point" or "Select" button. Multi SelectionYou may want to select multiple current items when, for example, assigning a same motion path to multiple ground objects. When you need to select more than one current item, click the item while holding CTRL key. If you click an already selected current item with CTRL key down, it will be unselected. Specifying ColorTo choose a color (for map elements, elevation grid, etc.), please choose one of the colors from the palette of the color dialog, or you can change RGB values by clicking on boxes to the right of the R, G, and B values.. Contents of the color dialogs can be saved and loaded by Save and Load buttons.
Editing Map
|
![]() |
=> |
![]() |
Selecting a thick line. | After choosing "Map" -> "Make Multi-Coordinate Input from...." -> "Odd-Numbered Points of Selected Element", and selected "POINT ARRAY" |
YSFLIGHT OpenGL version can draw a scene faster if it includes less concave polygons. The Scenery Editor can automatically subdivide concave polygons into convex polygons.
To subdivide selected polygons into convex polygons, select "Map" -> "Convexnize" Selected.
To subdivide all polygons into convex polygons, select "Map" -> "Convexnize All".
The appearance of the polygons does not change.
Since YSFLIGHT 20070415 version, an executable for Direct 3D is included in the package. However, there is one problem in Direct 3D. It is incapable of drawing concave polygon. (It is not a matter of fast or slow. It's incapable.) So, the YSFLIGHT program needs to internally subdivide any concave polygons into triangles and convex quadrilaterals before it is drawn. If a field includes many concave polygons with large number of points, it takes long time when a scenery is loaded. One way to avoid this delay is convexnize all polygons. However, having too many polygons is not very convenient for editing. The compromise is to split some complex polygon manually into reasonable number of points. You can do it by following the steps below.
The polygons split by this steps can be merged later if necessary by "Map" -> Merge Selected Polygons" (explained below)
![]() |
=> |
![]() |
A polygon and two corners are selected. | Pressing space key to split. |
You can merge multiple polygons sharing at least one edge by the following steps:
Polygons to be merged need to share at least one edge. Tolerance of the vertices is 0.1 meter.
You can make a polygon that is neighboring another polygon (by sharing some edges) by the following steps.
![]() |
=> |
![]() |
Steps 1 and 2 | Steps 3 and 4 | |
![]() |
=> |
![]() |
Step 5 | Steps 6 and 7 | |
![]() |
||
A new polygon sharing two edges with the first polygon. |
You can also make the third polygon that is neighboring the first two polygons by following the steps below.
![]() |
=> |
![]() |
Steps 1 to 3 | Steps 4 to 7 | |
![]() |
=> |
![]() |
Steps 8 and 9 | Neighboring polygon. |
To insert an elevation grid, select "Edit" -> "Insert" -> "Elevation Grid", specify the region with the method explained in Input Rectangle, specify the number of grids in the dialog, and click "Insert Elv Grid" button (or press SPACE key).
(Specifying the region)
(Inserted Elevation Grid)
To specify elevation of nodes, or show/hide faces, you need to select target nodes and faces first.
To select nodes and faces, choose the target elevation grid as current, and select "Edit" -> "Clear Interface". You can then choose nodes and triangles (faces) by clicking. You can unselect nodes and triangles by clicking again.
To specify elevation of nodes, select target nodes, and select "Elevation Grid" -> "Move Node". You can then elevate/lower nodes by the method explained in INPUT COORDINATE 2. Press SPACE key after moving nodes to the desired elevation.
(Specifying Elevation of Nodes)
You can smooth elevation grid by selecting nodes that need to be fixed, and selecting "Elevation Grid" -> "Laplacian Smoothing".
(Before smoothing)
(After smoothing)
You can make selected node zero elevation by selecting "Elevation Grid" -> "Set Zero Elevation" -> "Selected Nodes".
You can make selected triangles zero elevation by selecting "Elevation Grid" -> "Set Zero Elevation" -> "Selected Faces".
You can make zero elevation triangles invisible by selecting "Elevation Grid" -> "Hide Flat Faces".
(Hiding Zero Elevation Triangles)
To hide (make invisible) selected triangles, select "Elevation Grid" -> "Hide Selected Faces".
To unhide (make visible) selected triangles, select "Elevation Grid" -> "Unhide Selected Faces".
To make all triangles visible, select "Elevation Grid" -> "Unhide All Faces".
You can specify color of the elevation grid by choosing color with Color Dialog, and selecting "Elevation Grid" -> "Paint All Faces".
You can adjust triangulation so that the elevation grid will have less unnatural unevenness by selecting "Elevation Grid" -> "Apply Delaunay Triangulation".
You can set color gradation based on the elevation by selecting "Elevation Grid" -> "Apply Color Gradation". You can specify the color at the peak and at the foot of the elevation grid by the dialog shown below.
If you choose to apply color gradation, the color specified by Paint All Faces will not be shown. If you want to remove color gradation and use the color specified by Paint All Faces, select "Elevation Grid" -> "Flip Gradation Flag".
(Selecting colors at the peak and foot of the Elevation Grid)
(Example of gradation)
You can make side wall of the elevation grid by selecting "Elevation Grid" -> "Show/Hide Side Wall".
To insert a Ground Object, select "Edit" -> "Insert" -> "Ground Object" (a dialog box pops up), then choose on the dialog type, IFF code, and Primary Target Flag (if on, attacker airplanes in the Intercept Mission will bomb it) of the ground object, and use INPUT COORDINATE 1 to specify the location, and press SPACE key.
(Specifying type, IFF code, and Primary Target Flag)
To modify attributes (IFF code, Primary Target Flag, and other flags) of a ground object, choose target objects as current items (see Current Item, Current Scenery and Multi Selection), and select "Ground Object" -> "Modify". Then select new IFF code, primary target flag, and other flags on the dialog, and click OK button. Currently, the meanings of flags 0 to 7 are as follows.
Flag 0 Primary ILS
Flag 1 Primary Aircraft Carrier
Flag 2 Move toward the ground target.
Flag 3 Target any ground object (if this flag is on, the ground object
only targets its threats)
Flag 4 Not used
Flag 5 Not used
Flag 6 Not used
Flag 7 Not used
(Specifying IFF code, Primary Target Flag, etc.)
A Ground Object can have a tag (name) and an ID number for identification purposes. Currently, tag is used for relating a start position and an aircraft carrier. So, the aircraft carrier which can be a start position must have a unique tag name.
To set tag and id of a ground object, choose target objects as current items (see Current Item, Current Scenery and Multi Selection), and select "Ground Object" -> "Set Tag and Id". Then specify an id number and a tag name, and click OK button.
(Specifying Id and Tag)
You can assign a motion path to a ground object that can move (like, tanks and aircraft carriers.) You need to specify the name of the motion path, and offset flag.
If the offset flag is off, the ground object follows as exactly as possible on the motion path. If the initial location of the object is far away from the starting point of the motion path, the object first moves to the starting point, and then follows the path.
If the offset flag is on, the ground object does not follow the motion path exactly, but moves parallel to the motion path. It is convenient for a group of ground objects moving together, like a formation of tanks. If you want to move a group of object all together, you can create only one motion path, and assign it to all the objects in a group, and turn on the offset flag. Then, all the objects in the group follows a parallel path to the assigned motion path. So, as long as the objects in the group move at the same speed, they tend to maintain the original formation.
To assign a motion path and an offset flag, choose target objects as current items (see Current Item, Current Scenery and Multi Selection), and select "Ground Object" -> "Set Motion Path" (the following dialog box pops up.) Then specify the name of the motion path and offset flag in the dialog, and click OK button.
(Specifying a motion path name, and an offset flag)
Sometimes, the appearance of the ground objects get corrupted (or become invisible left coordinate axes.) In such a case, select "Ground Object" -> "Re-Link Templates".
To insert a rect region, select "Edit" -> "Insert" -> "Rectangular Region". The following dialog pops up.
Please choose ID (1 for runway, 2 for taxiway, and 10 for viewpoint. The center of a rect region with ID of 10 can be chosen as a viewpoint by pressing F9 key in YSFLIGHT), and Tag name (not currently used) with this dialog.
Then, use the method explained in Input Rectangle, and press SPACE key in the main window.
To modify an existing rect region, choose target rect regions as current items (see Current Item, Current Scenery and Multi Selection), and select "Rect Region" -> "Modify". The dialog pops up as shown below. Choose ID and Tag in the dialog, and click OK button.
To insert a Motion Path, select "Edit" -> "Insert" -> "Motion Path", and select an ID number and a tag name on the dialog as shown below. Then specify the waypoints by the method explained in Input Multiple Coordinates, and press SPACE key.
An ID number is currently not used in YSFLIGHT, but may be used in the future versions.
A tag name is required for connecting a ground object to the motion path.
To modify an existing motion path, choose target rect regions as current items (see Current Item, Current Scenery and Multi Selection), and select "Motion Path" -> "Modify". The dialog pops up as shown below. Then select a new ID number and a tag name on the dialog, and click OK button.
You can edit motion path coordinates by selecting a motion path and selecting "Motion Path" -> "Reedit Motion Path." Then, edit the points by the method described in Input Multi Points.
To delete a scenery item, select scenery items and select "Edit" -> "Delete" -> "Delete Current Item". You can press Delete key instead of selecting the menu, however, if you delete scenery items by pressing Delete key, only scenery items must be selected, and no map elements and no start positions must be selected.
To move scenery items, select scenery items and select "Edit" -> "Move" -> "Current Item". Then, move the items by the method described in INPUT COORDINATE 1, and press space key.
To rotate scenery items, select scenery items and select "Edit" -> "Rotate" -> "Current Item". Then, rotate the items by the method described in ROTATION, and press space key.
When you placed scenery items in a wrong child scenery, you can transfer the item to the correct scenery without changing the position and the rotation of the items. To transfer scenery items to another child scenery, select scenery items and select "Edit" -> "Transfer to Another Scenery" -> "Current Item", and click the destination child scenery.
Aligning
Scenery Items
When you need to align angles of selected scenery items, select "Edit" -> "Align" -> "Angle." All the selected items' angles will be aligned to the angle of the lastly selected item.
The main purposes of using child sceneries are as follows:
The following explains the edit operations related to child sceneries.
To insert a child scenery, select "Edit" -> "Insert" -> "Child Scenery". Specify the location by INPUT COORDINATE 1, and then press space key. If a current scenery is selected, the following dialog will pop up.
If you want to create a child scenery of the current scenery, click "Child of Current Scenery." If you want to create a child scenery that is a direct child of the top-most scenery, click "Child of Root Scenery."
The new child scenery will be automatically selected as a current scenery. A scenery item inserted after creating a new child scenery will belong to the newly created child scenery. If you want to insert a scenery item to another scenery, you need to choose a current scenery. Please see Current Item, Current Scenery for how to select a current scenery.
To delete a child scenery, select child scenery and select "Edit" -> "Delete" -> "Delete Current Scenery". All the scenery items and child sceneries of the selected child scenery will be deleted as well.
To move scenery items, select child scenery and select "Edit" -> "Move" -> "Current Scenery". Then, move the child scenery by the method described in INPUT COORDINATE 1, and press space key.
To rotate scenery items, select child scenery and select "Edit" -> "Rotate" -> "Current Scenery". Then, rotate the child scenery by the method described in ROTATION, and press space key.
When you created a child scenery in a wrong parent scenery, you can change the parent scenery without changing the position and the orientation of the child scenery. To change a parent of a child scenery, select child scenery and select "Edit" -> "Transfer to Another Scenery" -> "Current Scenery", and then click the new parent scenery.
A start position describes an initial condition of an airplane that the user can choose in YSFLIGHT. The start positions must be saved in a .STP file separate from other scenery items. A .FLD file and a .STP file are needed to use a scenery created in the scenery editor in YSFLIGHT.
There are some standard start positions, which YSFLIGHT expects to exist in any scenery. If some of standard start positions are missing, some missions, like Endurance Mode, Intercept Mission, or Close Air Support Mission cannot be played. For more details, please see Creating YSFLIGHT Mission Ready Sceneries.
To insert a start position, select "Start Position" -> "Insert", and specify the location by INPUT COORDINATE 1, and then press space key. The following dialog will pop up. In the dialog, specify the name of the start position, initial speed, throttle setting, IFF restriction (select ANY if no restriction,) and the name of an aircraft carrier if the position is on the aircraft carrier. To create a start position on an aircraft carrier, the carrier must have a unique tag. To specify a tag, see Editing Ground Objects.
To change a start position name, initial speed, initial engine setting, etc., you need to select start positions. To select a start position, select "Select" -> "Select Start Position", and then click a start position in the main window. Start positions are drawn with wireframe. Make sure to click one of the lines of the start position wireframe.
You can also select multiple start positions by clicking a start position while holding down ctrl key. If you click a already-selected start position while holding down ctrl key, the clicked start position will be unselected.
To delete start positions, select start positions to be deleted and then select "Start Position" -> "Delete".
To move start positions, select start positions to be moved and then select "Start Position" -> "Move". Then move the start positions by INPUT COORDINATE 1, and press space key.
To rotate start positions, select start positions to be rotated and then select "Start Position" -> "Rotate". Then rotate the start positions by the method explained in Rotation and press space key.
To change order of Start Positions shown in the start position selection dialog of YSFLIGHT, select "Start Position" -> "Change Order" and change the order of start positions on the dialog.
To modify start position name, initial speed, etc., select a start position to be modified, and then modify the values in the dialog as shown below and click "Set" button.
To insert standard mid-air start positions -- NORTH10000_01 to 05 and SOUTH10000_01 to 05 -- in bulk, select "Start Position" -> "Make Standard Air Start Position" and specify location by INPUT COORDINATE 1 and press space key.
Aligning
Start Positions
If you choose "Start Position" -> "Align" -> "Angle" when multiple start positions are selected, angles of the selected start positions will be aligned to the angle of the lastly selected start position.
Since YSFLIGHT 20090611 version, you can specify areas of land and sea. For example, if you drop a weapon to the area specified as water, you will see a plume of water rather than an explosion.
Specifying
Default Area
See Specifying Field Property.
Specifying
Areas of Land or Sea
To specify areas of land or sea (water), select Edit -> Insert -> Motion Path / Area, then select the area type (water/land) from the Motion Path Property dialog. Then use Multi-Point Input and specify a polygonal region in which you want to set as land or sea, and press space key to confirm. If you want to change the area type later, you can select the area and select Motion Path/Area -> Modify, and then change the area type.
You can specify the field property by selecting "Edit" -> "Field Property (O)". The following dialog will open.
Field
Name
Specifies the name of the field that appears in YS FLIGHT SIMULATOR.
Sky
Color / Ground Color
Specifies the default sky and ground colors.
Base
Elevation
Specifies the base elevation in feet. (This feature is ignored in YSFLIGHT version 20110207 and earlier.)
Default
Area
Specifies the default area type.
Making High-Elevation AirportYou can create an airport higher than sea level by following the three steps below.
Please refer to this section for creating and editing an Elevation Grid. You can make protect polygons by selecting faces of the Elevation Grid that covers the area of the airport, and choose "Elevation Grid" -> "Make Protected Picture from Selected Faces." The program makes selected faces transparent and creates a map that includes a polygon that exactly fits the selected faces. (The transparent faces of the elevation grid are called protect polygons, and the picture that fits the protect polygons is called protected picture.) Protect polygons need to be zero-slope polygons, and the program automatically makes them zero-slope if they were not. You can also make protect polygons by selecting "Elevation Grid" -> "Set Protect Polygon", however, in that case you need to manually create a protected picture.
Next, you need to make an airport. I recommend to create an airport as a separate .FLD file, and import it by "File" -> "Import" -> "Scenery." The requirement is that the airport needs to be a child scenery of the parent scenery of the elevation grid on which the high-elevation airport is placed. So, the hierarchy must look like as follows. +---Parent scenery of the elevation grid +---Elevation grid on which the high-elevation airport is placed +---Protected Picture +---Child Scenery of the airport Otherwise, the airport mayl not be drawn correctly. I assume that you imported an airport from an external file for the following explanation. After importing an airport, you first need to move the airport so that the origin of the airport lies underneath the protect polygons by "Edit" -> "Move" -> "Current Scenery". Turning off "Draw Polygons" in "View" menu, and pressing F2 key to set the camera facing vertically down will make it easier.
Lastly, you need to choose "Edit" -> "Move" -> "Current Scenery to Terrain Elevation" to move the airport to the elevation of the protect polygons.
One thing you need to keep in mind is that if you make too many high-elevation airports, you may lose frame rate in YSFLIGHT. However, actually, the number of elevations matters, not number of airports. I.e., if you make two separate high-elevation airports both are at the same elevation, the effect will be just same as one high-elevation airport. So, if you make two airports one at 240ft and the other at 250ft, I recommend to make both of them 245ft. If you really need to make airports of different elevations, I recommend to keep them less than 10. YSFLIGHT will be able to draw the scene even if you make airports with more than 10 different elevations, but it may get slower. |
Auxiliary Features
|
Creating YSFLIGHT Mission Ready SceneriesEndurance ModeTo enable Endurance Mode, the scenery must have five standard air start positions -- NORTH10000_01, NORTH10000_02, NORTH10000_03, NORTH10000_01, and NORTH10000_05. Intercept MissionTo enable Intercept Mission, the scenery must satisfy the following conditions. (1) At least one standard ground start
position (a start position that has a name starting with 'RW') exists. The airplane is located at the first standard ground start position. The enemy attacks ground objects with IFF1 and Primary Target flag turned on. Hence, if the first standard ground start position is far away from the ground objects that are attacked by the enemy airplanes, the mission will become difficult. Close Air Support MissionTo enable Close Air Support Mission, the scenery must satisfy the following conditions. (1) At least one standard ground
start position (a start position that has a
name starting with 'RW') exists. Also, if you want YSFLIGHT to generate friendly tanks that defends the position, a rect region with ID 7 must exist. When YSFLIGHT starts a close air support mission, friendly tanks are generated in a rect region with ID 7. During the mission, enemy tanks will be generated in a rect region with ID 6, and move toward friendly ground objects with Primary Target flat turned on. (No friendly tanks are generated in Close Air Support Mission in network mode.) The player airplane will initially be located at the first standard ground start position. |
Installing Scenery in YSFLIGHTEasy Install (Recommended) You can save the field to:
and, your scenery will appear on YS FLIGHT SIMULATOR. Make sure to turn on "Auto Save STP" and "Auto Save LST" options in the option dialog to use Easy Install. These two options are on by default. Manual Install To install a scenery created by this program to YSFLIGHT, please follow the steps below. (The following explanation assumes YSFLIGHT install directory is "C:\Program Files\YSFLIGHT.COM\YSFLIGHT", the scenery file is "myscenery.fld", the start position file is "mystartpos.stp", and the name of the scenery is "MYSCENERY". Please replace them according to your environment.) CAUTION: When you save your scenery and start position, the filename should consist only of alphabets, numbers and '_' (underscore.) Using other characters may make YSFLIGHT unstable, or even may crash the program. 1. Copy the start position file (mystartpos.stp) and the scenery file (myscenery.fld) to the "scenery" sub-directory of the YSFLIGHT install directory (C:\Program Files\YSFLIGHT.COM\YSFLIGHT\scenery). 2. Make a text file with the following content with a text editor such as NotePad. The filename of the text file must start with "sce", and end with ".lst" (Example: "sce_myscenery.lst") "MYSCENERY" scenery/myscenery.fld scenery/mystartpos.stp 3. Copy the text file to the "scenery" sub-directory of the YSFLIGHT install directory (C:\Program Files\YSFLIGHT.COM\YSFLIGHT\scenery).
|
Comments are welcome. Send E-Mail
to:
|