Flight Unlimited III workshop

noncommercial FU3 support page - just to keep FU3 flying !

Creation of outer terrain tiles for Flight Unlimited III


There is one outer terrain area for each installed flight unlimited game. If you want create another area of the world you must instal/copy the game twice using another location. The definition of the outer terrain area is stored in the folder OUTTERR containing AIRPORTS folder define outer region airports
MODELS folder define placements of models for each tile
BEACONS.FLD beacons definitions
MOVGROBJ.DAT definition of moving models
outterr.cfg - the config file of the outer area
outtaga.tag, outtagb.tag, outtagc.tag terrain data files

the .tag files are a collection of files of type
.geo elevation meshes in the 3 resolution (0, 2 and 5)
.gtl terrain classification

The terrain classification is stored inside the elevation data also as
0 land, 1 water, 2 urban, 3 ?
The classification inside gtl files are much more detailed using the 13 base classes defined by LG.
They are defined in the file Flight3\GENTILES\RULES.TXT When you insert the line generate_outer_megatiles in the fu3 config file flt3.cfg
then during the next start of the game all gtl files inside outtag*.tag are extracted and stored as file inside folder outterr in addition the classification is modified according to the rules defined in rules.txt. after this long generation you must remove or inactivate by ; the line and insert a new line use_loose_gtls as long this command is activated the classification of the generated gtl files are used. If inactive then the gtl files are not used but the data in the outtag files only. With use_loose_gtls you will double the file activity during game start and during the flight also !
Until now it was not possible to store/modify the gtl and geo data inside the outtag files. With my new tool OuterTerrainViewer you can modify all tiles, delete and add tiles export and import elevation and classification data. You can even extend the OT area as I will demonstrate here in a short tutorial.

First lets look what we have in the original OT area.
LG has defined 2296 tiles in a rectangular area of 41x56.
The OT tile has a terrain coverage of 32768m x 32768m this is twice the scale of the high resolution tiles having an area of 16384m x16384m, so 1 OT tile can hold 4 high resolution tiles. Each tile has a name coded as location xxyy so aaaa is the base tile located in the lower left corner of the rectangle and reside in file outtagc.tag. All tiles are distributed in the 3 outtag files a, b and c. This distribution, the geographic location of the base point and the OT area size are defined in the file outterr.cfg
OTRects
outterr.cfg:
The first 3 lines are the base location,
the next 2 lines are the OT area size 41x56 tiles
The offsets are may be the location of the high resolution area ?
The last 3 lines are the distribution of the tiles and the size of the outtag files.
area a of size 10x43 has the tiles aaan to ajcd
area b of size 31x43 has the tiles akan to bocd
area c of size 41x13 has the tiles aaaa to boan
All tiles must exist or fu3 will crash !
reg_utm_zone 10
reg_utm_origin 317065.14 3997765.47     // easting, northing Lon -125.03236 Lat 36.10733
reg_utm_offset 317065.14 3571781.47     // easting, northing Lon -124.94224 Lat 32.267853
reg_width 41
reg_height 56
reg_xoffset 0
reg_yoffset 0
tagfile outtaga.tag 0 9 13 55
tagfile outtagb.tag 10 40 13 55
tagfile outtagc.tag 0 40 0 12

Expanding the existing OT area to the north

Now we will extend the OT area to the north by 4 tiles. The total size will the be 41x60, so we must update reg_height 60 and we will insert a new file outtagd.tag
declared as tagfile outtagd.tag 0 40 56 59 having 164 tiles in a rectangle of 41x4
Important for the actual expansion over Vancouver was an area just a bit larger than the high resolution area , so I decide to divide the area in 2 rectangles the important western part 12x4 having 48 tiles full defined and a remaining dummy area of 29x4 having 116 tiles all just defined as flat forest area with name outtage.tag.

tagfile outtagd.tag 0 11 56 59
tagfile outtage.tag 12 40 56 59

FU3 has accepted this 2 new files ! How to create such a tag file ?
First we must create an elevation map for each tile. Before 2006 this was very difficult / costly, but now since the NASA SRTM data are available we need tools and a couple of transformation steps to get very accurate results.

Download the NASA SRTM data from here: Use the 3 arc second data of North_America. Each zip file is 1x1 degree coverage. You will need 4 and more zips then the generation tool needs a 2x2 degree coverage to generate maps crossing degrees border. Here are the steps:

The conversion is made using an excellent and easy to use tool DEM2BSC.EXE.
dem2bsq
Download DEM2BSQ from here:

1. Download NASA SRTM_V2, 3arc version

2. unzip hgt file into a work folder together with the downloaded tools

3. use DEM2BSQ HGT>>>BSQ to get N48w121.BSQ ... N50W128.BSQ

4. use DEM2BSQ BSQ1+BSQ2 to merge N48w121.bsq with n48w122.bsq name it n48w122w121.bsq

5. use DEM2BSQ BSQ1+BSQ2 to merge N49w121.bsq with n49w122.bsq name it n49w122w121.bsq

6. use DEM2BSQ BSQ1+BSQ2 to merge n48w122w121.bsq with n49w122w121.bsq name it n48n49w122w121.bsq

7. use DEM2BSQ Process to change negative values to Zero

8. use DEM2BSQ Process to interpolate void values, Passes = -1

9. use DEM2BSQ up sample to 1 sec

10. use DEM2BSQ Process to low pass filter

11. use DEM2BSQ BSQ Viewer to check the 2x2 degree map of 7201x7201

12. keep n48n49w122w121.bsq, 100MB large file and delete the intermediate files

continue until you have all required .bsq files for your area.
vanbsqview.jpg

The next steps will convert with OTGeos.exe and import the generated elevation map into the outtag file using OuterTerrainViewer.exe

Download the tool OTGeos from here: , unzip it into the workfolder and run OTGeos.exe.

otgeos1
You will see this dialog, The values for the base location are tuned to fit the FU3 original OT area, you have just to enter the tile name in the center field (aecc here) and click on button make tile

depending of your bsq file collection you will get a success or failure message.
The increment from the base to the specified tile is calculated internally using a tile step of 32768
The corner coordinates WGS84 and UTM are shown for your information.
Check that the full tile is inside the bsq area
This is the elevation map that was created for the tile aecc

We will use this map to create 2 maps more, the class map of the geos and the gtl class map. I am using the GIMP to do this. Fill all water areas (black is the sea level, and the uniform colored area are mostly lakes) with blue, then set the background color to green and select by color and click into any water area, this will select all water areas, inverse selection and choose erase selection, now the map is blue and green only. Set unselected and copy / paste the full map into the templates cl5_Conv.tga and gtl_Conv.tga the colors are then converted to the palette needed for the import of the maps save it as cl5aecc.tga and gtl_aecc.tga. You must uncheck both options in the save dialog. Caution do not overwrite e0aecc.tga with the color modification, do not save the changes to e0aecc.tga


For each tile you must have 3 files: Tile aecc has elevation e0aecc.tga, classification cl5aecc.tga and texture class gtl_aecc.tga. Next step is importing the tile to the outtag file. OuterTerrainViewer.exe is the import tool Download the tool Outer Terrain Viewer from here:

Unzip OTViewer.zip into the work folder, rename a copy of the outtag.tag template as outtagd.tag and run OuterTerrainViewer.exe

Click on one of the 4 lines to open the OutTag.tag file A,B,C or D. If you want to work with OutTagE rename it to OutTagD and after the work back to OutTagE.

Add a tile, here aecc on the right aecc elevation after the import

the original LG classification for OT looks strange, this is my class map cl5aecc.tga after the import

Here is the GTL map import, you can import from a gtl file also, after the first gtl map import you will have water and forest only. After all tiles are loaded in the outtag file define the new outtag file in outterr.cfg and set in flt3.cfg the line generate_outer_megatiles then run fu3 once so the GTLs are built according the rules in rules .txt

After this run remove the line generate_outer_megatiles then check and import the generated GTL files into the outtag file. For terrain modifications export the selected gtl as map or gtl file and modify using one of the GTL editors or for the map a paint program. Caution - do not change the color palette and use the gtl colors only.

The first 4 colors are for geos only ! the 13 colors after the geos colors are the gtl class colors. With Outer OuterTerrainViewer you can now modify tile by tile as you like


under construction last update 6.dec.2009

Information: André Meystre
back to FU3 Terrain Workshop      next to GEOs data for elevation and classification