Bitmapai · 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 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Ofsetas Duomenų tipas Pavadinimas Paaiškinimas
0x0000 uint(32) Nustatyta plotis

Nurodo pikselių duomenų eilučių plotį baitais - kadangi jos yra suformuotos pagal 4 baitų ribas.

Todėl greitai galima pasiekti tam tikrą vaizdo eilutę.

Kodėl ši vertė yra saugoma atskirai, nors ją galima būtų apskaičiuoti, yra neaišku.
Galbūt tai yra optimizacija renderavimo kodui.

0x0004 uint(32) Atsarginė dalis

Nurodo pirmos eilutės poslinkį bitmap'e

0x0008 uint(32) Aukštis

Nurodo vaizdo aukštį pikseliais

0x000c uint(32) Plotis

Nurodo vaizdo plotį pikseliais

0x0010 uint(16) Tipas

Nurodo vaizdo tipą. Atrodo, kad tai yra bitų kaukė:

  • 0x04 yra nustatytas, jei tai yra 1bpp grafika.
  • 0x40 yra nustatytas, jei tai yra grafika, kuri turi įgyvendinti langų funkcionalumą.
0x0012 uint(16) Paletė

Apibrėžia, kuri paletė turi būti naudojama iš PRT failo

Ši PRT failo duomenų struktūra nurodo, kaip yra sukurti bitmai, naudojami spritem. Šie bitmai tarnauja kaip atskira dalis, iš kurios keli yra sujungiami į sprito animacijos kadrą.

Konkreti vaizdo duomenys slepiasi op2_art.BMP žaidimo kataloge.
Nėra aišku, kodėl ši bitma failas turi (daugiausia teisingą) RIFF bitmapių antraštę. Tikėtina, kad Outpost 2 naudoja sistemines API grafikai įkelti, laikinas priėmimas šios antraštės ir atitinkamų, kintančių laukų perrašymas.

Pikselių duomenys yra BMP faile pozicijoje Offset + uint32-Offset, kuri randama BMP faile adresu 0x000A (RIFF bitmapių duomenų ofsetas), ir vėl atitinka eilučių išdėstymą iš viršaus kairėje į dešinę apačioje.

Monochrome 1bpp grafikos gali būti piešiamos taip, kad spalva 0 yra visiškai skaidri, o spalva 1 yra pusiau skaidri juoda/pilka, kadangi monochrominės grafikos dažniausiai naudojamos transporto priemonių ir pastatų šešėliams animacijose sudaryti.

Taigi jau galima sukurti daugelį grafikų.

Apsaugotas gyvenamasis modulis (Plymouth)