Outpost 2 Tembiporu formato · bei.pm

Ko ñe’ẽ otevẽva OpenAI GPT-4o Mini rembiapo.

Ko'ã hi'ãguýpe ojehecha hína umi formato de archivo ojehecháva, orekóva jehecha técnica peteî mbopi oikovy'ỹva Dynamix, Inc. ha Sierra Entertainment omoakãva.
Ko'ã mbopi oiko ko'áĝa Activision Publishing, Inc. ha Activision Blizzard, Inc. ryepýpe ha ko'áĝa oĩ Microsoft Corp. renda.

Ko información ojehu hína Reverse Engineering ha Datenanalyse rupi, ojapo hag̃ua arkhivación ha interoperabilidad umi datos histórico ndive.
Ndaipóri umi especificaciones propietarias térã confidenciales ojejapóva.

Pe juego ikatu ohenói ko'áĝa gog.com rupive, oipykúi ojapo hag̃ua download.

Arte des juegos

Ko'ã mba'e ohechauka che rembiapo heta mba'e iñimportante hína umi datos formatope "Outpost 2: Divided Destiny" rembiapo, ojehu 1997-pe Sierra ombohasa ha Dynamix ombohory.

Aiko 01 arandukatu 2015 guive 14 arandukatu 2015 peve, che retãme oha'ã umi datos rehegua - ha mba'éichapa ohechauka.

Umi informaciones che irundyva'erã, Dynamix - heta empresa comercialichaicha - ndohupytyi umi datos formato especialmente "Outpost 2" rehe, oñemohendáva avei ambue rembiapo kuatiahaipyre, umi Mechwarrior serie (ombokatuha) ojapoháicha.
Avai jave, ohechauka avei umi innovación ha'e umi datos formato jepive yvypóra oiko peteĩkatu umi jekatu ha umi jeykuérape, JFIF ha RIFF rehe.

Umi tabla ha datos formato rehegua ikatu ohechauka umi informaciones ambue Mba'e hína mba'e? rehe.
Ko'ã data ohechauka hína Little Endian.

Pe mbopi, hetave mba'e ojehu ha'e hína, umi Reverse Engineering orekóma heta py'aguapy, ha iporãiterei ohechauka.
Ajapo avei aikutu hína ikatu ohechauka umi juego, ojehu hína mba'e porãite.

Peuru

Outpost 2 rupytyrã ojepuruva'erã data formato kuéra oĩ hína JFIF / PNG rembiapo ojehechakuaa hague - umi data bloque kuéra oĩ hína 8 byte header ojehechávo. Upéicharõ, ndahesakãi hína umi header kuéra oñe'ẽva'erã umi lugar specific ojepurúva ha añetehápe upépe añemokõi hína umi desviación.

Pe formato oikóva hína péicha; umi mba'e ojepurúva oĩ hína upépe.

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(32) Mbopi Mbyky

Oĩ hína información rehegua mba'e ojejapóta pe próximo datos bloque-pe.

Ohechauka va'erã valores:

  • 0x204C4F56 ('VOL '):
    Volumen
  • 0x686C6F76 ('VOLH'):
    Volumen-Header
  • 0x736C6F76 ('VOLS'):
    Volumen-Strings
  • 0x696C6F76 ('VOLI'):
    Volumen-Información
  • 0x4B4C4256 ('BLCK'):
    Volumen-Block
  • 0x504D4250 ('PBMP'):
    Gráfica datos
  • 0x4C415050 ('PPAL'):
    Kolor paleta
  • 0x4C415043 ('CPAL'):
    Kolor paletas-Container
  • 0x64616568 ('head'):
    Header
  • 0x61746164 ('data'):
    Util datos
0x0004 uint(24) Mbyte rembiapo

Oĩ hína marandu ko'ãga, mba'éichapa iporã (byte-pe) upe data bloque oñemohendáva.

Ko'ãvante oĩ hína mba'e porã - 8 header-byte ndohovái ko'ã.

0x0007 uint(8) Aña?

Ndaha'éi, mba'éichapa ko bloque oikotevẽva.

Umi Volumen-pe ko valor ojehu hína 0x80, ambue archivo-pe katu 0x00. Ko'ãva ohechauka peteĩ flag-set ojeheróva.

Mbopi

"Volumes" ha'e peteĩ data container peteĩ juego-rã, oñembohovakuéva peteĩ archivokuéra format reheve, péicha Tarball. Outpost 2-pe, ko formato ohechauka hína umi archivo - ndaha'éi umi carpeta. Oje'eva'erã, ikatu umi archivo rembiapo ohechauka umi peteĩva nombre reheve.

Peteĩ Volume oñembopiro'y peteĩ Volume-Header hendaitépe, ha umi Volume Blokku reheve, ohechauka umi archivo konkreto.

"Volumes" ha'e umi archivo ohasáva 'vol' juego rembiapo rupi.

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 56 4f 4c 20 -- -- -- -- -- -- -- -- -- -- -- -- V O L . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(32) Mbyte Mágico
0x0004 uint(24) Tembiapo-iri
0x0007 uint(8) Aña ñe'ẽ

Akã Rape

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 76 6f 6c 68 -- -- -- -- -- -- -- -- -- -- -- -- v o l h . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(32) Mbyte Mágico
0x0004 uint(24) Tembiapo-iri
0x0007 uint(8) Aña ñe'ẽ

Volume Header ndive ndaha'éi peteĩ mba'e porã.
Pe oikóta peteĩ container.

Volume Header-pe oĩva'ekue peteĩha dato ha'e volume strings; upéi osẽta umi volume información.

Volume Puru

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 76 6f 6c 69 -- -- -- -- -- -- -- -- -- -- -- -- v o l i . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(32) Mbyte Mágico
0x0004 uint(24) Tembiapo-iri
0x0007 uint(8) Aña ñe'ẽ
Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 76 6f 6c 73 -- -- -- -- -- -- -- -- -- -- -- -- v o l s . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(32) Mbyte Mágico
0x0004 uint(24) Tembiapo-iri
0x0007 uint(8) Aña ñe'ẽ
0x0008 uint(32) Payload atyhápe

Ohechauka mba'eichapa byte oikóva umi data ko'ágã hína mba'e porã.

Umi data ohasáva umi Volume-Strings lista ohechauka hína 'garbage' rehe.

Umi archivo ojehecha hague ára orekóva 'data ohasáva' 0x00, ko'ãva ohechauka ikatuha oiko porã mbopi hague ijapopaiteha ojapo jave, he'iháicha, umi desarrollador oha'ãva pe inicialización correcta de los buffers, ohechauka ndohupytyiha pe juego rehe, ikatu oiko pe data ohasáva térã ndohasái.

0x000c uint(8)[] Aña rembiapo réra lista

Ko'ãva ha'e peteî 0-byte-pyta'ã lista rembiapo réra, ohechauka - ohechaukáva ko'ãva data rembiapo - oikotevêva ASCII ñe'êkuéra.

Nderehechakuaa avei ko'ã data rembiapo pe'ỹrã, ko'ã data bloque ohechauka porâite, ha'e umi volume marandu kuéra ohechauka iporâvéva rembiapo réra offset-kuéra.

Volume Strings rehegua peteĩ lista japopyrekuéra, oĩva volume-pe.

Marandu Ñandejara

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 76 6f 6c 69 -- -- -- -- -- -- -- -- -- -- -- -- v o l i . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(32) Mbyte Mágico
0x0004 uint(24) Tembiapo-iri
0x0007 uint(8) Aña ñe'ẽ

Ko'ã mba'e ohechauka umi volumen rembiapo rehegua. Ko'ã mba'e ojehecha peteĩ mba'erehegua FAT rembiapo (FAT = File Allocation Table) rehe.

Umi mba'e rembiapo oikóva ikatu ojeporúva umi bloque rembiapo rehegua, ojeheja ume rembiapo kuatiápe - 14 Byte.

Umi rembiapo kuatiápe oĩva ojehai hína ko'ãichagua:

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(32) Mbopi ryru-Offset

Ohechauka mba'éichapa oĩ pe offset (!) umi lista de nombre de archivo (Volume-Strings) pe nombre de archivo oĩva.

Oñembojoaju pe mbopi porãme.

0x0004 uint(32) Mbopi aty

Ohecha mba'éichapa oñemohendáva pe archivo ojapohápe peteĩ offset omohendáva pe volume-file rupi.

0x0008 uint(32) Tembi'u táva

Ohechauka mba'éichapa hína pe archivo byte-pe.

0x000c uint(16) Aña?

Opa'ũ ikatu ohechauka avei información adicional sobre la kodificación de archivo.

  • 0x03 oñembojoaju, jave la archivo oñemopotĩ. Ko'ápe ohechauka hína peteĩ árbol de Huffman.
  • 0x80 ojeporu jave, oĩ hína upeichaháicha.

Tembi'u Pora

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 56 42 4c 48 -- -- -- -- -- -- -- -- -- -- -- -- V B L H . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(32) Mbyte Mágico
0x0004 uint(24) Tembiapo-iri
0x0007 uint(8) Aña ñe'ẽ

Volume-Block peteĩ tenda ha'e, ohechauka umi mba'e, ojapo umi archivo. Oĩ hína peteî jey - kuatia formatérã - oikóva umi ta'angamýi ha jepe oúta ipahápe umi mba'e oúva.

Aña

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 50 42 4d 50 -- -- -- -- -- -- -- -- -- -- -- -- P B M P . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(32) Mbyte Mágico
0x0004 uint(24) Kuatia-rupi mba'e процессов
0x0007 uint(8) Aña kuatiápe

Ko’ẽhẽ oñembohasa hína peteĩ formato gráfico Bitmap oma’ẽhẽva Outpost-2-pe. Oñemohendáva 13 tileset, "well" hérava (well0000.bmpwell0012.bmp peve), kuñakarai hína maps.vol rupi.

Upéicha, tileset / Wells oĩkuri ko'ãichagua:

Nombre de archivo Contenido
well0000.bmp Pete 32x32px ha'éva, hovy peteĩ gráfica - oikotevẽva test-pe, ikatu hag̃uáicha oĩ porãpa ne image-loader
well0001.bmp Oĩ hovy yvate, yvytykuéra hovy yvate rehe, ha heta variante de pochyrupe hovy yvate rehe
well0002.bmp Oĩ hovy yvate 'Doodads' - upéichante umi elemento, oiporãva oñemohendávo (ni umi estructura, peteĩ mba'e jave, hovy yvate rehe) ha avei yvyry
well0003.bmp Oĩ peteĩ estructura yvypóra hovy yvate rehe
well0004.bmp Oĩ hovy tĩ, yvytykuéra hovy tĩ rehe, ha heta variante de pochyrupe hovy tĩ rehe
well0005.bmp Oĩ hovy tĩ 'Doodads' - upéichante umi elemento, oiporãva oñemohendávo (ni umi estructura, peteĩ mba'e jave, hovy tĩ rehe)
well0006.bmp Oĩ peteĩ estructura yvypóra hovy tĩ rehe, avei transición entre hovy yvate ha hovy tĩ
well0007.bmp Oĩ lava, ohechauka 4-5 frames animación rehe
well0008.bmp Oĩ areia ha heta variante de pochyrupe areia rehe
well0009.bmp Oĩ areia 'Doodads' - upéichante umi elemento, oiporãva oñemohendávo (ni umi estructura, peteĩ mba'e jave, areia rehe)
well0010.bmp Oĩ 48 transición de areia hovy yvate ha hovy tĩ
well0011.bmp Oĩ mapa polár-pe, hovy tĩ pe oĩ yvypóra
well0012.bmp Oĩ mapa polár-pe, hovy yvate pe oĩ yvypóra

Ipahápe oikotevẽva peteĩ akãrague porãva, naiporãi ojapohague umi Tiles mbopi ha'e hag̃uã, ko'ãva ojapo hag̃ua pe cache, oĩrõ umi datos arapygua/pyhare - ha oĩvéta heta heta datos.

Umi Tiles niko 8bpp-grafika peteĩháme indexada paleta 32x32 píxeles rembiapo, ojehecha hikuái. Peteĩ Tileset ojejapóva ko'ãicha, ikatu oĩ heta mba'e.

Pe principal-Contenedor oĩ 2 sección: head ha data.

Kuatiarogue Aty

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(32) Mbyte Mágico
0x0004 uint(24) Kuatia-rupi mba'e процессов
0x0007 uint(8) Aña kuatiápe
0x0008 uint(32) Versión / Pflag?

Ko'ãva ikatu ojeʼe peteĩ versión rembiapokue ohechauka; umi che ndive oĩva archivo rehegua, ko'ãva hína pe valor 0x02

0x000c uint(32) Tendota (Horizontales resolución)

He'i ko'ãva mba'éichapa hína pe imágen rembiapo (pixelekuéra).

Outpost 2-pe, opaite Wells-pe, ko'ãva omohendáva hína pe valor 0x20 térã 32.

0x0010 uint(32) Yvoty (Yvatekatu Aikotevẽ)

Ohecha peichahápe mba'éichapa hína pe imágen peteĩ (pixel-pe).

Outpost 2-pe, umi well-kuéra rehegua, ko'ápe oexpecta pe valor 0x20 térã 32.

0x0014 uint(32) Kuarahy rupi?

Ko'ã mba'e rembiapo ko'ãva ohecha'ỹva.

Upe va'erã, oĩ hague opaite tembiapo ojepurúva pe valor 8, ikatu oje'e hague ko'ãva kuatiápe oĩha peteĩ arandupy color.

0x0018 uint(32) Mba'epu'ã 2?

Ko'ãva mba'e hína ohechauka'ỹva.

Ikatu hína peteî 'Tembiporu'-aranduka.

Ko'ã karai rehegua ojejapo jepe peteĩ paletakuéra archivo oĩva RIFF formato estandarizadokue. Pe especifikasión iporãva oĩ - ko'ã paletakuéra avei ojehecha ambue lugar - pe Paletakuéra rupi.

Tiles datos

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(32) Mbyte Mágico
0x0004 uint(24) Kuatia-rupi mba'e процессов
0x0007 uint(8) Aña kuatiápe

Ikatu porã, pixel datos ohecha hína, yvytu'i guasu ha'eveve oñembohory hína yvype'ỹrõ.
Pe datos valor ojueheguáicha 8bpp-bitmaps rupi oñemohendáva, ha'éva pe color index pe color palette-pe.

Pixeldatos oñepyrũ hína yvytu'i guasu ha ohupyty hína yvype'ỹrõ.

Pe'ẽrẽa ojapo umi Tiles *peteĩ jey* oñemohendáva.
Ko'ãga, ohecha hína umi ára-jegua ohasáva, ohechauka 32 mba'erechaukaha petei Tiles rehegua. Upéichante, ohechauka avei oĩha mba'erechaukaha 'mbohapy jey' oguerekóva. Mba'e porã oĩkatu hag̃uáicha, ajapo hína pe mba'e rembiapo

v *= (daylight / 48) + 0.25;

ndi'áicha umi HSV mba'erechaukaha oĩva umi píxel-pe, upépe daylight oĩ 0-31 ha v oĩ 0-1 rembiapo. Upéichante, oñemomba'eguasu hína umi mapa-pe oĩha peteĩ tembiapo 16 Tiles rembiapo haguã kuatiápe ha yvyrápe (upéva ojapo umi tembiapo'ỹi oikohápe).

Avave ikatu ohecha, umi ára-jegua ohasáva ohechauka petei columnas umi mapa-pe oñemohendáva.
Pe ára-jegua ohasava'ekue ojapo hína péicha:

Visualización del Tag-Nacht-Zyklus

PRT

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 43 50 41 4c -- -- -- -- -- -- -- -- -- -- -- -- C P A L . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(32) Magic Bytes
0x0004 uint(24) Paleta ropytyvõha

Ohechauka, ikatúva ohechauka pe paleta rembiapo ko'ã tape ári - ndaha'éi pe bloque ryrýi byte.

0x0007 uint(8) Pavẽ

Ikatu, umi mba'e oje'eva'erã, Flags.

Ana nderehecha'ỹ, oĩha umi Flags; oĩva'erã umi va'e oje'eva'ekue 0x00, ikatu avei oje'e porã, pe Paleta kuatiahaipyre ikatu hína peteĩ uint(32) oje'eva.

¿Mba'éichapa PRT oje'e va'erã? Che ndakuaáiri, pero ikatu ojapo peteĩva 'Palette ha Resource Table' - ko'ã mba'e oĩ ko'ã archivo-pe - ohechauka ha'e op2_art.prt dentro maps.vol - ha ko'ã mba'e ohechauka peteĩ función iñamandáva.

Ko archivo oĩ peteĩ lista de paletas, peteĩ tabla rehegua umi bitmap oipuruva’ekue, umi definición de animación ha avei heta datos oje'éva. Ohechauka pe formato de contenedor ojehu, ndaha'éi umi datos oje'eva ko esquema.

La sección CPAL (oje'e va'erã peteĩ contenedor de paletas) ohechauka umi datos de paleta, ohechauka avei mba'éichapa oĩ hikuái pe 1052 byte oúva 8-bit paletas.

Pe 1052-byte ohechauka ndaha'éi peteĩ mba'e oje'éva, sapy'ánte pe formato de paleta ikatu ohechauka paleta tamaño diferenciada. Ko’ã mba’e oĩ pe dato oiporuva’ekue, Outpost 2 ohechauka.

Pe lista de paletas oĩ peteĩ lista de bitmaps; ha umi lista de animaciones oĩ jepe.
Ambuete ojehu peteĩ uint(32) (ni avei uint24+uint8 flags?) ohechauka pe cantidad de datos.

Palletes

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 50 50 41 4c -- -- -- -- -- -- -- -- -- -- -- -- P P A L . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(32) Mbyte Mágico
0x0004 uint(24) Paleta jaguá

Oñemohendáva, iñehendúvo peteĩ normal bloque formato, pe paleta apytu'úre oĩva ko'ã archivo-pe - ndaha'éi bloque peteĩ lenguáre byte reheve.

0x0007 uint(8) Aña kuatiá

Oje, araka'e, Mbo'ehára.

Aña’ẽ, ndaha'éi che pytyvõ porãva; umi che irundyva, 0x00 rehegua, ikatu avei ombojerovia, pe Paleta-ari ha'eva pe uint(32) pe.

Paleta rembiapo ojehecha porã va'erã.
Ikatu hína henda peteĩ header ha peteĩ data-segmento.

Paletten-Header

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(32) Mbyte Mágico
0x0004 uint(24) Paleta jaguá

Oñemohendáva, iñehendúvo peteĩ normal bloque formato, pe paleta apytu'úre oĩva ko'ã archivo-pe - ndaha'éi bloque peteĩ lenguáre byte reheve.

0x0007 uint(8) Aña kuatiá

Oje, araka'e, Mbo'ehára.

Aña’ẽ, ndaha'éi che pytyvõ porãva; umi che irundyva, 0x00 rehegua, ikatu avei ombojerovia, pe Paleta-ari ha'eva pe uint(32) pe.

0x0008 uint(32) Palettenformat versión?

Ohecha iporãvéva, mba'éichapa paleta formato versión ohechauka.

Opa Outpost2 paleta ojehechauka versión 0x01 rehe.

Paletã mbopi

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(32) Mbyte Mágico
0x0004 uint(24) Block-jorá
0x0007 uint(8) Aña kuatiá

Pe datos sección oipota umi paleta-entry. Umi paleta-entry rembiapo oikóva pe blok-kuéra / 4.

Umi entry oikóta ko'ã mba'e, iñambue.

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 -- -- -- 04 -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(8) Aña componente

Oguereko hína karai (rojo) ñe'ẽ

0x0001 uint(8) Yvoty componente

Ohechauka pe verde aty peteĩ arandukápe

0x0002 uint(8) Yvoty komponentete

Ohechauka pe yvoty renda porã blue

0x0003 uint(8) Nembyatýva - Pytyvõ?

Nderehecháiva ko'ãva ohechauka ko'ãva mba'e, ha'e rupi oikóva 0x04 hína.

Paletakuéra rehegua ikatu oñemombe'u animation rupive ojepuruvéva paletakuéra he'i mba'éichapa oñangareko:

  • Aranduka primera siempre hína transparente, oñembohovái mba'éichapa oñe'ẽva.
  • Paletakuéra 1-24 hína paletakuéra 1-8-pe ha'eve'ỹrã jugador guasu.
    Ko'ã aña hína oúva jugador 1-pe, ndaikuaái che.
    Ajuhu, umi aña oĩva he'i hína hardcoded

Paletakuéra referencia

Bitmaps

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(32) Aiporã heta

Ojeha peteî mbyte de pixel data rupi - upéichante oñemohendáva 4-byte límite rehe.

Upévare, ikatu hína ojehecha peteî imagen línea py.

Mbopi ko'ãva ojehecháva, ha'e hína peichaháicha ohechauka, oiméne ojehecha peteĩ optimización render código rehe.

0x0004 uint(32) Offset

Ohechauka pe offset pe primera línea oúva pe Bitmap-pe

0x0008 uint(32) Yvoty

Ohechauka pe imagen rembiapo hái pixel-pe

0x000c uint(32) Mbyte

Ohechauka pe mbopi kuatiarã peteï pixel-pe

0x0010 uint(16) Typ

Ohechauka pe imágen rembiporã. Ko'ãga, ikatu oje'e hag̃ua ko'ãva oĩha peteĩ bitmaske:

  • 0x04 oĩ, peteî 1bpp-grafika umi caso-pe.
  • 0x40 oĩ, peteî grafika oikotevẽva windowing oikotevẽ hag̃ua.
0x0012 uint(16) Paleta

Ohechakuaa, mba'éichapa ikatu oñembohape peteî paleta PRT aranduka guive

Ko'ã datos estructura PRT-file omombe'u mba'eporãva umi sprites rehegua bitmap-kuéra omoheñói. Ko'ã bitmap oĩ icha peteĩ parte, oĩháicha heta oñembohéra peteĩ animación frame-pe peteĩ sprite rehe.

Umi imagen datos oĩ porãva ko'ágã op2_art.BMP juego directorio-pe.
Mba'éichapa ko'ã bitmap archivo oĩ peteĩ (oiko porãva) RIFF-bitmap header, nopendéi. Oĩ porãiterei Outpost 2 omohendapyta sistemas API ohechauka hag̃ua umi gráfico, ko header rehegua ojehecha porãite hína oñemohenda ko'ã, ha umi campo vai ojehechauka.

Umi pixel datos oĩ ko'ã BMP-file-pe Offset + uint32-Offset, ko'ã oĩ BMP-file-pe dirección 0x000A-pe (RIFF-bitmap datos offset), ha ohechauka yvypóra rehegua peteĩ tenda guasu ohasáva yvate guasu.

Monochrome 1bpp gráfico-kuéra ikatu ojehecha hína, ko'ã color 0 hína peteĩ transparencia porã, ha color 1 ikatu hína peteĩ semi-transparente hína mbo'ehara/gray, ojepurúva monochrome gráfico-kuéra hete hína umi vehículo ha edificio sombra-pe umi animaciones omohendáva.

Upévare ikatu oikotevẽ heta gráfica oñembohéra.

Protegido vivienda módulo (Plymouth)

Aña'ãmbyrakueté

Ko'ẽrõ jaikuaa hína Outpost 2 datos formato rembiapo pe aty guasu:
Animaciones.

Animaciones lista ojehu peteĩ header global, omba'apo marangatu hag̃ua datos verifikasión rupi. Upéi, ojehechakuaa animaciones definición, ikatu ojeko 3 etapa:

  1. Animación
    Animación ha'e pe tenda guasu; ohechauka peteĩ animación peteĩ unidad, peteĩ edificio térã peteĩ 'partícula-animación' (cometa, tiempo, explosión) peteĩ situación específica.
  2. Frame
    Frame ha'e peteĩ imagen peteĩ animación dentro. Animación ikatu oĩ peteĩ térã más frame.
  3. Subframe
    Subframe ha'e informasión oñemohendáva, peteĩ bitmap ojehecharamo hína peteĩ criterio rupi peteĩ posición de un frame-pe. Un frame ikatu oĩ peteĩ térã más subframe.

Upéi oĩhague hína umi animaciones definición.

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(32) Animaciones porã

Ko'ã Animación rekotee oĩ heta

0x0004 uint(32) Iñemohendaha kuatiarã

Mbopi peteĩ diko oĩva hína

0x0008 uint(32) Año submarandu

Mba'e hína subframe kuéra oĩva

0x000c uint(32) Mbopi apytu'ũ oñembojehe'ãva

Mbopi "opcional pyahu" ojapo hague.

Ñemohendapy

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0020 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(32) Nemo 1

Mbopi'ỹva marandu

0x0004 uint(32) Aña'ã: Yvypóra

Ohechauka pe tenda haguã ikatuva'erã (pixel-pe) pe Bounding Box rupi.

0x0008 uint(32) Bounding Box: Yvypóra

Oñemohendáva upe yvypóra yvypekuéra (pixel-pe) ohechauka Bounding Box renda.

0x000c uint(32) Bounding Box: Yvatekue

Ohechauka pe Bounding Box rupi haipyre (pixeles) rehe.

0x0010 uint(32) Bounding Box: Yvoty

Oipota pe yvatekue (pixel-pe) oĩva Bounding Box ryepýpe.

0x0014 uint(32) Offset: X

Ohecha pe animación mbohovái ha'e peteĩ tapicha iñemohendáva

0x0018 uint(32) Offset: Y

Ohechauka pe animasión rembiapo yvypóra kuarahy

0x001c uint(32) Nemba'e 2

Karai'ỹva Marandu

0x0020 uint(32) Iñemohendaha kuatiarã

Ohechauka mba'éichapa animación rehegua animación frame ize'ýta

0x0024 uint(32) Mba'e apu'a Windows

He'i mba'éichapa heta ventana oúva ohechauka hag̃ua

La datos orekóva, animaciónpe, ha'e umi datos administrativa - Boundingbox he'ĩ avei umi koordi'natokuéra, oñemohendáva veve upe vehículo/edificio rehe, ikatu rire ojehecháva ha he'i avei mba'éichapa pe área ikatu ojehecha.

Pe Offset he'ĩ avei ojehecha "punto cero"; pe punto, ojehechauka ojeikuaa hag̃ua ko'ã koordi'natokuéra ha ojeheja hag̃ua. Ikatu avei he'i matemáticamente: pe Offset he'ĩ ko'ápe pe koordi'natakuéra yvypóra.

Umi Windows ohechauka, ha'eháicha pe Offset, 4 uint(32)-valores, kuñakarai peteĩ Window-pe, he'ẽ peteĩ área, ojehecha hag̃ua mbopi jey. Upe Windows rupi, ifi'ape umi Bitmap rehe, ndaipóri ojehecha.

Marandu

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(8) Subframe rembiapo ha Toggle Optional 1, 2 rehe.

Ko'ã valor oĩ:

  • 0x7F (Bitmask): Oĩha subframes ʼreko, ohechauka ko frame-pe
  • 0x80: Información ojapoha, oñemohendáva Optional 1 ha 2 oĩha
0x0001 uint(8) Aña'ã 1 ha Toggle pe Optional 3, 4.

Ko'ã mba'e oĩ:

  • 0x7F (Bitmaske): Ojehu'ỹ - Ahecha hína ko'ãva ohechauka hague mba'e Gameticks, oîva peve ohechauka hag̃ua frame próximo
  • 0x80: Marandu oñembojoajuha, ha'eve Optional 3 ha 4 oĩva
0x0002 uint(8) Opcional 1

Oñemohendáva

0x0003 uint(8) Opcional 2

Oñemohendáva

0x0004 uint(8) Opyta 3

Oñemohendáva

0x0005 uint(8) Opcional 4

Oñemohendáva

Submarã

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Oguereko Datos tipo Aña Mbohovái
0x0000 uint(16) Bitmap-Id

Aña hína, mba'eichapa Bitmap oñemohendáva ko Subframe-pe

0x0002 uint(8) Nemo 1

Oñemohendáva nderehe, ha upéicharamo jepe, chemandu’a porã hína ko’ã mba’e oikóva render-priyoridad (Z-Layer) rehe.

0x0003 uint(8) Subframe-Id

Ohechauka mba'éichapa subframe-pe roikóma

0x0004 sint(16) Offset - Yvypóra

Ohecha mba'éichapa oĩta pe subframe frame-pe, térã mba'éichapa pixel-kuéra ohasáta horizontalmente pe bitmap.

0x0006 sint(16) Offset - Yvoty

Ohechauka mba'eichapa oĩta frame-rape oĩrõ subframe, térã mbo'ehara pixel kuéra mbohysýta bitmap-rape.

Nderehecha ko'ãga ikatu jaipytyvõ peteĩ frame ha avei animationa porãite ojehapykue, ko'ãga ohechauka peteĩ animationa tuichavéva rehe, animationa orekóva index 500, ombopi.

Animación 500

Animation 500 ohechauka mba'éichapa peteĩ Plymouth-transportador, orekóva karai porãme, oñemohendáva. Kóva ha'e peteĩ umi animación ohechauka va'ekue windowing funcionalidad.

Ha upéicha ikatu oñemohendáva animation porãite.
Añetehápe, oĩ peteĩ problema upe yvysypa'i hague, ojehu hína upépe korasö bit niãgra gráfica typa información ndohupytyi.

Añetehápe, oĩ avei peteĩ par de sprites animados porãite oúva upe juego-gui.

Rendering de Animation 500 ohechauka

Animation 500 oñembopohano porã

Plymouth Oñondive

Eden Yvypóra

Eden Médiko Centro

SCAT

Plymouth Yvypóra

Easteregg:
Karai Ñandejara

Easteregg:
Dans Kavaju

Usuario-Interface

Ko'ẽ porã, oĩ hína pe juego rembiapo, ohechauka peteĩ metálico mba'eporã.

Mano ohechaukávo, Dynamix ndahasýi hína pe yvypóra reko; ko'ágã, ndohupytyi hína umi User32 ha GDI32 APIs ombohapéva Windows, ikatu avei oipuru umi recurso rembiapo ohechauka User32.

Umi recurso ojejuhu ikatu hína programa kuéra, ejemplo, pe Angus Johnson ombohapóva Freeware, Resource Hacker, térã - ojehecha hína Linux / Mac OS-pe, oheja hína Wine rembiapo - ojapo peteĩ wrestool oĩva icoutils ndive.

Heta'ã Mbopi
Outpost2.exe Ohechauka hína pe juego rembiapo, omosẽva pe espacio estación New Terra renondépe
op2shres.dll Ohechauka hína grafika tembiporu rehegua, umíva oñemohenda, botones, radio-botones ha checkbox, avei diálogo yvoty, historia mbojoja rembiapo ha peteĩ grafika haundy menú rembiapo
out2res.dll Ohechauka hína ingame ventana rembiapo, icono kuéra metal normal ha especial, carga pantalla, grafika diálogo ha ambue cursor grafika, avei animado kuéra juego rembiapo