Khối lượng · bei.pm

Được phát hành vào ngày 19/11/2015·Cập nhật vào ngày 13/02/2025·Tiếng Việt
Văn bản này đã được dịch tự động bởi OpenAI GPT-4o Mini.

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.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 Engineeringphâ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.

  • 0x03 được thiết lập khi tệp được nén. Ở đây dường như một cây Huffman được sử dụng.
  • 0x80 dường như luôn được thiết lậ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.