Mga B volumen · bei.pm
Ang mga format ng file na inilarawan sa pahinang ito ay batay sa teknikal na pagsusuri ng intelektwal na pag-aari ng Dynamix, Inc. at Sierra Entertainment.
Ang intelektwal na pag-aari ay ngayon bahagi ng Activision Publishing, Inc.- / Activision Blizzard, Inc.-na pag-aari at kasalukuyang pagmamay-ari ng Microsoft Corp..
Ang impormasyon ay nakalap sa pamamagitan ng Reverse Engineering at Pagsusuri ng Datos para sa layunin ng pag-archive at interoperability sa makasaysayang datos.
Walang ginamit na mga proprietary o kumpidensyal na espesipikasyon.
Ang laro ay kasalukuyang mabibili sa gog.com bilang isang download.
Ang mga Volume ay isang lalagyan ng datos para sa laro, katulad ng isang format ng archive tulad ng Tarball. Sa Outpost 2, ang format na ito ay kumikilala lamang ng mga file - walang mga folder. Marahil ay maaring i-simulate ang mga ito sa pamamagitan ng mga naaangkop na pangalan ng file.
Ang isang Volume ay binubuo ng Volume-Header at ng maraming Volume Blocks, na tumutugma sa mga konkretong file.
"Volumes" ang mga file na may pagtatapos na 'vol'
sa direktoryo ng laro.
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 4f | 4c | 20 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | O | L | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Uri ng Data | Pangalan | Paliwanag |
---|---|---|---|
0x0000 | uint(32) | Magic Bytes | |
0x0004 | uint(24) | Haba ng Block | |
0x0007 | uint(8) | Mga Watawat |
Ulo ng Dami
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 68 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | h | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Uri ng Data | Pangalan | Paliwanag |
---|---|---|---|
0x0000 | uint(32) | Magic Bytes | |
0x0004 | uint(24) | Haba ng Block | |
0x0007 | uint(8) | Mga Watawat |
Walang mga datos na maaaring gamitin ang Volume Header.
Ito ay nagsisilbing lalagyan lamang.
Ang unang datos sa Volume Header ay dapat na ang Volume Strings; kasunod nito ay ang mga impormasyon ng Volume.
Mga String ng Bvolume
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Uri ng Data | Pangalan | Paliwanag |
---|---|---|---|
0x0000 | uint(32) | Magic Bytes | |
0x0004 | uint(24) | Haba ng Block | |
0x0007 | uint(8) | Mga Watawat |
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 73 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | s | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Uri ng Data | Pangalan | Paliwanag |
---|---|---|---|
0x0000 | uint(32) | Magic Bytes | |
0x0004 | uint(24) | Haba ng Block | |
0x0007 | uint(8) | Mga Watawat | |
0x0008 | uint(32) | Haba ng Payload | Itinutukoy kung ilang Bytes ng mga sumusunod na datos ang talagang mga kapaki-pakinabang na datos. Ang natitirang mga datos ng listahan ng mga Volume-Strings ay tila itinuturing na garbage. Sa mga file na may mas bagong petsa, ang mga 'natitirang datos' ay 0x00, na maaaring magpahiwatig ng mga kakulangan sa toolchain habang isinasagawa ang pagbuo ng laro, ibig sabihin, na ang isang developer ay tanging nag-alala sa tamang pagsasaayos ng mga buffer sa huli na, dahil walang epekto sa laro kung ang mga datos ay na-initialize o hindi. |
0x000c | uint(8)[] | Listahan ng mga Pangalan ng File | Ito ay isang listahan ng mga pangalan ng file na tinutukoy sa 0-byte na pagtatapos, na - kahit na sa kasalukuyang bahagi ng data - ay inaasahang naglalaman lamang ng mga ASCII na karakter. Hindi kinakailangan na suriin ang data block na ito nang mas detalyado habang pinaparso ang mga data, dahil sa mga impormasyon ng Volume, direkta namang tinutukoy ang mga offset ng mga pangalan ng file. |
Ang mga Volume Strings ay isang listahan ng mga pangalan ng file na kasama sa loob ng volume.
Impormasyon ng Dami
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Uri ng Data | Pangalan | Paliwanag |
---|---|---|---|
0x0000 | uint(32) | Magic Bytes | |
0x0004 | uint(24) | Haba ng Block | |
0x0007 | uint(8) | Mga Watawat |
Ang mga impormasyon ng volume ay kumukuha ng mas detalyadong impormasyon tungkol sa mga file. Ito ay sa isang paraan na katulad ng isang uri ng FAT directory entry (FAT = File Allocation Table)
Ang bilang ng mga file ay nagmumula sa laki ng block na hinati sa haba ng mga directory entry - 14 Byte.
Ang bawat mga directory entry ay may sumusunod na estruktura:
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Uri ng Data | Pangalan | Paliwanag |
---|---|---|---|
0x0000 | uint(32) | Petsa ng pangalan-Offset | Nagsasaad kung aling Offset (!) sa loob ng listahan ng mga pangalan ng file (Volume-Strings) matatagpuan ang pangalan ng file ng dokumento. Ito ay tumutukoy sa simula ng data block. |
0x0004 | uint(32) | Offset ng File | Itinutukoy kung saang offset sa loob ng kabuuang volume file matatagpuan ang file. |
0x0008 | uint(32) | Laki ng File | Ipinapakita kung gaano kalaki ang file sa byte. |
0x000c | uint(16) | Mga watawat? | Tila naglalaman ito ng karagdagang impormasyon tungkol sa pag-encode ng file.
|
Blok ng Dami
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 42 | 4c | 48 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | B | L | H | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Uri ng Data | Pangalan | Paliwanag |
---|---|---|---|
0x0000 | uint(32) | Magic Bytes | |
0x0004 | uint(24) | Haba ng Block | |
0x0007 | uint(8) | Mga Watawat |
Ang isang volume block ay isang lalagyan na tumatanggap ng mga file. Naglalaman ito ng muli - dahil sa format ng block - ng redundant na sukat ng file at kasunod nito ay direkta ang mga datos na ginagamit.