Khối lượng · bei.pm
Các định dạng tệp được mô tả trên trang này dựa trên phân tích kỹ thuật về sở hữu trí tuệ của Dynamix, Inc. và Sierra Entertainment.
Sở hữu trí tuệ này hiện là một phần của tập đoàn Activision Publishing, Inc.- / Activision Blizzard, Inc. và hiện đang thuộc sở hữu của Microsoft Corp..
Các thông tin đã được thu thập thông qua Reverse Engineering và phân tích dữ liệu nhằm mục đích lưu trữ và tương tác với dữ liệu lịch sử.
Không có thông số kỹ thuật nào thuộc quyền sở hữu hoặc bí mật nào được sử dụng.
Trò chơi hiện có thể được mua dưới dạng tải về tại gog.com.
Các Volume là một container dữ liệu cho trò chơi, tương tự như một định dạng lưu trữ như Tarball. Ít nhất trong Outpost 2, định dạng này chỉ biết đến các tệp - không có thư mục. Có lẽ chúng có thể được mô phỏng thông qua tên tệp tương ứng.
Một Volume bao gồm tiêu đề Volume và nhiều khối Volume, mà tương ứng với các tệp cụ thể.
"Volumes" là các tệp có đuôi 'vol'
trong thư mục trò chơi.
Địa chỉ | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | ký tự | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 4f | 4c | 20 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | O | L | . | . | . | . | . | . | . | . | . | . | . | . |
Địa chỉ lệch | Loại dữ liệu | Tên gọi | Giải thích |
---|---|---|---|
0x0000 | uint(32) | Magic Bytes | |
0x0004 | uint(24) | Độ dài khối | |
0x0007 | uint(8) | Cờ |
Tiêu đề Âm lượng
Địa chỉ | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | ký tự | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 68 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | h | . | . | . | . | . | . | . | . | . | . | . | . |
Địa chỉ lệch | Loại dữ liệu | Tên gọi | Giải thích |
---|---|---|---|
0x0000 | uint(32) | Magic Bytes | |
0x0004 | uint(24) | Độ dài khối | |
0x0007 | uint(8) | Cờ |
Header khối chứa không có dữ liệu hữu ích nào.
Nó chỉ đơn giản là một bộ chứa.
Dữ liệu đầu tiên trong Header khối nên là các chuỗi Volume; tiếp theo là thông tin về Volume.
Dây chuyền thể tích
Địa chỉ | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | ký tự | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Địa chỉ lệch | Loại dữ liệu | Tên gọi | Giải thích |
---|---|---|---|
0x0000 | uint(32) | Magic Bytes | |
0x0004 | uint(24) | Độ dài khối | |
0x0007 | uint(8) | Cờ |
Địa chỉ | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | ký tự | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 73 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | s | . | . | . | . | . | . | . | . | . | . | . | . |
Địa chỉ lệch | Loại dữ liệu | Tên gọi | Giải thích |
---|---|---|---|
0x0000 | uint(32) | Magic Bytes | |
0x0004 | uint(24) | Độ dài khối | |
0x0007 | uint(8) | Cờ | |
0x0008 | uint(32) | Độ dài payload | Chỉ rõ số byte của dữ liệu sau đây thực sự là dữ liệu hữu ích. Các dữ liệu còn lại trong danh sách chuỗi Volume dường như được coi là rác. Trong các tệp có ngày sau này, 'dữ liệu còn lại' là 0x00, điều này có thể chỉ ra những thiếu sót trong bộ công cụ trong quá trình phát triển trò chơi, tức là một nhà phát triển chỉ quan tâm đến việc khởi tạo đúng các bộ đệm rất muộn, vì điều này không ảnh hưởng đến trò chơi cho dù dữ liệu đã được khởi tạo hay chưa. |
0x000c | uint(8)[] | Danh sách tên tệp | Đây là một danh sách tên tệp được kết thúc bằng 0 byte, mà - ít nhất trong thành phần dữ liệu hiện tại - chỉ cho phép các ký tự ASCII. Không cần thiết phải phân tích kỹ hơn khối dữ liệu này khi phân tích dữ liệu, vì trong thông tin Volume, các offset của tên tệp đã được tham chiếu trực tiếp. |
Các Volume Strings là một danh sách tên tệp nằm trong volume này.
Thông tin về khối lượng
Địa chỉ | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | ký tự | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Địa chỉ lệch | Loại dữ liệu | Tên gọi | Giải thích |
---|---|---|---|
0x0000 | uint(32) | Magic Bytes | |
0x0004 | uint(24) | Độ dài khối | |
0x0007 | uint(8) | Cờ |
Thông tin Volume chứa các thông tin chi tiết về các tệp. Điều này có thể được coi là một loại mục nhập thư mục FAT (FAT = Bảng phân bổ tệp).
Số lượng tệp được tính bằng kích thước khối chia cho độ dài của mục nhập thư mục - 14 byte.
Các mục nhập thư mục riêng lẻ có cấu trúc như sau:
Địa chỉ | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | ký tự | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Địa chỉ lệch | Loại dữ liệu | Tên gọi | Giải thích |
---|---|---|---|
0x0000 | uint(32) | Offset tên tệp | Chỉ ra vị trí (offset) trong danh sách tên file (Volume-Strings) mà tên file của tệp được tìm thấy. Liên quan đến đầu của khối dữ liệu. |
0x0004 | uint(32) | Độ lệch tệp | Chỉ định vị trí offset bên trong toàn bộ tệp volume mà tệp đang nằm. |
0x0008 | uint(32) | Kích thước tệp | Chỉ ra kích thước của tệp tin tính bằng byte. |
0x000c | uint(16) | Cờ? | Có vẻ như có thêm thông tin về mã hóa tệp.
|
Khối Khối Lượng
Địa chỉ | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | ký tự | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 42 | 4c | 48 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | B | L | H | . | . | . | . | . | . | . | . | . | . | . | . |
Địa chỉ lệch | Loại dữ liệu | Tên gọi | Giải thích |
---|---|---|---|
0x0000 | uint(32) | Magic Bytes | |
0x0004 | uint(24) | Độ dài khối | |
0x0007 | uint(8) | Cờ |
Một khối Volume là một container, có nhiệm vụ chứa các tệp tin. Nó chỉ bao gồm một lần nữa - do định dạng khối - thông tin kích thước tệp tin và sau đó là ngay lập tức dữ liệu sử dụng.