Animasi · bei.pm

Diterbitkan pada 19/11/2015·Diperbarui pada 13/02/2025·Indonesian
Teks ini telah diterjemahkan secara otomatis oleh OpenAI GPT-4o Mini.

Format file yang dijelaskan di halaman ini didasarkan pada analisis teknis dari kekayaan intelektual oleh Dynamix, Inc. dan Sierra Entertainment.
Kekayaan intelektual ini saat ini merupakan bagian dari massa Activision Publishing, Inc. / Activision Blizzard, Inc. dan saat ini dimiliki oleh Microsoft Corp..

Informasi ini telah dikumpulkan melalui Reverse Engineering dan analisis data untuk tujuan pengarsipan dan interoperabilitas dengan data historis.
Tidak ada spesifikasi yang bersifat kepemilikan atau rahasia yang digunakan.

Game ini saat ini dapat dibeli sebagai unduhan di gog.com.

Sekarang kita sampai pada kelas utama disiplin dalam format data Outpost 2:
Animasi.

Daftar animasi dimulai dengan header global yang terutama digunakan untuk verifikasi data. Selanjutnya adalah definisi animasi konkret yang dibagi menjadi 3 tingkatan:

  1. Animasi
    Sebuah animasi adalah instansi tertinggi; ia mewakili animasi dari sebuah unit, bangunan, atau 'animasi partikel' (benturan komet, cuaca, ledakan) dalam keadaan tertentu.
  2. Frame
    Sebuah frame adalah satu gambar tunggal dalam sebuah animasi. Sebuah animasi dapat terdiri dari satu atau lebih frame.
  3. Subframe
    Sebuah subframe adalah informasi tentang bahwa bitmap tertentu harus digambar pada posisi tertentu dari sebuah frame berdasarkan kriteria tertentu. Sebuah frame dapat terdiri dari satu atau lebih subframe.

Selanjutnya adalah definisi animasi yang spesifik.

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Offset Tipe Data Nama Penjelasan
0x0000 uint(32) Jumlah animasi

Berapa banyak kumpulan data animasi yang tersedia

0x0004 uint(32) Jumlah Frame

Berapa banyak frame yang seharusnya ada secara keseluruhan

0x0008 uint(32) Jumlah Subframe

Berapa banyak subframe yang seharusnya ada secara total

0x000c uint(32) Jumlah entri opsional

Berapa banyak "entri opsional" yang ada.

Animasi

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0020 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Offset Tipe Data Nama Penjelasan
0x0000 uint(32) Tidak Dikenal 1

Informasi yang tidak diketahui

0x0004 uint(32) Bounding Box: Kiri

Menunjukkan posisi awal kiri (dalam piksel) dari Bounding Box.

0x0008 uint(32) Bounding Box: Atas

Menunjukkan awal atas (dalam piksel) dari Bounding Box.

0x000c uint(32) Bounding Box: Lebar

Menunjukkan lebar (dalam piksel) dari Bounding Box.

0x0010 uint(32) Bounding Box: Tinggi

Menunjukkan tinggi (dalam piksel) dari Bounding Box.

0x0014 uint(32) Offset: X

Menunjukkan titik tengah horizontal dari animasi

0x0018 uint(32) Offset: Y

Menunjukkan titik tengah vertikal dari animasi

0x001c uint(32) Tidak diketahui 2

Informasi yang tidak diketahui

0x0020 uint(32) Jumlah Frame

Menunjukkan berapa banyak frame animasi yang terdapat dalam animasi ini

0x0024 uint(32) Jumlah Windows

Menunjukkan berapa banyak jendela yang harus digunakan saat menggambar

Data dari lapisan tertinggi, yaitu animasi, terutama adalah data administratif - Boundingbox merujuk pada koordinat penanda di sekitar kendaraan/bangunan, kapan pun itu dipilih dan juga menunjukkan area mana yang dapat diklik.

Offset terutama menentukan "titik nol"; titik yang harus ditambahkan atau dikurangkan pada koordinat internal permainan. Dapat juga dikatakan secara matematis: offset di sini merujuk pada asal koordinat.

Windows terdiri dari 4 nilai uint(32) untuk setiap window, yang menunjukkan area yang dianggap dapat digunakan untuk subframe tertentu. Di luar windows, tidak boleh digambar, jika tidak ditentukan untuk bitmap tersebut.

Kerangka

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Offset Tipe Data Nama Penjelasan
0x0000 uint(8) Jumlah subframe dan toggle untuk Opsional 1, 2

Nilai ini mencakup:

  • 0x7F (Bitmask): Jumlah subframe yang digunakan dalam frame ini
  • 0x80: Informasi tentang apakah Optional 1 dan 2 ada
0x0001 uint(8) Tidak dikenal 1 dan Toggle untuk Opsional 3, 4

Nilai ini mengandung:

  • 0x7F (Bitmask): Tidak diketahui - Saya sangat menduga bahwa ini adalah jumlah gameticks yang berlalu, sampai frame berikutnya ditampilkan
  • 0x80: Informasi tentang apakah Opsional 3 dan 4 ada
0x0002 uint(8) Opsional 1

Tidak Dikenal

0x0003 uint(8) Opsional 2

Tidak Dikenal

0x0004 uint(8) Opsional 3

Tidak Dikenal

0x0005 uint(8) Opsional 4

Tidak Dikenal

Subframe

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Offset Tipe Data Nama Penjelasan
0x0000 uint(16) Bitmap-Id

Menunjukkan bitmap mana yang harus digunakan untuk subframe ini

0x0002 uint(8) Tidak Dikenal 1

Tidak diketahui - namun saya sangat menduga bahwa ini terkait dengan prioritas render (Z-Layer).

0x0003 uint(8) Subframe-Id

Menunjukkan di subframe mana kita berada

0x0004 sint(16) Offset - Horizontal

Menunjukkan di mana di dalam bingkai subbing harus ditempatkan, atau seberapa banyak piksel bitmap harus dipindahkan secara horizontal

0x0006 sint(16) Offset - Vertikal

Menunjukkan di mana dalam bingkai subframe harus ditempatkan, atau seberapa banyak piksel bitmap harus dipindahkan secara vertikal

Dengan ini, kita sekarang dapat menyusun frame individu maupun animasi lengkap, di sini sebagai contoh pada animasi yang lebih kompleks, animasi dengan indeks 500, diperagakan

Animasi 500

Animasi 500 menunjukkan bagaimana sebuah Plymouth-Transporter, yang dimuat dengan bijih biasa, dibongkar. Ini adalah salah satu dari sedikit animasi yang memanfaatkan fungsionalitas windowing.

Dan inilah cara untuk menyatukan seluruh animasi.
Sayangnya, masih ada masalah dengan pintu atas, karena bit yang sesuai dalam informasi jenis grafik tidak diatur.

Ini beberapa sprite yang sangat indah dan dianimasikan dari permainan:

Penampilan dari Animasi 500 yang diilustrasikan

Animasi 500 selesai disatukan

Pabrik Bangunan Plymouth

Pangkalan Luar Angkasa Eden

Pusat Medis Eden

SCAT

Pangkalan Luar Angkasa Plymouth

Easteregg:
Santa Claus

Easteregg:
Dans Dog