Dateiformate von Siedler II

BBM - Palettendateien
LBM - Bilddateien
LST - Archive
IDX - DAT-Index-Dateien
DAT - Archive
BOB - Archive
GER - Textdateien
ENG - Textdateien
WLD - Kartendateien (Szenario)
SWD - Kartendateien (Eigene)
RTX - Missionsbeschreibungen
SNG - Musikformat
BobTypes (Archivdatentypen)



Zurück - Index - Weiter


LBM - Bilddateien

In den LBM-Dateien sind ausschliesslich die Splash-Screens gespeichert
LBM ist ein "chunked"-Dateiformat,
d.h die Dateien sind in Stücke gegliedert,
die jede eine andere Funktion erfüllen


Anzahl Größe Daten
1 4 Bytes "FORM" (File-Identifier)
4 1 Byte Unbekannte Daten
1 4 Bytes "PBM " (Header-Identifier)


ab hier dann die einzelnen "chunk"-Typen, können mehrmals auftreten:

Anzahl Größe Daten
1 4 Bytes "BHMD" (Chunk-Identifier)
1 4 Bytes length (Chunk-Length, bei ungerader Zahl aufrunden)
1 2 Bytes width (Breite des Bildes)
1 2 Bytes height (Höhe des Bildes)
4 1 Byte Unbekannte Daten
1 2 Bytes depth (Farbtiefe des Bildes)
1 2 Bytes compression_flag (Kompressionsflag des Bildes)
length - 20 1 Byte Unbekannte Daten


Anzahl Größe Daten
1 4 Bytes "CMAP" (Chunk-Identifier)
1 4 Bytes length (Chunk-Length, muss 768 sein)
256 3 Bytes RGB (Farbdaten)


Anzahl Größe Daten
1 4 Bytes "BODY" (Chunk-Identifier)
1 4 Bytes length (Chunk-Length, bei ungerader Zahl aufrunden)

Hier gibt es eine Unterscheidung, falls "compression_flag" 0 ist,
also unkomprimiert, liegen die Farbdaten so:
length 1 Byte color (Farbindex aus "CMAP"-Palette, Alpha-Wert immer 0xFF)

für "compression_flag" 1 ist das Bild komprimiert,
da liegen die Farbdaten so:
Folgende 3 Teile werden abgearbeitet bis man "length"-Bytes
oder "width" und "height" des Bildes erreicht hat.
1 1 Byte ctype (Komprimierungstyp)

für "ctype" >= 0
1 1 Byte count (Anzahl nachfolgender Farbpixel)
count 1 Byte color (Farbindex aus "CMAP"-Palette, Alpha-Wert immer 0xFF)

für "ctype" < 0 ( bzw > 127 )
1 1 Byte color (Farbindex aus "CMAP"-Palette, Alpha-Wert immer 0xFF)

ergibt (ctype < 0 ? (-ctype + 1) : ctype) Bytes Farbpixel im Bild
(erst x bis width auffüllen, dann nächste Zeile)

Sonstige "chunk"-Typen sind uninteressant bzw unbekannt,
diese muss man überspringen:
Anzahl Größe Daten
1 4 Bytes "????" (Chunk-Identifier)
1 4 Bytes length (Chunk-Length, bei ungerader Zahl aufrunden)
length 1 Byte Unbekannte Daten


Nach oben

Zurück - Index - Weiter


Copyright © 2005-2006 Settlers Freaks