Hacimler · bei.pm
Bu sayfada tanımlanan dosya formatları, Dynamix, Inc. ve Sierra Entertainment tarafından yapılan teknik analizlere dayanmaktadır.
Bugün fikri mülkiyet, Activision Publishing, Inc. / Activision Blizzard, Inc. grubunun bir parçasıdır ve şu anda Microsoft Corp. tarafından sahiptir.
Bilgiler, arşivleme ve tarihsel verilerle birlikte çalışabilirlik amacıyla ters mühendislik ve veri analizi yoluyla derlenmiştir.
Hiçbir özel veya gizli spesifikasyon kullanılmamıştır.
Oyun şu anda gog.com üzerinden indirme olarak satın alınabilir.
Volume'lar, oyuna ait bir veri konteyneridir ve Tarball gibi arşiv formatlarına benzer. En azından Outpost 2'de bu format yalnızca dosyaları tanır - klasör yoktur. Bunlar, muhtemelen ilgili dosya adlarıyla simüle edilebilir.
Bir Volume, Volume başlığı ve belirli dosyalara karşılık gelen birden fazla Volume bloğundan oluşur.
"Volumes", oyun dizinindeki 'vol'
uzantısına sahip dosyalardır.
Adres | 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 | . | . | . | . | . | . | . | . | . | . | . | . |
Kaydırma | Veri Türü | Tanım | Açıklama |
---|---|---|---|
0x0000 | uint(32) | Sihirli Baytlar | |
0x0004 | uint(24) | Blok Uzunluğu | |
0x0007 | uint(8) | Bayraklar |
Hacim Başlığı
Adres | 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 | . | . | . | . | . | . | . | . | . | . | . | . |
Kaydırma | Veri Türü | Tanım | Açıklama |
---|---|---|---|
0x0000 | uint(32) | Sihirli Baytlar | |
0x0004 | uint(24) | Blok Uzunluğu | |
0x0007 | uint(8) | Bayraklar |
Hacim Başlığı kendisi herhangi bir kullanıcı verisi içermez.
Sadece bir konteyner olarak hizmet eder.
Hacim Başlığındaki ilk veri, hacim dizgileri olmalıdır; ardından hacim bilgileri gelmektedir.
Ses Hacmi Dizeleri
Adres | 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 | . | . | . | . | . | . | . | . | . | . | . | . |
Kaydırma | Veri Türü | Tanım | Açıklama |
---|---|---|---|
0x0000 | uint(32) | Sihirli Baytlar | |
0x0004 | uint(24) | Blok Uzunluğu | |
0x0007 | uint(8) | Bayraklar |
Adres | 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 | . | . | . | . | . | . | . | . | . | . | . | . |
Kaydırma | Veri Türü | Tanım | Açıklama |
---|---|---|---|
0x0000 | uint(32) | Sihirli Baytlar | |
0x0004 | uint(24) | Blok Uzunluğu | |
0x0007 | uint(8) | Bayraklar | |
0x0008 | uint(32) | Yük uzunluğu | Aşağıdaki verilerin ne kadarının gerçekten yararlı veri olduğunu belirtir. Hacim dizeleri listesinin geri kalan verileri açıkça çöp olarak değerlendirilmektedir. Sonradan oluşturulan dosyalarda bu 'geri kalan veriler' 0x00'dır, bu da oyunun geliştirilmesi sırasında araç zincirindeki yetersizliklere işaret edebilir; yani, bir geliştiricinin tamponların doğru bir şekilde başlatılmasına ancak çok geç bir aşamada özen gösterdiği anlamına gelir, çünkü verilerin başlatılıp başlatılmaması oyunun işleyişini etkilemez. |
0x000c | uint(8)[] | Dosya Adları Listesi | Bu, - mevcut veri bileşeninde - yalnızca ASCII karakterleri bekleyen 0-byte ile sonlandırılmış bir dosya adı listesidir. Verileri ayrıştırırken bu veri bloğunu daha ayrıntılı bir şekilde analiz etmek gerekmez, çünkü hacim bilgilerinde zaten dosya adlarının offset'leri doğrudan referans alınmaktadır. |
Volume Strings, hacim içinde bulunan dosya adlarının bir listesidir.
Ses Bilgileri
Adres | 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 | . | . | . | . | . | . | . | . | . | . | . | . |
Kaydırma | Veri Türü | Tanım | Açıklama |
---|---|---|---|
0x0000 | uint(32) | Sihirli Baytlar | |
0x0004 | uint(24) | Blok Uzunluğu | |
0x0007 | uint(8) | Bayraklar |
Hacim bilgileri, dosyalarla ilgili daha ayrıntılı bilgileri alır. Bu, bir nevi FAT dizin girişi gibidir (FAT = Dosya Dağıtım Tablosu).
Dosya sayısı, blok boyutunun dizin girişlerinin uzunluğuna - 14 Bayt'a bölünmesiyle elde edilir.
Bireysel dizin girişleri ise şu yapıya sahiptir:
Adres | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | karakter | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Kaydırma | Veri Türü | Tanım | Açıklama |
---|---|---|---|
0x0000 | uint(32) | Dosya adı kaydırması | Dosya adları listesindeki (Hacim Dize'leri) dosya adının bulunduğu ofset (!) değerini belirtir. Bunu, kullanıcı veri bloğunun başlangıcına atıfta bulunarak yapar. |
0x0004 | uint(32) | Dosya Ofseti | Dosyanın tüm hacim dosyası içindeki hangi ofsetten bulunduğunu belirtir. |
0x0008 | uint(32) | Dosya boyutu | Dosyanın boyutunun byte cinsinden ne kadar olduğunu belirtir. |
0x000c | uint(16) | Bayraklar? | Görünüşe göre dosya kodlaması hakkında ek bilgiler veriyor.
|
Hacim Bloğu
Adres | 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 | . | . | . | . | . | . | . | . | . | . | . | . |
Kaydırma | Veri Türü | Tanım | Açıklama |
---|---|---|---|
0x0000 | uint(32) | Sihirli Baytlar | |
0x0004 | uint(24) | Blok Uzunluğu | |
0x0007 | uint(8) | Bayraklar |
Volume bloğu, dosyaları barındıran bir kapsayıcıdır. Sadece blok formatı nedeniyle dosya boyutunu tekrar - redunant olarak - içerir ve ardından doğrudan kullanım verileri gelir.