Outpost 2 dátáformátat · bei.pm

Dátteáhkka lea automáhtalaš gássa OpenAI GPT-4o Mini-juvvon.

Gođđi huhtaa jearráhusaid datain formatat lea based diekkázaš analýsiid mátkkošat viertelgoaš Dynamix, Inc. ja Sierra Entertainment.-
Viidá mátkkošat lea dán álbmot Activision Publishing, Inc. / Activision Blizzard, Inc. -massas ja dat lea daná Microsoft Corp..

Diehtot lea doaimma Reverse Engineering ja Datenanalyse dárbbašii archiváhusa ja interoperabilitehta historihkasa diehtasaid.
Guhttašii dasa ei lehkki dohkáhusaid dahkat.

Spille lea daná gog.com -sii ealli gohččat dieđus.

Spilláhkká

Dát lea ášši artikláid dihtii mu mátkkujuvvon dátaformátteja "Outpost 2: Divided Destiny" - eallima, mii 1997 sierrá juohkehuvvo ja Dynamix áššon.

Mi dohkká 01. biejjola 2015 ja 14. biejjola 2015, eaihe válddejuvvon dáta áššis - ja maid sáhte geahčči.

Infot, mii mun áiggi geavahuvvon, eaihe Dynamix - go dušše mátkkujuvvon jádnan - eaihe fáhkkádat dátaformátteja oktavuohta Outpost 2, muhto oainna muhtum áššis Mechwarrior-sáddet (mii áššon).
Dat lea mátkkujuvvon ášši, mii geahččá, ahte dátaformátteja innováhttašvuohta lea ášši muhtum ja dihtii ustituheapmi vuođu JFIF ja RIFF.

Buoridit danit tableahka ja dátaformátteja, dušše geahččit áiggi Mii lea mii? viiddá.
Dát áiggi mii leat oahpahuvvon lea muhtum Little Endian.

Šattá ieš lea ášši ahte Reverse Engineering lea muhtum dehálaš, muhto eaihe dehálaš.
Buot eaihe mun válddejuvvo, ahte dátažis spillii, de mii ášši geahččá eallima meáhkki.

Eahkedis

Outpost 2:in nannálaš datalaš formáhtat lea JFIF / PNG:in álgá - de individual datablokkat lea aina 8 bajtta header. Dán ii geahččat, ahte de individual headerat lea áiggi go sorbma ja dokumenteara doarvái geahččat.

Formáhta lea aina dán; de actuala bruksdatat lea dán ávkkus:

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(32) Báikálat várggat

Oahpahus leat eatnigiid, mii ferte goas datne datablocka ahte dehálaš.

Ahte buot ovdalit:

  • 0x204C4F56 ('VOL '):
    Volum
  • 0x686C6F76 ('VOLH'):
    Volum-Header
  • 0x736C6F76 ('VOLS'):
    Volum-Strings
  • 0x696C6F76 ('VOLI'):
    Volum-Informasjona
  • 0x4B4C4256 ('BLCK'):
    Volum-Block
  • 0x504D4250 ('PBMP'):
    Grafikkadata
  • 0x4C415050 ('PPAL'):
    Farvepaletta
  • 0x4C415043 ('CPAL'):
    Farvepalettá-Container
  • 0x64616568 ('head'):
    Header
  • 0x61746164 ('data'):
    Nutsdáta
0x0004 uint(24) Blokku-láhkku

Lea dán informacijá, gávdno sánit guovttos (báit) dán dataleavtta mii lea.

Deatnui lea doarjjálaš njuolggadat - de 8 header-báit ii lea dán geahččat.

0x0007 uint(8) Báhkat?

Dát lea ovddas, gávdnet go ii leat dássehuvvan.

Volumain lea dán duostta 0x80, iešdássehuvvan 0x00. Dát vástádallá, ahte dat lea flag-setup.

Vollumejit

Volumeat lea dátalaš kontainera speallii, muhto dušše arkivvormáda, vai Tarball. Dán mii Outpost 2 jápmái, format lea dušše fállaid - ii lea álbmot. Váldo dahkat gohččat dát runttehuvvat álgai fállaid.

Volume lea volume-header ja mii álgai muitalit volume blohkkaid, mii lea konkreta fállaid.

"Volumes" leat fállaid mii lea njuolga 'vol' speallii geavahus.

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 56 4f 4c 20 -- -- -- -- -- -- -- -- -- -- -- -- V O L . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(32) Mágihkku byteat
0x0004 uint(24) Blokkis dàiđi
0x0007 uint(8) Flaškkaid

Akká dárbbaš

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 76 6f 6c 68 -- -- -- -- -- -- -- -- -- -- -- -- v o l h . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(32) Mágihkku byteat
0x0004 uint(24) Blokkis dàiđi
0x0007 uint(8) Flaškkaid

Volume-headerii ráhkadivččat ii leat nubbádat.
Dá lea doarjja áibba.

Volume-headerii ádden dohkkehuvvat volume stringat; dan hálá dahkat volume-informášuvnnat.

Voliima strängat

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 76 6f 6c 69 -- -- -- -- -- -- -- -- -- -- -- -- v o l i . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(32) Mágihkku byteat
0x0004 uint(24) Blokkis dàiđi
0x0007 uint(8) Flaškkaid
Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 76 6f 6c 73 -- -- -- -- -- -- -- -- -- -- -- -- v o l s . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(32) Mágihkku byteat
0x0004 uint(24) Blokkis dàiđi
0x0007 uint(8) Flaškkaid
0x0008 uint(32) Payload-láhkka

Geahččá go mii bávččat byte-ide, ahte geahččat geainna datalaš duogasaid.

Dá lea geahččat, áiggi geainna datalaš volúme-strings-listta, ahte iđit geatnegámmát garbage.

Datalaš fállamaid, mii lea dárbbašvuođain, leat 0x00, mii šaddá áššis, ahte dat geainna duogasaid guovttegámmái lea gávdnat náhkkaleaddjiid, ja mii vel dárbbašvuohta lea manná guovttis, ahte geainna datalaš duogasaid lea njuohtat bahččat juohtit dahkkáldin.

0x000c uint(8)[] Dátanavnnat-lista

Dette lea 0-byte-terminera lista dihtor-návnnoda, maid - njuolggis leat deháleamos dátto-ala - barat doarjja ASCII-merkkaid.

Ei leat máŋga dábálaš, go datain parset, datain dábálaččat duogáldit, vai in volum-dáttoid, maid bearegoit suohkár dihtor-návnnoda offseta.

Volume stringit leat listta filbma navnna, juohke volumma áššis.

Voliimma informášuvnnat

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 76 6f 6c 69 -- -- -- -- -- -- -- -- -- -- -- -- v o l i . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(32) Mágihkku byteat
0x0004 uint(24) Blokkis dàiđi
0x0007 uint(8) Flaškkaid

Volume-informošuvnnat dálkká dii ohccegiid dušše férdaid. Dál njuolggut vain dásse čuovvut muhtun FAT-raššodaga (FAT = File Allocation Table)

Diibmu férdaid geavahat olbmot jearrat blohkka gámmirasa guovttos verkkajiidu - 14 Byte.

Olbmot verkkajiidit leat dásse bálkkis:

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(32) Dáiddaheaddji-Offset

Ávžžut goas lea nuppásti (!) datalaš nánnasaš listtas (Volumearit) datalaš nánna.

Dat lea áiggi muhtin nuytdata álgis.

0x0004 uint(32) Dáta-Offset

Oahpá goas, gos dat offset lea buot volume-fálaldaga ovttas, go dat fálaldaga lea.

0x0008 uint(32) Dáhta-gávnnat

Čáhces dáidda, mii lea sturmuheaddji bajás.

0x000c uint(16) Lippat?

Jávkkus álggašupmát ođđa dáhpáhusain datakoddašvuođa.

  • 0x03 lea gávdnet, jos datá lea komprimera. Dás lea álggašuppár Huffmann-bákkos.
  • 0x80 lea dássehuvvat dábálaš.

Voliimma lohkka

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 56 42 4c 48 -- -- -- -- -- -- -- -- -- -- -- -- V B L H . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(32) Mágihkku byteat
0x0004 uint(24) Blokkis dàiđi
0x0007 uint(8) Flaškkaid

Volume-blokka lea kontainer, juohkka fálddát fáileh. Dat lei doarjaga - blokkaformátin duogá - redundántta fáilebáhkká ja duostta gávdne njuohkágat.

Tileat

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 50 42 4d 50 -- -- -- -- -- -- -- -- -- -- -- -- P B M P . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(32) Mágihkku bytes
0x0004 uint(24) Blokku-láhkka
0x0007 uint(8) Lippat

Tilesat leat Outpost-2-árbeviessu Bitmap-grafikkasvuohta. Dát lea 13 Tileset-a, "wells" nannastit (well0000.bmp ja well0012.bmp), giđđat maps.vol volumiin.

Tileset-a / Wells áiggi lea dainna:

Fálddaheaddji Inháid
well0000.bmp 32x32px suurus, bláhka grafihka - ideála testimii, oahpahuvvamuš image-loaderin
well0001.bmp Gáldde bálkká, vuorddaid bálkká bálkká ja máŋggá varianttaid áššisrábmas bálkká
well0002.bmp Gáldde bálkká-'Doodads' - dehárbbaid, mii áddjá álbmot (dehárbbaid ahte struktúra, njuolggis muhto) bálkká, dehárbbaid vegetation
well0003.bmp Gáldde krustnasa struktúra bálkká
well0004.bmp Gáldde dark bálkká, vuorddaid bálkká dark bálkká ja máŋggá varianttaid áššisrábmas dark bálkká
well0005.bmp Gáldde dark bálkká-'Doodads' - dehárbbaid, mii áddjá álbmot (dehárbbaid ahte struktúra, njuolggis muhto) dark bálkká
well0006.bmp Gáldde krustnasa struktúra dark bálkká, ja Übergange bálkká ja dark bálkká
well0007.bmp Gáldde lava mii lea 4-5 frames animášiovddas
well0008.bmp Gáldde saŋka ja máŋggá varianttaid áššisrábmas saŋka
well0009.bmp Gáldde saŋka-'Doodads' - dehárbbaid, mii áddjá álbmot (dehárbbaid ahte struktúra, njuolggis muhto) saŋka
well0010.bmp Gáldde 48 Übergänge saŋka ja bálkká ja dark bálkká
well0011.bmp Gáldde Polárhábmát map, dark bálkká muhto
well0012.bmp Gáldde Polárhábmát map, bálkká muhto

Dat lea ráhkisvuohta muhto akkurátas mii lea gávdnet, ahte tiles ii leat mii dohká, dahje gohččut cache-juvvon, dakkár ahte datain dieđuid dagas/nuorra-cykla beaivváldaga eatnigan, ja máŋga datain geavahit.

Tiles leat 8bpp-grafiikkaid mii lea indexearde palettemi 32x32 piksel resoluhtas, mii lea searvvis. Ijja muhto dán mielde gávdnan máŋga

Dás main container leat 2 searvvi: head ja data.

Tilehárje

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(32) Mágihkku bytes
0x0004 uint(24) Blokku-láhkka
0x0007 uint(8) Lippat
0x0008 uint(32) Versio / Lippat?

Dat lea eará versjonaháldda fileformatin; gávdnat mu mielde, datbálvalat lea dehálašválddi 0x02

0x000c uint(32) Bárta (horizontála resoluhtio)

Čáje mii lea vuolggá dan bieldaáiggi (pixelmárkkuin).

Dán Outpost 2:s olbmuid, lea dán máttaráiggi 0x20 dahje 32 váras.

0x0010 uint(32) Váldde (Vertikála resoluhtuvdna)

Ilmmuheapmi, mii lea mátki bildafileas (pixelain).

Gáldu outpost 2:in wells-ain, dánne lea várttas 0x20 ja 32.

0x0014 uint(32) Fárbvuohta?

Dan čájehka dán vuorddaš áŋgiru šat lea uhtjodde.

Váldde sisa dán gávdnojuvvon fállaid, de dán vuorddaš 8 lea, de sáhttá leat čáđahuvvon máŋga áššes.

0x0018 uint(32) Ráhkadus 2?

Várddu šat máttaráhkkis lea muhtun.

Gávdnošat lea 'máhttu'-fárbbaid.

Dánnasa geahččaluhuvvon eanet ovttas riikkas RIFF-formáda fárbmádat. Dán speksifikasjona šaddá - danne fárbmát maid ávkkus jearrat - vuođđud Fárbmát.

Tiles-dátat

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(32) Mágihkku bytes
0x0004 uint(24) Blokku-láhkka
0x0007 uint(8) Lippat

Ánne lea fálal dátat, mii geavahuvvo meahcce-juohkevuodda, ja mii áiggi go friddja-ruovttus.
Dátalaš váldo, mii lea dán 8bpp-Bitmapiid, dáhtun muhtun fárbbaindeksas.

Pixeldátat geavahuhttá álggo ja gallá dollo.

Spill-Engine ákkis gávdnet Tiles *márkan* on-demand.
Dáhpáhus lea almmuheapmi dagu-náttázis, mii lea 32 álbmot Tiles. Dás lea gávdnet vuordde áigguhis 'njálga' dakkár. Njuolggahusvárdiid mii áigge háliidit, mun čađahit boradit

v *= (daylight / 48) + 0.25;

med HSV-datain pixelain, go daylight lea 0-31 válddu ja v lea 0-1 válddu. Guovddáš lea gávdnet, ahte mii map áigge lea 16 Tiles gávdnet maŋŋá ja dehála (mii dárbbašii ávkkastit unitain) áddjii.

Gođđat, dagu-náttázis veahkki pro Gamecycle áigge gávdnet doarjja map.
Dál veahkki dagu-náttázis dakkár čájehuvva:

Visualisering dagu-náttázis

PRT

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 43 50 41 4c -- -- -- -- -- -- -- -- -- -- -- -- C P A L . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(32) Mágihkkárat
0x0004 uint(24) Palettaháldda

Veara, goas muhto normála blokkformat, dáhpáhuvvii antáldu ovddas ja vuolggu in dán fáilema - ii leat blokkis movtti in byte.

0x0007 uint(8) Lippat

Vahkkui, juohku, flaggá.

Mun lea muhtun flaggá nugo; dahka ollu muhtun ávkanat 0x00 lehpat, de lea ođđa álgga davvisámegiella, dattá palettain ánnus vástidit go uint(32) lea.

Šat PRT presisvuođat máŋga lea in čállet; mii geatnegas eai máhcá 'Palette ja Ressource Table' - dán fáldá, geat lea op2_art.prt mii geavahus maps.vol - lea dán šat, dahje dán lea fuomášuvdna buorre váldin.

Dán fáldá lea listta palletu, taššálda šaddet bitmapiid, almmuhuvdnat ja muohta dán šaddáda. Dál lea fárdaga dieđu šaddu, muhto ii lea čuožžit geatnaga.

CPAL-sektion (mii lea šat pallentta-čáhppis) lea buorri palletdata, mii geavahus, go mii ákkárat go mii lea máŋga 1052 byte stora 8-bit pallet.

1052-byte geavddu ii lea veahkki, go palletformat lea mii geatnegas ášši birra palletbajás. Dán geavddu lea bohtet dieđu, go Outpost 2 lea vuosttaš.

Guđet pallet-listta lea guhtta ja ii lea čájehusa, manná lea listta bitmapiidda; dábála guhtta lea animasjoanlistta.
Dát geavahus vai uint(32) (dažat uint24+uint8 flags?) geavahus, mii lea dataleahka.

Palettat

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 50 50 41 4c -- -- -- -- -- -- -- -- -- -- -- -- P P A L . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(32) Mágihkku bátá
0x0004 uint(24) Palettahálli

Ráhkadit, maid normála blokformatta báikkit, antá álgá oahpahus palettain, mii lea dán fálla. - ii lea blohkka dábálaš bíttá.

0x0007 uint(8) Lippat

Vahkku, almmuheapmi, flaggádat.

Mun lean muhto não flaggádat; daid gávdnagoahtan veahkki 0x00 muhto, ávkkas heivet áibbas válddá, ja mii palettá-álkká erenoamán unti(32) válddá.

Paletteinformasjonaid lea válddehuvvan ášši.
Dá lea gonččat erenoamáš huhtá ja dátasegmenta.

Palettas-Header

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(32) Mágihkku bátá
0x0004 uint(24) Palettahálli

Ráhkadit, maid normála blokformatta báikkit, antá álgá oahpahus palettain, mii lea dán fálla. - ii lea blohkka dábálaš bíttá.

0x0007 uint(8) Lippat

Vahkku, almmuheapmi, flaggádat.

Mun lean muhto não flaggádat; daid gávdnagoahtan veahkki 0x00 muhto, ávkkas heivet áibbas válddá, ja mii palettá-álkká erenoamán unti(32) válddá.

0x0008 uint(32) Palettasforma-versiona?

Máhttá geahččalit, dan dieđus válddát goas palettastávrras versjon lea palettas.

Álggu Outpost2-paletteat geahččat versjon 0x01 lea.

Palettadatot

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(32) Mágihkku bátá
0x0004 uint(24) Blokká-geeahččaláhka
0x0007 uint(8) Lippat

Dataseksjonat njuvva ja vuolggahallan palettat. Palettain vuolggahallat máŋga geavahusa blokkas / 4.

Vuolggahallat geavahusa lea dakkár, guovttos ráhkisvuohta;

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 -- -- -- 04 -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(8) Ráđđeháldde

Dát dáhkku juohke ovttasvuođain čáppat

0x0001 uint(8) Grønn-komponenta

Ráhkka guovddášvuohta färgii

0x0002 uint(8) Blaččá komponenta

Ákkáldu blákkábmo girjjis

0x0003 uint(8) Unbáikodahka - Lávdegat?

Dat lea ahte, maid dakkár vahku mii niehkkár, dahke dat lea jearrat 0x04.

Gáddet palettemi, lea nu ahte, ettá álggašat animáhtalaš palettemi lea följande ságat:

  • Don álggašat fárbba lea DÁNÁLLE transparentta, válddi go mii fárbba lea geavahit.
  • Palettain álggašat 1-24 lea palettain 1-8 sihkkar fárbba.
    Dáhpáhusat fárbbaid mii álvá go sihkkar 1, lea mu ahte nu goasa.
    Muin lean háliid, at fárbbaid lea hardcoded.

Palettareferáhtta

Bitmapit

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(32) Bárgagašvuohta

Ráhkadit pixeldata rávvagii birra bajit - mii lea 4-bájá gávppis.

Dan háliidii riegádat goit báhccat váldde.

Vai dán váldde áššes geavahuvvo, muhto dainna heivehuvvon, lea guhkki.
Váldde mii lea optimisering rendrara koda.

0x0004 uint(32) Offset

Duodje offset dábálaš rivttas bitmap-s

0x0008 uint(32) Vuolggahas

Oahpahuvvot bilddas áibme vuollá

0x000c uint(32) Bártta

Álgga bálvaldiid bálvvis pixelain

0x0010 uint(16) Typ

Gávdnet bildas dáhpáhus. Dán guovttos maiddái lea bitmaske:

  • 0x04 lea setnán, jos dat lea 1bpp-grafikká.
  • 0x40 lea setnán, jos dat lea grafikká, mii álgá windowing-ovdán.
0x0012 uint(16) Palette

Definere, welke palette dás PRT-fáile máhkká áigu

Dáhtton dán PRT-fáile datastruktura áddjá, mii álggašii go bitmátat, mii šaddat skáidiid, lea meahcceha. Dán bitmátat lea dálkái okta suohkan, mii oaidná movtá muhtum áŋgiruhtta suohkan.

Álggahus bitmátat lea ođđa op2_art.BMP speálasvuođas.
Dejáj, mii dán bitmát fáile lea (mielde eará riđđes) RIFF-bitmát-háldda, lea unná. Mielde Outpost 2 lea ávkkis API-juvvon geahččat grafihkalaš, go dán háldda temporárta veahka ja geahččat, ođđa variáhtta.

Píkselat lea dán BMP-fáile positiiju Offset + uint32-offset, mii lea BMP-fáile adresá 0x000A (RIFF-bitmát datastruktura offset), ja lea guhkku ja riidá goađđi, go ovddas ja goađđi.

Monokromá 1bpp grafihkálaid lea dehálaš goahtta, mii 0-lea dolkku ja 1 lea halvaháldda juohká/gray, dát monokromá grafihkálaid lea geahččat muhtum ja buorre skálbbaid áŋgiruhtta.

Dán dihte žatnami muhtum grafihkálaid.

Álkkolaš biviid (Plymouth)

Animáhtta

Nu lean mii go danne Kuningclassa dišiplinain Outpost 2-databáhkkohis:
Animáhtit.

Animáhtilistat lea globála header, mii čohkká dataverdiktion, áibbat. Dánnamin lea konkrétta animáhtidefinitiohki, mii gávdná 3 stuorid.

  1. Animáhtit
    Animáhtit lea ovddas instánsa; dat geahččá animáhtta mii áššis, gárddi või 'partikkela-animáhtta' (komettášlagis, duohta, eksplosjon) áššis go danne.
  2. Frame
    Frame lea muhtin biddji animáhtas. Animáhtta sáhtá leat muhtin frame.
  3. Subframe
    Subframe lea dán information, mii geahččá go danne muhto bitmap áššis go danne muhto kriteriijin áššis. Frame sáhtá leat muhtin subframe.

Dánnamin lea nu daid animáhtidefinitiohki.

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(32) Animáhttaid álgga

Cuoŋom ánimáhttaidatabáhtit lea

0x0004 uint(32) Frame-mátkku

Jahkku mii frame-čáppa bearehagaid leat

0x0008 uint(32) Subframe-čáppir

Gii geahččalit subframe-ii máŋga čuovvut

0x000c uint(32) Ovttasvuođaid máŋggabeaivvi

Gávnnat mii "valjáhuvvon iešvuođat" lea.

Animášoht

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0020 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(32) Unknown 1

Jávkkus informasjónat

0x0004 uint(32) Bárgŋu boks: Lávkká

Váldde lea máŋga luhttu (i pixel) Bounding Box vuordde.

0x0008 uint(32) Bounding Box: Ođđajagis

Duššjain ođđa áššis (pixelmárkku) Bounding Box -n.

0x000c uint(32) Báikkitbox: Báidda

Davvisámegiella (i) Bounding Box -n ráhkisvuođa (pixel) dušše.

0x0010 uint(32) Báikkálaš boks: Gávdnadallat

Gávdnet dáddjái (i pixel) Bounding Box iđđes.

0x0014 uint(32) Offset: X

Gieht horisontála mátkku dihte animasjoavttas

0x0018 uint(32) Offset: Y

Lea vertikaála middu mii animáhtdii

0x001c uint(32) Unnje 2

Ánnikka informatihkka

0x0020 uint(32) Frame-mátkku

Ráhkka dáhpáhuvvat, mii nuppástuhttá animasjoŋdaid máŋga framá

0x0024 uint(32) Windows-maahtta

Ráhkadit, maid mii fállá dássehuvvan okta fénsterit

Deavddagat, mii lea ovttaslágan, animasjonas, leat vairašvuohtaheaddjiid deavttádat - Boundingbox geavdde mii koordinaššaiid markereamiid vuosttašvárdnu/ráđđe, siiddat go dat lea valggán ja geavdde iđit, geahččat mii áibbas ávkkus.

Offset geavdde vairašvuohta "nullduorast"; duorast, mii lea spealu-innaru koordinaššaiid maŋŋá muhtun ja geavdde iđit, mii áibbas fasttala koordinaššai.

Windowsit leat, nugo offset, 4 uint(32)-gávppat (dáhpáhus) goahtán, mii geavdde duorast, mii lea fárkku subframejain. Dálkká Windowsit, soahkkat, mii lea bitmap gávppat, ii geahččat.

Ráhkisvuohta

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(8) Subframe-čálli ja Toggle pro Optional 1, 2

Duottar lea:

  • 0x7F (Bitmaskka): Almmuheapmiid suohkan, mii lea gávdneduvvon dán frame
  • 0x80: Oahpaheaddji, maid lea ovttas 1 ja 2 geavahuvvon
0x0001 uint(8) Boazot 1 ja Toggle für Optionála 3, 4

Dasá buot hárje:

  • 0x7F (Bitmaskka): Oahpahus - Mun álgga gávdnan, dass dat lea gametick-ain mátkkus, mii čuoččut, dakkár álgoprávsi vástid
  • 0x80: Oahpahus ovttas, omá Optionál 3 ja 4 lea sihkkar
0x0002 uint(8) Valbar 1

Ánnáš

0x0003 uint(8) Valgamuš 2

Ánnáš

0x0004 uint(8) Valgget 3

Ánnáš

0x0005 uint(8) Valgalaš 4

Ánnáš

Subframe

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF čáhččat
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Álgobealgu Dátatypa Návnnji Oaivvot
0x0000 uint(16) Bitmap-Id

Ráhkka, gávdnat muhtin bitmap, mii áigguheaddji dat subframe-ii gávdnet

0x0002 uint(8) Unknown 1

Leat nichttáli - mu mii nu ahte, de lea dás render-prioritehta (Z-láhka).

0x0003 uint(8) Subframe-Id

Oza, mii subframe'de mii leat

0x0004 sint(16) Offset - Horisontála

Oahpahuvvot, gos áibbas ráhkadan subframe framen ráhkadan, de muhto gávdnet mii pixelajdaga bitmap horizontal ráhkadan

0x0006 sint(16) Offset - Vertikaala

Oahpáda goas čoavkkámas mii subframe lea geavahit, dahkki go mii pixelat vertikála áiggi maŋŋá bissehkehit bitmapi.

Dánin fáhtá muhto mielde sárjjaid, ja otneheamiid, ja geavahuvvon ánehuvvuhemiid, šáŋgán álgá gávdnjihit daid jápmuheapmiid, njuolga ávkkus beaivvála ánehuvvuhemiid, ánehuvvuhemiid mii lea index 500, demonstrereh.

Animáhtta 500

Animation 500 visot, kako Plymouth-transportta, joka lea dáhpáhusolbmuid, álgá dáhpáhuvvat. Dat lea muittuhit neittá animasjovnnat, ja dás lea windowing-funksjovnnan dušše.

Ja de lea go dat sáhte jearrat nuora animasjovnnat kombinat.
Vearru, dás lea muhtin jearrasiid álgá, go dat soahkkari bit lea grafikkatypa-dássejuvvon gávnnat.

Dás lea muhtin eará, nissun animasjovnnat spritit duohtavuohta:

Rendering animasjovnnat 500 illustruje

Animation 500 álgá kombinat

Plymouth Gebähta-Máhtta

Eden Áddjáhavn

Eden Medicinárivttas

SCAT

Plymouth Áddjáhavn

Easteregg:
Julegávvi

Easteregg:
Dans Dog

Brukergránna

Now leašku user-interface dii spealkka, mii lea giebmiruhtta metalli-look'ii.

Men oahpahus lea čállet, ahte Dynamix ii geahččat raddu nuppástallat; de lea ii guhtastit vain siiddastit geavahusain geavahustit User32 ja GDI32-API-ide guovttos, mii in dievddiid ja riehtagii User32'n recursos-johtu.

Dessa lea jearge muhto programmas, nu go Angus Johnson lea freewarra maid Resource Hacker dahkat, dahka - jos do mun lean Linux / Mac OS'ssain mannat Wine'ii - dakkár icoutils -mielde wrestool jearge.

Fálddi-návnnji Sisdoalle
Outpost2.exe Váldde doarjaga ikona spealu, mii njuolga vuosttaš New Terra -sámi
op2shres.dll Váldde grafihkala go danne girjjiid, muhtimen, knappar, radio-knappar ja checkboxer, ja suoidne dialoga-báldda, beasi-báldda beaivvi-beresnii ja stuorra-muhtimen grafihkkala
out2res.dll Váldde in-game-fenster dekorešuvdna, ikonat duovddat ja speciál metálli, lodde-bálkki, grafihkkala dialogain ja muitalus cursor grafihkkala, 追加到游戏目录的动画