Csempe · bei.pm

Közzétéve: 2015. 11. 19.·Frissítve: 2025. 02. 13.·Magyar nyelv
Ez a szöveg automatikusan lett lefordítva az OpenAI GPT-4o Mini által.

A ezen az oldalon leírt fájlformátumok a Dynamix, Inc. és a Sierra Entertainment szellemi tulajdonának technikai elemzésén alapulnak.
A szellemi tulajdon ma az Activision Publishing, Inc. / Activision Blizzard, Inc. tömeg részét képezi, és jelenleg a Microsoft Corp. birtokában van.

Az információkat fordított mérnöki munka és adatok elemzése révén gyűjtötték össze az archíválás és a történelmi adatokkal való interoperabilitás céljából.
Semmilyen tulajdonjoggal védett vagy bizalmas specifikációt nem használtak.

A játék jelenleg a gog.com oldalon vásárolható meg letöltésként.

Cím x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 50 42 4d 50 -- -- -- -- -- -- -- -- -- -- -- -- P B M P . . . . . . . . . . . .
Eltolás Adattípus Megnevezés Magyarázat
0x0000 uint(32) Bűvös bájtok
0x0004 uint(24) Blokkhossz
0x0007 uint(8) Zászlók

A Tiles-ök egy Outpost-2-specifikus bitmap grafikai formátum. 13 Tileset-re terjednek ki, "well" néven (well0000.bmp-tól well0012.bmp-ig), melyek a maps.vol kötetben találhatók.

A Tilesetek / Wells a következőket tartalmazzák:

Fájlnév Tartalom
well0000.bmp Egy 32x32px méretű, kék grafika - ideális tesztelésre, hogy működik-e a saját képkészítő
well0001.bmp Világos kőzetet, hegyvonulatokat világos kőzeten és számtalan kráter változatot tartalmaz világos kőzeten
well0002.bmp Világos kőzeti 'Doodad'-okat tartalmaz - tehát elemeket, amelyeket lazítás céljából (vagy tudatosan strukturaként, mint pl. falak) helyezhetünk el világos kőzeten, beleértve a növényzetet is
well0003.bmp Egy kérgesszerű struktúrát tartalmaz világos kőzeten
well0004.bmp Sötét kőzetet, hegyvonulatokat sötét kőzeten és számtalan kráter változatot tartalmaz sötét kőzeten
well0005.bmp Sötét kőzeti 'Doodad'-okat tartalmaz - tehát elemeket, amelyeket lazítás céljából (vagy tudatosan strukturaként, mint pl. falak) helyezhetünk el sötét kőzeten
well0006.bmp Egy kérgesszerű struktúrát tartalmaz sötét kőzeten, valamint átmeneteket világos és sötét kőzet között
well0007.bmp Láva tartalmaz, amelyhez 4-5 animációs keret tartozik
well0008.bmp Homokot és számtalan kráter változatot tartalmaz homokon
well0009.bmp Homok-'Doodad'-okat tartalmaz - tehát elemeket, amelyeket lazítás céljából (vagy tudatosan strukturaként, mint pl. falak) helyezhetünk el homokon
well0010.bmp 48 átmenetet tartalmaz homokról világos és sötét kőzetre
well0011.bmp A térkép sarkvidéki sapkáit tartalmazza, sötét kőzettel mint alap
well0012.bmp A térkép sarkvidéki sapkáit tartalmazza, világos kőzettel mint alap

Javasolt, hogy a pontos megvalósítás érdekében ne rendereljük előre a lapkákat a gyorsítótárazás érdekében, mivel az adatok a nappali/éjjeli ciklushoz még feldolgozásra várnak - és nagyon-nagyon sok adat keletkezne.

A lapkák 8bpp grafikák indexelt palettával, mindegyik 32x32 pixel felbontású, amelyek egymás mellett helyezkednek el. Az így létrejött lapkakészlet azonban sokkal több

A fő konténer 2 szekcióból áll: head és data.

Csempe Fejléc

Cím x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Eltolás Adattípus Megnevezés Magyarázat
0x0000 uint(32) Bűvös bájtok
0x0004 uint(24) Blokkhossz
0x0007 uint(8) Zászlók
0x0008 uint(32) Verzió / Zászlók?

Ez a fájlformátum verziószámára utalhat; az általam kezelt fájlokban itt a következő érték állt: 0x02

0x000c uint(32) Szélesség (Horizontális felbontás)

Megadja, hogy milyen széles a képfájl (pixelben).

Az Outpost 2 összes kútjánál itt a 0x20 vagyis a 32 értékre lehet számítani.

0x0010 uint(32) Magasság (Vertikális felbontás)

Megadja, hogy mekkora a képfájl (pixelben).

Az Outpost 2 összes kutjánál itt a 0x20 vagy 32 értéket kell várni.

0x0014 uint(32) Színmélység?

Ennek az értéknek a jelentése ismeretlen.

Mivel minden ellenőrzött fájlban a 8 értéket tartalmazza, valószínűleg egy színtelítettségi értékről van szó.

0x0018 uint(32) Színmélység 2?

Ennek az értéknek a jelentése ismeretlen.

Lehetséges, hogy ez egy 'cél'-színmélység.

Ezeket az adatok után egy standardizált RIFF-formátumban lévő palettafájl következik. A pontos specifikációt - mivel a paletták máshol is előfordulnak - a Paletták alatt található.

Csempe adatok

Cím x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
Eltolás Adattípus Megnevezés Magyarázat
0x0000 uint(32) Bűvös bájtok
0x0004 uint(24) Blokkhossz
0x0007 uint(8) Zászlók

Végül következnek a nyers pixeldatok, balról fentről lefelé, soronként jobbra.
A 8bpp-bitképként megjelenő grafikák adatértéke a színindexet jelenti a színpalettán.

A pixeldatok a bal felső sarokból indulnak, és a jobb alsó sarokban érnek véget.

A játékmotor a csempéket *valószínűleg* igény szerint rajzolja meg.
Ennek egyik oka valószínűleg a nap-éj ciklus, amely 32 fokozatot ismer az egyes csempék számára. Úgy tűnik, hogy a fényesség értékéből 'egy kicsit' levonnak. Pontos értékeket még nem sikerült meghatározni, a számítási alapot a következő képlettel dolgozom ki:

v *= (daylight / 48) + 0.25;

a pixel HSV-adatai alapján, ahol a daylight egy 0-31 közötti érték, és v egy 0-1 közötti érték. Továbbá figyelembe kell venni, hogy a térképen balra és jobbra is van egy 16 csempéből álló szegély (ez az egységek láthatatlan spawnálására szolgál).

Továbbá úgy tűnik, hogy a nap-éj ciklus játékciklusonként csak egy oszlopot frissít a térképen.
Egy felgyorsított nap-éj ciklus tehát a következőképpen néz ki:

A nap-éj ciklus vizualizációja