Obrazy rastrowe · bei.pm

Opublikowano 19.11.2015·Zaktualizowano 13.02.2025·Polski
Ten tekst został automatycznie przetłumaczony przez OpenAI GPT-4o Mini.

Opisywane na tej stronie formaty plików opierają się na analizie technicznej własności intelektualnej Dynamix, Inc. oraz Sierra Entertainment.
Własność intelektualna jest obecnie częścią majątku Activision Publishing, Inc. / Activision Blizzard, Inc. i jest aktualnie w posiadaniu Microsoft Corp..

Informacje zostały zebrane poprzez inżynierię odwrotną oraz analizę danych w celach archiwizacji i interoperacyjności z danymi historycznymi.
Nie wykorzystano żadnych zastrzeżonych ani poufnych specyfikacji.

Gra jest obecnie dostępna do zakupu jako pobranie na stronie gog.com.

Adres x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF znak
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Przesunięcie Typ danych Nazwa Wyjaśnienie
0x0000 uint(32) Wyśrodkowana szerokość

Podaje szerokość linii danych pikseli w bajtach - ponieważ są one wyrównane do granic 4-bajtowych.

Dzięki temu można szybko przejść do konkretnej linii obrazu.

Dlaczego ta wartość jest przechowywana osobno, mimo że mogłaby być obliczona, jest niejasne.
Być może jest to optymalizacja dla kodu renderującego.

0x0004 uint(32) Przesunięcie

Określa przesunięcie pierwszej linii w bitmapie

0x0008 uint(32) Wysokość

Podaje wysokość obrazu w pikselach

0x000c uint(32) Szerokość

Podaje szerokość obrazu w pikselach

0x0010 uint(16) Typ

Określa rodzaj obrazu. Wygląda na to, że jest to maska bitowa:

  • 0x04 jest ustawione, gdy mamy do czynienia z grafiką 1bpp.
  • 0x40 jest ustawione, gdy mamy do czynienia z grafiką, która musi wdrożyć okna.
0x0012 uint(16) Paleta

Określa, która paleta z pliku PRT ma być używana

Struktura danych pliku PRT określa, jak są zbudowane bitmapy używane dla sprite'ów. Bitmapy te służą jako pojedynczy element, z którego wiele łączy się w klatkę animacji sprite'a.

Konkretnych danych obrazowych można znaleźć w op2_art.BMP w katalogu gry.
Jest niejasne, dlaczego ten plik bitmapowy posiada (przeważnie poprawny) nagłówek RIFF-Bitmap, ale prawdopodobnie Outpost 2 wykorzystuje systemowe API do ładowania grafik, tymczasowo przejmując ten nagłówek i nadpisując odpowiednie, zmienne pola.

Dane pikseli znajdują się w pliku BMP na pozycji Offset + uint32-Offset, który znajduje się w pliku BMP pod adresem 0x000A (offset danych RIFF-Bitmap) i odpowiada ponownie liniowemu układowi od góry do dołu, z lewej do prawej.

Grafiki monochromatyczne 1bpp mogą być rysowane w sposób, że kolor 0 oznacza pełną przezroczystość, a kolor 1 to półprzezroczysty czarny/szary, ponieważ monochromatyczne grafiki są zwykle używane do cieni pojazdów i budynków w animacjach.

Dzięki temu można już złożyć wiele grafik.

Ochroniony moduł mieszkalny (Plymouth)