Hulgad · bei.pm

Avaldatud 19.11.2015·Uuendatud 13.02.2025·Esti keel
See tekst tõlgiti automaatselt OpenAI GPT-4o Mini abil.

Siin lehel kirjeldatud failiformaadid põhinevad Dynamix, Inc. ja Sierra Entertainment intellektuaalomandi tehnilisel analüüsil.
Intellektuaalne omand kuulub praegu Activision Publishing, Inc.-i / Activision Blizzard, Inc.-i varade hulka ja on praegu Microsoft Corp.-i omandis.

Teave on kogutud tagasipööramise inseneritehnika ja andmeanalüüsi abil, eesmärgiga arhiveerida ja tagada ühilduvus ajalooliste andmetega.
Kasutatud ei ole ühtegi patenteeritud või konfidentsiaalset spetsifikatsiooni.

Mängu saab praegu osta allalaadimiseks gog.com.

Volüümid on mängu jaoks andmekonteiner, sarnane arhiiviformaadile, nagu näiteks Tarball. Outpost 2-s tunneb see formaat siiski vaid faile - mitte kaustasid. Tõenäoliselt saaks neid aga vastavate failinimede kaudu simuleerida.

Volüüm koosneb volüümi päisest ja mitmest volüümi plokist, mis vastavad konkreetsetele failidele.

"Volüümid" on failid, mille laiend on 'vol' mängu kataloogis.

Aadress x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF sümbol
0x0000 56 4f 4c 20 -- -- -- -- -- -- -- -- -- -- -- -- V O L . . . . . . . . . . . .
Offset Andmetüüp Nimi Selgitus
0x0000 uint(32) Magiabaitid
0x0004 uint(24) Ploki pikkus
0x0007 uint(8) Lipud

Helipealkiri

Aadress x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF sümbol
0x0000 76 6f 6c 68 -- -- -- -- -- -- -- -- -- -- -- -- v o l h . . . . . . . . . . . .
Offset Andmetüüp Nimi Selgitus
0x0000 uint(32) Magiabaitid
0x0004 uint(24) Ploki pikkus
0x0007 uint(8) Lipud

Volume'i pealkiri ei sisalda mitte mingit kasulikku teavet.
See teenib vaid konteinerina.

Volume'i pealkirjas peaks esimesena olema Volume'i stringid; nendele järgnevad siis Volume'i andmed.

Heli stringid

Aadress x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF sümbol
0x0000 76 6f 6c 69 -- -- -- -- -- -- -- -- -- -- -- -- v o l i . . . . . . . . . . . .
Offset Andmetüüp Nimi Selgitus
0x0000 uint(32) Magiabaitid
0x0004 uint(24) Ploki pikkus
0x0007 uint(8) Lipud
Aadress x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF sümbol
0x0000 76 6f 6c 73 -- -- -- -- -- -- -- -- -- -- -- -- v o l s . . . . . . . . . . . .
Offset Andmetüüp Nimi Selgitus
0x0000 uint(32) Magiabaitid
0x0004 uint(24) Ploki pikkus
0x0007 uint(8) Lipud
0x0008 uint(32) Makse pikkus

Näitab, kui palju baitidest järgmised andmed tegelikult kasutatav on.

Ülejäänud, allesolevad andmed maht-stringide loendis peavad ilmselt olema prügiks.

Hilisema kuupäevaga failides on need 'allesolevad andmed' 0x00, mis võib viidata tööriistade komplekti puudustele mängu arendamise ajal, st et alles väga hilja hakkas arendaja muretsema puhverdamise õige algseadmise pärast, kuna andmete algseadmine ei mõjuta mängu toimimist.

0x000c uint(8)[] Failinimede loetelu

Siin on tegemist 0-baiti terminatsiooniga failinimede loendiga, mis - vähemalt antud andmekomponendis - eeldab vaid ASCII-märke.

Andmete analüüsimisel ei ole vaja seda andmeblokki täiendavalt hinnata, kuna mahu teabes viidatakse igal juhul otse failinimede ofsettile.

Volume Strings on nimekiri failinimedest, mis kuuluvad mahutisse.

Mahuteave

Aadress x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF sümbol
0x0000 76 6f 6c 69 -- -- -- -- -- -- -- -- -- -- -- -- v o l i . . . . . . . . . . . .
Offset Andmetüüp Nimi Selgitus
0x0000 uint(32) Magiabaitid
0x0004 uint(24) Ploki pikkus
0x0007 uint(8) Lipud

Mahtude teave sisaldab üksikasjalikumat teavet failide kohta. See on teatud mõttes nagu FAT-i katalooge (FAT = Faili jaotustabel).

Failide arv tuleneb ploki suurusest, jagatuna katalooge sissekannete pikkusega - 14 baiti.

Igal katalooge sissekandel on järgmine struktuur:

Aadress x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF sümbol
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Offset Andmetüüp Nimi Selgitus
0x0000 uint(32) Failinime-offset

Osutab sellele, millisel offset'il (!) failinime nimekirjas (mahu stringid) faili nimi asub.

See viitab andmeploki algusele.

0x0004 uint(32) Faili-offset

Osutab, millisel offset'il asub fail kogu mahtfailis.

0x0008 uint(32) Faili suurus

Näitab, kui suur fail on baitides.

0x000c uint(16) Lipud?

Tundub, et see annab täiendavat teavet faili kodeerimise kohta.

  • 0x03 on seadistatud, kui fail on kokku pakitud. Siin tundub kasutavat Huffmani puu.
  • 0x80 on ilmselt alati seadistatud.

Heli plokk

Aadress x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF sümbol
0x0000 56 42 4c 48 -- -- -- -- -- -- -- -- -- -- -- -- V B L H . . . . . . . . . . . .
Offset Andmetüüp Nimi Selgitus
0x0000 uint(32) Magiabaitid
0x0004 uint(24) Ploki pikkus
0x0007 uint(8) Lipud

Volume-blokk on konteiner, mis sisaldab faile. See sisaldab veel kord - blockformaatide tõttu - redundantselt faili suurust ja seejärel järgivad kohe kasutusandmed.