Outpost 2 Ụdị Faịlụ · bei.pm
Ụdị faịlụ e kwuru na ibe a dabere na nyocha teknụzụ nke ihe onwunwe nke Dynamix, Inc. na Sierra Entertainment.
Ihe onwunwe a bụ akụkụ nke Activision Publishing, Inc.- / Activision Blizzard, Inc.-mass na ugbu a n Owned by Microsoft Corp..
A na-ejikwa ozi a na Nhazi Nzọụkwụ na Analụ Ntụle maka ebumnuche nke ịchekwa na ịrụ ọrụ ọnụ na data akụkọ.
E nweghị ihe ọmụma pụrụ iche ma ọ bụ nke nzuzo eji.
A na-enweta egwuregwu a ugbu a na gog.com dịka nbudata.
Nke a bụ ihe ndị edere na akwụkwọ a na-egosi nghọta m banyere ụdị data na egwuregwu atụmatụ oge "Outpost 2: Divided Destiny", nke Sierra si na 1997 kwụsịrị na Dynamix mepụtara.
M soro na nyocha nke data nke egwuregwu a site na 01 Novemba 2015 ruo 14 Novemba 2015.
Dị ka ozi m chọpụtara, Dynamix - dịka ọtụtụ ụlọ ọrụ azụmahịa - emepụtaghị ụfọdụ ụdị data kpọmkwem maka Outpost 2, kama jiri ha na mmepe ndị ọzọ dịka usoro Mechwarrior (nke a gbanwere).
Maka na nke a, a na-achọpụta na ike ọhụụ nke ụdị data na-adịkarị n'ala ma na-adaberekarị na echiche ndị ogologo oge sitere na ụdị a na-ahụkarị dịka JFIF na RIFF.
Iji tụlee tebụl na ụdị data, enwere ozi ndị ọzọ dị na Kedu ihe bụ ihe? dị.
Data ndị a akọwapụtara ebe a bụ nke a na-ahụkarị dị ka Little Endian.
N'ikpeazụ, enwere ike ikwu na mmegharị azụ na-enye ọṅụ nke ukwuu, ọbụlagodi na ọ bụghị zuru ezu.
O doro anya na m ga-akwado ịkpọ egwuregwu ahụ n'onwe gị, n'ihi na o nwere usoro egwuregwu na-atọ ụtọ.
Bido
Ụdị data nke Outpost 2 ji arụ ọrụ nwere ụdị ihe yiri JFIF / PNG - ihe ndị dị na data nwere akwụkwọ ozi 8 Byte na-ahụkarị. N'ikwu ya n'ụzọ dị mfe, a gaghị m edegara akwụkwọ ozi ndị a na ebe ha kwesịrị ịdị, kama m ga-edekọ naanị mgbanwe ndị ọ bụla.
Ụdị ahụ bụ n'ozuzu ya; data ndị a na-eji eme ihe dị na ya:
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(32) | Mma Ngwongwo | O nwere ozi gbasara ihe a ga-atụ anya na blọkụ data na-esote. Ụdị ndị a ma ama:
|
0x0004 | uint(24) | Ogologo Blọk | O nwere ozi gbasara etu ukwuu (na Byte) blọk data na-esote si dị. Nke a bụ naanị data nke a na-eji - a naghị etinye 8 Header-Byte n'ime ya. |
0x0007 | uint(8) | Mkpụrụ旗? | Amaghị ihe blok a kpọrọ na-eme. N'ịdị ndị a, ọnụ ọgụgụ a na-adịkarị 0x80, na faịlụ ndị ọzọ na-adịkarị 0x00. Nke a na-egosi na ọ bụ set nke flag. |
Ngwugwu
Volume bụ akpa data maka egwuregwu, dị ka ụdị nchekwa data dịka Tarball. Ọ dịkarịa ala na Outpost 2, usoro a na-ahụ naanị faịlụ - ọ bụghị folda. O yikarịrị ka a ga-eji aha faịlụ kwesịrị ekwesị mee ihe a ga-ahụ.
Volume nwere isiokwu Volume na ọtụtụ akụkụ Volume, nke na-anọchite anya faịlụ ndị a kpọrọ akpọrọ.
"Volumes" bụ faịlụ nwere njedebe 'vol'
na ndabere egwuregwu.
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 4f | 4c | 20 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | O | L | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(32) | Mma Bytes | |
0x0004 | uint(24) | Obosara ogologo | |
0x0007 | uint(8) | Ekwentị |
Isi nke Volume
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 68 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | h | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(32) | Mma Bytes | |
0x0004 | uint(24) | Obosara ogologo | |
0x0007 | uint(8) | Ekwentị |
Volume Header anaghị ewere data ọ bụla.
O na-arụ ọrụ dị ka otu akpa.
Na mbụ data dị na Volume Header kwesịrị ịbụ Volume Strings; nke a na-esochi ozi banyere Volume.
Ogwe Ọrụ
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(32) | Mma Bytes | |
0x0004 | uint(24) | Obosara ogologo | |
0x0007 | uint(8) | Ekwentị |
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 73 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | s | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(32) | Mma Bytes | |
0x0004 | uint(24) | Obosara ogologo | |
0x0007 | uint(8) | Ekwentị | |
0x0008 | uint(32) | Ibu Onye Mbata | Na-egosi otu nọmba Bytes nke data ndị a bụ data bara uru n'ezie. Data ndị fọdụrụ na ndepụta nke Volume-Strings bụ doro anya na a ga-atụle ha dịka garbage. Na faịlụ ndị nwere ụbọchị ikpeazụ, data ndị a 'fọdụrụ' bụ 0x00, nke nwere ike igosi na e nwere nsogbu na toolchain n'oge mmepe nke egwuregwu ahụ, nke pụtara na onye mmepe jụrụ ijide n'aka na a haziri buffers nke ọma, n'ihi na enweghị mmetụta na egwuregwu ma data ahụ bụ nke a haziri ma ọ bụ na ọ bụghị. |
0x000c | uint(8)[] | Ndepụta Aha Faịlụ | Nke a bụ ndepụta nke aha faịlụ nke nwere 0-byte terminus, nke na - ọ dịkarịa ala n'ime akụkụ ndị a na-enye data - na-echere naanị ASCII akara. Ọ dịghị mkpa iji nyochaa data a nke ọma mgbe ị na-eme parsing, n'ihi na n'ime ozi ndị dị na volụm, a na-ezo aka kpọmkwem na offsets nke aha faịlụ. |
N'ịbụ Volume Strings, ọ bụ ndepụta nke aha faịlụ nwere ịnọ n'ime volume ahụ.
Ozi banyere Volume
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(32) | Mma Bytes | |
0x0004 | uint(24) | Obosara ogologo | |
0x0007 | uint(8) | Ekwentị |
Thông tin Volume na-ewepụta ozi ndị ọzọ gbasara faịlụ. Nke a bụ n'ụzọ ụfọdụ ụdị FAT ndebanye aha (FAT = File Allocation Table)
Ọnụ ọgụgụ faịlụ na-apụta site na size block kewara site na ogologo ndebanye aha - 14 Byte.
Ndebanye aha dị iche iche nwere usoro ndị a:
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(32) | Aha faịlụ-ndabere | Na-egosi na nke a bụ offset (!) n'ime ndepụta aha faịlụ (Volume-Strings) ebe aha faịlụ nke faịlụ ahụ nọ. Na-ezo aka na mmalite nke blọk data eji. |
0x0004 | uint(32) | Faịlụ-Offset | Na-egosi ebe nke ahụ dị n'ime faịlụ nke volume niile. |
0x0008 | uint(32) | Nha faịlụ | Na-egosipụta otú nnukwu faịlụ ahụ si dị na byte. |
0x000c | uint(16) | Akwụkwọ nsọ? | O yiri ka e nwere ozi ndị ọzọ gbasara njikọ faịlụ.
|
Ọkpụrụkpụ Volume
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 42 | 4c | 48 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | B | L | H | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(32) | Mma Bytes | |
0x0004 | uint(24) | Obosara ogologo | |
0x0007 | uint(8) | Ekwentị |
Na volume block bụ akpa, nke na-anata faịlụ. O nwere naanị otu oge ọzọ - n'ihi usoro block - na-eme ka ihe faịlụ ahụ nwee ndabere na n'ikpeazụ, data ndị a na-eji ya na-esochi.
Nkụkụ
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 50 | 42 | 4d | 50 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | P | B | M | P | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(32) | Mma Byte | |
0x0004 | uint(24) | Ogologo Block | |
0x0007 | uint(8) | Akwụkwọ mkpụrụedemede |
Tiles bụ ụdị Bitmap eserese akọwapụtara maka Outpost-2. Ha na-agbaso Tilesets 13, a na-akpọ ha "wells" (well0000.bmp
ruo well0012.bmp
), nke dị n'ime volium maps.vol.
Tilesets / Wells nwere ihe ndị a:
Aha faịlụ | Ọtụ |
---|---|
well0000.bmp | Ihe oyiyi dị 32x32px, na-acha anụnụ anụnụ - dị mma dịka nnwale, ma ọ bụ ihe na-egosi ma ọ bụrụ na onye ọrụ nwere ihe na-ebupụta ya |
well0001.bmp | Na-enwe nkume ọkụ, ugwu na nkume ọkụ na ọtụtụ ụdị ihe mgbaàmà na nkume ọkụ |
well0002.bmp | Na-enwe 'Doodads' nke nkume ọkụ - ya bụ, ihe ndị a na-etinye na nkume ọkụ maka ịme ka ebe ahụ dịkwuo mfe (ma ọ bụ n'ikpeazụ dịka usoro, dịka mgbidi) , gụnyere osisi |
well0003.bmp | Na-enwe usoro nke a na-ahụ na nkume ọkụ |
well0004.bmp | Na-enwe nkume ojii, ugwu na nkume ojii na ọtụtụ ụdị ihe mgbaàmà na nkume ojii |
well0005.bmp | Na-enwe 'Doodads' nke nkume ojii - ya bụ, ihe ndị a na-etinye na nkume ojii maka ịme ka ebe ahụ dịkwuo mfe (ma ọ bụ n'ikpeazụ dịka usoro, dịka mgbidi) |
well0006.bmp | Na-enwe usoro nke a na-ahụ na nkume ojii, yana ụkwụ n'etiti nkume ọkụ na nkume ojii |
well0007.bmp | Na-enwe lava gụnyere 4-5 nke ọ bụla nke ihe nkiri nke lava ahụ |
well0008.bmp | Na-enwe sand na ọtụtụ ụdị ihe mgbaàmà na sand |
well0009.bmp | Na-enwe 'Doodads' nke sand - ya bụ, ihe ndị a na-etinye na sand maka ịme ka ebe ahụ dịkwuo mfe (ma ọ bụ n'ikpeazụ dịka usoro, dịka mgbidi) |
well0010.bmp | Na-enwe 48 ụkwụ n'ozuzu site na sand ruo nkume ọkụ na nkume ojii |
well0011.bmp | Na-enwe ọnụ mmiri polar nke map, na nkume ojii dịka ala |
well0012.bmp | Na-enwe ọnụ mmiri polar nke map, na nkume ọkụ dịka ala |
O kachasị mma maka ịmepụta nke ọma, ka e nwee ike ịghara ịme ka Tiles bụrụ nke a na-arụ ọrụ tupu oge eruo iji chekwaa ha, n'ihi na a ga-emepụta data maka usoro ụbọchị/nọchite anya - ma ọtụtụ data ga-apụta.
Tiles bụ ihe oyiyi 8bpp nwere paleti nke a họọrọ nke nwere 32x32 pixel nhazi, nke a na-edepụta n'usoro. N'ogbe Tiles dị otú a, enwere ike inwe ọtụtụ ihe ọzọ.
Nkụzi isi nwere akụkụ 2: head
na data
.
Isi Tiles
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 68 | 65 | 61 | 64 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | h | e | a | d | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(32) | Mma Byte | |
0x0004 | uint(24) | Ogologo Block | |
0x0007 | uint(8) | Akwụkwọ mkpụrụedemede | |
0x0008 | uint(32) | Version / Akwukwo? | O nwere ike ịbụ nke a bụ nkwupụta ụdị faịlụ; na faịlụ niile m nwere, ọ bụ |
0x000c | uint(32) | Obosara (Ncheta nke kwụ ọtọ) | Na-egosi otu obosara faịlụ onyonyo si dị (n'ịtụ pixel). N'ozuzu, na wells niile nke Outpost 2, a ga-atụ anya na uru a bụ |
0x0010 | uint(32) | Ike (Ntụgharị kwụ ọtọ) | Na-egosi otú elu faịlụ onyonyo si dị (na pixel). Na wells niile nke Outpost 2, a ga-atụ anya na ọnụahịa a bụ |
0x0014 | uint(32) | Ọdịdị agba? | Mpụta nke uru a amaghi. Ka ọ dị, n'ihi na ọ nwere uru |
0x0018 | uint(32) | Ụdị agba 2? | Ụzọ nke uru a bụ ihe na-amaghị. O nwere ike ịbụ 'Ebumnuche' agba omimi. |
N'ịbụ ndị a, a ga-enwekwa faịlụ palet nke dị na usoro RIFF a haziri ahazi. Nkowa zuru ezu dị na - ebe palet ndị a na-apụta na ebe ndị ọzọ - n'okpuru Paleti.
Data Tiles
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 64 | 61 | 74 | 61 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | d | a | t | a | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(32) | Mma Byte | |
0x0004 | uint(24) | Ogologo Block | |
0x0007 | uint(8) | Akwụkwọ mkpụrụedemede |
N'ikpeazụ, ndị na-ahụ anya na-abịa na edezi pixel, site n'ịzọ na elu ekpe ruo n'ala nri.
Ọnụ ahịa data nke eserese ndị a na-adịkarị ka 8bpp-bitmaps bụ nke dabara na index nke agba na palette agba.
Ngwá ọrụ egwuregwu na-eme ka Tiles *n'ikwu eziokwu* na-achọ.
A na-ahụ nke a n'ikwu na ọ bụ n'ihi mgbanwe ụbọchị na abalị, nke nwere 32 nkọwa nke Tiles. A na-ewepụ "ntakịrị" site na uru ìhè. E wezụga, a ka na-anaghị enweta uru ziri ezi, ana m arụ ọrụ na ntọala mgbakọ
v *= (daylight / 48) + 0.25;
na data HSV nke pixel, ebe daylight bụ uru site na 0-31 ma v bụ uru n'etiti 0-1. N'ịzọpụta nke a, a ga-ewere na na Map, e nwere mgbidi nke Tiles 16 n'akụkụ aka ekpe na aka nri (nke a na-eje ozi maka ịmepụta otu n'ịchaghị).
N'ịgbakwunye, ọ na-adị ka mgbanwe ụbọchị na abalị na-eme ka ọ bụrụ naanị otu ogidi nke Map na-emelite na oge egwuregwu ọ bụla.
Nke a bụ otú mgbanwe ụbọchị na abalị a na-emegharị ọsọ ọsọ si dị:
PRT
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 43 | 50 | 41 | 4c | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | C | P | A | L | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(32) | Ibu Mmaghị | |
0x0004 | uint(24) | Ogologo palet. | Nye, n'ịtụgharị na usoro nkịtị nke blọk, ọnụ ọgụgụ pallets dị na faịlụ a - ọ bụghị ogologo blọk n'ịkịtị. |
0x0007 | uint(8) | Akwukwo mba | O yikarịrị ka, dịka ọ na-adịkarị, Flags. Ma, amaghị m banyere Flags ọ bụla; ebe niile m maara bụ |
M na-amaghị ihe PRT
pụtara kpọmkwem; o kwere omume na ọ bụ 'Palette and Ressource Table' - n'ihi na faịlụ a - nke a hụrụ dịka op2_art.prt na maps.vol - bụ nke dị otú a, ma ọ bụ na nke a ga-akọwa ọrụ ya nke ọma.
Faịlụ a nwere ndepụta nke palettes, tebụl nke bitmap niile a na-eji, nkọwa niile nke mmegharị na ọtụtụ data amaghị ama. Ọ na-eso usoro ihe ọ bụla a na-eji eme ihe n'oge gara aga, n'agbanyeghị na ndị na-edekọ data niile na-esoghị usoro a.
Nke CPAL
(nwere ike ịpụta na ọ bụ Paletten-Container) na-agụnye naanị data palettes, na-egosi otu ọtụtụ n'ime palettes 8-bit nwere 1052 byte bụ nke dị na ya.
Nkọwa nke 1052-byte adịghị ka iwu, n'ihi na usoro palette nwere ike inwe nha palettes dị iche iche. Nke a na-ezo aka naanị na data a na-ebupụta na Outpost 2.
Na ndepụta palettes, ndepụta bitmap na-esochi ozugbo ma na-enweghị isiokwu mmalite, na ndepụta nke mmegharị na-esochi ozugbo.
Ma abụọ a na-amalite na uint(32) (ma ọ bụ ọzọ uint24+uint8 flags?) na-egosi ọnụ ọgụgụ nke ndekọ data.
Paleti
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 50 | 50 | 41 | 4c | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | P | P | A | L | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(32) | Mma Bytes | |
0x0004 | uint(24) | Ogologo paletị | Na-atụle n'ụzọ dị iche na usoro okirikiri nkịtị, na-egosi ọnụ ọgụgụ nke pallets dị na faịlụ a - ọ bụghị ogologo nke okirikiri na byte. |
0x0007 | uint(8) | Mkpụrụndị 旗 | O yiri ka, dịka ọ na-adịkarị, Flags. Ma, anaghị m ama flags ọ bụla; ebe ọ bụ na niile m maara bụ |
Ọrụ ọmụma pallet dị mfe ịgụ.
A na-eme ha site na isi na otu data.
Isi Pallet
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 68 | 65 | 61 | 64 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | h | e | a | d | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(32) | Mma Bytes | |
0x0004 | uint(24) | Ogologo paletị | Na-atụle n'ụzọ dị iche na usoro okirikiri nkịtị, na-egosi ọnụ ọgụgụ nke pallets dị na faịlụ a - ọ bụghị ogologo nke okirikiri na byte. |
0x0007 | uint(8) | Mkpụrụndị 旗 | O yiri ka, dịka ọ na-adịkarị, Flags. Ma, anaghị m ama flags ọ bụla; ebe ọ bụ na niile m maara bụ |
0x0008 | uint(32) | Version nke usoro palet? | Na-atụgharị uche, nke bụ ụdị palet nke palet ahụ na-eso. All Outpost2 palet nwere ike ịnwe ụdị |
Data Pallet
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 64 | 61 | 74 | 61 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | d | a | t | a | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(32) | Mma Bytes | |
0x0004 | uint(24) | Ogologo Block | |
0x0007 | uint(8) | Mkpụrụndị 旗 |
N'ịkpọtụrụ data, ngalaba ahụ na-anabata ọdịnaya pallet dị iche iche. Ọnụgụ nke ọdịnaya pallet na-apụta site na ogologo blọk / 4.
Odịnaya dị iche iche nwere usoro dị mfe dịka ndị a;
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | 04 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(8) | Iji agba uhie | Na-egosi akụkụ agba uhie nke agba ahụ |
0x0001 | uint(8) | Ntọala akwụkwọ ndụ | Na-egosi pasent nke akwụkwọ ndụ na agba |
0x0002 | uint(8) | Mkpụrụ ndụ anụ mmiri na-acha anụnụ anụnụ | Na-egosi pasent nke anụnụ anụnụ na agba |
0x0003 | uint(8) | Amaghị m - Ndị na-atụgharị? | Ọ bụ ihe na-ebutekarị mkpọrọgwụ, ihe a pụtara n'echiche, n'ihi na ọ na-egosi |
Na paleti, e nwere naanị ihe ndị ọzọ a ga-ekwu, n'ịbụ na paleti a na-eji maka ihe nkiri nke a bụ iwu ndị na-arụ ọrụ:
- Color mbụ bụ NA-ECHICHE, n'agbanyeghị ihe ọ bụla e nyere n'ebe ahụ.
-
Paneti 1-24 na-ewere dịka agba onye egwuregwu na paneti 1-8.
Ebe agba si n'aka onye egwuregwu 1 ziri ezi, adịghị m akọwa ya.
M na-atụ anya na agba ndị ọzọ bụ hardcoded
Bitmaps
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(32) | Emeziwanye obosara | Na-enye obosara nke pixel data ahịrị na Byte - n'ihi na a na-edobe ha na 4-Byte oke. Nke a na-eme ka ọ dị mfe ịga n'ihu na ahịrị onyonyo nke a họọrọ. O why na a na-echekwa uru a n'icheta, ọ bụ ezie na a ga-enyocha ya, adịghị atụ uche. |
0x0004 | uint(32) | Ọfset. | Na-egosi offset nke ahịrị mbụ na bitmap |
0x0008 | uint(32) | Elu | Na-egosi ịdị elu nke onyonyo na pixel |
0x000c | uint(32) | Obosara | Na-egosi obosara nke onyonyo n'ịkpụrụ pixel |
0x0010 | uint(16) | Ụdị | Na-enye ụdị ihe osise. O yiri ka nke a bụ bitmask:
|
0x0012 | uint(16) | Palette | Na-akọwa nke palette si na faịlụ PRT ga-eji |
Nke a bụ usoro data nke faịlụ PRT na-egosi etu e si hazie bitmaps ji arụ ọrụ maka sprites. Bitmaps ndị a na-arụ ọrụ ka otu akụkụ, nke ọtụtụ nwere ike ịbụ n’otu frame nke sprite njikọta.
Nke a bụ data foto nke dị na
op2_art.BMP na ndekọ egwuregwu.
Ọ bụrụ na faịlụ bitmap a nwere (n'ozuzu ezi) RIFF-bitmap header,
ọ bụ ihe na-adịghị mfe ịghọta. O yikarịrị ka Outpost 2 na-eji sistemu API
iji bulite eserese, site na iwepụ header a n'oge na-adịghị anya ma
ndị kwesịrị ekwesị, na-agbanwe ahịrị ahụ.
Data pixel dị na faịlụ BMP na ebe a na-emepụta Offset + uint32-Offset, nke a na-ahụ na faịlụ BMP na adres 0x000A (RIFF-bitmap-data-offset), na nweta - ma na-emezigharịa site na nhazi ahịrị site n'elu ekpe gaa n'ala.
Eserese monochrome 1bpp nwere ike ịgụnye n'ụzọ dị otú a, na agba 0 bụ n'efu kpamkpam, na agba 1 bụ oyi akwa nke ojii/acha odo odo, n'ihi na eserese monochrome nwerekarị eji arụ ọrụ ụgbọ ala na ụlọ na ihe ngosi n'ọrụ.
Nke a pụtara na enwere ike ịwụnye ọtụtụ eserese.
Ntọala akwụkwọ ngosi
Ugbu a, anyị na-abịa na klaasị eze nke usoro n'ime usoro data Outpost 2:
Ndị animation.
Ọnọdụ animation na-amalite na header zuru ụwa ọnụ, nke bụ isi maka nkwenye data. Ka ọ na-esochi, ọdịnaya nke animation bụ ihe a ga-akọwa na ọkwa atọ:
-
Animation
Animation bụ ihe kachasị elu; ọ na-anọchi anya animation nke otu, ụlọ ma ọ bụ 'animation partikel' (mmalite kịrịkịrị, ihu igwe, mgbawa) n'otu ọnọdụ pụrụ iche. -
Frame
Frame bụ otu ihe onyonyo n'ime animation. Animation nwere ike ịnwe otu ma ọ bụ ọtụtụ Frames. -
Subframe
Subframe bụ ozi banyere na a ga-ese bitmap pụrụ iche n'okpuru ụfọdụ ọnọdụ na ọnọdụ pụrụ iche nke Frame. Frame nwere ike ịnwe otu ma ọ bụ ọtụtụ Subframes.
N'ikpeazụ, a ga-esochi kpọmkwem nkọwa animation.
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(32) | Ogo animations. | Ole ole ndekọ ihe nkiri dị na ya |
0x0004 | uint(32) | Ọnụọgụgụ Frames | Olee ọnụ ọgụgụ nke frames niile kwesịrị ịdị na ya |
0x0008 | uint(32) | Nọmba subframes | Ogologo subframes ole ka a ga-enwe n'ozuzu |
0x000c | uint(32) | Ọnụ ọgụgụ nhọrọ nke ndebanye. | Ole ntọala "nhọrọ nke a chọrọ" dị. |
Nkà na-emegharị
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0020 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(32) | Amaghị ama 1 | Ozi amaghi ama |
0x0004 | uint(32) | Kpọmkwem Igwe: N'aka ekpe | Na-egosi mmalite nke aka ekpe (na Pixel) nke Bounding Box. |
0x0008 | uint(32) | Bounding Box: Elu | Na-egosi mmalite elu (na pixel) nke Bounding Box. |
0x000c | uint(32) | Bounding Box: Obosara | Nkọwa obosara (na pixel) nke Bounding Box. |
0x0010 | uint(32) | Bounding Box: Elu | Na-enye elu (n'ịkwado Pixel) nke Bounding Box. |
0x0014 | uint(32) | Offset: X | Na-egosi etiti nke mmegharị ahụ n'ogo kwụ ọtọ |
0x0018 | uint(32) | Offset: Y | Na-enye etiti kwụ ọtọ nke mmemme ahụ |
0x001c | uint(32) | Amaghị 2 | Ozi a na-amaghị |
0x0020 | uint(32) | Ọnụọgụgụ Frames | Na-egosi ọnụọgụgụ ndị na-emegharị na animation a nwere |
0x0024 | uint(32) | Ọnụọgụ Windows | Na-egosi otu ọtụtụ windo ka etinyere na eserese |
Ndị data nke ọkwa kachasị elu, nke animation, bụ ndị na-ahụ maka nchịkọta data - Boundingbox na-egosi coordinates nke akara gburugburu ụgbọ ala/ụlọ, mgbe a họpụtara ya ma na-egosikwa nke ọma mpaghara nke a ga-pịa.
Offset na-achọpụta "isi ihe"; isi ihe nke a ga-eji na-agbakwunye ma ọ bụ wepụ na coordinates nke egwuregwu. Ọ bụrụ na ị na-ekwu okwu n'ọtụtụ, offset na-anọchi anya isi coordinates.
Na Windows, dịka offset, bụ (n'ofe Windows) 4 uint(32)-ụdị data, nke na-egosi mpaghara a ga-eji maka subframes. N'èzí Windows, ma ọ bụrụ na a tụrụ anya ya maka bitmap, a naghị ekwe ka e were ya.
Ụdị
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(8) | Nọmba subframe na Toggle maka nhọrọ 1, 2 | Olee otu a na-eme:
|
0x0001 | uint(8) | Amaghị 1 na Toggle maka Nhọrọ 3, 4 | Uru a nwere:
|
0x0002 | uint(8) | Nhọrọ 1 | Amaghị |
0x0003 | uint(8) | Nhọrọ 2 | Amaghị |
0x0004 | uint(8) | Nhọrọ 3 | Amaghị |
0x0005 | uint(8) | Nhọrọ 4 | Amaghị |
Subframe
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | edo | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Ọnọdụ | Ụdị data | Aha | Nkọwa |
---|---|---|---|
0x0000 | uint(16) | Bitmap-ID | Na-egosi bitmap nke ga-eji maka subframe a |
0x0002 | uint(8) | Amaghị ama 1 | Adịghị mma - mana echere m na ọ bụ nke a na-eme ka a nyochaa (Z-Layer) nke a na-ekwu okwu banyere. |
0x0003 | uint(8) | Subframe-Id | Na-egosi n'ịbụ ebe anyị nọ na subframe |
0x0004 | sint(16) | Oghere - N'ịdị ogologo | Na-egosi ebe a ga-etinye subframe n'ime frame, ma ọ bụ otu ọtụtụ pixels bitmap ga-emekwa ka ọ kwapụ horizontally. |
0x0006 | sint(16) | Offset - N'elu na ala | Kpọpụta ebe n'ime ihe oyiyi ahụ ka a ga-etinye subframe, ma ọ bụ otu ọtụtụ pixels ka a ga-emegharị bitmap ahụ n'ịhụ ụzọ n'ogo. |
N'ịbụ nke a, anyị nwere ike ijikọta otu ebe, yana animation zuru ezu, ebe a na-egosi ya na animation siri ike, animation nwere index 500
Ngwaọrụ 500
Animation 500 na-egosi otu Plymouth-transport nwere ngwongwo njirimara nkịtị, na-apụ. Nke a bụ otu n'ime ọtụtụ animation na-eji ọrụ Windowing.
N'ụzọ dị otú a, a pụrụ ijikọta animation niile.
N'ikwu eziokwu, enwere nsogbu na ọkwa elu nke ngwongwo, n'ihi na
ọ bụ ebe a ka bit kwesịrị ekwesị na ozi ụdị eserese adịghị etinye.
N'ebe a, e nwere ụfọdụ ndị ọzọ, nke ọma na-emeghe anya sprites si na egwuregwu:
Nchepụta Onye ọrụ
Ugbu a, ihe a na-achọ bụ User-Interface nke egwuregwu, nke edere na metal nke a na-agbapụ.
Ma ọbụna ebe a, a na-ahụ na Dynamix enweghị mkpa ịmepụta ihe ọhụrụ; ebe a, ọ bụghị naanị na a na-eji User32 na GDI32 APIs nke Windows nyere - karịsịa, a na-eji njikwa akụrụngwa nke User32.
Nke a nwere ike ịpụta site na mmemme dị ka nke Angus Johnson mepụtara dị ka Freeware, Resource Hacker, ma ọ bụ - ma ọ bụrụ na ị na-atụ ụjọ iji Wine na Linux / Mac OS - site na iji wrestool nke dị na icoutils wepụ ya.
Aha faịlụ | Ọnụahịa |
---|---|
Outpost2.exe | Na-ejide naanị ihe ngosi nke egwuregwu ahụ, nke na-egosi ọdụ ụgbọ elu n'ihu New Terra |
op2shres.dll | Na-ejide na mgbakwunye na eserese maka njikwa dịka mgbochi, bọtịnụ, bọtịnụ radyo, na igbe nhọrọ, kwa ndabere mkparịta ụka, onyonyo nke na-esonyere ederede ọrụ akụkọ, na eserese ndabere nke menu isi |
out2res.dll | Na-ejide ihe ịchọgharị windows n'ime egwuregwu, ihe ngosi maka ígwè nkịtị na pụrụ iche, ihuenyo na-akwado, eserese maka mkparịta ụka yana ibe eserese cursor, tinyere ihe nkiri ndị ọzọ n'ime ndekọ egwuregwu |