Outpost 2 Ñawpa ruwasqa formatokuna · bei.pm

Ima rimaq niraqmi OpenAI GPT-4o Mini kasqaqa.

Kaypi página llaqtaykiña rikhuykuykiñanmi formato de datos ruwasqaykichik, Dynamix, Inc. wan Sierra Entertainment kamachiykuykita.
Kayna kamachiykuykita, Activision Publishing, Inc. wan Activision Blizzard, Inc. chaymasi kikillayku, huklla Microsoft Corp. kasqanmanta.

Kay información kawsaykuyku Reverse Engineering wan Datenanalyse rikhuykuykiñan ruwasqaykichik, hukllaykita archivar yachaychikuywan historikuta.
Manan kaykhunmi ruwasqaykichikta, chayhinmi asirniyuq o chaykuna chayqa.

Kay juego chayqa rikhuykuyki gog.com chaymanta chay ruwasqaykichikta.

Juegoñchik qillqay

Kay artikulokuna rurasqan ñukpa yachakuykuna, "Outpost 2: Divided Destiny" sutiq juego real-time estrategia kanki, 1997 watapi Sierra nisqan puñuyku, Dynamix nisqaykiyu.

Ñukaka 2015 niyuñi noviembre 01 watamanta noviembre 14 wataraqkuyku, juegoñinchik datosni yachaqkuyki.

Ñukpa yachakuykuna, Dynamix - chaymi muyuchkan chaymi chayllataq - kay juego para Outpost 2 nisqayki datosni manam aswan qillqaykuchkan, hukkunataq chaychu Mechwarrior sutinchik (manam qillqaykuchkan) kawsayki.
Manam chaymanta, datosni innovacionesqa chayllaman kawsaykuchkan, chaymi juchuy formatokunataq, JFIF, RIFF nisqayki, chayninchik.

Tablesni y datosni yachakuykuna kay ¿Imayna kachkan? nisqayki informasiyokuna kawsaykuchkan.
Kay datosni chayqa Little Endian nisqayki.

Qhipa kusi qichuykuyki, reverse engineering chayqa kusiqmi, manam chayqa huk qhipa kanki.
Quskañamqa, juegoñinchik ruwanayki, chaymi kusiq juego mekanikakuna kawsaykuchkan.

Ñawpa ch'ixi

Outpost 2 willa data formatok JFIF / PNG nisqayki chaylla chaykuyku, kay data blokkunta 8 byte header nisqayku kan. Chay rikhuyta, chay headerkuna kay kasukuykuchkan chaylla spesifika lugarniyuqta qhawariykanichu, huk qhawariykichik.

Formatqa siempre kaykuy; chay hukninta rikhuykuyki:

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(32) Makiynin kawsaykuna

Ñukayki kawsayniyuq, imapaq chay data block-man whattaq kawsayku.

Ñukayki yuyaykuy:

  • 0x204C4F56 ('VOL '):
    Volume
  • 0x686C6F76 ('VOLH'):
    Volume-Header
  • 0x736C6F76 ('VOLS'):
    Volume-Strings
  • 0x696C6F76 ('VOLI'):
    Volume-Informationen
  • 0x4B4C4256 ('BLCK'):
    Volume-Block
  • 0x504D4250 ('PBMP'):
    Grafikdaten
  • 0x4C415050 ('PPAL'):
    Farbpalette
  • 0x4C415043 ('CPAL'):
    Farbpaletten-Container
  • 0x64616568 ('head'):
    Header
  • 0x61746164 ('data'):
    Nutzdaten
0x0004 uint(24) Block ch'iqchi

Ñukapa chayqa rimasqayki, imayna aswan (byte) chay datos sachaqa kanku.

Kayqa chay sut'iyuq datosniyki, 8 header-byte manam kaykanichu.

0x0007 uint(8) T'ikray?

Ñukaka mana rikhuyki, imapaqmi kani kay blokpi.

Volumesninchikta kay sumaq chaymi 0x80, otros faylkunata imaymana 0x00. Kaymi nirqichik, chaymi flag-setmanta kan.

Llamkaykuna

Volumes kikinka huk datos chinkanaqa, chaymi huk archivokuyki chay Tarball nisqayki. Outpost 2 nisqapi chay formatmanta qhipa kikin qillqayku - manan chay wamp'uyku. Runasimi rikhuykuchkanqa chay qillqakunamanta chay chayllataq simin chaykunapuni.

Huk Volumeqa Volume-Header nisqaman huk Volume blokkunamanta kawsayki, chaykunamanta qillqakunamanta.

"Volumes" ninqa qillqayku chay 'vol' nisqayki chay simikuykita.

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 56 4f 4c 20 -- -- -- -- -- -- -- -- -- -- -- -- V O L . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(32) Mágico Bytes
0x0004 uint(24) Block-ñawi
0x0007 uint(8) Pukllas

Qhapaq Mikhuy

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 76 6f 6c 68 -- -- -- -- -- -- -- -- -- -- -- -- v o l h . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(32) Mágico Bytes
0x0004 uint(24) Block-ñawi
0x0007 uint(8) Pukllas

Volume Header nirqayta mana data rikch'ariyku kanki.
Manan chayqa huk container nisqayki.

Volume Header nirqayta primero rimaykuykita volume strings nirqayku; chayqa chaymanta volume informaciónkuna chayku.

Volume Simi

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 76 6f 6c 69 -- -- -- -- -- -- -- -- -- -- -- -- v o l i . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(32) Mágico Bytes
0x0004 uint(24) Block-ñawi
0x0007 uint(8) Pukllas
Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 76 6f 6c 73 -- -- -- -- -- -- -- -- -- -- -- -- v o l s . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(32) Mágico Bytes
0x0004 uint(24) Block-ñawi
0x0007 uint(8) Pukllas
0x0008 uint(32) Payload kawsay

Hinaykipi, imayna bytes kanki chay datosninchiktaqa huknin chaytaqa qhichwa nirqankichik.

Ñukanchikta, chaykuna, chay volume-strings lista miraykuna hukninmi garbage kanki.

Qhichwa chay rikhuykuna, chay 'qichwa datos' 0x00 kanki, chaymi rikhuykuna kanki chay toolchaintaqa, qhichwa chay qhelqay p'ukllaykuna kanchik, chaymi huk p'ukllaykuna rimaykuyku, mana chay datos qhelqaykuna chaytaqa qhichwa rimayku, chaymi mana rikhuykuna chay rimaykuyku chaytaqa.

0x000c uint(8)[] Sutiykuna lista

Kaypi huk 0-Byte-terminada lista kanki llank'aykuna, chaymi - huknin datos qhepa - asqha ASCII simikuna churaqkuchkan.

Manam chay datos qhepa ruwasqaykita chaykhuna chay datos blokita más sumaqta qhawasqaykuchkan, kay volumen-ninmanta imayna ñawinchaykuna chay llank'aykunamanta ruraqkuchkan.

Volume Strings nisqaykuykita qaqqa rikhuykuykichik urqukuykita tiyan.

Volume Ñawinchay

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 76 6f 6c 69 -- -- -- -- -- -- -- -- -- -- -- -- v o l i . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(32) Mágico Bytes
0x0004 uint(24) Block-ñawi
0x0007 uint(8) Pukllas

Volume-nin informaciónkunaqa, kuti ruwanakuykiku ruraykunaqa rikhuykuchkan. Chayqa, rikhuykuchkan wananmi FAT-wan ruwanakuykuy (FAT = File Allocation Table)

Ruraykunaqa chayman chayqa, chayqa ruwanakuykuy kaykuykuchkan chayqa, chayqa kasukuykuy - 14 Byte.

Kay ruwanakuykuykunaqa, chayqa ruwanakuykuy rikhuykuchkan chayqa chaymanta:

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(32) Ñawpa sutiyki

Ñukaka qichwata rikhuy, imaymana offset (!) chayka juyayniyki (Volume-Strings) mikhuykuykichik chayniyki rikhuy.

Chayqa manan sutiykita chaykuyta chinkay.

0x0004 uint(32) Faylla-Offset

Ñukaka bude mana akinchik, imayna offset nisqa allpa volumenchaypi huk chay fileqa kawsayta.

0x0008 uint(32) Qhichwa-llapa

Niymayki, chay faile runa sikiyniyki byte nisqayki.

0x000c uint(16) Wik'ichas?

Ñukaka rimaykuyki chay data kodificación nisqa rikhuykunata.

  • 0x03 chayta qatiykuyki, ñukaka qatiykuyki chay file chichiykuy. Chaylla rikhuykuyki huk Huffmann sacha qhichwa.
  • 0x80 chaymi chaylla qatiykuyki.

Volume Qhatu

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 56 42 4c 48 -- -- -- -- -- -- -- -- -- -- -- -- V B L H . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(32) Mágico Bytes
0x0004 uint(24) Block-ñawi
0x0007 uint(8) Pukllas

Volume-Block hukninqa chaymi huk container, wanuykuykuchkan chayta. Kaymi huk sunqu - Block formatuyki chaymi - rikhuykunki hukta wanuykuykuchkan chayta, chaymanta rikhuykuy kan datos de uso.

Tiwllayku

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 50 42 4d 50 -- -- -- -- -- -- -- -- -- -- -- -- P B M P . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(32) Mágico Bytes
0x0004 uint(24) Block-k'uchu
0x0007 uint(8) Ñawiñiqkuna

Los tiles kayna Outpost-2 nisqayki bitmap gráfico formato. Chaykunata 13 tilesets, "wells" nisqayki (well0000.bmp hasta well0012.bmp), kaykunata maps.vol volumenpi kachkan.

Kay tilesets / Wells chaykunata chaymi kanku:

Rukana simi Ñawi
well0000.bmp 32x32px nisqayuq, ch'isi hukninta - chaylla ninkichis qichwasipi imayna rikhuykichikuy
well0001.bmp Ch'isi urqukuna, ch'isi urqukuna chaymi ch'isi rikhuykuykuna ch'isi urqukuna
well0002.bmp Ch'isi urqukuna 'Doodads' - chaymi ch'isi urqukuna rikhuykuykuna, chayllapuni vegetation
well0003.bmp Ch'isi urqukuna rikhuykuykuna ch'isi urqukuna
well0004.bmp Wasi ch'isi urqukuna, ch'isi urqukuna chaymi ch'isi rikhuykuykuna
well0005.bmp Wasi ch'isi urqukuna 'Doodads' - chaymi ch'isi urqukuna rikhuykuykuna
well0006.bmp Wasi ch'isi urqukuna rikhuykuykuna, chaymi ch'isi urqukuna ch'isi urqukuna
well0007.bmp Wasi lava, chaymi 4-5 frames animation chaymanta
well0008.bmp Wasi sand, chaymi ch'isi rikhuykuykuna chaymanta
well0009.bmp Wasi sand 'Doodads' - chaymi sand rikhuykuykuna
well0010.bmp Chaymanta 48 rikhuykuykuna sand ch'isi urqukuna
well0011.bmp Polarkappen chay map, ch'isi urqukuna chaymanta
well0012.bmp Polarkappen chay map, ch'isi urqukuna chaymanta

Chayqa, kikinka rikhuykuyki, allinpaq rikhuykuykuyki tiles mana chaykunata qichuykuykuyki, icha kay datos qhari/nok q'uchu sumaqta riqsichinaykichik - chaymi chaykunata wiñaymi kanku.

Tiles 8bpp-grafikakunam kawsaykuy, indexada paleta, 32x32 pixel ch'usaykuykuna, chaymi junt'achkan. Chay huk tileset-man, allin llapa kankichik.

Huk sutin-container 2 sekchionkuna kawsan: head niy data.

Qullqi Ñawinchik

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(32) Mágico Bytes
0x0004 uint(24) Block-k'uchu
0x0007 uint(8) Ñawiñiqkuna
0x0008 uint(32) Versión / T'ika?

Kayqa rikhuykuchkan nirqachkan chay huk version nisqa chay p'ukllaykuy formatmanta; allin chayqa rikhuykuchkan chay huk p'ukllaykuykunaqa 0x02 nisqayki

0x000c uint(32) Wasi (Horiantala Ruwasqa)

Ñukaka willayki, imatachkaqa ima chaykaqa chay bilda chaykuy (pixelesniyu).

Allin wakichikuykikunata Outpost 2, chayniykichikuy 0x20 hukninchik 32 rikhuyki.

0x0010 uint(32) Sumaq (Sumaqta qhepa)

Qhichwapi, imata ima llapa ima qichwa qaliwasi kachkan (pixeleynin).

Outpost 2 llapa wells manan, aquí huk qhichwa 0x20 nispa 32 chaymi qhichwapi chaskichkan.

0x0014 uint(32) Ch'iqni ch'uru?

Kay value nisqa chayqa manan yachaykichu.

Ñukaka rikhuyki, allin chayqa llapa rikhuykuna hinallataq 8 nisqa, chayqa k'uychi ch'usaykuykuna kikichkan.

0x0018 uint(32) Suyuyku 2?

Kay k'uchuqa qhapaqchikuyka manan yuyaychkanichu.

Ñukaka chayka 'ñawpaq'-simi k'uchuqa kan.

Kay rikch'awanku, huk standardizado RIFF-formatpi paleta chaykunata rikhuykuchkan. Ñukpa especificación nirqaku - chay paletakuna hukkunataqa chaykuna rikhuykuchkan - chayta munaykuyki Paleta chaypi.

Tiles datos

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(32) Mágico Bytes
0x0004 uint(24) Block-k'uchu
0x0007 uint(8) Ñawiñiqkuna

Ñukaka, chaymanta pixeldatakuna chaymi, rukch'anañan chayllaña, ñawpa siminchikta chayllaña rikch'anañan.
Chay datosniyuq kawsaykuykita, chay 8bpp-Bitmaps nisqaqa, chay rikhuykuq kawsaykuykita, color paletakuna chay qichwa kawsaykiyki.

Pixeldatakuna ñawpa siminchikta chayllaña, chayllaña rikch'anañan.

Juegos-Engine tiles *sukuykusqa* on-demand.
Iniqa chaymi chayqa chaytaq sutiyuqniyuq, hukniyuq 32 purichiy tiles ninasqayki. Chaymanta, hukniyuq 'unay' qichwasqa. Chaykunataq qichwasqayki, kikinka qichwasqayki

v *= (daylight / 48) + 0.25;

HSV datosniyuq pixels, hukniyuq daylight 0-31 chaykitaq v 0-1. Chaymanta, mapmanta 16 tiles hinchiktaq qichwa chaykuna (chaymi chayqa hukninchikkuq) chaykuna.

Ayqa chayqa chaymi hukniyuq chayqa hukniyuq Gamecycle hukniyuq map chaykuy.
Hukniyuq chayqa chaykuy chayqa purichiy hukniyuq chayqa chaykuy:

Tag-Nacht-Zyklusnin visualización

PRT

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 43 50 41 4c -- -- -- -- -- -- -- -- -- -- -- -- C P A L . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(32) Mikuy Wañuy
0x0004 uint(24) Paleta-ñawi

Kawsayku, normal block format-man allin, chay qhichwa rimaykichik paletakunapaq chayniyuqniyuq kanki - mana chay block nisqayki chay byte-wan.

0x0007 uint(8) Ñawinchikuna

Ñukaka, ichikuyki, flags kanki.

Ñukaka flags mana yachanichu; chaymi, ñukaka yachayman kanku allin kawsaykunata 0x00 chaymi, chaymi paleta chaykuna huk uint(32) kanki.

Ñukaka mana yachkani PRT imapaqmi kani; chaymi rikhuykuykichis 'Paletta y Rikhuykuy Table' - kay fayl chayta, op2_art.prt nispa rikhuykuykichis maps.vol - chaymanta kaykunata rikhuykuyku, sapaqmi chay rikhuykuykuykiyki.

Kay faylmi palettakunata rikhuykuy, sapaqta chiqninchik kachkan allin bitmaps, sapaqta animacion inventarimanta, chaymanta huk qhichwa rikhuykuyku. Chaymi chay rikhuykuykuyki, mana sapaqta rikhuykuykuyki hinata.

CPAL-sección (palettakunapa container nispa) palettakunata rikhuykuy, chaymi huk sumaq 1052 byte huk 8-bit palettakunata imapim chaykunata rikhuykuyku.

1052-byte rikhuykuy mana imaymana qhichwa, palettakunapa formato chaymi rikhuykuy, chaymi kachkan kanchik. Kay rikhuykuykuyki Outpost 2 hina rikhuykuyku.

Palettakunapa rikhuykuykuyki, chaymi huk rikhuykuykuyki chay bitmaps rikhuykuykuyki; chaypi animacion rikhuykuykuyki.
Ima rikhuykuykuyki huk uint(32) (sumaqta uint24+uint8 flags?) chaykunata rikhuykuyku, chaymi rikhuykuykuyki.

Paleta

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 50 50 41 4c -- -- -- -- -- -- -- -- -- -- -- -- P P A L . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(32) Mágika Bytes
0x0004 uint(24) Paleta-ch'usaq

Ñukaka, huk normal blokupaq formatomanta, kay filemanta chaskichkan paletakunam, mana blokupaq bytekunam chaymi.

0x0007 uint(8) T'ikrayku

Ñukaka, chaymi, flags kan.

Ñukaka manaq flags yachkani; allin chaykuna qhichwa 0x00 kan, chaymi potensialmi yachay kanki, paleta ñiqinqa huk uint(32) kan.

Paleta ruwasqayki chaylla rikhuykusqa.
Ñukanchik ruwasqaykikunataq, huk header nisqayku, huk data segment nisqayku.

Paleta-Header

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(32) Mágika Bytes
0x0004 uint(24) Paleta-ch'usaq

Ñukaka, huk normal blokupaq formatomanta, kay filemanta chaskichkan paletakunam, mana blokupaq bytekunam chaymi.

0x0007 uint(8) T'ikrayku

Ñukaka, chaymi, flags kan.

Ñukaka manaq flags yachkani; allin chaykuna qhichwa 0x00 kan, chaymi potensialmi yachay kanki, paleta ñiqinqa huk uint(32) kan.

0x0008 uint(32) Paletnaku forma version?

Rikchariykunka, imayna paleta formato versión chay paletapita chaymanta.

Ñukaka Outpost2 paletakunataq versión 0x01 kani.

Paletten kaykuna

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(32) Mágika Bytes
0x0004 uint(24) Block-k'aylla
0x0007 uint(8) T'ikrayku

Ñawpa data sutinakuraykuchkan paleta llank'aykuna. Paleta llank'aykunam pukllaykuchkan block hukllaqta / 4.

Huk huk llank'aykuna kaykuchkan chaymanta, sencilla qhichwa;

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 -- -- -- 04 -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(8) Ñawi-ch'isi

Ñawi q'illu ch'iqniyki ruwaspa

0x0001 uint(8) Q'illu-komponente

Qhichwa ch'ukta ruma ch'ukch'uyki

0x0002 uint(8) Q'omer komponenta

Wasiq puchka ch'iqchi ch'illikuyki

0x0003 uint(8) Tukuy - Ñawpa?

Ñukaka rimaykichik, icha ima kay wárqa chaymi, chayqa hukniyki 0x04 kachkan.

Paletakunapita, chaymi rikhuyku, aniyki paletakunamanta animasiyokichik kichwita rimanakuyki:

  • Ñukaka sapa sutiyki, IMARIYKI chaymi ch'isi, imaynapas kankichik chayta rimanakuyki.
  • Paletakunapita 1-24, paletakunata 1-8, chaymi yachaykichik kanki.
    Ñukaka imaynapas, chay ch'isi kawsayki, sapa 1 chayta rikhuyku.
    Ñukaka chay ch'isi chaymi hardcoded kankichik.

Paletakunapas rikhuy

Bitmaps

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(32) Sumaq sapa

Wasiq kay pixeldatakunam kawsayta bytepa rimay - chaykunam 4-byte chinkaykuna rimanakuyku.

Chaymi huk imagen rima qichqaykuy kachkan.

Imayna chay huk qatiq rimanakuy, ichaqa chay kawsayta yachachkanku, manan yachayku.
Ñukanchikta chayqa render-codepa huk optimizaciónmi kachkan.

0x0004 uint(32) Offset

Ñukanchik bitmapmanta kayna takiykuykunata rikhuyku

0x0008 uint(32) Sumaqta

Pixelesni rikhuyki chay siminchik

0x000c uint(32) Wasiq.

Wasi qichwasaqta rimaykichik pixelesninqa

0x0010 uint(16) Tipo

Chayniykichiklla rikch'ariykichik. Kayqa bitmaska kanchik:

  • 0x04 chayllapaqmi rikhuy, chayqa 1bpp-grafik kan.
  • 0x40 chayllapaqmi rikhuy, chayqa grafik chaykunata windowing ruwachiykuchkan.
0x0012 uint(16) Pallata

Ñawpaqta, imata paleta PRT-faylpi rikhuykuchkan

PRT-ki datos estructura rikiqeqa, sprites-qa chaykiyki bitmaps-qa imaymana chaychik. Chay bitmaps, kan chaykuykita, imaymana kawsaytaq, imaynaq spritena animaciones frame-ña juqayku.

Konkretoq ima datos, op2_art.BMP chay laya qhapaqtaqa.
¿Por qué chay bitmap archivoqa huk (mayninkichu) RIFF-bitmap header-ña, riqsichkankichu. Chayqa chay Outpost 2, sistema-APIs-ña grafikas laya chinkayku, chay headerqa temporariamente riqsichiykuyku, chay mana chaykuyki chay riqsichinchik mayninchik.

Pixeldatos-qa chay BMP-ña chay Offset + uint32-Offset, riqsichichkan BMP-ña 0x000A kutichka (RIFF-Bitmap-datos-offset) rikiq chayka, chay mana riki chaykuyku chay chaykuyki qichwa kananman chay iskanan chisqayku.

Monochrome 1bpp-graficas-qa chayqa chaykuykita kaykurichin, chay 0 colorqa, chayqa kawsaytaq yanapachkan, yachayqa 1 colorqa huk huk chayaq chay chaykuyki, chay monochrom-graficas uhuk chaytaq chayqa chay qhapaq yachay yachaykuyki riqsichinchikta animaciones-ña.

Chayqa chaykuyki laya chay grafikas chaykuyki.

Sikiyuq wasi modul (Plymouth)

Animasiyones

Ñukaka ima rikhuykuyku kanki purichiykuna, huk Outpost 2 datos formatos llaqtaykimanta:
Animaciones.

Animaciones listas huk global header chaymi, chayqa datos verificación nisqa, kutinchik. Kaynpuni rikhuykuykuna, chayqa animaciones definiciones chaymi 3 ñawinchikta:

  1. Animación
    Huk animaciónqa huk sapa instancia; chayqa huk unidad, huk wasi, o 'partícula-animación' (kometa puchka, tiempo, explosión) chaymi huk rikhuykuykuna qichwanta.
  2. Frame
    Huk frameqa huk sapa imágen animaciónpi. Huk animaciónqa huk o más frames chaymi kan.
  3. Subframe
    Huk subframeqa chaymi huk bitmap rikhuykuykuna chayqa huk criteriosniyki, huk framepi huk posiciónninta. Huk frameqa huk o más subframes chaymi kan.

Kutichikuykuna chayqa huk animaciones definiciones rikhuykuykuna.

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(32) Animationkuna chaykuy

Ñukaka imapa animasiyuq datos chaykuchkan

0x0004 uint(32) Ñukaka frames kawsaykuchkan.

Ñukanchik kawsaykunata rimaykuy chay frames allpaq chaykunata kikiyki

0x0008 uint(32) Subframe k'uchuyninchik

Ñukaka imayna subframes chaykuq kawsaykunata rikhuyku

0x000c uint(32) Suma ñawpaq chaykuna

Ñukaka "suyuykuykunata" imas chayka kawsanakichu.

Animación

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0020 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(32) Ñukaka mana yuyaychkanichu 1

Manan yachaqkuna

0x0004 uint(32) Banda Ch'iqikuy: Ñawi

Ñukaka Bounding Box kanchikpi chayña piqaq kawsayta qhichwa chay.

0x0008 uint(32) Bounding Box: Chaymanta

Hukpi qichwa (pixels) chay Bounding Box sutinpi rikch'ariy.

0x000c uint(32) Bounding Box: Ch'uyma

Wasiqayki Bounding Box wanakuykuykita (pixelespi) qichka.

0x0010 uint(32) Bounding Box: T’ikray

Ñawi (in Pixel) Bounding Box nisqayki.

0x0014 uint(32) Offset: X

Animaciónpi horizontal mikhuykunata nirqani

0x0018 uint(32) Offset: Y

Ñukuchaykuy animaciónpi chinkay kawsayta chayku

0x001c uint(32) Ñukaka mana yachkani 2

Ñukakaq chayku mana yachaykiy

0x0020 uint(32) Ñukaka frames kawsaykuchkan.

Ñawpaqta, imata animaciones frames kay animacionpi chaskichkan

0x0024 uint(32) Windows qhapaqniyuq

Ñukaka rikhuykuyki allin chinkaykuykita, imashina hukninchikta qhichwaykuyki

Ñukanchik sapa ch'isi, animaciónpi, chayqa rikhuykuykuna chayka yachaykuna - Boundingbox chayqa markaykuna rikhuykuykuna chaymanta sikaqta / wasiypi, imayna chayqa chay markaykuna rikhuykuykuna chaylla rikhuykuykuna.

Offset chayqa yachayniykichik "ñawpa punku" kan; chay punku, imayna rikhuykuykuna ichikuykuykuna rikhuykuykuna. Matemátikaman, offset chayqa rikhuykuykuna chayqa ñawpa rikhuykuykuna.

Windows chayqa, offsetpi, sapa (sapa window) 4 uint(32)-simi wakanqankichik, imanata chayqa chay subframeskuna rikhuykuykuna chaymanta rikhuykuykuna. Windowschik pusakuykuchkan, imayna chay Bitmappi chaymanta yachaykuykuchkan, rikhuykuykuna manan rikhuykuykuchkan.

Chakra

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(8) Subframe-nin ch'iqchiypi kawsayki kay optional 1, 2.

Kay ch'uklla chay:

  • 0x7F (Bitmaskay): Kay frame-man chay subframe-nin kawsayku
  • 0x80: Chay informasiyon, mana kachkanichu Optional 1 y 2
0x0001 uint(8) Ñukaka 1 nirqani, Toggle nisqayki Optional 3, 4.

Kay hukniyki qhichwa:

  • 0x7F (Bitmaskay): Manan yachayku - Ñukaka chayllapaq hamuq gameticks kachkan, chaymi wakin frame chaypi qhawarinaq
  • 0x80: Ñukichayki mayninchik Optional 3 y 4 kachkanichu
0x0002 uint(8) Opcional 1

Mana yachaykama

0x0003 uint(8) Opción 2

Mana yachaykama

0x0004 uint(8) Opción 3

Mana yachaykama

0x0005 uint(8) Opcional 4

Mana yachaykama

Submarqay

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF kar
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Offset Data k'uychay Sumaqta Ñawpa ch'iqchi
0x0000 uint(16) Bitmap-Id

Ñawpa qillqayki mana chay subframe kamachikuyki rikhuy

0x0002 uint(8) Ñukaka mana yuyaychkanichu 1

Ñukaka yachkani - chaymi, ñukaka yuyaychkani chayqa kawsaykuyku render-prioridad (Z-Layer) chaymi kan.

0x0003 uint(8) Subframe-Id

Ñukaka chay subframe llapa chaykiñan

0x0004 sint(16) Offset - Horiqchay

Kayqa chay frame-ninpi, imayna subframe chaymanta qhipayku, hukniyuq pixel-kunata imayna horizontal nisqata qhipayku

0x0006 sint(16) Offset - Kichwa

Hinalla rikuy, imayna chay frame nirqapi subframe chayniyki, mana chaykipi rikhuykuyku, imayna pixelkuna chay bitmapta verticalmanta qatiykuyki

Kaymanta, nuqa kawsaykuyki chay frames, hukninchik animationkunata ruwasqa, chayki chaymi chaymi kawsaykuyki, chaymi huk complex animationmanta, chay animation index 500 nisqayki, qhawachiy.

Animación 500

Animation 500 rikhuyki, imayna Plymouth-transportador, ichaqkuchkan chaymi yuyayniyuq purichkan. Chaymi wanqaqa chaykunaqa qhichwapi rikhuykuy windowing functionality rikhuykuy.

Ari, chaymi rikhuykuy allin chhaykuy animation.
Ñukakaqa chaylla yachachkanki chay llimpiy llaqta kawsayka, chaymi chay qhichwa chay rasunapi mana chay llikllaq.

Aquí hukniyuq chay, ñawi qhichwapi anjinakuyku, chay rikhuykuy:

Animation 500 rikhuykuy

Animation 500 chaymi sumaqniyuq rikhuykuy

Plymouth Suntur Wasi

Eden Ch'isi Pukllay

Eden Yachay Wasi

SCAT

Plymouth Ch'isi Pukllay

Easteregg:
Ñawi P'achak

Easteregg:
Dans K'uchu

Usuariy kuykuy

Ñukaka chaymi ñawi interfase nispaykuy, mana llamk'aykuchkanichu chay churquray metal llikch'aymanta.

Amuyku, chaymi riqsichisqa, Dynamix mana huk q'ipichiyta rikhuykuchkanichu; chaymanta, mana chaykunata rikhuyku, huk runakuykuykuchkanichu, icha llapan rikhuykuchkanichu User32- nisqa GDI32-APIkuna chaykuykuchkan.

Chaykunata, chaymi, chay Angus Johnson nisqa freewaraykuy runakuykuy Resource Hacker nisqa programaykuta, icha - linux / mac os chaymi wineyki purinchikuykuchkanichu - icoutils nispaykuta wrestool nispaykuta rikhuykuchkanichu.

Qhichwa simi Yachay
Outpost2.exe Juk'uchiy, huk'uchiy llikchay kawsayki, chayqa New Terra llaqtapi chayllachu
op2shres.dll Yachachiy rikhuykuna, chaymi chukchukuna, buttons, radio-buttons, checkboxkuna, huk'uchiy simikuna, mikhuykuna chayqa dialog background, chayqa story mission rikhuykuna, sapa menu background rikhuykuna
out2res.dll Ingame ventana ch'uyanchik, juyaykuna chukchukuna, spesial chukchukuna, karga rikhuy, dialog rikhuykuna, chayqa sukuy cursor rikhuykuna, chayqa animaykachkan kawsaykipi