Paletten · 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 50 50 41 4c -- -- -- -- -- -- -- -- -- -- -- -- P P A L . . . . . . . . . . . .
Offset Datentyp Bezeichnung Erklärung
0x0000 uint(32) Magic Bytes
0x0004 uint(24) Paletten-Länge

Gibt, entgegen zum normalen Blockformat, die Anzahl an in dieser Datei zu findenden Paletten an - nicht die Länge des Blocks in Byte.

0x0007 uint(8) Flags

Wahrscheinlich, wie üblich, Flags.

Mir sind allerdings keine Flags bekannt; da alle mir bekannten Werte 0x00 entsprechen, wäre es auch potentiell denkbar, dass die Paletten-Anzahl schlicht ein uint(32) wäre.

Die Paletten-Informationen sind sehr einfach einzulesen.
Sie bestehen jeweils aus einem Header und einem Data-Segment.

Paletten-Header

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF char
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
Offset Datentyp Bezeichnung Erklärung
0x0000 uint(32) Magic Bytes
0x0004 uint(24) Paletten-Länge

Gibt, entgegen zum normalen Blockformat, die Anzahl an in dieser Datei zu findenden Paletten an - nicht die Länge des Blocks in Byte.

0x0007 uint(8) Flags

Wahrscheinlich, wie üblich, Flags.

Mir sind allerdings keine Flags bekannt; da alle mir bekannten Werte 0x00 entsprechen, wäre es auch potentiell denkbar, dass die Paletten-Anzahl schlicht ein uint(32) wäre.

0x0008 uint(32) Palettenformat-Version?

Definiert wahrscheinlich, welcher Palettenformats-Version die Palette folgt.

Alle Outpost2-Paletten scheinen dabei Version 0x01 zu besitzen.

Paletten-Daten

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF char
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
Offset Datentyp Bezeichnung Erklärung
0x0000 uint(32) Magic Bytes
0x0004 uint(24) Block-Länge
0x0007 uint(8) Flags

Die Datensektion nimmt die einzelnen Paletten-Einträge auf. Die Anzahl an Paletten-Einträge ergibt sich aus der Block-Länge / 4.

Die einzelnen Einträge haben dabei folgenden, schlichten Aufbau;

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF char
0x0000 -- -- -- 04 -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Offset Datentyp Bezeichnung Erklärung
0x0000 uint(8) Rot-Komponente

Gibt den Rot-Anteil der Farbe an

0x0001 uint(8) Grün-Komponente

Gibt den Grün-Anteil der Farbe an

0x0002 uint(8) Blau-Komponente

Gibt den Blau-Anteil der Farbe an

0x0003 uint(8) Unbekannt - Flags?

Es ist unklar, was dieser Wert bedeutet, da er scheinbar grundsätzlich 0x04 ist.

Zu den Paletten ist ansonsten nur noch zu sagen, dass bei für Animationen zu verwendende Paletten folgende Regeln gelten:

  • Die erste Farbe ist IMMER transparent, egal was für ein Wert dort angegeben ist.
  • Die Paletten-Einträge 1-24 sind in den Paletten 1-8 als Spielerfarbe zu werten.
    Wo die Farben abseits von Spieler 1 genau herkommen, ist mir unklar.
    ich vermute, dass die restlichen Farben hardcoded sind

Paletten-Referenz