Kachelen · bei.pm

Verëffentlecht den 19.11.2015·Aktualiséiert den 13.02.2025·Lëtzebuergesch
Dëse Text gouf automatiséiert duerch OpenAI GPT-4o Mini iwwersat.

déi Dateiformater, déi op dëser Säit beschriwwe sinn, baséieren op der technescher Analyse vum geistegen Eegentum vun Dynamix, Inc. an Sierra Entertainment.
D'geistegt Eegentum ass Haut Deel vun der Activision Publishing, Inc.- / Activision Blizzard, Inc.-Masse an ass zur Zäit am Besëtz vun Microsoft Corp..

D'Informatioune goufen duerch Reverse Engineering an Datenanalyse fir d'Archivéierung an d'Interoperabilitéit mat historesche Date gesammelt.
Et goufen keng proprietär oder vertrauléch Spezifikatiounen benotzt.

D'Spill kann zur Zäit op gog.com als Download kaaft ginn.

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF char
0x0000 50 42 4d 50 -- -- -- -- -- -- -- -- -- -- -- -- P B M P . . . . . . . . . . . .
Offset Datentyp Bezeechnung Erklärung
0x0000 uint(32) Magical Bytes
0x0004 uint(24) Block-Längt
0x0007 uint(8) Fändelen

D'Tiles sinn e spezifesch Bitmap-Grafikformat fir Outpost-2. Si dehnen sech iwwer 13 Tilesets, genannt "wells" (well0000.bmp bis well0012.bmp), déi am Volume maps.vol sinn.

Déi Tilesets / Wells enthalen folgendes:

Dateiname Inhalt
well0000.bmp Eng 32x32px grouss, blo Grafik - idéal als Test, ob de perséinleche Image-Loader funktionéiert
well0001.bmp Enthält hell Gestein, Gebirgszich op hellem Gestein an onzuelbar Variantë vun Einschlagskrateren am helle Gestein
well0002.bmp Enthält hell-Gestein-'Doodads' - also Elemente, déi zur Auflockerung (oder bewosst als Struktur, wéi z.B. Maueren) op hellem Gestein placéiert kënne ginn, dorënner och Vegetatioun
well0003.bmp Enthält eng krustenaart Struktur op hellem Gestein
well0004.bmp Enthält dunkles Gestein, Gebirgszich op dunklem Gestein an onzuelbar Variantë vun Einschlagskrateren am dunkle Gestein
well0005.bmp Enthält dunkles-Gestein-'Doodads' - also Elemente, déi zur Auflockerung (oder bewosst als Struktur, wéi z.B. Maueren) op dunklem Gestein placéiert kënne ginn
well0006.bmp Enthält eng krustenaart Struktur op dunklem Gestein, souwéi Iwwergäng tëscht hellem a dunklem Gestein
well0007.bmp Enthält Lava inklusiv jee 4-5 Frames Animatioun dovun
well0008.bmp Enthält Sand an onzuelbar Variantë vun Einschlagskrateren am Sand
well0009.bmp Enthält Sand-'Doodads' - also Elemente, déi zur Auflockerung (oder bewosst als Struktur, wéi z.B. Maueren) op Sand placéiert kënne ginn
well0010.bmp Enthält jee 48 Iwwergäng vum Sand zu hellem a dunklem Gestein
well0011.bmp Enthält d'Polarkappen vun der Map, mat dunklem Gestein als Ënnergrond
well0012.bmp Enthält d'Polarkappen vun der Map, mat hellem Gestein als Ënnergrond

Ech recommandéieren, fir eng präzis Umsetzung, d'Tiles net am Viraus ze renderen fir se ze cachen, well d'Daten fir den Dag/Nuecht-Zyklus nach veraarbecht mussen ginn - an et géif vill vill Daten entstoen.

D'Tiles sinn 8bpp-Grafiken mat indexéierter Palette vun 32x32 Pixel Rescht, déi an engem Raster ugestallt sinn. An engem esou entstane Tileset kënnen awer vill méi

D'Haupt-Container besteet aus 2 Sektiounen: head an data.

Placke Kapp

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 . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Offset Datentyp Bezeechnung Erklärung
0x0000 uint(32) Magical Bytes
0x0004 uint(24) Block-Längt
0x0007 uint(8) Fändelen
0x0008 uint(32) Versioun / Fändel?

Hei kéint et sech ëm eng Versiounsangabe vum Dateiformat handelen; an allen Dateie, déi ech hunn, war hei de Wäert 0x02

0x000c uint(32) Breit (Horizontal Resolutioun)

Gëtt un, wéi breet d'Bilddatei ass (an Pixel).

Bei allen Wells vun Outpost 2 wäert hei de Wäert 0x20 respektiv 32 erwaart ginn.

0x0010 uint(32) Héicht (Vertikal Resolutioun)

Gëtt un, wéi héich d'Bilddatei ass (an Pixel).

Bei allen Wells vun Outpost 2 gëtt hei de Wäert 0x20 respektiv 32 erwaart.

0x0014 uint(32) Faarftiefen?

Die Bedeitung dësen Wertes ass onbekannt.

Well hien an allen iwwerpréiften Dateien de Wäert 8 enthält, kéint et sech ëm eng Faarftiefeangabe handelen.

0x0018 uint(32) Farbtief 2?

Die Bedeitung vun dësem Wäert ass onbekannt.

Méiglecherweis ass et eng 'Zil'-Faarfdeif.

Nach dësen Informatioune gëtt et nach eng Palettendatei am standardiséierte RIFF-Format. D'genau Spezifikatioun fannt dir - well d'Paletten och an anere Plazen ervirkommen - ënner Paletten.

Fliesen 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 Bezeechnung Erklärung
0x0000 uint(32) Magical Bytes
0x0004 uint(24) Block-Längt
0x0007 uint(8) Fändelen

Schlussendlech follegen déi blanke Pixeldaten, vun lénks-uewen ze reihenweis no riets-unten.
Den Datenwert bei den normalerweis als 8bpp-Bitmaps virgelueden Grafiken entsprécht dem Index vun der Faarf an der Faarfpalette.

Pixeldaten fänken uewen lénks un an enden unten riets.

Die Spill-Engine weist d'Tiles *wäret * op der Demande aus.
Dëst schéngt ënner anerem dem Dag-Nuecht-Zyklus geschuldet ze sinn, dee 32 Abstufungen vun eenzelne Tiles kennt. Hei gëtt anscheinend vum Helligkeitswert jee 'e bëssi' ofgezunn. Genau Wäerter konnten nach net ermittelt ginn, ech schaffen op der Berechnungsbasis

v *= (daylight / 48) + 0.25;

mat de HSV-Daten vun de Pixel, woubei daylight e Wäert vun 0-31 ass an v e Wäert tëscht 0-1. Zousätzlech ass ze berücksichtegen, datt op der Map jeweils nach e Rand vun 16 Tiles no lénks a riets existent ass (dat déngt dem onsichtbare Spawnen vun Unitéiten).

Zousätzlech schéngt de Dag-Nuecht-Zyklus pro Gamecycle jeweils nëmmen eng Spalte vun der Map ze aktualiséieren.
E beschleunegten Dag-Nuecht-Zyklus gesäit dofir esou aus:

Visualiséierung vum Dag-Nuecht-Zyklus