Flight Unlimited III high resolution terrain processing workshop
noncommercial FU3 support page - just to keep FU3 flying !
The making of high resolution region for Flight Unlimited III
Making a new high resolution region is a lot of work and is not just a rainy weekend project.
Creating your first Megatile will cost you a full day of work.
Analyzing Files, data structures and concepts and making tools and documentation took me far more than 400 working hours. You need not to redo all this work, just use the tools, but don't expect to realize your region in a couple of days, you will need more time, depending on the size of your region.
First prerequisite of a region are a suitable source of pictures. You need orthogonal maps pictures of 4m resolution per pixel - that is a scale 1:10000 to the real world. Ortho photos are available on the Internet and on CDs. Take care on the associated copyright. Forget black and white pictures, the amount of work to colorize it is infinite. As owner of FU1 you can extract the terrain maps and the elevation of Denali, Sougarlof, …. From the resource file using Gideon's ResourceViewer. (Cat00lg.res, Cat01lg.res…in the FU1\cats folder).
The Denali terrain map from FU1 as FU3 Megatile
1 Megatile is a picture map of 4096 x 4096 pixels with a file size ranging from 16MB to 48MB depending on graphic format ( 24Bit Bitmaps: 48MB, Targa for FU3 16MB, JPEG about 2MB )
You can start with low resolution pictures and sizing up any original to 4096 x 4096. The results are not very nice and remembers to alternative flight Sims. This was used as primary installation kit for the Switzerland region.
Next is a source of terrain elevation data for the region. You can find it on the Internet or create it from maps.
1 Megatile has a height matrix of 256 x 256 that means 4096 individual values. You can start your region without elevation using just the Blank Megatile for the elevation in the geotiles.tag file. Your region is then totally flat.
Having pictures and elevation you need following software tools:
Any paint tool with bmp, jpg and tga ( Targa ) support. Targa is a must. I use MS-Paint, MS-Photoeditor and the Gimp.
Any hex-editor to manipulate binary files.
My special tools that are download Genquadrant v1.4 and GeoTilesViewer v2.0, more tools are coming . A next tool will be a Megatile distributor starting with a jpg picture and making all levels at once. With this new tool a zipped Megatile will be in the size range of about 1 or 2 megabytes and not 8MB as currently. This tool is not for the next month ! It's take longer to make it. So start your project with the current tools and keep the original bitmaps of the Megatiles with the full color ready for a later final conversion.
The tools of Sergey Ostrozhinsky (MapShuffle, cdpcoder) and Tomi Lehto (Map2raw) are useful for analysis and generation of the upper map levels currently not supported by my tools.
Start your region project by defining the area and very important the bottom left start point zero of the region.
All later references are from this point. The name of the first Megatile starting there is aaaa. The current version of GeoTileViewer is for region aaaa to azaz enough for 26 x 26 Megatiles (676 Megatiles = more than 2 years of work) but small is beautiful also and expansion to the north and east is ever possible.
As I demonstrate with the Switzerland region you can start and use an unfinished region at all.
The next important definition is the choice of the region palette. Unless you keep all 4096 x 4096 pictures with the original color deep ( space ! ). Conversion of the original bitmaps to palletized Targa is the first irreversible step of your decision.
with Sanfran Palette
original picture colors
with Seattle Palette
The Sanfran palette has more red colors than the Seattle palette. First I start with the Seattle palette and the version 2.0 of GenQuadrant is just supporting the Seattle palette, but I will migrate to the nicer Sanfran palette in the next time and my tools will support more than just one.
How to convert an bitmap or jpg high color picture to the selected FU3 Targa palette:
Load a previous .tga picture that is using the needed palette.
Resize the picture to 4096 x 4096 and cut out the current image.
That's a Targa template with white background.
Now open the part of your new map, copy the wanted part.
Paste it to the right place inside the large tga frame and click outside of the area.
This will insert and convert the colors to the current palette.
The color modifications is the result.
Continue patch for patch until your Megatile is completed.
Use zoom to 400% to align the parts to the exact pixel row and column.
Watch especially the streets for continuous alignment.
Save the file as .tga file.
The 4096 x 4096 tga file of your megatile is the only input to GenQuadrant .
Result from GenQuadrant are .tga files for each Level and L3.bin, L2.cpd, L1.cpd and L0.cpd for FU3
Rename the files to the designed node name for the adequate placement inside the region.
Repeat this for each Megatile.
Tests of Megatiles using current region is not difficult. Just replace the generated map with GenQuadrant ( L3xxxx.bin, L2xxxx.cpd, L1xxxx.cpd and L0xxxx.cpd ) in the folder \region\x\ maps\ for the .bin files and cdrom\x\maps\ for the .cpd files and rename xxxx to a valid node name. There is a lot of free nodes inside the Switzerland region and free megatiles have all the predefined flat terrain from the Blank Megatile so you have just to care where the node name location is.
If you flight in a high distance you will not see your terrain. You have to go deep and near to it. To see it from longer distance create Level 4 , 5, 6 and 7 of the maps. You must use the hex-editor for that.
How to create Level 4 .bin file:
After generation with GenQuadrant saves all files, not just the binary but also the generated sublevel as .tga using the green buttons.
Load L3.tga in Photoeditor.exe the should be 512 x 512 .
( You can ever start with L0.tga or your original .tga file )
Resize the picture to as 256 x 256 and you get the reduced Megatile picture of level 4.
Cut and paste as new picture 4 parts of 128 x 128 of this picture and save each as single tga file .
L41.tga is the bottom left part
L42.tga is the upper left part
L43.tga is the bottom right part
L44.tga is the upper right part
in your hex-editor load L41.tga and delete the start of the file from 0x0000 to 0x0311 the last 2 bytes of the targa palette that you will delete are E6 C8. The remainder is the binary data going from 0x0000 to 0x3FFF.
Repeat for L42, L43 and L44
Append at the end of L41.tga the file L42.tga then L43.tga and L44.tga and rename the resulting file with the data ranging from 0x0000 to 0xFFFF to L4xxxx.bin where xxxx is the node name of the Megatile.
Now you have Level 4 also, move it to the \regions\x\maps\ folder
How to create Level 5 .bin file:
Same way as for Level 4, but resize to 128 x 128. There is 1 part only for level 5.
Level 5 binaries are sharing 4 Megatiles in 1 file. From now position and name of the Megatile is important.
Example: Megatile is aaae
Level 5 has this Megatile in the bottom left corner and the binary data are the first part going from 0x0000 to 0x3FFF. The file is sharing the other Megatiles like this
aaae is the bottom left Megatile 0x0000 to 0x3FFF
aaaf is the upper left Megatile 0x4000 to 0x7FFF
abae is the bottom right Megatile 0x8000 to 0xBFFF
abaf is the upper right Megatile 0xC000 to 0xFFFF
and finaly the name of the Level 5 file is not L5aaae.bin but must be named L5aaac.bin it's the 3. square from the bottom left corner of the region !
Now you understand why definition of the region start point is important. If you shift your region by just one Megatile you have to reassemble them all.
By the way, level 6 will share 16 Megatiles and level 7 will share 64 Megatiles see my description at FU3 high-res files
last update 7.feb.2002
Information: André Meystre
back to FU3 Terrain Workshop
next to Generation Tool for Level 5, 6 and 7