Volumes · bei.pm

Raitim long 19.11.2015·Uptade long 13.02.2025·Hiri Motu
Dis wanpela tok em i bin makim long OpenAI GPT-4o Mini.

Na dispela sait, ol deitformats i stap long teknikal analis bilong ol samting bilong Dynamix, Inc. na Sierra Entertainment.
Samting bilong tingting i stap long Activision Publishing, Inc.- / Activision Blizzard, Inc. na i stap long han bilong Microsoft Corp..

Ol infomesen i bin gat long Reverse Engineering na Datenanalyse bilong ol samting long arkiiving na interoparabelity wantaim ol istorikal data.
Ol i no yusim eni proprieta o konfidenchal spesifikesen.

Dispela geim i stap long gog.com long pekim olsem download.

Volumes em wan data container bilong game, olsem wan archive format olsem Tarball. Olsem na, long Outpost 2, format i save long ol files tasol - nogat ol folders. Ol i save likim ol dispela long ol file nem.

Wan volume i kam long volume-header na ol several volume blocks, we i bilong ol spesifik files.

"Volumes" em ol files we i gat end olsem 'vol' long game directory.

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 . . . . . . . . . . . .
Pasa Taitai data Nama Tok Pisin
0x0000 uint(32) Magic Bytes
0x0004 uint(24) Block-Lengta
0x0007 uint(8) Sakana

Volume Hed

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 . . . . . . . . . . . .
Pasa Taitai data Nama Tok Pisin
0x0000 uint(32) Magic Bytes
0x0004 uint(24) Block-Lengta
0x0007 uint(8) Sakana

Volume Header no gat nogat data bilong yus.
Em i olsem container tasol.

Numba wan data long Volume Header em i mas gat Volume Strings; bihain long dispela i kamap Volume-information.

Volume Strin

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 . . . . . . . . . . . .
Pasa Taitai data Nama Tok Pisin
0x0000 uint(32) Magic Bytes
0x0004 uint(24) Block-Lengta
0x0007 uint(8) Sakana
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 . . . . . . . . . . . .
Pasa Taitai data Nama Tok Pisin
0x0000 uint(32) Magic Bytes
0x0004 uint(24) Block-Lengta
0x0007 uint(8) Sakana
0x0008 uint(32) Payload-lenght

Okatim yu, hau many bytes bilong dis data em tru nau i gat useful data.

Ol narapela data bilong volume-strings-list i luk olsem em i gat garbage.

Long ol faile we i gat laitim deit, dispela 'narapela data' em 0x00, dispela i makim ol problem we i kamap long toolchain taim ol i wokim game, olsem, i luk olsem, wanpela developer i lukautim gut long korrect initialization bilong ol buffer long laitim deit, long wanem, i no gat bikpela impact long game sapos data i bin initialized o nogat.

0x000c uint(8)[] Noma file liste

Dis em 0-byte terminita list bilong file nem, we - igo long dis data component - em i lukim tasol ASCII mak.

No nid long lukim dis data block klia while yu parsing dis data, bikos long volume information, ol i referensim direkt file nem offset.

Volume Strings iwanua na lista bilong ol file nem, we i stap long volume.

Voluma in forma

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 . . . . . . . . . . . .
Pasa Taitai data Nama Tok Pisin
0x0000 uint(32) Magic Bytes
0x0004 uint(24) Block-Lengta
0x0007 uint(8) Sakana

Volume information i gat moa detel inforamshon long di files. Dis i olsem wan kain FAT directory entry (FAT = File Allocation Table)

Di namba blong files i kam long block size divaidim long di length blong directory entries - 14 Byte.

Di evri directory entries i gat di following structure:

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Pasa Taitai data Nama Tok Pisin
0x0000 uint(32) Fela namo offset

Tokim koni offset (!) long file name list (Volume-Strings) we file name bilong file i stap.

I tokim long stat bilong data block.

0x0004 uint(32) Fala-Offset

Givim bekim, long wanem offset insait long olgeta Volume-file we em i stap.

0x0008 uint(32) Dai-fai suai

Oro aiba, olsem wanem size bilong file em i stap long byte.

0x000c uint(16) Flaks?

Emi toktok long moa infomesen long di file koding.

  • 0x03 emi set long, sapos di file i kompres. Dispela i luk olsem i gat wanpela Huffmann tri.
  • 0x80 emi luk olsem i set long olgeta taim.

Volume Blok

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 . . . . . . . . . . . .
Pasa Taitai data Nama Tok Pisin
0x0000 uint(32) Magic Bytes
0x0004 uint(24) Block-Lengta
0x0007 uint(8) Sakana

Volume-Block emi wan container, hem kisim ol faile. Hem i gat wanpela moa - bikpela bilong block format - redundant de faile size na na em i go stret long ol user data.