Outpost 2 mbongui ya fayili · bei.pm
Ébomi ya ba fichier oyo elobami na esanga oyo ebimaka na ndakisa ya bokomi ya mindondo ya Dynamix, Inc. mpe Sierra Entertainment.
Bokomi ya mindondo ezali lelo na part ya Activision Publishing, Inc.- / Activision Blizzard, Inc. mpe ezali na maboko ya Microsoft Corp..
Mokuse ya ba ntina ekozali na Reverse Engineering mpe Données analyse mpo na makambo ya archivage mpe interopérabilité na ba données ya kala.
Ezali te kosalela ba spécifications ya bokonzi to ya solo.
Mokolo oyo, jeu ekoki kokatwa na gog.com lokola téléchargement.
Likambo oyo ezali kotala makambo nazali koyeba na ba format ya data na mposa ya sika "Outpost 2: Divided Destiny", oyo ebandaki na 1997 na Sierra mpe ekelaki na Dynamix.
Nakopela nguya kati ya 01 sanza ya Novambere 2015 tii na 14 sanza ya Novambere 2015 na etali ya koyeba makambo ya data ya mposo - mpe ndenge ya kopesa yango.
According to the information I have gathered so far, Dynamix - como ba entreprise kombo ya mabe - esalaki ba format ya data te pona Outpost 2, kasi ezalaki kolanda mpe na bapesi mosala mosusu lokola na sango ya Mechwarrior (ebongisami).
Na ntango moko, ezali kaka komona, ete innovation ya ba format ezali na limite mpe ezalaka na ba conception ya kala ya ba format oyo ezali na ndenge ya JFIF mpe RIFF.
Pona koyeba makambo ya ba table na ba format ya data, ezali na makambo mosusu na Nani oyo?.
Ba data oyo oyo ezali na nzela ya Little Endian.
Nkasi, nakoki koloba ete Reverse Engineering ebotaki malamu, ata soki eza te na bokateli ya 100%.
Nazali komona lisusu ete nazali na esengo ya komela mposo yango, mpo eza na ba mécanismes ya mposo ya mpenza.
Banda ya liboso
Format ya ba données oyo ezali kosalema na Outpost 2 elendisaka na JFIF / PNG - ba données ya solo ezali na 8 Byte Header na ntango nyonso. Yango wana, nazali kokanga te, mpe na esika ya sika nazali kopesa maloba ya ndenge na ndenge na ba Header.
Format ekokisi nyonso; ba données ya sika ezali na yango:
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(32) | Bayi ya Magie | Ezali na nsango oyo etali yango nini ekosalela na data ya mabe ezali koya. Makambo ayembi:
|
0x0004 | uint(24) | Bolenge ya bloki | Eloko ezali na ntina ya ndenge nini (na Byte) etali bloc ya ba données oyo esengeli. Ako ezali makambo ya ba données ya solo - ba 8 Header-Byte ezali te na yango. |
0x0007 | uint(8) | Bande? | Ezali te kolanda, mpo na nini blok oyo ezali kosalela malamu. Na ba Volumes, valeur oyo ezalaka na ntembe 0x80, na ba fichier mosusu ezalaka na 0x00. Yango etali, ezali na ntina ya flag-set. |
Mibeko
VOLUMES ezali ba conteneurs ya données mpo na jeu, ndenge na ndenge na archive format lokola Tarball. Na Outpost 2, format yango ezali kolanda ndenge ya ba fichiers - te ba dossiers. Ekozala na mposa ya simuler yango na ba noms ya fichiers oyo ebongi.
Volume ezali na Volume-Header mpe na ba Volume Blocs mingi, oyo ezali na ba fichiers ya sika.
"Volumes" ezali ba fichiers oyo ezali na fin 'vol'
na répertoire ya jeu.
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 4f | 4c | 20 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | O | L | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(32) | Bits ya nzela | |
0x0004 | uint(24) | Mokolo ya block | |
0x0007 | uint(8) | Bendera |
Nkolo ya Volume
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 68 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | h | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(32) | Bits ya nzela | |
0x0004 | uint(24) | Mokolo ya block | |
0x0007 | uint(8) | Bendera |
Volume Header ezali na yango mpenza biloko ya kosalela te.
Ezali kaka lokola kontene.
Nako ya liboso na Volume Header ekozala ba Volume Strings; nsima ya yango ekobima ba Volume-Informations.
Banda ya Volume
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(32) | Bits ya nzela | |
0x0004 | uint(24) | Mokolo ya block | |
0x0007 | uint(8) | Bendera |
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 73 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | s | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(32) | Bits ya nzela | |
0x0004 | uint(24) | Mokolo ya block | |
0x0007 | uint(8) | Bendera | |
0x0008 | uint(32) | Mokolo ya payload | Yebisi na ndenge bytes ya ba données oyo ezali na esika ya vrai na yango. Banda na yango, ba données oyo ezali na liste ya ba volume-strings ezali mpo na garbage. Na ba fichier oyo ezali na date ya nsima, ba 'données oyo ebaki' ezali 0x00, oyo ekoki kolimbola mabe na toolchain na ntango ya kobongisa jeu, yango elingi koloba ete moko akomaki kosala na esika ya malamu na kokokisa ba buffers, mpo na esika eza na ntina te na jeu soki ba données ezali na kokokama to te. |
0x000c | uint(8)[] | Mokanda ya masolo ya fayilo | Oyo ezali liste ya ba nom ya fichiers ya 0-Byte terminée, oyo - na nzela ya ndenge ya données oyo ezali na kati - ekoki kaka kozala na ba signes ASCII. Esengeli te, na ntango ya koparser ba données, kotala yango na lolenge mosusu, mpo na ba informations ya volume esalaka referens ya ba offsets ya ba nom ya fichiers na ndenge ya mosika. |
Na ba Volume Strings, ezali eklisti ya mibale ya ba fichier oyo ezali na kati ya volume.
Makambo ya Volume
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(32) | Bits ya nzela | |
0x0004 | uint(24) | Mokolo ya block | |
0x0007 | uint(8) | Bendera |
Mosala ya volume ezalaka na mateya ya sika makasi na mitambo. Eza na ndenge moko ya FAT (FAT = File Allocation Table)
Namba ya mitambo ebandaka na mabe ya blok ozali kokitisa na mbala ya ba veris ya mitambo - 14 Byte.
Ba veris ya mitambo nyonso eza na lisangani oyo:
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(32) | Nkombo ya fichier-offset | Kotalaka na esika ya offset (!) na kati ya liste ya noms des fichiers (Volume-Strings) oyo nom ya fichier ezali. Ebimisaka na ntango ya ebongiseli ya ba données. |
0x0004 | uint(32) | Offset ya fichier | Eyebisi na nani offset na kati ya biloko nyonso ya volume, esaleli yango na file oyo ezali. |
0x0008 | uint(32) | Bokilo ya file | Koleka nzela ya file na byte. |
0x000c | uint(16) | Bande? | Eloko ezali kolakisa bisengo ya ntango ya kodage ya fichier.
|
Blok ya Volume
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 42 | 4c | 48 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | B | L | H | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(32) | Bits ya nzela | |
0x0004 | uint(24) | Mokolo ya block | |
0x0007 | uint(8) | Bendera |
Na volume-block, ezali container moko, ekokisa ba fichier. Eza na ndenge moko - na ndenge ya block, ezali na ba taille ya fichier na mobali pe na nsima, ezalaka na ba données ya utilisation.
Nganga
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 50 | 42 | 4d | 50 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | P | B | M | P | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(32) | Mokusembo ya mayele | |
0x0004 | uint(24) | Mokolo ya blok | |
0x0007 | uint(8) | Bandere |
Na Tiles ezali motindo ya bitmap ya grafika oyo eza ya Outpost-2.
Ezali na Tilesets 13, oyo bayebani "wells" (well0000.bmp
ti well0012.bmp
),
bango bazali na ndani ya volume maps.vol.
Mokolo wana, Tilesets / Wells ezali na yango:
Nom de fichier | Contenu |
---|---|
well0000.bmp | Une image bleue de 32x32px - idéale pour tester si votre chargeur d'images fonctionne |
well0001.bmp | Contient des roches claires, des chaînes de montagnes sur des roches claires et d'innombrables variantes de cratères d'impact dans des roches claires |
well0002.bmp | Contient des 'Doodads' sur roches claires - des éléments pouvant être placés pour aérer (ou intentionnellement comme structure, comme des murs) sur des roches claires, y compris de la végétation |
well0003.bmp | Contient une structure croûteuse sur des roches claires |
well0004.bmp | Contient des roches sombres, des chaînes de montagnes sur des roches sombres et d'innombrables variantes de cratères d'impact dans des roches sombres |
well0005.bmp | Contient des 'Doodads' sur roches sombres - des éléments pouvant être placés pour aérer (ou intentionnellement comme structure, comme des murs) sur des roches sombres |
well0006.bmp | Contient une structure croûteuse sur des roches sombres, ainsi que des transitions entre roches claires et sombres |
well0007.bmp | Contient de la lave avec 4 à 5 images d'animation |
well0008.bmp | Contient du sable et d'innombrables variantes de cratères d'impact dans le sable |
well0009.bmp | Contient des 'Doodads' sur sable - des éléments pouvant être placés pour aérer (ou intentionnellement comme structure, comme des murs) sur le sable |
well0010.bmp | Contient 48 transitions du sable vers des roches claires et sombres |
well0011.bmp | Contient les calottes polaires de la carte, avec des roches sombres comme sous-couche |
well0012.bmp | Contient les calottes polaires de la carte, avec des roches claires comme sous-couche |
Ekoki na bonsomi mpo na komela malamu, kosala tiles te na libanda mpo na kokanga yango, mpo na ndenge ya mikolo/mokolo eza na mosala - mpe ba données mingi mpenza ekokisi.
Les tiles ezali ba grafiki 8bpp na palette ya indexée na 32x32 pixel résolution, oyo ezali kokamata na nzela ya moto. Na tile set oyo esalemi, soki ezali na ndenge mingi.
Conteneur principal ezali na 2 sections: head
mpe data
.
Makambo ya Makasi
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 68 | 65 | 61 | 64 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | h | e | a | d | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(32) | Mokusembo ya mayele | |
0x0004 | uint(24) | Mokolo ya blok | |
0x0007 | uint(8) | Bandere | |
0x0008 | uint(32) | Version / Bilanga? | Ekoki kozala likambo ya ndakisa ya format ya file; na biloko nyonso oyo nalingi, elaki awa nko |
0x000c | uint(32) | Bokasi (Ezali na nzela ya seko) | Ezali komonisa ndenge ya bonzambe ya fichier ya image ezali (na pixel). Na biloko nyonso ya Outpost 2, esengeli kozala na valeur |
0x0010 | uint(32) | Mokili (Mokonzi ya likolo) | Ezali na yango, ndenge ya kokoma ndenge nini esika ya bafoto ezali (na pixel). Na ba wells nyonso ya Outpost 2, ekoki kozala na eloko |
0x0014 | uint(32) | Loboko ya mibale? | Kopole ya ndenge oyo ezali te. Lokola ezali na biloko nyonso oyo esaleli, ezali na kopesa |
0x0018 | uint(32) | Boto ya mbala 2? | Ntina ya valeur oyo ezali kolobela te. Ekoki kozala 'objectif'-kondima ya couleur. |
Na ba ntina oyo, ezozala lisusu fiche ya palete oyo ezali na format ya RIFF ya kitoko. Ekomeli ya malamu ezali - mpo na palete ezalaka na banso - na Palete.
Mokanda ya Tiles
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 64 | 61 | 74 | 61 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | d | a | t | a | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(32) | Mokusembo ya mayele | |
0x0004 | uint(24) | Mokolo ya blok | |
0x0007 | uint(8) | Bandere |
Nako, bikela ya pixel ezali kolanda, ezali na ngala ya likolo-kasi na ngala ya mobulu.
Vale ya données na ba grafiki oyo, oyo ezalaka na forme ya 8bpp-Bitmaps, ezali na index ya couleur na palette ya couleur.
Engin ya jeu ezali kosakola tiles na *soki* na ntango ya kofanda.
Ezali kolobela, na kati ya bakanisi, na cycle ya mokolo na butu oyo ezali na 32 ba niveau ya tiles. Na yango, ekomama ete ezali kokamwa na valeur ya lumière na 'mokolo moko' ezali komisiwa. Ba valeurs ya solo esalemaki te, nazali kosala na base ya calculation
v *= (daylight / 48) + 0.25;
na ba données ya HSV ya pixels, où daylight ezali valeur ya 0-31 mpe v ezali valeur ya 0-1. Mpe lisusu, ezali na ntina ya kolakisa ete na map ezali na mbala moko 16 tiles na mabelé na mabele (oyo ezali mpo na kobimisa ba unités na nzela ya kokanga).
Mokolo na butu cycle ezali kolakisa na gamecycle moko na kolakisa kaka mbala moko ya map.
Cycle ya mokolo na butu oyo ekosala na mposo ezali lokola oyo:
PRT
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 43 | 50 | 41 | 4c | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | C | P | A | L | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(32) | Bayi ya Makasi | |
0x0004 | uint(24) | Bongo ya palete | Eyokani, na ndenge ya ndenge na ndenge ya bloc ya kitoko, ezalaka nombolo ya palet oyo ezali na file oyo - te nzela ya bloc na ba byte. |
0x0007 | uint(8) | Bendera | Na likambo ya solo, ndenge na ndenge, ba-Flags. Na ngai, nalingi te ba-Flags; mpo na ndenge nyonso oyo nayebi, ba-valeurs nyonso ezali |
Nani PRT
realmente ezali, nazali te na nzela ya koyeba; ezalaka na libanda lokola 'Palette na Ressource Table' - mpo na ete fichier oyo - oyo ezali na op2_art.prt na maps.vol - ezali ndenge yango, to esengeli kolobela malamu mikolongi oyo.
Fichier oyo ezalaka na liste ya palete, table ya biloko nyonso oyo esalemi na Bitmaps, nyonso ya définition ya animations mpe soki eza mingi ya ba données oyo ezalaka na bobola. Esubaka na format ya container oyo esalemi, kasi te, mpo ezalaka na ba enregistrements nyonso oyo esalemi na format yango.
CPAL
sektion (ekoki kozala mpo na container ya palete) ezali kaka kofungola ba données ya palete, na kolobela, combien ya ba palete ya 8-Bit oyo ezalaka na 1052 byte.
Ngai 1052-byte eza na kati te na nzela ya kokamwa, mpo na format ya palete ekoki kozala na ba palete ya ndenge moko. Eza kaka mpo na ba données oyo, oyo Outpost 2 ekozala na yango.
Na nsima ya ba listes ya palete, ezali mpenza na nsima na nzela ya nzela, ya liste ya Bitmaps; ndenge moko na nsima ezali na liste ya animations.
Bayebani na yango na uint(32) (to soki ezali uint24 + uint8 flag?) oyo eza na nombre ya ba enregistrements.
Palete
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 50 | 50 | 41 | 4c | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | P | P | A | L | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(32) | Mokolo ya maboko | |
0x0004 | uint(24) | Liso ya palete | Ya, na mpona ndenge ya sika ya format ya bloc, kolakisa nzela ya ba palet oyo ezali na fichier oyo - te, ezali te nzela ya bloc na byte. |
0x0007 | uint(8) | Banderoles | Malamu, ndenge ya sika, ba flags. Nazali na ntina te na ba flags; mpo na ba valeur nyonso nayebi ezali |
Informations na ba palettes ezali kolanda ntango moke.
Ezali na header moko mpe na data segment moko.
Ntoma ya Paleti
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 68 | 65 | 61 | 64 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | h | e | a | d | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(32) | Mokolo ya maboko | |
0x0004 | uint(24) | Liso ya palete | Ya, na mpona ndenge ya sika ya format ya bloc, kolakisa nzela ya ba palet oyo ezali na fichier oyo - te, ezali te nzela ya bloc na byte. |
0x0007 | uint(8) | Banderoles | Malamu, ndenge ya sika, ba flags. Nazali na ntina te na ba flags; mpo na ba valeur nyonso nayebi ezali |
0x0008 | uint(32) | Version ya palete? | Ekoki kolakisa na boboto, ndenge nini format ya palete ezali kolanda. Ba palete nyonso ya Outpost2 ezali na version |
Bokelani ya palete
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 64 | 61 | 74 | 61 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | d | a | t | a | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(32) | Mokolo ya maboko | |
0x0004 | uint(24) | Mokolo ya block | |
0x0007 | uint(8) | Banderoles |
Sezione ya ba données ekozwela ba entrée ya palet moko na moko. N° ya ba entrée ya palet ezali na ndenge ya block / 4.
Ba entrée moko na moko ezali na ndenge oyo, ya sika te;
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | 04 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(8) | Komponenta ya mabele ya pulupe | Ezali kolakisa portion ya mbala ya moke ya pɛpɛ ya mɛrɛ |
0x0001 | uint(8) | Komponente ya zulu | Ezali kolakisa part ya nzete ya couleur |
0x0002 | uint(8) | Komponente ya mbala moke | Eloko moke ya banzela ya mvula |
0x0003 | uint(8) | Eza te - Banderole? | Ezali na mokuse, ezali na likambo ya kolanda, mpo na nini esengo oyo ezali, ndenge ezali na ndenge ya |
Nako na palet, ezali na nkombo ya kosala, etali palet oyo ekozala na animation, bokoki koyeba ete mibeko ezali:
- Mokolo ya liboso ezali TOZALI na transparence, ata soki nini esalemi na yango.
-
Ezali na palet 1-24, na palet 1-8 ezali komonana lokola couleur ya joueur.
Mokolo ya ba couleur oyo ezali esika ya joueur 1, nazali na mposa ya koyeba.
Nabondeli, ba couleur oyo oyo esengeli ete ezali hardcoded.
Bitmaps
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(32) | Mokolo ya mbala | Eyebisa ndenge ya banzela ya pixele na byte - mpo na yango bazali na bato ya 4-byte. Na yango, ezali na esengo ya kokanga nzela moko ya image. Mbala oyo motango oyo ekoki kokangama, ndenge na ndenge, ezali na mposa te. |
0x0004 | uint(32) | Offset | Ezali kofuta ya ligne ya liboso na bitmap |
0x0008 | uint(32) | Bokeli | Kabola ya eloko na pixel |
0x000c | uint(32) | Loyembo | Yebisa moke mabele ya bongo na pixele |
0x0010 | uint(16) | Typ | Eloko ya mbala ezali koloba. Na yango, ekomi lokola bitmask:
|
0x0012 | uint(16) | Palete | Ekoteli, eloko ya palette oyo ekozala na motindo ya PRT |
Esimbi ya PRT ekomaka ndenge ya bitmaps oyo esalaka na sprites. Bitmaps yango ezali kati na eloko moko, oyo bazalaka na yango mingi mpo na frame ya animation ya sprite.
Mokolo ya malamu ya biloko ezali na
op2_art.BMP na esika ya jeu.
Mpo na nini esimbi ya bitmap yango ezali na (na ndenge ya malamu) RIFF-bitmapheader,
ezali na litomba. Likambo ya nsima, Outpost 2 ekoki kosalela API ya système mpo na kolanda
biloko ya grafiki, na ndenge oyo header yango ezali kozala na mombongo
kasi na bibanda ya ndenge yango ekosangisa.
Mokolo ya pixeldata ezali na BMP-file na ebonga Offset + uint32-Offset, oyo ezali na BMP-file na adrese 0x000A (RIFF-bitmap-data offset), kasi ekosangisa na ndenge ya libanda ya likolo tolinga na likolo ya esika ya mbala.
Biloko ya monochrome 1bpp ekoki kokatisa na ndenge oyo: ezali na couleur 0, lukasa ya mpasi, mpe couleur 1 ekoki kosala kaka elanga ya sika/mokolo, mpo na biloko ya monochrome ezali kosalela mpo na sombra ya makambo na animations.
Nako ekoki ko seka na biloko mingi.
Mikano ya motion
Tango tozali na nini ya nkóko ya misala na kati ya ba Outpost 2 format ya ba données:
Ba animation.
Ba liste ya animation ebandaka na header ya global, oyo ezali mpo na verification ya données. Nde, ekokisaka ba définition ya animation, oyo ezali na nzela ya 3 niveau:
-
Animation
Animation ezali instance ya nsima; ezalaka ndenge ya animation ya unité, ya bâtiment to 'particule-animation' (coup de comète, temps, explosion) na esika ya seko. -
Frame
Frame ezali eloko moko na kati ya animation. Animation ekoki kozala na frame moko to mingi. -
Subframe
Subframe ezali information oyo ezali koloba ete bitmap moko ekosalema na nkini moko na esika moko ya frame. Frame ekoki kozala na subframe moko to mingi.
Nde, ezali na ba définition ya animation.
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(32) | Mokolo ya ba-animation | Mbala nini ya bisika ya animation ezali na bango |
0x0004 | uint(32) | Mokolo ya ba frames | Mbala nini ba frames nyonso ezali na yango? |
0x0008 | uint(32) | Namba ya subframe | Mbala nini ba subframes nyonso bakoki kozala |
0x000c | uint(32) | Nombolo ya ba-entrées ya optionnel | Na ndenge nini "bakaraka ya kotala" ezali na yango. |
Animation
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0020 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(32) | Ekombo te 1 | Biloko ya malamu te |
0x0004 | uint(32) | Bokengeli: Na ntango ya mabele | Eza na ntango ya liboso (na pixel) ya Bounding Box. |
0x0008 | uint(32) | Bokeli ya nzoto: Malamu | Ezali komonanaka ya likolo (na pixel) ya Bounding Box. |
0x000c | uint(32) | Bokeli ya masanga: Bato | Eyebisa moke (na pixel) ya Bounding Box. |
0x0010 | uint(32) | Bokeli ya mabele: Banga | Oyo ezali kolakisa bokoko (na pixel) ya Bounding Box. |
0x0014 | uint(32) | Offset: X | Eza na mokitani ya horizontal ya animation |
0x0018 | uint(32) | Offset: Y | Eyebisa centre ya animation na nzela ya makasi |
0x001c | uint(32) | Eza te 2 | Ntina ya ntina te |
0x0020 | uint(32) | Mokolo ya ba frames | Eloko na, ndenge ya animasyo ezali na bisika ya animasyo na yango |
0x0024 | uint(32) | Ekombo ya Windows | Elenga ndenge nionso ya bafungoli oyo esengeli kozala na ngonga ya kosalela |
Banzela ya sika, ya animation, ezali na makambo ya ntango ya liboso - Boundingbox elobeli ba koordina ya moke ya banzela ya motokisi/nganda, soki yango eseleki mpe ebandeli na nse ya elanga esengeli kosala.
Offset ezali kolanda "point zéro"; point oyo ebongi na ba koordina ya jeu, to kosuka. Okanisi na matema: offset elobeli awa koordina ya bantoma.
Banzela ezali, lokola offset, na (banzela nyonso) mibale ya 4 uint(32)-valeurs, ezali kolobela eteni oyo esengeli mpo na banzela ya subframes. Na sika ya banzela, soki eza mpo na bitmap, ekoki te kolanda.
Cadre
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(8) | Nombolo ya subframe mpe Toggle ya Optional 1, 2 | Ntángo oyo ezali na:
|
0x0001 | uint(8) | Ntango 1 na Toggle mpo na Optional 3, 4 | Valor oyo ezali na:
|
0x0002 | uint(8) | Optional 1 | Te na zali na makambo |
0x0003 | uint(8) | Kopolo 2 | Te na zali na makambo |
0x0004 | uint(8) | Optional 3 | Te na zali na makambo |
0x0005 | uint(8) | Optional 4 | Te na zali na makambo |
Subframework
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karaktere | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Ntángo ya données | Nkombo | Bolanzo |
---|---|---|---|
0x0000 | uint(16) | Bitmap-Id | Ekoma yango, elobi soki bitmapi nini ekosala mpo na subframe oyo. |
0x0002 | uint(8) | Ekombo te 1 | Ezali na makambo te - nakosala na esengo, nakoki kokanisa ete ezali likambo ya priorite ya rendere (Z-Layer). |
0x0003 | uint(8) | Subframe-Id | Ezali na ndenge ya kolakisa, na subframe nini tozali |
0x0004 | sint(16) | Offset - Hozontal | Eyebisa ndenge ya kokota na kati ya frame, soki esengeli kobimisa subframe, to mpona ndenge mingi ya pixels oyo bitmap ekosengeli kokwea na nzela ya libanda. |
0x0006 | sint(16) | Offset - Vertikale | Komi yango, wapi na kati ya frame subframe ekosengela koyekwa, to na mikolo mingi nini bitmap ekosengelaka kokende na likolo to na nse. |
Na yango, tozali na possibilité ya kolakisa ba frames moko, mpe mpe animations nyonso, na ndenge ya koyeba, na ndakisa ya animation ya kitoko, animation oyo ezali na index 500, kolakisa
Animation 500
Animation 500 ezali kolanda ndenge ya Plymouth-transporteur, oyo ezalaka na errz ya ntina, ezali kokweya. Ezali moko ya ba-animation ya moke oyo ezali kosalela fonctionnalité ya Windowing.
Na ndenge wana, tokoki kobongola animation nyonso.
Mokoli, ezali na problème moko na likolo ya lades, mpo na
bit oyo ezali na graphic type information ezangi koyekola.
Mpo na yango, ezali na ba sprite moko ebele, ya malamu koleka oyo ezali na jeu:
Interface ya mosala
Ngai soki nasili, naino ezali ko zala na interface ya utilisateur ya jeu, oyo ezali na metal ya mbala-look.
Nani mpe epayi ya ntango, ezali komonana ete Dynamix asengeli te kosala libongo; na yango, ezali te kokanga nsima ya ba API ya User32 mpe GDI32 oyo Windows esengeli - malamu, ezali mpe kosalela gestion ya ressources ya User32.
Ezali na ndenge ya kokanga yango na programa lokola oyo Angus Johnson asalaki ndenge ya Freeware Resource Hacker, to - soki oza na Linux / Mac OS mpe otika kokoma na Wine - na ndenge ya kosala na icoutils oyo eza na wrestool.
Kombo ya fayl | Nzela |
---|---|
Outpost2.exe | Ezali kaka na ikoni ya jeu, oyo elakisi esika ya sika New Terra |
op2shres.dll | Ezali na mbala ya grafiki mpo na bitumbu lokola ba bordures, ba bouton, ba radio-button mpe ba checkbox, mpe mpe na ba fond ya dialogue, ba mpeki ya sika mpo na ba texte ya mission mpe grafiki ya fond ya menu ya liboso |
out2res.dll | Ezali na dekorasyon ya fenetre ya jeu, ba ikoni mpo na metali ya ndenge na ndenge mpe ya kitoko, ekangami ya likambo, ba grafiki mpo na dialogue mpe mbala mosusu ya grafiki ya cursor, yambo na ba animés na fichier ya jeu |