Tinkleliai · bei.pm

Paskelbta 2015 m. 11 mėn. 19 d.·Atnaujinta 13.02.2025·Lietuvių kalba
Šis tekstas buvo automatiškai išverstas naudojant OpenAI GPT-4o Mini.

Šioje svetainėje aprašyti failų formatai remiasi technine Dynamix, Inc. ir Sierra Entertainment intelektualinio turto analize.
Intelektualusis turtas šiuo metu yra Activision Publishing, Inc. / Activision Blizzard, Inc. nuosavybė ir šiuo metu priklauso Microsoft Corp..

Informacija buvo surinkta naudojant atvirkštinį inžineriją ir duomenų analizę archyvavimo ir istorinių duomenų tarpusavio suderinamumo tikslais.
Nebuvo naudojamos jokios nuosavybės ar konfidencialios specifikacijos.

Žaidimą šiuo metu galima įsigyti kaip atsisiuntimą gog.com.

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF simboliai
0x0000 50 42 4d 50 -- -- -- -- -- -- -- -- -- -- -- -- P B M P . . . . . . . . . . . .
Ofsetas Duomenų tipas Pavadinimas Paaiškinimas
0x0000 uint(32) Magijos baitai
0x0004 uint(24) Bloko ilgis
0x0007 uint(8) Vėliavos

Tiles yra Outpost-2 specifinis bitmap grafikos formatas. Jie apima 13 tilesetų, "well" vadinamų (well0000.bmp iki well0012.bmp), kuriuos galima rasti tūryje maps.vol.

Tilesetai / Wells apima šiuos elementus:

Failo pavadinimas Turinys
well0000.bmp 32x32px dydžio mėlyna grafika - ideali testui, ar veikia jūsų vaizdų įkėlėjas
well0001.bmp Turinys šviesios uolienos, kalnų grandinės ant šviesios uolienos ir nesuskaičiuojamos kraterių variacijos šviesioje uolienoje
well0002.bmp Turinys šviesios uolienos 'Doodads' - elementai, kurie gali būti naudojami šviesios uolienos dekoravimui (arba sąmoningai kaip struktūros, pavyzdžiui, sienos), įskaitant ir augmeniją
well0003.bmp Turinys šviesios uolienos plokščia struktūra
well0004.bmp Turinys tamsios uolienos, kalnų grandinės ant tamsios uolienos ir nesuskaičiuojamos kraterių variacijos tamsioje uolienoje
well0005.bmp Turinys tamsios uolienos 'Doodads' - elementai, kurie gali būti naudojami tamsios uolienos dekoravimui (arba sąmoningai kaip struktūros, pavyzdžiui, sienos)
well0006.bmp Turinys tamsios uolienos plokščia struktūra, taip pat perėjimai tarp šviesios ir tamsios uolienos
well0007.bmp Turinys lava, įskaitant 4-5 animacijos kadrus
well0008.bmp Turinys smėlio ir nesuskaičiuojamos kraterių variacijos smėlyje
well0009.bmp Turinys smėlio 'Doodads' - elementai, kurie gali būti naudojami smėlio dekoravimui (arba sąmoningai kaip struktūros, pavyzdžiui, sienos)
well0010.bmp Turinys 48 perėjimų nuo smėlio iki šviesios ir tamsios uolienos
well0011.bmp Turinys žemėlapio poliarinės kepurės, su tamsia uoliena kaip pagrindu
well0012.bmp Turinys žemėlapio poliarinės kepurės, su šviesia uoliena kaip pagrindu

Patartina, kad tiksliai įgyvendinti, nereikėtų iš anksto renderinti plytelių, kad jas būtų galima talpinti, nes duomenys dienos/nakties ciklui dar turi būti apdoroti - ir tai sukeltų labai daug duomenų.

Plyteles sudaro 8bpp grafika su indeksuojama palete, kurių kiekvienos raiška yra 32x32 pikseliai ir jos yra išdėstytos viena šalia kitos. Tačiau tokioje sukurtame plytelių rinkinyje gali būti daug daugiau.

Pagrindinis konteineris susideda iš 2 sekcijų: head ir data.

Keraminių plytelių antraštė

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF simboliai
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Ofsetas Duomenų tipas Pavadinimas Paaiškinimas
0x0000 uint(32) Magijos baitai
0x0004 uint(24) Bloko ilgis
0x0007 uint(8) Vėliavos
0x0008 uint(32) Versija / Vėliavos?

Čia gali būti nurodoma failo formato versija; visuose mano turimuose failuose šiuo atveju buvo nurodytas 0x02 vertė.

0x000c uint(32) Plotis (Horizontalus sprendimas)

Nurodo, kiek plati yra paveikslėlio failas (pikseliais).

Visiems Wells iš Outpost 2 čia bus tikimasi vertės 0x20 arba 32.

0x0010 uint(32) Aukštis (vertikalus sprendimas)

Nurodo, kiek aukšta yra paveikslėlio failas (pikseliais).

Visiems Wells iš Outpost 2 čia bus tikėtinas vertė 0x20 arba 32.

0x0014 uint(32) Spalvų gylis?

Šios vertės reikšmė nežinoma.

Kadangi jis visose patikrintose bylose turi vertę 8, tai gali būti spalvų gylio nurodymas.

0x0018 uint(32) Spalvų gylis 2?

Šios vertės reikšmė nežinoma.

Galbūt tai yra 'tikslo' spalvų gylis.

Pagal šiuos duomenis dar bus pateikta paletės failas, esantis standartizuotame RIFF formate. Tiksli specifikacija yra - kadangi paletės pasirodo ir kitur - Paletėse.

Šalti duomenys

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF simboliai
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
Ofsetas Duomenų tipas Pavadinimas Paaiškinimas
0x0000 uint(32) Magijos baitai
0x0004 uint(24) Bloko ilgis
0x0007 uint(8) Vėliavos

Galiausiai seka gryni pikselių duomenys, nuo kairės viršaus po eilutę į dešinę apačią.
Duomenų vertė grafiko, kuris paprastai pateikiamas kaip 8bpp bitmap, atitinka spalvos indeksą spalvų paletėje.

Pikselių duomenys prasideda iš viršaus kairėje ir baigiasi apačioje dešinėje.

Žaidimo variklis, matyt, atvaizduoja plyteles *pagal poreikį*.
Tai, be kita ko, atrodo, yra susiję su dienos-nakties ciklu, kuris žino 32 atskiras plytelių pakopas. Akivaizdu, kad nuo ryškumo vertės kiekvieną kartą 'šiek tiek' atimama. Tikslių vertybių dar nepavyko nustatyti, dirbu pagal skaičiavimo pagrindą

v *= (daylight / 48) + 0.25;

su pikselių HSV duomenimis, kur daylight yra vertė nuo 0 iki 31, o v yra vertė nuo 0 iki 1. Taip pat reikėtų atsižvelgti į tai, kad žemėlapyje kiekvienoje pusėje yra 16 plytelių kraštas (tai naudojama nematomam vienetų atsiradimui).

Priedo, dienos-nakties ciklas kiekviename žaidimo cikle atnaujina tik vieną žemėlapio stulpelį.
Paspartintas dienos-nakties ciklas atrodo taip:

Dienos-nakties ciklo vizualizacija