Kakel · bei.pm
De filformat som beskrivs på denna sida är baserade på teknisk analys av immateriella rättigheter från Dynamix, Inc. och Sierra Entertainment.
Det immateriella rättigheterna är idag en del av Activision Publishing, Inc.- / Activision Blizzard, Inc.-massan och ägs för närvarande av Microsoft Corp..
Informationen har sammanställts genom Reverse Engineering och dataanalys för syftet att arkivera och säkerställa interoperabilitet med historiska data.
Inga proprietära eller konfidentiella specifikationer har använts.
Spelet kan för närvarande köpas som nedladdning på gog.com.
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | tecken | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 50 | 42 | 4d | 50 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | P | B | M | P | . | . | . | . | . | . | . | . | . | . | . | . |
Förskjutning | Datatyp | Beteckning | Förklaring |
---|---|---|---|
0x0000 | uint(32) | Magiska byte | |
0x0004 | uint(24) | Blocklängd | |
0x0007 | uint(8) | Flaggor |
Tiles handlar om ett Outpost-2-specifikt
bitmap-grafikformat. De sträcker sig över 13 tilesets,
""wells" kallade (well0000.bmp
till well0012.bmp
),
som finns inom volymen maps.vol.
Tilesets / Wells innehåller följande:
Filnamn | Innehåll |
---|---|
well0000.bmp | En 32x32px stor, blå grafik - idealisk för att testa om din egen bildladdare fungerar |
well0001.bmp | Innehåller ljust berg, bergskedjor på ljust berg och otaliga varianter av nedslagskratrar i ljust berg |
well0002.bmp | Innehåller ljust berg-'Doodads' - alltså element som kan placeras för att bryta upp (eller medvetet som struktur, som till exempel murar) på ljust berg, inklusive vegetation |
well0003.bmp | Innehåller en skorpliknande struktur på ljust berg |
well0004.bmp | Innehåller mörkt berg, bergskedjor på mörkt berg och otaliga varianter av nedslagskratrar i mörkt berg |
well0005.bmp | Innehåller mörkt berg-'Doodads' - alltså element som kan placeras för att bryta upp (eller medvetet som struktur, som till exempel murar) på mörkt berg |
well0006.bmp | Innehåller en skorpliknande struktur på mörkt berg, samt övergångar mellan ljust och mörkt berg |
well0007.bmp | Innehåller lava inklusive 4-5 ramar av animation av densamma |
well0008.bmp | Innehåller sand och otaliga varianter av nedslagskratrar i sand |
well0009.bmp | Innehåller sand-'Doodads' - alltså element som kan placeras för att bryta upp (eller medvetet som struktur, som till exempel murar) på sand |
well0010.bmp | Innehåller 48 övergångar från sand till ljust och mörkt berg |
well0011.bmp | Innehåller polarområdena på kartan, med mörkt berg som underlag |
well0012.bmp | Innehåller polarområdena på kartan, med ljust berg som underlag |
Det är rekommenderat för en noggrann implementering att inte rendera tiles i förväg för att cacha dem, eftersom datan för dag/natt-cykeln fortfarande måste bearbetas - och det skulle genereras väldigt mycket data.
Tiles är 8bpp-grafik med indexerad palett på 32x32 pixlar, som är ordnade i ett rutnät. I ett så skapat tileset kan dock mycket fler
Huvudcontainern består av 2 sektioner: head
och data
.
Plattor Rubrik
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | tecken | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 68 | 65 | 61 | 64 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | h | e | a | d | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Förskjutning | Datatyp | Beteckning | Förklaring |
---|---|---|---|
0x0000 | uint(32) | Magiska byte | |
0x0004 | uint(24) | Blocklängd | |
0x0007 | uint(8) | Flaggor | |
0x0008 | uint(32) | Version / Flaggor? | Detta kan vara en versionsangivelse för filformatet; i alla filer jag har funnits här angavs värdet |
0x000c | uint(32) | Bredd (Horisontell upplösning) | Anger att den bildfil är bred (i pixlar). För alla brunnar i Outpost 2 förväntas här värdet |
0x0010 | uint(32) | Höjd (Vertikal upplösning) | Anger att hur hög bildfilen är (i pixlar). För alla brunnar i Outpost 2 kan man förvänta sig värdet |
0x0014 | uint(32) | Färgdjup? | Betydelsen av detta värde är okänd. Eftersom det i alla kontrollerade filer innehåller värdet |
0x0018 | uint(32) | Färgdjup 2? | Betydelsen av detta värde är okänd. Det kan möjligen vara en 'mål'-färgdjup. |
En palettfil i standardiserat RIFF-format kommer att följa dessa uppgifter. Den exakta specifikationen finns - eftersom paletterna också förekommer på andra ställen - under Paletter.
Tiles Data
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | tecken | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 64 | 61 | 74 | 61 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | d | a | t | a | . | . | . | . | . | . | . | . | . | . | . | . |
Förskjutning | Datatyp | Beteckning | Förklaring |
---|---|---|---|
0x0000 | uint(32) | Magiska byte | |
0x0004 | uint(24) | Blocklängd | |
0x0007 | uint(8) | Flaggor |
Till slut följer de rena pixeldatan, rad för rad från vänster-övre till höger-nedre.
Datastrukturen för de grafiker som vanligtvis presenteras som 8bpp-bitmaps motsvarar färgindexet i färgpaletten.
Spelmotorn ritar tiles *troligen* på begäran.
Detta verkar bland annat bero på dag-natt-cykeln som har 32 olika nivåer av enskilda tiles. Det verkar som om ljusstyrkevärdet minskas 'lite' varje gång. Exakta värden har ännu inte kunnat fastställas, jag arbetar utifrån beräkningsgrunden
v *= (daylight / 48) + 0.25;
med HSV-data för pixlarna, där daylight är ett värde mellan 0-31 och v är ett värde mellan 0-1. Dessutom är det viktigt att beakta att det på kartan finns en kant av 16 tiles till vänster och höger (som används för osynligt spawnande av enheter).
Det verkar också som att dag-natt-cykeln uppdaterar endast en kolumn av kartan per spelcykel.
En accelererad dag-natt-cykel ser därför ut som följande: