ปริมาณ · bei.pm
รูปแบบไฟล์ที่อธิบายไว้ในหน้านี้อิงจากการวิเคราะห์ทางเทคนิคของทรัพย์สินทางปัญญาจาก Dynamix, Inc. และ Sierra Entertainment.
ทรัพย์สินทางปัญญาในปัจจุบันเป็นส่วนหนึ่งของกลุ่ม Activision Publishing, Inc. / Activision Blizzard, Inc. และในขณะนี้เป็นของ Microsoft Corp..
ข้อมูลเหล่านี้ถูกรวบรวมผ่าน การวิศวกรรมย้อนกลับ และ การวิเคราะห์ข้อมูล เพื่อวัตถุประสงค์ในการจัดเก็บข้อมูลและความสามารถในการทำงานร่วมกันกับข้อมูลประวัติศาสตร์.
ไม่มีสเปคที่เป็นกรรมสิทธิ์หรือเป็นความลับถูกใช้.
เกมนี้สามารถซื้อได้ในราคาเป็นดาวน์โหลดที่ gog.com.
Volume เป็นตัวเก็บข้อมูลสำหรับเกม คล้ายกับรูปแบบไฟล์เก็บข้อมูล เช่น Tarball อย่างน้อยใน Outpost 2 รูปแบบนี้มีเพียงไฟล์ - ไม่มีโฟลเดอร์ อาจเป็นไปได้ว่าเราสามารถจำลองโฟลเดอร์เหล่านี้ได้โดยใช้ชื่อไฟล์ที่เหมาะสม
Volume ประกอบด้วย Volume-Header และ Volume Blocks หลายตัวที่ตรงกับไฟล์ที่แท้จริง
"Volumes" คือไฟล์ที่มีนามสกุล 'vol'
ในไดเรกทอรีเกม
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | อักขระ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 4f | 4c | 20 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | O | L | . | . | . | . | . | . | . | . | . | . | . | . |
ออฟเซ็ต | ชนิดข้อมูล | ชื่อฟิลด์ข้อมูล | คำอธิบาย |
---|---|---|---|
0x0000 | uint(32) | มายากลไบต์ | |
0x0004 | uint(24) | ความยาวบล็อก | |
0x0007 | uint(8) | ธง |
ส่วนหัวของปริมาตร
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | อักขระ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 68 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | h | . | . | . | . | . | . | . | . | . | . | . | . |
ออฟเซ็ต | ชนิดข้อมูล | ชื่อฟิลด์ข้อมูล | คำอธิบาย |
---|---|---|---|
0x0000 | uint(32) | มายากลไบต์ | |
0x0004 | uint(24) | ความยาวบล็อก | |
0x0007 | uint(8) | ธง |
ส่วนหัวของ Volume ไม่มีข้อมูลการใช้งานใด ๆ
มันมีไว้เพียงเพื่อเป็นที่เก็บข้อมูลเท่านั้น
ข้อมูลแรกในส่วนหัวของ Volume ควรเป็น Volume Strings; หลังจากนั้นจะเป็นข้อมูลเกี่ยวกับ Volume
สายเสียง
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | อักขระ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
ออฟเซ็ต | ชนิดข้อมูล | ชื่อฟิลด์ข้อมูล | คำอธิบาย |
---|---|---|---|
0x0000 | uint(32) | มายากลไบต์ | |
0x0004 | uint(24) | ความยาวบล็อก | |
0x0007 | uint(8) | ธง |
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | อักขระ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 73 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | s | . | . | . | . | . | . | . | . | . | . | . | . |
ออฟเซ็ต | ชนิดข้อมูล | ชื่อฟิลด์ข้อมูล | คำอธิบาย |
---|---|---|---|
0x0000 | uint(32) | มายากลไบต์ | |
0x0004 | uint(24) | ความยาวบล็อก | |
0x0007 | uint(8) | ธง | |
0x0008 | uint(32) | ความยาวของ Payload | ระบุจำนวนไบต์ที่ข้อมูลต่อไปนี้เป็นข้อมูลที่ใช้งานได้จริง ข้อมูลที่เหลืออยู่ในลิสต์ของ Volume-Strings นั้นดูเหมือนจะถือเป็น ขยะ ในไฟล์ที่มีวันที่ใหม่กว่านั้น 'ข้อมูลที่เหลือ' จะเป็น 0x00 ซึ่งอาจบ่งชี้ถึงข้อบกพร่องในเครื่องมือที่ใช้พัฒนาเกม นั่นคือ นักพัฒนาจัดการกับการเริ่มต้นตัวแปรได้ค่อนข้างช้า เนื่องจากไม่มีผลกระทบต่อเกมว่าข้อมูลจะถูกเริ่มต้นหรือไม่ |
0x000c | uint(8)[] | รายชื่อไฟล์ | นี่คือรายการชื่อไฟล์ที่มีการสิ้นสุดด้วย 0-ไบต์ ซึ่ง - อย่างน้อยในส่วนข้อมูลที่มีอยู่ - คาดว่าจะมีเพียงตัวอักษร ASCII เท่านั้น ไม่มีความจำเป็นต้องวิเคราะห์ข้อมูลบล็อกนี้อย่างละเอียดในระหว่างการประมวลผลข้อมูล เนื่องจากในข้อมูลเกี่ยวกับ Volume จะมีการอ้างอิงตำแหน่งของชื่อไฟล์โดยตรงอยู่แล้ว |
Volume Strings คือรายการชื่อไฟล์ที่อยู่ภายใน Volume
ข้อมูลเกี่ยวกับปริมาตร
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | อักขระ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
ออฟเซ็ต | ชนิดข้อมูล | ชื่อฟิลด์ข้อมูล | คำอธิบาย |
---|---|---|---|
0x0000 | uint(32) | มายากลไบต์ | |
0x0004 | uint(24) | ความยาวบล็อก | |
0x0007 | uint(8) | ธง |
ข้อมูลเกี่ยวกับ Volume จะบันทึกรายละเอียดเพิ่มเติมเกี่ยวกับไฟล์ โดยจะมีลักษณะคล้ายกับรายการใน FAT (FAT = File Allocation Table)
จำนวนไฟล์จะคำนวณจากขนาดของบล็อกหารด้วยความยาวของรายการในไดเรกทอรี - 14 ไบต์
รายการในไดเรกทอรีแต่ละรายการมีโครงสร้างดังนี้:
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | อักขระ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
ออฟเซ็ต | ชนิดข้อมูล | ชื่อฟิลด์ข้อมูล | คำอธิบาย |
---|---|---|---|
0x0000 | uint(32) | ออฟเซ็ตชื่อไฟล์ | ระบุว่าไฟล์ชื่อของไฟล์อยู่ที่ตำแหน่งไหน (!) ภายในรายชื่อไฟล์ (Volume-Strings) โดยอ้างอิงจากจุดเริ่มต้นของบล็อกข้อมูลที่ใช้. |
0x0004 | uint(32) | ออฟเซ็ตไฟล์ | ระบุว่าไฟล์อยู่ที่ตำแหน่งใดภายในไฟล์ volume ทั้งหมด |
0x0008 | uint(32) | ขนาดไฟล์ | ระบุขนาดของไฟล์เป็นไบต์ |
0x000c | uint(16) | ธง? | ดูเหมือนว่าจะมีข้อมูลเพิ่มเติมเกี่ยวกับการเข้ารหัสไฟล์
|
บล็อกปริมาตร
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | อักขระ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 42 | 4c | 48 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | B | L | H | . | . | . | . | . | . | . | . | . | . | . | . |
ออฟเซ็ต | ชนิดข้อมูล | ชื่อฟิลด์ข้อมูล | คำอธิบาย |
---|---|---|---|
0x0000 | uint(32) | มายากลไบต์ | |
0x0004 | uint(24) | ความยาวบล็อก | |
0x0007 | uint(8) | ธง |
บล็อกวอลลุ่มคือคอนเทนเนอร์ที่ใช้เก็บไฟล์ ซึ่งจะมีขนาดไฟล์ซ้ำอีกครั้งหนึ่ง - เนื่องจากรูปแบบของบล็อก - และหลังจากนั้นจะตามมาด้วยข้อมูลที่ใช้งานได้ทันที