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


BobTypes

Bobtypes sind die Dateitypbezeichner in den Archiven

Bobtype 01 (WAVs, MIDIs)
Bobtype 02 (RLE komprimiertes Bitmap)
Bobtype 03 (Font)
Bobtype 04 (Bitmap mit spezifischer Spielerfarbe)
Bobtype 05 (Palette)
Bobtype 07 (Schatten)
Bobtype 14 (unkomprimiertes Bitmap)

Bobtype 01 (WAVs, MIDIs)



Anzahl Größe Daten
1 4 Bytes length (Größe des Datenblocks)
length 1 Byte data (Daten)


Die WAV-Daten sind 8-Bit 11025Hz Mono PCM-Dateien (ohne WAV-Header),
Die MIDI-Daten kann man am beginnenden "FORM" erkennen,
diese sind im XMIDI-Format

Nach oben zu BobTypes

Bobtype 02 (RLE komprimiertes Bitmap)



Anzahl Größe Daten
1 2 Bytes nx (Nullpunkt X)
1 2 Bytes ny (Nullpunkt Y)
4 1 Byte Unbekannte Daten (immer 00 00 00 00 ???)
1 2 Bytes width (Breite des Bildes)
1 2 Bytes height (Höhe des Bildes)
1 2 Byte Unbekannte Daten (immer 01 00 ???)
1 4 Byte length (Länge des Datenblockes)
height 2 Byte starts (Startadressen der einzelnen Bildzeilen)
length-height*2 1 Byte data
1 1 Byte 0xFF (Block-End-Marker)


Wir ignorieren den length und starts,
dafür lesen wir sie folgendermaßen ein:

bis Zeile voll:
Anzahl Größe Daten
1 1 Byte count (Anzahl farbiger Pixel)
count 1 Byte color (Farbindex des Pixels)
1 1 Byte count (Anzahl transparenter Pixel)

dann folgendes einmal einlesen, und wieder bis zeile voll obigen block
1 1 Byte 0xFF (Zeilen-End-Marker)


Nach oben zu BobTypes

Bobtype 03 (Font)



Anzahl Größe Daten
1 1 Byte dx (X-Spacing)
1 1 Byte dy (Y-Spacing)

dann 224 Bilder des Bobtypes 04 für jeden Buchstaben (224: ASCII-Tabelle 32-256)

Nach oben zu BobTypes

Bobtype 04 (Bitmap mit spezifischer Spielerfarbe)



Anzahl Größe Daten
1 2 Bytes nx (Nullpunkt X)
1 2 Bytes ny (Nullpunkt Y)
4 1 Byte Unbekannte Daten (immer 00 00 00 00 ???)
1 2 Bytes width (Breite des Bildes)
1 2 Bytes height (Höhe des Bildes)
1 2 Byte Unbekannte Daten (immer 01 00 ???)
1 4 Byte length (Länge des Datenblockes)
height 2 Byte starts (Startadressen der einzelnen Bildzeilen)
length-height*2 1 Byte data


Wir ignorieren den length und starts,
dafür lesen wir sie folgendermaßen ein:

bis Zeile voll:
Anzahl Größe Daten
1 1 Byte shift ("Schalter")

für shift < 0x40, transparent
count = shift
count-pixel transparent

für shift > 0x40 und < 0x80, unkomprimiert
count = shift - 0x40
count 1 Byte color (Farbindex des Pixels)


für shift > 0x80 und < 0xC0, spielerfarbe
count = shift - 0x80
count 1 Byte color (Spielerfarbeindex des Pixels)


für shift > 0xC0, komprimiert
count = shift - 0xC0
1 1 Byte color (Farbindex des Pixels)

erzeugt count-mal color-Pixel

Nach oben zu BobTypes

Bobtype 05 (Palette)



Anzahl Größe Daten
1 2 Byte Unbekannte Daten (immer 01 00 ???)
256 3 Bytes RGB (RGB-Daten)


Nach oben zu BobTypes

Bobtype 07 (Schatten)



Anzahl Größe Daten
1 2 Bytes nx (Nullpunkt X)
1 2 Bytes ny (Nullpunkt Y)
4 1 Byte Unbekannte Daten (immer 00 00 00 00 ???)
1 2 Bytes width (Breite des Bildes)
1 2 Bytes height (Höhe des Bildes)
1 2 Byte Unbekannte Daten (immer 01 00 ???)
1 4 Byte length (Länge des Datenblockes)
height 2 Byte starts (Startadressen der einzelnen Bildzeilen)
length-height*2 1 Byte data
1 1 Byte 0xFF (Block-End-Marker)


Wir ignorieren den length und starts,
dafür lesen wir sie folgendermaßen ein:

bis Zeile voll:
Anzahl Größe Daten
1 1 Byte count (Anzahl halbtransparenter schwarzer Pixel, Alpha-Wert 0x40)
1 1 Byte count (Anzahl transparenter Pixel)

dann folgendes einmal einlesen, und wieder bis Zeile voll obigen Block
1 1 Byte 0xFF (Zeilen-End-Marker)


Nach oben zu BobTypes

Bobtype 14 (unkomprimiertes Bitmap)



Anzahl Größe Daten
2 1 Byte Unbekannte Daten (immer 01 00 ???)
1 4 Bytes length (Größe der Daten)
length 1 Byte data (Daten)
1 2 Byte nx (Nullpunkt X)
1 2 Byte ny (Nullpunkt Y)
1 2 Bytes width (Breite des Bildes)
1 2 Bytes height (Höhe des Bildes)
8 1 Byte Unbekannte Daten (immer 00 00 02 01 F4 06 70 00???)

Die Daten sind Zeile für Zeile reine, nicht transparente Farbindezes.

Nach oben zu BobTypes

Zurück - Index - Weiter


Copyright © 2005-2006 Settlers Freaks