Andrew McLean vom Nov-21-01 im TB-Forum bei www.avsim.com
Schritt 1: Man benötigt folgende Tools
Man braucht Microsoft's FS2000 (jawohl, FS2000) Terrain SDK (2.3Mb)
http://www.microsoft.com/games/fs2000/sdk/fs2000_terrain_sdk.EXE
Martin Wright's fantastisches batch conversions tool zum convertieren von BMP-Dateien nach FS2002-Dateien bei:
http://www.mnwright.freeserve.co.uk/
Schritt 2: Die eigene Szenerie
Man benötigt eine Bitmap-Datei für den Import in den FS2002.
Das kann ein Foto sein oder ein mit Todd Klaus's TerraScene produzierte
BITMAP-Datei. Die Datei muss im .bmp-Format gespeichert werden.
Schritt 3: Ermittlung der Koordinaten
Dies ist der wichtigste Teil an der ganzen Sache. Ohne die Dimensionen
der Bitmap-Datei zu kennen kommt man nicht sehr viel weiter.
Schritt 4: Wie Alles zusammenpasst
Die Details sind weiter unten beschrieben, vorher aber.....
- Ist eine .inf-Datei zu erstellen, die den Ablauf der Prozedur
bestimmt
- Das "resample.exe" Programm das im "FS2000 Terrain SDK"
enthalten ist verwendet in einem DOS-Fenster die .inf-Datei zum Aufteilen
der eigenen Szenerie-Bitmap-Datei in mehrere 256x256-Bitmap-Dateien.
- Diese Bitmap-Dateien werden im aktuellen Verzeichnis gespeichert
- Das "resample.exe" Programm produziert auch eine .tmf-Datei.
- Diese .tmf-Datei ist dann in eine .bgl-Datei zu konvertieren.
- Am Ende kann man das Konvertier-Programm von Martin Wright's
verwenden um die 256x256-Bitmaps in das DXT1-Format (komprimiertes
Format) zu konvertieren das vom FS2002 verwendet wird.
- Die Verzeichnisse die im FS2002 verwenden werden sollen, sind zu
erstellen
- Der FS2002 wird gestartet und die Szenerie wird installiert
DETAILS
Schritt 5: Erstellen der .inf-Kontroll-Datei
Diese Datei hat (als Beispiel) folgenden Inhalt:
[Destination]
DestDir = "C:\FS2000terrainSDK"
DestBaseFileName = "class"
UseSourceDimensions = 1
[Source]
Type = CUSTOM
SourceDir = "C:\FS2000terrainSDK"
SourceFile = "photo.bmp"
Lat = 38.75
Lon = -77.25
NumOfCellsPerLine = 2500
NumOfLines = 2500
CellXdimensionDeg = 0.0001
CellYdimensionDeg = 0.0001
ScaleinMeters = 1.0
SampleIsCentered = 0
Die Verzeichnis-Namen müssen natürlich denen entsprechen,
die man tatsächlich verwendet. In dem Verzeichnis müssen sich
auch die SDK-Tools befinden.
Obiger Text (mit den richtigen Verzeichnissen) wird abgespeichert als
reine Text-Datei unter dem Namen "makeit.inf"
In das selbe Verzeichnis ist auch die einene Szenerie-Bitmap zu kopieren,
zum Beispiel unter dem Namen "Photo.bmp"
Nunmehr wird die .inf-Datei editiert wobei drei Einträge zu ändern sind:
Eintrag 1:
Lat =
Lon =
Lat and Lon entsprechen der nord-westlichen Ecke der Bitmap. Die Zahlen sind entsprechend dem obigen Beispiel als Dezimalzahlen mit Nachkommastellen einzugeben.
+ ist Nord, - ist West.
- ist Sued, + ist Ost.
Eintrag 2:
NumOfCellsPerLine =
NumOfLines =
Wenn die Szenerie-Bitmap eine Größe von z.B. 1280 x 2560
hat, wird die Zahl 1280 in der ersten Zeile und 2560 in der
zweiten Zeile eingetragen. Dies beiden Zeilen definieren die
X- and Y-Zahl der Pixel in der Bitmap-Datei.
Eintrag 3:
CellXdimensionDeg =
CellYdimensionDeg =
Hier darf etwas gerechnet werden!! Wenn die Szenerie 1° Länge und 1° Breite aufweist ist der zu berechnende Wert: 1 geteilt durch die Zahl der Pixel in jeweils X- und Y-Richtung
wenn die Bitmap eine Größe von 1280 x 2560 aufweist, dann ist:
X-Wert: 1/1280 entsprechend = 0.00078125
Y-Wert: 1/2560 entsprechend = 0.000390625
Falls die Länge oder Breite der Scenerie nicht genaue einem Grad
entsprechen muß dies auch berücksichtigt werden. Macht die Ausdehnung
der Scenerie in Länge und Breite z. B. nur einen halben Grad
aus so sind beide Ergebnisse mit 0.5 zu multipliziern. Beträgt die
Ausdehnung nur 1/4 dann wird dementsprechend mit 0.25 multipliziert.
z.B. 1/1280 = 0.00078125, und dann mit 4 geteilt gibt: 1/1280/4
= 0.0001953125
Also, wenn an eine Bitmap hat die genau einem Grad Länge
und einem Grad Breite entspricht, egal wie nun das Verhältnis von
Länge zu Breite der Datei ist gilt, wenn z. B. die Datei 1280x2560
Pixel enthält:
CellXdimensionDeg = 0.00078125
CellYdimensionDeg = 0.000390625
Falls diese Werte nicht richtig berechnet werden dürfte die erzeugte Szenerie ziemlich verzerrt werden.
ANMERKUNG: Alles was größer oder gleich 2560 ist wird nicht ge-resample-ed mit dem Microsoft-Resample-Programm.
Ausserdem kann es nötig sein von den X, und Y-Werten 1 abzuziehen.
Dies ergiebt dann für obiges Beispiel die Werte 1/1279 und 1/2559.
Sonst gibt es leere Streifen zwischen den Bereichen.
Schritt 6: Zeit für die 256x256-Bitmaps
Nachdem nun die Kontroll-Datei erstellt wurde, können die
256x256-Bitmaps erstellt werden:
Öffne ein DOS-Fenster im Verzeichnis in dem sich die Dateien
befinden und schreibe:
resample makeit.inf
Das ist Alles. Das Programm sollte nun starten und unmengen von 256x256-Bitmaps erstellen.
Schritt 7: Erstellen der Szenerie-BGL-Datei
The BGL file contains the instructions which tell FS2002 how to display
the scenery. We need to make that. Im DOS-Fenster ist folgende Anweisung
zu schreiben:
tmp2bgl.exe class.tmf myscenery.bgl
Dies konvertiert die Output-Datei die das "resample.exe"-Programm produziert hat, nämlich die class.tmf-Datei, in eine BGL-Datei.
Schritt 8: Konvertieren der 256x256-Bitmaps in das DXT1- Format
FS2002 verwendet das DXT1-Bitmap-Format. Selbiges ist ein komprimiertes
Format. Dagegen sind die 256x256-Bitmaps im Windows-Format.
Mit dem Tool von Martin Wright kann das BMP-Format, in DXT1-Format konvertiert werden.
Schritt 9: Letzter Schritt
Erstelle ein Verzeichnis für die eigene Szenerie auf der Festplatte.
In diesem Verzeichnis sind zwei weitere Verzeichnisse zu erstellen.
Das eine heisst SCENERY uind das andere TEXTURE.
Die Datei "myscenery.bgl" ist in das SCENERY-Verzeichnis zu kopieren.
Die konvertierten Texturen (der output von Martin's tool) ist
in das TEXTURE-Verzeichnis zu kopieren.
Das war's!!!! Jetzt braucht nur noch der FS2002 gestartet und die Szenerie wie üblich installiert zu werden.
Viel Vergnügen!!