Formáidí comhoibrithe Outpost 2 · bei.pm

Tugadh an téacs seo aistrithe go huathoibríoch le OpenAI GPT-4o Mini.

Tá na cruthanna comhoibrithe atá curtha síos ar an leathanach seo bunaithe ar an anailís theicniúil ar mhaoin intleachtúil ó Dynamix, Inc. agus Sierra Entertainment.
Is cuid den mhaoin intleachtúil í atá anois faoi úinéireacht Activision Publishing, Inc. / Activision Blizzard, Inc. agus faoi láthair tá sé i seilbh Microsoft Corp..

Bhí na hionchais bailithe trí Innealtóireacht In aghaidh agus anailís sonraí chun críocha comhoibrithe agus comhoiriúnachta le sonraí stairiúla.
Ní raibh aon shonraíochtaí maoinithe nó rúnda á n-úsáid.

Is féidir an cluiche a fháil faoi láthair le hoibriú le gog.com mar dhíoladh le híoslódáil.

Ealaín an chluiche

Leagtar amach i sraith na n-alt seo mo thuiscint ar na formáidí sonraí sa chluiche straitéiseach fíor-ama "Outpost 2: Divided Destiny", a foilsíodh i 1997 ag Sierra agus a d'fhorbair Dynamix.

Ó thús na Samhna 2015 go dtí an 14 Samhna 2015, bhí mé i mbun anailíse ar na sonraí atá ag baint leis an gcluiche - agus ar an gcaoi a n-úsáidtear iad.

De réir na n-eolas atá bainte amach agam go dtí seo, tá sé le feiceáil go ndearna Dynamix - cosúil le go leor comhlachtaí tráchtála - roinnt formáidí sonraí nach ndearnadh go sonrach do Outpost 2, ach a úsáideadh freisin i gforbairtí eile mar shampla, an tsraith Mechwarrior (atá athraithe).
Neamhchiontach, tá sé tábhachtach a thabhairt faoi deara go bhfuil an nuálaíocht i bhformáidí sonraí teoranta go praiticiúil agus go mbíonn sí go minic bunaithe ar choincheapa atá ann cheana féin ó na formáidí coitianta mar JFIF agus RIFF.

Le haghaidh léirmhínithe ar na táblaí agus na formáidí sonraí, tá tuilleadh eolais ar fáil ag Cad é cad?.
Is éard atá sna sonraí a luaitear anseo go ginearálta ná Little Endian.

Ar deireadh, is féidir a rá go raibh an innealtóireacht ar ais an-spraoi, cé nach bhfuil sé iomlán.
Cinnte, molaim freisin an cluiche féin a imirt, mar go dtugann sé meicníochtaí súgartha suimiúla.

Réamhrá

Tá na formáidí sonraí a úsáideann Outpost 2 comhoiriúnach le JFIF / PNG - tá ceann na sonraí ar gach bloc sonraí 8 bliain d'aois. Mar sin, ní thógfaidh mé an stró chun na ceanntásca a dhoiciméadú sna háiteanna ábhartha, ach déanfaimid cur síos ar na hionchais amháin.

Is é an formáid i gcónaí an méid seo a leanas; tá na sonraí úsáideacha féin suite isteach ann:

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(32) Bóthar Draíochta

Cuireann sé an t-eolas ar fáil faoi na rudaí atá le súil leo sa bloc sonraí seo chugainn.

Luachanna a bhfuil aithne orthu:

  • 0x204C4F56 ('VOL '):
    Toisí
  • 0x686C6F76 ('VOLH'):
    Ceannaire Toisí
  • 0x736C6F76 ('VOLS'):
    Stróin Toisí
  • 0x696C6F76 ('VOLI'):
    Eolas Toisí
  • 0x4B4C4256 ('BLCK'):
    Bloc Toisí
  • 0x504D4250 ('PBMP'):
    Sonraí grafacha
  • 0x4C415050 ('PPAL'):
    Pailéad dathanna
  • 0x4C415043 ('CPAL'):
    Conair pailéad dathanna
  • 0x64616568 ('head'):
    Ceannaire
  • 0x61746164 ('data'):
    Sonraí úsáideacha
0x0004 uint(24) Fad na bacainne

Cuireann sé ar fáil an t-eolas faoin méid (i Byte) atá ag an bbloc sonraí seo a leanas.

Baineann sé le na sonraí úsáideacha amháin - níl na 8 Byte ceannlínte san áireamh ann.

0x0007 uint(8) Bratacha?

Tá sé neamhréiteach cad é an críoch atá ag an bbloc seo go díreach.

Saibhreas, is minic a bhíonn an luach seo 0x80, agus i gcóipeanna eile is minic a bhíonn sé 0x00. Cuireann sé in iúl go bhfuil sé i gceist le conradh brataí.

Toitil

Tá na Volumes mar choimeádán sonraí don chluiche, cosúil le formáid ailtireachta ar nós Tarball. I gcluiche Outpost 2, níl an formáid ach comhoibrithe le comhad - níl fillteáin ann. D'fhéadfadh sé go bhféadfaí iad a shimuláil trí ainmneacha comhad cuí.

Tá Volume comhdhéanta as an gceannaire Volume agus roinnt Bloic Volume a bhaineann le comhoibrithe sonraithe.

"Volumes" is ea na comhoibrithe le deireadh 'vol' sa chlárlann chluiche.

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 56 4f 4c 20 -- -- -- -- -- -- -- -- -- -- -- -- V O L . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(32) Báistí Draíochta
0x0004 uint(24) Fad Bloc
0x0007 uint(8) Bratacha

Ceannteideal Toirmeasc

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 76 6f 6c 68 -- -- -- -- -- -- -- -- -- -- -- -- v o l h . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(32) Báistí Draíochta
0x0004 uint(24) Fad Bloc
0x0007 uint(8) Bratacha

Ní bhaineann aon shonraí úsáideacha leis an gCeannlíne Toilleadh.
Úsáidtear é mar chontae amháin.

Mar an chéad dáta sa Cheannlíne Toilleadh, ba chóir go mbeadh na Sraitheanna Toilleadh ann; ina dhiaidh sin, tagann na faisnéisí Toilleadh.

Snáitheanna Toirt

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 76 6f 6c 69 -- -- -- -- -- -- -- -- -- -- -- -- v o l i . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(32) Báistí Draíochta
0x0004 uint(24) Fad Bloc
0x0007 uint(8) Bratacha
Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 76 6f 6c 73 -- -- -- -- -- -- -- -- -- -- -- -- v o l s . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(32) Báistí Draíochta
0x0004 uint(24) Fad Bloc
0x0007 uint(8) Bratacha
0x0008 uint(32) Fad an t-ualach

Sonraíonn sé cé mhéad byte atá i ndáta na n-eolais thíos a bhaineann le húsáid.

Is léir go measfar na sonraí atá fágtha sa liosta de na sreanga toilleadh mar bruscar.

Saibhreann na sonraí 'fágtha' 0x00 i gcomhad le dáta níos déanaí, rud a d'fhéadfadh a bheith ina chomhartha ar laigeanna le linn na huirlisí a d'fhorbair an cluiche, is é sin, nach raibh forbróir ag tabhairt aire do thús ceart na bpointí go dtí go déanach, mar níl aon tionchar ag an gcás a bhfuil na sonraí tosaigh nó nach bhfuil orthu ar an gcluiche.

0x000c uint(8)[] Liosta Ainmneacha Comhad

Seo liosta de na hainmneacha comhad a chríochnaíonn le 0-byte, a éilíonn - ar a laghad sa tsample sonraí atá i láthair - comharthaí ASCII amháin.

Ní gá an bloca sonraí seo a scrúdú níos mine agus tú ag an bpróiseas parsanachta, toisc go n-iarrtar go díreach na bpointí atá ag tagairt do na hainmneacha comhad sna h-infhoirtimí tosaigh.

Maidir le na sl Strings toilleadh, is liosta é d'ainmneacha comhad a bhíonn laistigh den toilleadh.

Eolas ar Thomhas

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 76 6f 6c 69 -- -- -- -- -- -- -- -- -- -- -- -- v o l i . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(32) Báistí Draíochta
0x0004 uint(24) Fad Bloc
0x0007 uint(8) Bratacha

Tugann na h-eolas tosaigh sonraí níos mionsonraithe maidir le na comhad. Is cineál iontráil eolaire FAT é seo ar bhealach (FAT = Tábla Comhoibrithe Comhad)

Tá an líon comhad bunaithe ar an méid bloca a roinntear le fad na n-iontrálacha eolaire - 14 Byte.

Tá struchtúr na n-iontrálacha eolaire mar seo a leanas:

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(32) Comhoiriúnacht Ainm comhad

Cuireann sé in iúl cén áit (!) laistigh den liosta ainmneacha comhoibrithe (Volume-Strings) a bhfaighidh an t-ainm comhoibrithe.

Tagraíonn sé do thús an bloc sonraí.

0x0004 uint(32) Suíomh comhoibrithe comhoibrithe

Sonraigh an t-oifig a bhfuil an comhad suite laistigh den chomhdhéan iomlán.

0x0008 uint(32) Toisí comhoibrithe

Leagann sé amach cé chomh mór atá an comhad i byteanna.

0x000c uint(16) Bratacha?

Cuireann sé ar fáil eolas breise faoi chódáil na comhad.

  • 0x03 atá socraithe nuair a bhíonn an comhad comhbhrúite. Is cosúil go bhfuil crann Huffmann á úsáid anseo.
  • 0x80 atá le feiceáil i gcónaí.

Bloc Toirteala

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 56 42 4c 48 -- -- -- -- -- -- -- -- -- -- -- -- V B L H . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(32) Báistí Draíochta
0x0004 uint(24) Fad Bloc
0x0007 uint(8) Bratacha

Is coimeádán é Bloc Toille, a ghlacann comhad. Ní bhíonn ann ach arís - mar gheall ar fhormat an bloc - méid an chomhaid atá dúbláilte, agus ansin leanann na sonraí úsáideacha go díreach.

Tíleanna

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 50 42 4d 50 -- -- -- -- -- -- -- -- -- -- -- -- P B M P . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(32) Baitíní Draíochta
0x0004 uint(24) Fad an bloc
0x0007 uint(8) Bratacha

Is éard atá i na Tiles ná formáid grafaicí Bitmap ar leith do Outpost-2. Síneann siad thar 13 Tileset, ar a dtugtar "wells" (well0000.bmp go well0012.bmp), atá laistigh den toirt maps.vol.

Áiríonn na Tileset / Wells seo a leanas:

Ábhar comhoibrithe Ábhar
well0000.bmp Grafic 32x32px gorm - foirfe mar thástáil ar an gcuairteoir íomhá
well0001.bmp Ábhar ina bhfuil carraigeacha éadroma, sléibhte ar charrigeacha éadroma agus neart éagsúlachtaí de chraiceann tuillte ar charrigeacha éadroma
well0002.bmp Ábhar ina bhfuil 'Doodads' carraige le haghaidh cur i láthair (nó ar bhealach struchtúrtha, mar shampla, ballaí) ar charrigeacha éadroma, lena n-áirítear plandáil
well0003.bmp Ábhar ina bhfuil struchtúr cosúil le cruth ar charrigeacha éadroma
well0004.bmp Ábhar ina bhfuil carraigeacha dorcha, sléibhte ar charrigeacha dorcha agus neart éagsúlachtaí de chraiceann tuillte ar charrigeacha dorcha
well0005.bmp Ábhar ina bhfuil 'Doodads' carraige dhorcha - gnéithe a úsáidtear chun struchtúir (nó ar bhealach struchtúrtha, mar shampla, ballaí) a chur i láthair ar charrigeacha dorcha
well0006.bmp Ábhar ina bhfuil struchtúr cosúil le cruth ar charrigeacha dorcha, chomh maith le haistriúcháin idir charrigeacha éadroma agus dorcha
well0007.bmp Ábhar ina bhfuil lava, lena n-áirítear 4-5 frámanna injiniúil
well0008.bmp Ábhar ina bhfuil gaineamh agus neart éagsúlachtaí de chraiceann tuillte ar gaineamh
well0009.bmp Ábhar ina bhfuil 'Doodads' gaineamh - gnéithe a úsáidtear chun struchtúir (nó ar bhealach struchtúrtha, mar shampla, ballaí) a chur i láthair ar ghaineamh
well0010.bmp Ábhar ina bhfuil 48 aistriúcháin ó ghaineamh go carraigeacha éadroma agus dorcha
well0011.bmp Ábhar ina bhfuil na cnapáin pholaire ar an mapa, le carraige dorcha mar bhunús
well0012.bmp Ábhar ina bhfuil na cnapáin pholaire ar an mapa, le carraige éadrom mar bhunús

Is é an comhairle is fearr ná na Tiles a réamh-thógáil le haghaidh cachdála, toisc go mbeidh ar na sonraí don chiorcal lá/nóin a bheith á n-ullmhú fós - agus go mbainfidh sé le líon mór sonraí.

Tá na Tiles mar ghráficaí 8bpp le pailéad le hiontrálacha, gach ceann acu le réiteach 32x32 picteilín, atá socraithe i sraitheanna. I dtíleanna a chruthaítear ar an gcaoi seo, d'fhéadfadh níos mó ná sin a bheith ann.

Comhdhéantar an príomh-chontae as 2 rannóg: head agus data.

Ceann na gCreach

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(32) Baitíní Draíochta
0x0004 uint(24) Fad an bloc
0x0007 uint(8) Bratacha
0x0008 uint(32) Leagan / Bratacha?

Is féidir gurb é atá i gceist anseo ná leagan comhoiriúnachta an fhormáidi; bhí an luach 0x02 anseo i ngach comhad a bhí ar fáil dom.

0x000c uint(32) Leith (Réiteach Horizontach)

Tugann sé le fios cé chomh leathan is atá an comhad íomhá (i bpixeleanna).

Le gach well ó Outpost 2, táthar ag súil leis an luach 0x2032 anseo.

0x0010 uint(32) Airde (Réiteach verticail)

Cuireann sé in iúl cé chomh hard agus atá an comhad íomhá (i bpixeleanna).

Le gach well i Outpost 2, beidh an luach 0x2032 le súil anseo.

0x0014 uint(32) Domhain dath?

Tá brí an luacha seo anaithnid.

Ós rud é go bhfuil an luach 8 i ngach comhad a scrúdaíodh, d'fhéadfadh sé a bheith ina chomhoiriúnacht do doimhneacht dath.

0x0018 uint(32) Dromchla dath 2?

Tá brí an luacha seo anaithnid.

Is féidir go bhfuil sé ina dhoimhneacht dhath 'sprioc'.

Tar éis na sonraí seo, beidh comhad pailéad i bhformáid RIFF caighdeánach ar fáil. Tá an sonraíocht cheart le fáil - ós rud é go mbíonn na pailéid le feiceáil in áiteanna eile - faoi Pailéad.

Sonraí na dTaifead

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(32) Baitíní Draíochta
0x0004 uint(24) Fad an bloc
0x0007 uint(8) Bratacha

ar deireadh, tá na sonraí pixele nochtaithe, ag tosú ó na hoibrithe ar chlé ar an mbóthar agus ag dul ar dheis síos.
Comhoiriúnann an luach sonraí atá ag na grafaicí a bhíonn i gcló 8bpp de ghnáth leis an innéacs d’athruithe na gcolor sa phalét.

Tosaíonn na sonraí pixele ag an uachtar ar chlé agus críochnaíonn siad ag bun ar dheis.

Éilíonn an inneall cluiche na tiles *d'fhéadfadh go leor* ar éileamh.
Dealraíonn sé go bhfuil sé seo mar gheall ar an timthriall lae agus oíche, a bhfuil 32 céimeanna difriúla ag baint leis na tiles. Leis, tá sé soiléir go gcuirtear 'beagán' den luach gile i laghdú. Níor éirigh liom luachanna cruinne a fháil fós, táim ag obair ar an mbonn ríomhaireachta

v *= (daylight / 48) + 0.25;

le sonraí HSV na picteilín, áit a bhfuil daylight ag baint le luach idir 0-31 agus tá v i raon 0-1. Thar aon rud eile, ba chóir a chur san áireamh go bhfuil teorainn de 16 tiles ar chlé agus ar dheis ar an máap (cuireann sé sin le spás do na haonad neamh-infheicthe) ann.

Chomh maith leis sin, dealraíonn sé go bhfuil an timthriall lae-oíche ag nuashonrú ach colún amháin den máap in aghaidh gach timthrialla gníomh.
Mar sin, breathnaíonn timthriall lae-oíche atá toirtithe mar seo a leanas:

Íomhá de thimthriall lae-oíche

PRT

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 43 50 41 4c -- -- -- -- -- -- -- -- -- -- -- -- C P A L . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(32) Bíotáidí Draíochta
0x0004 uint(24) Fad na bpalaitíní

In áit an gnáthfhormáid bloic, tugann sé le fios an líon na palet atá le fáil sa chomhad seo - ní an fad na bloic i byteanna.

0x0007 uint(8) Bratacha

Is dócha, mar is gnách, bratacha.

Ach níl bratacha ar eolas agam; ó tá na luachanna ar fad a bhfuil a fhios agam comhoiriúnach le 0x00, d'fhéadfadh sé a bheith indéanta freisin go mbeadh méid na paileanna go simplí ina uint(32).

Cén fáth ar PRT a sheasann go díreach níl a fhios agam; d'fhéadfadh sé a bheith cosúil le 'Tábla Pallet agus Acmhainne' - toisc gurb é atá i gceist leis an gcomhad seo - atá le fáil mar op2_art.prt sa maps.vol - go bhfuil sé de chineál sin, nó go gcuirfeadh sé síos an fheidhm go maith.

Tá liosta pallettí sa chomhad seo, tábla faoi na bitmaps go léir a úsáidtear, sainmhínithe ar gach animatio, agus sraith sonraí neamhoifigiúla eile. Leanann sé an cruth comhoibrithe go laige, mar ní leanann gach taifead an scéim seo.

Clúdaíonn an CPAL-roinnt (b'fhéidir go bhfuil sé do chontae pallettí) ach na sonraí pallettí, ag cur in iúl cé mhéad de na pallettí 8-bit a bhíonn de ghnáth 1052 byte ar fáil.

Ní ghlactar leis an 1052-byte mar choinníoll, mar d'fhéadfadh an cruth pallettí méid pallettí difriúil a áireamh. Ní bhaineann sé ach leis an gcaipiteal a sheachadtar le Outpost 2.

Tar éis na liostaí pallettí, leanann an liosta bitmaps go díreach agus gan aon cheannlíne tosaigh; agus go díreach ina dhiaidh sin, tagann na liostaí animatio.
Seoltar dhá cheann acu le uint(32) (nó arís uint24+uint8 bratacha?) a thugann an méid taifead a bhaineann.

Pailéadáin

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 50 50 41 4c -- -- -- -- -- -- -- -- -- -- -- -- P P A L . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(32) Bátaí Draíochta
0x0004 uint(24) Fad na bpalaitín

In ionad an gnáthfhormáid bloca, léiríonn sé an líon palet a fhaightear sa chomhad seo - ní faigheann sé fad an bloca i nByteanna.

0x0007 uint(8) Bratacha

Is dócha, mar is gnáth, bratacha.

Ach níl a fhios agam faoi bhratacha; ó tá na luachanna ar fad a bhfuil aithne agam orthu ag comhoiriúnadh le 0x00, d'fhéadfadh sé a bheith féidéireach mar go mbeadh líon na bpalat go simplí ina uint(32).

Tá na sonraí faoi na palletts an-éasca le léamh.
Comhcheanglaíonn siad gach ceann le haghaidh a cheann agus le haghaidh sliseanna sonraí.

Ceann Pallet

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(32) Bátaí Draíochta
0x0004 uint(24) Fad na bpalaitín

In ionad an gnáthfhormáid bloca, léiríonn sé an líon palet a fhaightear sa chomhad seo - ní faigheann sé fad an bloca i nByteanna.

0x0007 uint(8) Bratacha

Is dócha, mar is gnáth, bratacha.

Ach níl a fhios agam faoi bhratacha; ó tá na luachanna ar fad a bhfuil aithne agam orthu ag comhoiriúnadh le 0x00, d'fhéadfadh sé a bheith féidéireach mar go mbeadh líon na bpalat go simplí ina uint(32).

0x0008 uint(32) Leagan formáile palata?

Is dócha gurb é an leagan de fhoirméad na bpalat a leanann an palette áirithe.

Is cosúil go bhfuil leagan 0x01 ag na palat uile de Outpost2.

Sonraí na n-ardán

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(32) Bátaí Draíochta
0x0004 uint(24) Fad Bloc
0x0007 uint(8) Bratacha

Glacann an rannsonraí na hiontrálacha pallet aonair. Is é líon na n-iontrálacha pallet a dhéantar de réir fad an bloc / 4.

Tá struchtúr simplí ag na hiontrálacha aonair seo a leanas;

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 -- -- -- 04 -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(8) Comhpháirt dearg

Cuireann sé líon na dearg i dtón na dathanna in iúl

0x0001 uint(8) Comhpháirt Ghréine

Tugann sé le fios cé chomh mór is atá an méid glas sa dhath

0x0002 uint(8) Comhpháirt Gorm

Tugann sé an cion gorm den dhath.

0x0003 uint(8) Neamhchinnte - Bratacha?

Tá sé doiligh a thuiscint cad a chiallaíonn an luach seo, mar go bhfuil sé cosúil le 0x04 bunúsach.

Maidir leis na palet, ní gá ach a rá go bhfuil na rialacha a leanas i bhfeidhm do na palet a úsáidtear le haghaidh léirithe:

  • Always is é an chéad dath TRÉASCANTACH, cibé cad é an luach a luaitear ann.
  • Tuigítear go bhfuil na hiontrálacha palet 1-24 mar dhath cluiche i na palet 1-8.
    Ní léir dom cá as a dtagann na dathanna seachas ó imreoir 1.
    Sílim go bhfuil na dathanna eile socraithe go crua.

Tagairt Palet

Bithlína

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(32) Leathanaigh a shocrú

Tugann sé leathan na n-ábhar pictiúr i nByte - mar tá siad comhoiriúnach le teorainneacha 4-Byte.

Mar sin, tá sé tapaidh chun líne áirithe pictiúr a shlánú.

cén fáth a 저장해 이 값이 별도로 저장되었는지, 비록 계산할 수 있지만, 불분명합니다.
B'fhéidir gurb é seo an t-óptú do chód an chraoltóra.

0x0004 uint(32) Comhoiriúnacht

Tugann sé le fios an t-aistriú atá ag an chéad líne sa Bitmap

0x0008 uint(32) Airde

Sonraigh airde an ghréasáin i bpixeleanna

0x000c uint(32) Luas

Glaoigh leathan na híomhá i bpixeleanna

0x0010 uint(16) Tipeáil

Tugann sé le tuiscint cén saghas íomhá atá ann. Is cosúil go bhfuil sé ag tagairt do mhasg bioráin:

  • 0x04 atá socraithe má tá sé i gceist le grafaic 1bpp.
  • 0x40 atá socraithe má tá sé i gceist le grafaic a gcaithfidh fuinneoga a chur i bhfeidhm.
0x0012 uint(16) Palette

Sainmhínigh cé acu pailéad óna comhad PRT a úsáidfear

Leagann an struchtúr sonraí seo atá ag an gcóip PRT le conas atá na bitmaps a úsáidtear do na sprites comhoibrithe. Tá na bitmaps seo mar chuid amháin, óna ndéantar roinnt rudaí a chur le chéile chun freagra a thabhairt ar fhrámaí a animh.

Tá na sonraí íomha sonracha i bhfolach i op2_art.BMP sa chatalóg cluiche.
Ní léir cén fáth atá ag an gcomhad bitmap seo header RIFF (atá go hiondúil ceart), is dócha go n-úsáideann Outpost 2 APIs córas chun na grafaicí a luchtú, ag baint úsáide as an header seo go sealadach agus ag scríobh na réimsí ag athrú.

Tá na sonraí pixeleach i láthair sa chomhad BMP ag an suíomh Offset + an uint32-Offset, atá le fáil sa chomhad BMP ag seoladh 0x000A (RIFF-Bitmap-Dátaí-Offset), agus tá siad comhoiriúnach le comhoibriúnacht an tsraithe ó thuas ar chlé go dtí an taobh íochtair.

Is féidir grafaicí monochrome 1bpp a dhéanamh ar bhealach a luíonn go bhfuil dath 0 ar an trédhearcacht iomlán, chomh maith le dath 1 bhí sé dubh/gorm le leath-trédhearcacht, mar is minic a úsáidtear na grafaicí monochrome do scáthanna feithiclí agus foirgneamh sa naíonraí.

Mar sin, is féidir go leor grafaicí a chur le chéile cheana féin.

Modúl cónaithe cosanta (Plymouth)

Animéidí

Anseo tagann muid chuig an gclár ríoga na ndisciplíní laistigh de na foirmlí sonraí Outpost 2:
Na hAnimíochtaí.

Tosaítear na liostaí gníomhachtaí le hiontráil domhanda, a bhfuil sé mar aidhm aici go príomha an fhaisnéis a fhíorú. Leanas na sainmhínithe gníomhachtaí sonracha, atá comhdhéanta de 3 leibhéal:

  1. Gníomhacht
    Is éard atá i ngníomhacht an leibhéal is airde; léiríonn sé gníomhacht aontaithe, foirgneamh nó 'gníomhacht pháirticil' (buama comhoibrithe, aimsir, pléascadh) i suíomh áirithe.
  2. Fráma
    Is íomhá aonair atá i fráma laistigh de gníomhacht. D’fhéadfadh gníomhacht amháin nó níos mó frámaí a bheith aici.
  3. Fo-fráma
    Is éard atá i fo-fráma an t-eolas faoin gcinneadh go gcuirfear Bitmap áirithe i láthair i suíomh áirithe fráma faoi choinníollacha áirithe. D’fhéadfadh fráma amháin nó níos mó fo-frámaí a bheith aige.

Agus ansin, leanann na sainmhínithe gníomhachtaí laistigh de na hiontrálacha.

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(32) Uimhreacha na n-aistriúchán

Cá mhéad comhoibrithe gníomhaíochta atá ann

0x0004 uint(32) Uimhreacha Frámaí

Cé mhéad raon atá le bheith ann go léir

0x0008 uint(32) Uimhir na fo-thimpeallachtaí

Cé mhéad subframes atá le bheith ann go hiomlán

0x000c uint(32) Uimhir na n-eisíontach roghnacha

Cé mhéad "iontráil roghnach" atá ann.

Clónadh

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0020 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(32) Neamh-cháiliúil 1

Faisnéis Neamhaithnidiúil

0x0004 uint(32) Bóthar Teorann: Ar chlé

Sonraíonn sé tosaigh na Bounding Box ar chlé (i bpixeleanna).

0x0008 uint(32) Bóthar Teorann: Ar Aghaidh

Sonraíonn sé tús na Bounding Box (i bpíosa) atá os cionn.

0x000c uint(32) Bhosca Teorann: Leathan

Sonraigh leathanacht (i bpix) na Bounding Box.

0x0010 uint(32) Cás Teorann: Airde

Sonraigh airde (i bpix) na Bounding Box.

0x0014 uint(32) Pointe: X

Sonraíonn sé lár na hinimiciúna go hoifigiúil

0x0018 uint(32) Leathnú: Y

Sonraigh lárionad verticil na himeachtaireachta

0x001c uint(32) Anaithnid 2

Eolas neamhspleách

0x0020 uint(32) Uimhreacha Frámaí

Leagann sé amach cé mhéid comhghníomhartha atá san animáitiún seo

0x0024 uint(32) Uimhir na gCuirtíní

Tugann sé le fios cé mhéid fuinneoga atá le húsáid agus tú ag tarraingt

Na sonraí atá ag an gcéad leibhéal, an t-ainmniú, is iad na sonraí riaracháin a bhíonn i gceannas - is é Boundingbox na comhordanáidí a bhaineann le marcáil timpeall ar an gcarr/náisiúnta, when a roghnaítear é agus tugann sé freisin le fios cén limistéar atá in-inúsáidte.

Leis an Offset, tá sé de ghnáth i gceist le "pointe tosaigh"; an pointe a chaithfear a chur in oiriúnacht le comhordanáidí laistigh den chluiche. D'fhéadfaí a rá freisin ó thaobh na matamaitice: tagraíonn an Offset anseo do thús na gcomhordanáidí.

Maidir leis na Fuinneoga, tá sé mar an gcéanna, go díreach cosúil leis an Offset, ag baint le 4 uint(32) luach, atá ann chun limistéar a shonrú, a bhfuil sé in-úsáidte do fho-chluichí. Níor chóir dá mbeadh sé áiteamh le haghaidh na Bitmap, a tharraingt taobh amuigh de na Fuinneoga.

Fráma

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(8) Líon na subframeanna agus comhla do Rogha 1, 2

Tá an luach seo áireamh:

  • 0x7F (Masg Bit): An líon fo-frámaí a úsáidtear sa fráma seo
  • 0x80: An t-eolas faoi cibé an bhfuil Rogha 1 agus 2 ar fáil
0x0001 uint(8) Neamhchinnte 1 agus Toggle le haghaidh Roghnach 3, 4

Tá an luach seo comhdhéanta as:

  • 0x7F (Masg Bit): Neamhchinnte - Creidim go láidir gurb é seo an líon gameticks a chaitheamh, go dtí go mbeidh an chéad fhráma eile le feiceáil
  • 0x80: An t-eolas maidir le bheith ann nó nach bhfuil 3 agus 4 Roghnach
0x0002 uint(8) Roghnach 1

Neamhchinnte

0x0003 uint(8) Roghnach 2

Neamhchinnte

0x0004 uint(8) Roghnach 3

Neamhchinnte

0x0005 uint(8) Roghnach 4

Neamhchinnte

Fo-fráma

Seoladh x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF carachtar
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Crios Cineál Sonraí Ainm Míniú
0x0000 uint(16) Id Bitmap

Sonraigh cén Bitmap a úsáidfear don Subframe seo

0x0002 uint(8) Neamh-cháiliúil 1

Tá sé neamhchinnte - áfach, tá mé ag súil go láidir go mbaineann sé le tosaíocht rindreála (Z-Layer).

0x0003 uint(8) Subframe-Id

Glaonn sé ar an bhfóram sub a bhfuilimid ann

0x0004 sint(16) Dícheangail - Horantúil

Sonraigh cá háit laistigh den fhráma a gcuirfear an subfhráma, nó conas go leor picteilín a chaithfear an bitmap a bhogadh go hoifigiúil.

0x0006 sint(16) Offset - Duillín

Sonraigh cá háit laistigh den fhráma a gcuirfear an subframe, nó cé mhéad picteilín a bhogfaidh an bitmap go hingearach.

Leis sin, is féidir linn anois raon aonair, chomh maith le heachtraí iomlána a chur le chéile, anseo mar shampla ar an animíocht níos casta, an animíocht le hiontráil 500, a thaispeáint.

Animíocht 500

Leagann an t-ainmniú 500 conas a dhéantar leagan amach ar Thionól Plymouth atá luchtaithe le hór a ghnóthach. Is é seo laige amháin de na h-ainmniúcháin a úsáideann an feidhmiúlacht Windowing.

Agus mar sin is féidir an t-ainmniú iomlán a chur le chéile.
Ar an drochuair tá fadhb amháin fós leis an úrlár uachtarach, ó tá an bit cuí sa t-eolas cineál grafach neamhshocraithe.

Seo roinnt spraoianna álainn a bhfuil an-álainn ag an ainmniú as an gcluiche:

Ag taispeáint an t-ainmniú 500

An t-ainmniú 500 críochnaithe agus comhoibrithe

Monarcha Plymouth

Port Spásúil Eden

Centro Leighis Eden

SCAT

Port Spásúil Plymouth

Easteregg:
Naomh na Nollag

Easteregg:
Madra Dans

Comhoibriú Úsáideora

Anseo tá an t-úinéir-idirghníomhú atá ag teastáil don chluiche, atá coimeádta i stíl miotal brúite.

Ach tá sé soiléir anseo nach raibh ar Dynamix an roth a ath-innealtóireacht; ní úsáidtear ach na APIs User32 agus GDI32 a chuir Windows ar fáil - go háirithe, úsáidtear bainistíocht acmhainní User32 freisin.

Is féidir iad a bhaint, mar shampla, tríd an gclár saor in aisce Resource Hacker a d'fhorbair Angus Johnson, nó - más rud é nach bhfuil suim agat Wine a úsáid ar Linux / Mac OS - le cabhair ón wrestool atá san icoutils.

Seoladh comhoibrithe Ábhar
Outpost2.exe Áiríonn sé ach an t-icón de chluiche, a thaispeánann an stáisiún spáis os comhair New Terra
op2shres.dll Áiríonn sé, seachas grafaicí do na comhoibrithe cosúil le teorainneacha, cnaipí, cnaipí raidió agus seiceanna, freisin cúlraí comhrá, íomhánna comhoibrithe do na téacsanna misean scéil agus grafaicí cúlra don phríomh-mhéara
out2res.dll Áiríonn sé an maisiúchán fhuinneog in-game, icónna do mhiotal gnáth agus speisialta, an scáileán luchtaithe, grafaicí do chomhrá, chomh maith le grafaicí cursor eile, i gcónra na gcluichí