Bitmaps · bei.pm

Veröffentlicht am 19.11.2015·Aktualisiert am 13.02.2025·Deutsch

Die auf dieser Seite beschriebenen Dateiformate basieren auf der technischen Analyse geistigem Eigentums von Dynamix, Inc. und Sierra Entertainment.
Das geistige Eigentum ist heute Teil der Activision Publishing, Inc.- / Activision Blizzard, Inc.-Masse und derzeit im Besitz von Microsoft Corp..

Die Informationen wurden durch Reverse Engineering und Datenanalyse zum Zwecke der Archivierung und Interoperabilität mit historischen Daten zusammengetragen.
Es wurden keine proprietären oder vertraulichen Spezifikationen verwendet.

Das Spiel kann derzeit bei gog.com käuflich als Download erworben werden.

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF char
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Offset Datentyp Bezeichnung Erklärung
0x0000 uint(32) Ausgerichtete Breite

Gibt die Breite der Pixeldatenzeilen in Byte an - da diese an die 4-Byte-Grenzen ausgerichtet sind.

So ist es schnell möglich, eine bestimmte Bildzeile anzuspringen.

Warum dieser Wert separat gespeichert wird, obwohl er berechnet werden könnte, ist unklar.
Möglicherweise handelt es sich um eine Optimierung für den Render-Code.

0x0004 uint(32) Offset

Gibt den Offset der ersten Zeile in der Bitmap an

0x0008 uint(32) Höhe

Gibt die Höhe des Bildes in Pixel an

0x000c uint(32) Breite

Gibt die Breite des Bildes in Pixel an

0x0010 uint(16) Typ

Gibt die Art des Bildes an. Hierbei scheint es sich um eine Bitmaske zu handeln:

  • 0x04 ist gesetzt, wenn es sich um eine 1bpp-Grafik handelt.
  • 0x40 ist gesetzt, wenn es sich um eine Grafik handelt, die Windowing umsetzen muss
0x0012 uint(16) Palette

Definiert, welche Palette aus der PRT-Datei verwendet werden soll

Diese Datenstruktur der PRT-Datei gibt an, wie die für die Sprites verwendeten Bitmaps aufgebaut sind. Diese Bitmaps dienen dabei als einzelner Bestandteil, von dem mehrere zu einem Animationsframe eines Sprites zusammengebaut werden.

Die konkreten Bilddaten verbergen sich dagegen in der op2_art.BMP im Spielverzeichnis.
Warum diese Bitmapdatei über einen (überwiegend korrekten) RIFF-Bitmapheader verfügt, ist unklar. Wahrscheinlich verwendet Outpost 2 System-APIs zum Laden der Grafiken, indem dieser Header temporär übernommen wird und die entsprechenden, variierenden Felder überschrieben werden.

Die Pixeldaten sind dabei in der BMP-Datei an der Position Offset + dem uint32-Offset, das in der BMP-Datei an Adresse 0x000A zu finden ist (RIFF-Bitmap-Datenoffset), zu finden - und entsprechen wieder der zeilenweisen Anordnung von oben links nach rechts unten.

Monochrome 1bpp-Grafiken können dabei so gezeichnet werden, dass Farbe 0 vollständiger Transparenz, sowie Farbe 1 ein halbtransparentes schwarz/grau ist, da die Monochrom-Grafiken üblicherweise für Fahrzeug- und Gebäudeschatten in den Animationen verwendet werden.

Damit kann man bereits viele Grafiken zusammensetzen.

Geschütztes Wohnmodul (Plymouth)