2) make sure you have an installation of x-plane 8.64+ or 9 or 10 with global scenery installed somewhere accessible on your harddisk. This is only necessary for retrieving the elevation data.
3) execute simTiles.exe
4) under preferences tab (see here)
point to your XPLANE root folder (i.e. D:\X-Plane 9 )
5) if you purchased the full license enter the emailed code to unlock the full version (requires restart)
SimTiles analizes all dsf files found in the earth nav data folder of each scenery. It lists all terran or polygon definition files contained and for each it retrieves the center coordinates of each tile and graphic asset (texture) required. The center coordinates are then used to determine a list of global scenery dsf files which are needed to retrieve the closest terrain mesh vertices and with these the elevations. This is required to determine the closest elevation for each tile and used to assign different presets depending on elevation above sea level. All valid terrain/polygon files found on disk (that is files that are REALLY used by the scenery’s dsf files ) are edited by adding night tiles information or replacing original tiles paths with seasonal tiles path; their graphic assets (tiles) are elaborated by the most appropriate rules based on elevation and the result compressed in the usual x-plane dds format. This ensures that only files that are REALLY needed by xplane are edited/worked on. This is the cleanest way of handling sceneries.
Create day and night tiles:
New day tiles are created ( processed versions of the original tiles to resemple winter or snow tiles. )They’re stored in a newly created folder called textures_day.
SimTiles is a non desctructive software and tries to keep as much of the original data as possible for later restores.
When creating day tiles original tiles are left of disk but are “forgotten” by the scenery definition files. A caching folder is created in each scenery folder to allow simtiles to “remember” where the original tiles are for future use. Do not delete this folder.
Night tiles are tiles that sit on top of the day tiles during night hours. They’re special as they’re overlayed and bright and act as night illumination for city streets buldings. They’re stored in a newly created folder called textures_LIT.
The software has two modes of operation, single and multiple sceneries.
Single allows to run a single selected scenery.
Multiple (or batch) allows, upon selecting a list of sceneries, to run the single operation pn each one of them. This is handy for big sceneries and overnight operations. Furthermore the displayed list can be saved and loaded at a later date. You’ll be able to just load the list again, no need to select the folders individually each time simTiles is run!
When either a single or multiple operation is started SimTiles looks up the choices from the Current preset menu.
In here it is possible to decide the output resolution in pixels, the type of operation to perform, whether create day or night tiles, the presets to use and elevation thresholds. It is also possible to preview the result for the given choices, in this case simTiles looks up the selected single scenery and finds the first suitable tile and displays the elaborated images on screen, the original image, the city hill and mountain elevation variations.
SimTiles has two types of presets, colors and rules.
The idea behind colors and rules presets is the following:
colors presets feed colors and values to rules presets. The way values are handled is entirely dependent on the rule and a good rule of thumb is to keep the rules generic and flexible and have several colors presets fine tuned for specific conditions, such as zoomLevel used and pixel output size.
You’ll find that the default color rules are fine tuned and the name reflect their suggested use, for instance night_zl16_1024 has values that, in my opinion are best suited for zoom level 16 tiles and output of 1024 pixels.
Please note preset names are disregarded by simTiles, so for instance presets named night_zl16_1024 are named for your own conveniency only.
You’re free to mix and match and edit presets and their names as you see fit.
Current preset lets you choose the settings to use for creating day and night tiles.
Two more tabs are listed, Edit color presets and Edit rules presets.
These are used to manage, edit duplicate rename and tweak colors and rules presets. Remember to save presets and to select them from the Current preset menu upon finish editing.
Now back to the colors and rules presets:
Each one is divided into three elevation presets dependent on elevation above sea level:
A color preset is made of three elevation presets.
A rule preset is made of three elevation presets.
Elevation presets are three and are conveniently called city hill mountain; each tile comes with an elevation above sealevel, this is compared against the elevation thresholds in the current preset menu and the most relevant height preset is used.
So for instance a tile at 0mASL will trigger the city preset. A tile at 301m ASL will trigger the mountain preset in the case the mountain threshold was to kick-in between 300m ASL and 350m asl. For night operations elevations above the topmost elevation threshold will output a small black texture as night illumination for mountain areas tends to diminsh to black at altitude. For day operations the mountain elevation preset is extended upwards so all tiles above the mountain threshold will still use the mountain preset.
A rule preset is the core of SimTiles and all the clever trickery happen here.
A rule is a pseudo dos batch script with some added special variables.
Each line feeds the following and drives imagemagick, so if you’re familiar with how imagemagick works you can edit rules quite successfully and do anything you want with them.
By editing rules it is possible to change the behaviour and the look completely, for instance it is possible to output winter instead of night textures. Be careful as errors in the rules will prevent SimTiles from generating images. Here is a brief legend:
lines starting with the hash key # are comments
$in $out $pixels $source $colorA $amountA $blurA $colorB $amountB $blurB are special words:
$in $out are used by simulnight to create temporary filenames so that each line outputs a temporary image file that is read by the following line, this is completely transparent.
Furthermore, the first $in in the script is the source tile, the last $out in the script the output tile.
You can also call the source tile anywhere in the script using the $source variable.
$pixels is replaced by the chosen resolution at execution time (e.g. 2048)
$colorA $amountA $blurA $colorB $amountB $blurB are special variables which feed the color presets. They act vessel between the color and the rules presets.
Basically the color preset is used only when the rules preset uses special variables to feed colors and values. In theory you could hardcoded values in the rules preset and drop the need for color presets altogether. I believe however color presets are quite handy as they give a visual representation of colors and values whereas rules presets define how these are used.
Please note that for convenience I describe what special variables are used and what they mean in the first two lines of each rules preset.
Let’s now analize the day snow light city elevation preset in detail (advanced!):
This is a clever example because it uses both $in and $out variables to feed the line onto the following line, but it also uses temporary namefiles for masks. The way it works it analizes the colors and creates three black and white images for the greens, roads and dark parts of the image which we save and will use later. It then brightens up the image a little and overlays it over a white canvas in multiple steps by using the masks which we previously created. Basically it starts with a white canvas and little by little reinserts parts of the original image by using the masks to define which areas to reintroduce, namely some green the roads and the dark areas (used to define building shapes).
Ok here we go:
convert $source -normalize -fuzz $amountA% -fill white -opaque $colorA -threshold 99% -blur 0x$blurA -resize $pixelsx$pixels $source_mask_green.tga
we can see on line one the use for the original image tile ($source), $amountA $colorA and $blurA coming from the color preset, $pixels from the output pixel resolution.
This is basically saying pick the original tile, fill white when it finds $colorA presumably green with threshold of $amountA and blurs the result by $blurA resizes it to the output resolution and saves the image as $source_mask_green.tga. This is interesting, it’ll combine the name of the original tile and append _mask_green.tga to create a unique temporary name and to distinguish it from the other masks it’ll going to create in the following lines
convert $source -normalize -fuzz $amountB% -fill white -opaque $colorB -threshold 99% -blur 0x$blurB -resize $pixelsx$pixels $source_mask_roads.tga
convert $source -normalize -fuzz 15% -fill white -opaque ‘rgb(50,40,40)’ -threshold 99% -blur 0x$blurA -resize $pixelsx$pixels $source_mask_dark.tga
here it creates two more masks for roads and dark areas
convert $source -resize $pixelsx$pixels $out
here it picks up the original tile again and simply resizes it to the output resolution and saves it as $out. This will be read by the following line
convert $in -brightness-contrast 8 -blur 0x0.5 -size $pixelsx$pixels^ canvas:white $source_mask_green.tga -composite $in $source_mask_roads.tga -composite $in $source_mask_dark.tga -composite $out
here in the long final line we pick up the $out from the last line using $in, contrast it a bit blur it a big and compose it over a white canvas using $source_mask_green.tga as mask. We take the result and compose it over the last line using the mask $source_mask_roads.tga and compose this over the last line using $source_mask_dark.tga as mask and finally save the result as $out. This, being the last $out in the file spits out the output image.
Hope I didn’t scare you too much!
It is suggested to use a powerful text editor to edit the lines. I use notepad++, freeware, very powerful.
Enable disable tiles:
Lastly we’ll talk about the enable/disable buttons in the create Single and Multiple tabs.
It is possible for both single and multiple (batch) operations to quickly enable/disable night tiles and enable/disable day (winter) tiles.
These operations are non-destructive and do not delete any file from disk! they however edit the terrain or poligon definition files of your scenery to reflect the given choice.
For instance when the disable night button is pressed it’ll lookup for all terrain or poligon files and one by one edit and strip off the texture_LIT and night tiles definitions.
In the case of enabling/disable day tiles simTiles will lookup for the simtiles cached data, the files used to “remember” where the original tiles are stored. This is used to quickly alternate between original and textures_DAY tiles by clicking respectively the disable and enable winter buttons.
Enable/Disable winter tiles is extremely handy to simulate seasons in x-plane, just decide whether to fly in the summer or winter, fire up simTiles and enable/Disable the winter tiles (will take just a few seconds). Then fire up x-plane and fly!
This is even more convenient when run for multiple sceneries, just create a list of sceneries making up an area where you wish to fly and save the list. Enable or disable the winter tiles. The next time simTiles is loaded, just load the list again, no need to select the folders individually each time.
With version 1.5 the old simtiles.dat file is removed and a more optimized caching system is implemented. Don’t delete it! Just run simTiles on your existings sceneries to automatically update from 1.2 to 1.5 format (simtiles.dat injection and removal and texture_day to texture_winter rename).
Also it is now possible to enable/disable all your seasonal sceneries with a single click. A filtering system is used which allows the user to filter IN sceneries using suffixes/prefixes. For instance there is a tendency to prepend letters to photosceneries names (i.e. zzz_ ). This is handy for SimTiles to differentiate between photoreal sceneries and other sceneries, for instance airports. By adding/removing the preferred filtering words it is possible to tell SimTiles which sceneries to include in the enabling/disabling process. Then, for xp10 sceneries the file scenerypack.ini is used to gather a list of sceneries. For xp9 sceneries the photoscenery names are used instead.
Imagemagick is now embedded in the installation, it does not require the user to install it separately anymore
I’ve received a few questions regarding the use of the xplane root folder path and how global scenery is used and whether we can use xplane 10 global scenery. Here I’ll explain thoroughly how this works.
SimTiles needs to figure out the elevation for each tile in order best choose which elevation preset to use, if we’re at a city level we run a brighter night algorythm, if we’re quite high in a mountaineous area dimly lit textures are more accurate and the mountain level selected.
In order to retrieve the elevation data for each tile SimTiles decomposes the global scenery .dsf file containing the center coordinates of each tile and reads all the mesh data and figures out the closest vertex and retrieve the elevation data.
The easiest solution is to look for the required .dsf file from one’s global scenery installation and if found use it, if unfound (perhaps the GS installation is not complete) or indeed GS does not cover that area properly a default elevation of 0 meters ASL is used. X-plane 10 global scenery is now supported since SimTiles 1.2
-using the browse button point to the scenery you want to create night textures to.
-Press the start/resume button to begin the texture creation
-Enable / Disable night tiles
-Enable / Disable seasonal tiles
allows to browse and select a list of scenery folders that will be processed sequentially
Similar to the single scenery tab, it allows to batch process more than one folder at a time, in fact you can process as many folder as you want. Browse and drag to select all the folders. Then Save to save the folder list to a text file and load to load the list from the text file. Clear to wipe the list from the menu. You can edit the text file manually and create your own list by editing the file simtiles_multi_list.txt and then pressing the clear and then load button from the UI. Once happy just press the start resume multiple scenery batch button to start and resume and stop to stop.
-Enable / Disable night tiles (batch)
-Enable / Disable seasonal tiles (batch)
is the most important menu as it allows to choose the preferred Colors Rules Resolution and elevation thresholds.
-Colors and Rules presets available are chosen in this menu.
Each tile elevation above sea level is used and compared against these values to determine the appropriate colors presets to call (city, hill, mountain). Default values should be good to start.
-Resolution allows to choose the output texture resolution, I personally prefer 1024px to keep disksize low whilst keeping a good resolution. For hardcode simmers 2048px is recommended 🙂
-Preview will process the first available tile of the selected single scenery and display the result on screen
allows to edit, duplicate rename and delete color presets. Once completed these are selectable from the Preset Current menu.
allows to duplicate rename and delete rules presets. Once completed these are selectable from the Preset Current menu. Rules are script files similar to dos batch with the addition of comments ‘#’ and simTiles variables.
They drive the guts of SimTiles and are very powerful. By editing rules it is possible to change the behaviour and the look completely, for instance it is possible to output winter instead of night textures. Be careful as errors in the rules will prevent SimTiles from generating images.
-remove unused .dds
deletes all unused .dds file found in the textures folder. For unused it means files not being called by .ter files. Careful with this, default is off
-fix missing .dds
in the event of missing .dds files in the textures folder (non existing files nevertheless called by .ter or .pol files) simulnight will create a small black file. This is useful as x-plane tends to crash when .dds files are missing. Usually a clean scenery should not have missing textures so default is off.
-overwrite existing night textures
useful in some instances self explanatory. default is off
-processin DDS files above the following size
default 300Kb. If .dds files are smaller than this threshold they’ll be skipped by SimTiles. This is useful when having scenery with high and low res textures. Low res textures should not be processed by SimTiles and should be assumed to be black at night. THis threshould will create black tiles for all .dds files smaller than the given amount.
-nv compress parameters
parameters used when calling the nvcompress program. Change them if you know what you’re doing.
– Use Elevation data
It will use the average tile’s elevation above sea level queried by a web service on demand, to determine the tile elevation and the appropriate night texture action to call.
– Verbose output
Will printout all informations when running SimTiles. This is extremely useful to test colors rules and figure out what SimTiles is doing. For normal users it is recommended to leave this off to declutter the output window.
– Use original input tiles when available, regardless of currently used tiles.
Default on, it reads the original tiles from the file simtiles.dat, this is automatically created everytime day textures are created to let SimTiles “remember” the path to the original tiles. This must be on.
Terms and conditions
This license is for personal use only and cannot be used to create commercial content. Please contact firstname.lastname@example.org for more infos regarding commercial licenses.
Simultools is not responsible for any harm caused by this software.
All sales of SimTiles Full are final.
Copyright 2011 Simultools