Apimtis · bei.pm
Šioje svetainėje aprašyti failų formatai remiasi technine Dynamix, Inc. ir Sierra Entertainment intelektualinio turto analize.
Intelektualusis turtas šiuo metu yra Activision Publishing, Inc. / Activision Blizzard, Inc. nuosavybė ir šiuo metu priklauso Microsoft Corp..
Informacija buvo surinkta naudojant atvirkštinį inžineriją ir duomenų analizę archyvavimo ir istorinių duomenų tarpusavio suderinamumo tikslais.
Nebuvo naudojamos jokios nuosavybės ar konfidencialios specifikacijos.
Žaidimą šiuo metu galima įsigyti kaip atsisiuntimą gog.com.
Tūriniai yra duomenų konteineriai žaidimui, panašūs į archyvų formatą, pavyzdžiui, Tarball. Mažiausiai „Outpost 2“ šis formatas žino tik failus - jokių aplankų. Galima būtų juos simuliuoti naudodamiesi atitinkamais failų pavadinimais.
Tūrinys susideda iš tūrinio antraštės ir kelių tūrinio blokų, kurie atitinka konkrečius failus.
„Tūriniai“ yra failai su plėtiniu 'vol'
žaidimo kataloge.
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | simboliai | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 4f | 4c | 20 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | O | L | . | . | . | . | . | . | . | . | . | . | . | . |
Ofsetas | Duomenų tipas | Pavadinimas | Paaiškinimas |
---|---|---|---|
0x0000 | uint(32) | Magijos baitai | |
0x0004 | uint(24) | Blocko ilgis | |
0x0007 | uint(8) | Vėliavos |
Apimtis
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | simboliai | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 68 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | h | . | . | . | . | . | . | . | . | . | . | . | . |
Ofsetas | Duomenų tipas | Pavadinimas | Paaiškinimas |
---|---|---|---|
0x0000 | uint(32) | Magijos baitai | |
0x0004 | uint(24) | Blocko ilgis | |
0x0007 | uint(8) | Vėliavos |
Apimties antraštėje nėra jokių naudotojų duomenų.
Ji tarnauja tik kaip konteineris.
Pirmieji duomenys apimties antraštėje turėtų būti apimties eilutės; po to seka apimties informacija.
Garso eilutės
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | simboliai | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Ofsetas | Duomenų tipas | Pavadinimas | Paaiškinimas |
---|---|---|---|
0x0000 | uint(32) | Magijos baitai | |
0x0004 | uint(24) | Blocko ilgis | |
0x0007 | uint(8) | Vėliavos |
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | simboliai | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 73 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | s | . | . | . | . | . | . | . | . | . | . | . | . |
Ofsetas | Duomenų tipas | Pavadinimas | Paaiškinimas |
---|---|---|---|
0x0000 | uint(32) | Magijos baitai | |
0x0004 | uint(24) | Blocko ilgis | |
0x0007 | uint(8) | Vėliavos | |
0x0008 | uint(32) | Našumo ilgis | Nurodo, kiek baitų iš šių duomenų iš tikrųjų yra naudingi. Likę duomenys iš apimties eilutės sąrašo akivaizdžiai laikomi šiukšlėmis. Vėlesnėse datuotose failuose šie 'likę duomenys' yra 0x00, kas gali rodyti į trūkumus su įrankių rinkiniu žaidimo vystymo metu, kitaip tariant, kad tik vėliau kūrėjas pasirūpino teisingu buferių inicializavimu, nes tai neturi įtakos žaidimui, ar duomenys yra inicializuoti, ar ne. |
0x000c | uint(8)[] | Failų pavadinimų sąrašas | Čia kalbama apie 0 baitų terminę failų pavadinimų sąrašą, kuris - bent jau šioje duomenų dalyje - tikisi tik ASCII simbolių. Nėra būtina detaliau analizuoti šio duomenų bloko, nes tūrio informacijoje tiesiogiai nurodomi failų pavadinimų ofsetai. |
Tūrinio eilutėse pateikiama failų, esančių tūryje, pavadinimų sąrašas.
Apimtis informacija
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | simboliai | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Ofsetas | Duomenų tipas | Pavadinimas | Paaiškinimas |
---|---|---|---|
0x0000 | uint(32) | Magijos baitai | |
0x0004 | uint(24) | Blocko ilgis | |
0x0007 | uint(8) | Vėliavos |
Apimties informacija teikia detalesnę informaciją apie failus. Tai tam tikra prasme yra panaši į FAT katalogo įrašą (FAT = Failų paskirstymo lentelė).
Failų skaičius gaunamas padalijus blokų dydį iš katalogo įrašų ilgio - 14 baitų.
Kiekvienas katalogo įrašas turi tokį patį struktūrą:
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | simboliai | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Ofsetas | Duomenų tipas | Pavadinimas | Paaiškinimas |
---|---|---|---|
0x0000 | uint(32) | Failo pavadinimo poslinkis | Nurodo, kuriame ofsete (!) failų pavadinimų sąraše (tūrio eilutėse) randamas failo pavadinimas. Tai susiję su naudingųjų duomenų bloko pradžia. |
0x0004 | uint(32) | Failo ofsetas | Nurodo, kuriame ofsete visoje tūrinio byloje yra failas. |
0x0008 | uint(32) | Failo dydis | Nurodo, koks yra failo dydis baitais. |
0x000c | uint(16) | Vėliavos? | Akivaizdu, kad pateikiama papildoma informacija apie failo kodavimą.
|
Apimties blokas
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | simboliai | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 42 | 4c | 48 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | B | L | H | . | . | . | . | . | . | . | . | . | . | . | . |
Ofsetas | Duomenų tipas | Pavadinimas | Paaiškinimas |
---|---|---|---|
0x0000 | uint(32) | Magijos baitai | |
0x0004 | uint(24) | Blocko ilgis | |
0x0007 | uint(8) | Vėliavos |
Volume blokas yra konteineris, kuriame saugomos bylos. Jame dar kartą - dėl bloko formato - reduntantiškai pateikiama failo dydis, o po to tiesiogiai seka naudingi duomenys.