Hoạt hình · 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.

Bây giờ chúng ta đến với lớp cao nhất của các chuyên ngành trong định dạng dữ liệu Outpost 2:
Các hình ảnh động.

Các danh sách hình ảnh động được bắt đầu bằng một tiêu đề toàn cầu, chủ yếu phục vụ cho việc xác minh dữ liệu. Sau đó là các định nghĩa hình ảnh động cụ thể, được chia thành 3 cấp độ:

  1. Hình ảnh động
    Một hình ảnh động là thực thể cao nhất; nó đại diện cho một hình ảnh động của một đơn vị, một tòa nhà hoặc một 'hình ảnh động hạt' (va chạm sao chổi, thời tiết, nổ) trong một tình huống nhất định.
  2. Khung hình
    Một khung hình là một hình ảnh đơn lẻ trong một hình ảnh động. Một hình ảnh động có thể chứa một hoặc nhiều khung hình.
  3. Khung phụ
    Một khung phụ là thông tin về việc một bitmap nhất định sẽ được vẽ ở một vị trí nhất định của một khung hình dưới các tiêu chí nhất định. Một khung hình có thể chứa một hoặc nhiều khung phụ.

Sau đó sẽ là các định nghĩa hình ảnh động cụ thể.

Đị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) Số lượng hoạt hình

Có bao nhiêu tập dữ liệu hoạt hình hiện có

0x0004 uint(32) Số lượng khung

Có tổng cộng bao nhiêu khung hình nên có

0x0008 uint(32) Số lượng subframe

Có bao nhiêu subframe nên có tổng cộng

0x000c uint(32) Số lượng mục tùy chọn

Có bao nhiêu "mục tùy chọn" hiện có.

Hoạt hình

Địa chỉ x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF ký tự
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0020 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Địa chỉ lệch Loại dữ liệu Tên gọi Giải thích
0x0000 uint(32) Không xác định 1

Thông tin chưa rõ

0x0004 uint(32) Hộp giới hạn: Bên trái

Chỉ định vị trí bên trái (tính bằng pixel) của Bounding Box.

0x0008 uint(32) Bounding Box: Trên

Xác định điểm bắt đầu phía trên (tính bằng pixel) của Bounding Box.

0x000c uint(32) Hộp giới hạn: Chiều rộng

Cho biết chiều rộng (tính bằng pixel) của Bounding Box.

0x0010 uint(32) Hộp giới hạn: Chiều cao

Chỉ định chiều cao (tính bằng Pixel) của Bounding Box.

0x0014 uint(32) Bù: X

Xác định trung điểm ngang của hoạt hình

0x0018 uint(32) Offset: Y

Chỉ định tâm dọc của hoạt ảnh

0x001c uint(32) Không xác định 2

Thông tin chưa rõ

0x0020 uint(32) Số lượng khung

Chỉ ra số lượng khung hình hoạt hình có trong hoạt ảnh này

0x0024 uint(32) Số lượng cửa sổ

Chỉ ra số lượng cửa sổ cần áp dụng khi vẽ

Dữ liệu của lớp trên cùng, của hoạt ảnh, chủ yếu là dữ liệu quản lý - Boundingbox chỉ định tọa độ của điểm đánh dấu quanh phương tiện/công trình, khi nó được chọn và cũng đồng thời xác định khu vực nào có thể nhấp vào.

Offset chủ yếu xác định "điểm gốc"; điểm mà cần phải tính toán hoặc trừ trên tọa độ trong trò chơi. Có thể nói một cách toán học: offset ở đây chỉ định gốc tọa độ.

Các cửa sổ cũng giống như offset, bao gồm (cho mỗi cửa sổ) 4 giá trị uint(32), chỉ định một khu vực có thể sử dụng cho các khung con riêng lẻ. Bên ngoài các cửa sổ, nếu không được chỉ định cho bitmap, không được phép vẽ.

Khung

Đị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(8) Số lượng khung phụ và công tắc cho Tùy chọn 1, 2

Giá trị này bao gồm:

  • 0x7F (Bitmask): Số lượng subframe được sử dụng trong frame này
  • 0x80: Thông tin về việc có tồn tại Optional 1 và 2 hay không
0x0001 uint(8) Không xác định 1 và Chuyển đổi cho Tùy chọn 3, 4

Giá trị này bao gồm:

  • 0x7F (Bitmask): Không rõ - Tôi nghi ngờ mạnh mẽ rằng đây là số lượng Gameticks trôi qua cho đến khi khung hình tiếp theo được hiển thị
  • 0x80: Thông tin về việc liệu Optional 3 và 4 có tồn tại hay không
0x0002 uint(8) Tùy chọn 1

Không rõ

0x0003 uint(8) Tùy chọn 2

Không rõ

0x0004 uint(8) Tùy chọn 3

Không rõ

0x0005 uint(8) Tùy chọn 4

Không rõ

Khung phụ

Đị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(16) Bitmap-Id

Chỉ định bitmap nào sẽ được sử dụng cho subframe này

0x0002 uint(8) Không xác định 1

Không rõ - nhưng tôi nghi ngờ rằng đây là một vấn đề liên quan đến ưu tiên hiển thị (Z-Layer).

0x0003 uint(8) Subframe-Id

Chỉ ra chúng ta đang ở trong khung con nào

0x0004 sint(16) Độ lệch - Ngang

Chỉ định vị trí bên trong khung nơi mà khung con sẽ được đặt, hoặc số pixel mà bitmap sẽ được dịch chuyển theo chiều ngang.

0x0006 sint(16) Offset - Dọc

Chỉ định vị trí bên trong khung mà khung con sẽ được đặt, hoặc số pixel mà bitmap sẽ được dịch chuyển theo chiều dọc.

Với điều này, chúng ta có thể ghép nối các khung hình riêng lẻ cũng như các hoạt ảnh hoàn chỉnh, ở đây sẽ được minh họa bằng một hoạt ảnh phức tạp hơn, hoạt ảnh có chỉ số 500.

Hoạt hình 500

Animation 500 cho thấy cách một chiếc xe tải Plymouth, được chở đầy quặng thông thường, được dỡ hàng. Đây là một trong số ít các animation sử dụng chức năng Windowing.

Và đây là cách ghép nối toàn bộ animation lại với nhau.
Thật không may, vẫn còn một vấn đề với cửa tải phía trên, vì bit tương ứng trong thông tin loại đồ họa chưa được thiết lập.

Dưới đây là một số sprite được hoạt hình rất đẹp khác từ trò chơi:

Hình minh họa từ Animation 500

Animation 500 đã hoàn thành

Công trình Plymouth

Cảng không gian Eden

Trung tâm y tế Eden

SCAT

Cảng không gian Plymouth

Easteregg:
Ông già Noel

Easteregg:
Dans Dog