Бітмапы · bei.pm

Апублікавана 19.11.2015·Аднавіна на 13.02.2025·Беларуская мова
Гэты тэкст быў аўтаматычна перакладзены з дапамогай OpenAI GPT-4o Mini.

Файлы фармата, апісаныя на гэтай старонцы, заснаваны на тэхнічным аналізе інтэлектуальнай уласнасці Dynamix, Inc. і Sierra Entertainment.
Інтэлектуальная ўласнасць сёння з'яўляецца часткай актываў Activision Publishing, Inc. / Activision Blizzard, Inc. і ў дадзены момант належыць Microsoft Corp..

Інфармацыя была сабрана праз Reverse Engineering і даныя аналізу з мэтай архівацыі і ўзаемадзеяння з гістарычнымі данымі.
Не былі выкарыстаны ніякія ўласніцкія або канфідэнцыйныя спецыфікацыі.

Гульню можна набыць у якасці загрузкі на gog.com.

Адр x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF симвалы
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Зсув Тып даных Назва Тлумачэнне
0x0000 uint(32) Выраўнаваная шырыня

Указвае шырыню піксельных дадзеных у байтах - бо яны выраўнаваны па межах у 4 байты.

Такім чынам, хутка можна перайсці да пэўнага радка малюнка.

Чаму гэтае значэнне захоўваецца асобна, хаця яго можна было б разлічыць, не зразумела.
Магчыма, гэта аптымізацыя для кода рэндэрынгу.

0x0004 uint(32) Аднаўленне

Задае зрушэнне першай радка ў bitmap

0x0008 uint(32) Вышыня

Указвае вышыню малюнка ў пікселях

0x000c uint(32) Шырыня

Указвае шырыню выявы ў пікселях

0x0010 uint(16) Тып

Указвае тып малюнка. Тут, відаць, ідзе гаворка пра битмэску:

  • 0x04 устаноўлены, калі гэта графіка 1bpp.
  • 0x40 устаноўлены, калі гэта графіка, якая павінна рэалізаваць вокнную сістэму.
0x0012 uint(16) Палета

Вызначае, якая палітра з PRT-файла павінна быць выкарыстана

Гэтая структура даных файла PRT паказвае, як пабудаваны біты для спрайтоў. Гэтыя біты служаць адзіным кампанентам, з якіх некалькі складаюцца ў анімацыйны кадр спрайта.

Канкрэтныя малюнкавыя дадзеныя знаходзяцца ў op2_art.BMP у дырэкторыі гульні.
Чаму гэты файл бітымаў мае (пераважна правільны) загаловак RIFF-бітымы, неясна. Магчыма, Outpost 2 выкарыстоўвае сістэмныя API для загрузкі графікі, убіраючы гэты загаловак часова і перапісваючы адпаведныя, зменлівыя палі.

Піксельныя дадзеныя знаходзяцца ў BMP-файле на пазіцыі Offset + uint32-Offset, які можна знайсці ў BMP-файле па адрасе 0x000A (RIFF-бітымыя дадзеныя offset), і адпавядаюць зноў жа радковай арганізацыі з верхняга зліва на правы ніжні кут.

Монохромныя графікі 1bpp могуць быць намаляваны так, што колер 0 адпавядае поўнай празрычасці, а колер 1 являецца паўпразрыстым чорным/шэрым, паколькі монохромныя графікі звычайна выкарыстоўваюцца для ценяў транспартных сродкаў і будынкаў у анімацыях.

Такім чынам, можна ўжо складваць шмат графікаў.

Ахоўны жыллёвы модуль (Плімуць)