Animasyonlar · bei.pm

Yayınlanma tarihi 19.11.2015·Güncellendiği tarih: 13.02.2025·Türkçe
Bu metin, OpenAI GPT-4o Mini tarafından otomatik olarak çevrilmiştir.

Bu sayfada tanımlanan dosya formatları, Dynamix, Inc. ve Sierra Entertainment tarafından yapılan teknik analizlere dayanmaktadır.
Bugün fikri mülkiyet, Activision Publishing, Inc. / Activision Blizzard, Inc. grubunun bir parçasıdır ve şu anda Microsoft Corp. tarafından sahiptir.

Bilgiler, arşivleme ve tarihsel verilerle birlikte çalışabilirlik amacıyla ters mühendislik ve veri analizi yoluyla derlenmiştir.
Hiçbir özel veya gizli spesifikasyon kullanılmamıştır.

Oyun şu anda gog.com üzerinden indirme olarak satın alınabilir.

Şimdi Outpost 2 veri formatları içindeki disiplinlerin kraliyet sınıfına geliyoruz:
Animasyonlar.

Animasyon listeleri, öncelikle veri doğrulama amacı taşıyan bir küresel başlık ile başlar. Bunun ardından üç aşamada yapılandırılmış somut animasyon tanımları gelir:

  1. Animasyon
    Bir animasyon en üst düzeydeki varlıktır; bir birimin, bir binanın veya bir 'parçacık animasyonu'nun (kuyruklu yıldız çarpması, hava durumu, patlama) belirli bir başlangıç durumundaki animasyonunu temsil eder.
  2. Çerçeve
    Bir çerçeve, bir animasyon içindeki tek bir görüntüdür. Bir animasyon bir veya daha fazla çerçeve içerebilir.
  3. Alt Çerçeve
    Bir alt çerçeve, belirli bir bitmap'ın belirli kriterler altında bir çerçevenin belirli bir konumuna çizilmesi gerektiği bilgilerini içerir. Bir çerçeve bir veya daha fazla alt çerçeve içerebilir.

Bundan sonra doğrudan bireysel animasyon tanımları geliyor.

Adres x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Kaydırma Veri Türü Tanım Açıklama
0x0000 uint(32) Animasyon sayısı

Kaç tane animasyon veri kaydı mevcut

0x0004 uint(32) Kare Sayısı

Toplamda kaç tane çerçeve olmalıdır

0x0008 uint(32) Alt Çerçeve Sayısı

Toplamda kaç tane alt çerçeve bulunmalıdır

0x000c uint(32) Opsiyonel kayıt sayısı

Kaç tane "isteğe bağlı giriş" var.

Animasyon

Adres x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0020 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Kaydırma Veri Türü Tanım Açıklama
0x0000 uint(32) Bilinmeyen 1

Bilinmeyen Bilgiler

0x0004 uint(32) Sınır Kutusu: Solda

Bounding Box'ın sol başlangıcını (piksel cinsinden) belirtir.

0x0008 uint(32) Sınırlayıcı Kutusu: Üst

Üstteki başlangıcı (piksel cinsinden) Bounding Box olarak belirtir.

0x000c uint(32) Sınır Kutusu: Genişlik

Sınır Kutusunun genişliğini (piksel cinsinden) belirtir.

0x0010 uint(32) Sınır Kutusu: Yükseklik

Bounding Box'ın yüksekliğini (piksel cinsinden) belirtir.

0x0014 uint(32) Ofset: X

Animasyonun yatay merkezini belirtir

0x0018 uint(32) Ofset: Y

Animasyonun dikey ortasını belirtir

0x001c uint(32) Bilinmeyen 2

Bilinmeyen Bilgi

0x0020 uint(32) Kare Sayısı

Bu animasyonda kaç tane animasyon karesi bulunduğunu belirtir

0x0024 uint(32) Pencere Sayısı

Çizim sırasında kaç pencere kullanılması gerektiğini belirtir

Üst katmanın, animasyonun verileri öncelikle yönetim verileridir - Boundingbox, aracın/binanın etrafındaki işaretlemenin koordinatlarını belirtir; bu, seçildiğinde gösterilir ve aynı zamanda hangi alanın tıklanabilir olduğunu belirtir.

Offset, öncelikle "sıfır noktasını" belirler; oyun içindeki koordinatlarla hesaplanması veya çıkarılması gereken noktadır. Daha matematiksel bir ifadeyle, offset burada koordinatların kökünü belirtir.

Windows, offset gibi, her biri 4 uint(32) değeri olan ve belirli alt çerçeveler için kullanılabilir olan bir alanı belirtir. Windows dışında, bitmap için uygun olduğu sürece çizim yapılamaz.

Çerçeve

Adres x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Kaydırma Veri Türü Tanım Açıklama
0x0000 uint(8) Alt çerçeve sayısı ve Opsiyonel 1, 2 için Toggle

Bu değer şunları içerir:

  • 0x7F (Bitmaskesi): Bu çerçevede kullanılan alt çerçeve sayısı
  • 0x80: Opsiyonel 1 ve 2'nin mevcut olup olmadığına dair bilgi
0x0001 uint(8) Bilinmeyen 1 ve Opsiyonel 3, 4 için Anahtar.

Bu değer şunları içerir:

  • 0x7F (Bitmaskesi): Bilinmiyor - Bunun, bir sonraki çerçevenin gösterilmesi için geçen oyun tiklerinin sayısı olduğuna dair güçlü bir şüphem var
  • 0x80: Opsiyonel 3 ve 4'ün mevcut olup olmadığına dair bilgi
0x0002 uint(8) Opsiyonel 1

Bilinmeyen

0x0003 uint(8) Seçenek 2

Bilinmeyen

0x0004 uint(8) Opsiyonel 3

Bilinmeyen

0x0005 uint(8) Opsiyonel 4

Bilinmeyen

Alt Çerçeve

Adres x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF karakter
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Kaydırma Veri Türü Tanım Açıklama
0x0000 uint(16) Bitmap-Id

Bu alt çerçeve için hangi Bitmap'in kullanılacağını belirtir

0x0002 uint(8) Bilinmeyen 1

Belirsiz - ancak bunun bir Render önceliği (Z-Katmanı) olduğunu güçlü bir şekilde tahmin ediyorum.

0x0003 uint(8) Alt çerçeve kimliği

Hangi alt çerçevede bulunduğumuzu belirtir

0x0004 sint(16) Ofset - Yatay

Çerçevenin içinde alt çerçevenin nereye yerleştirileceğini veya bitmap'ın yatay olarak kaç piksel kaydırılacağını belirtir

0x0006 sint(16) Offset - Dikey

Çerçeve içinde alt çerçevenin nerede yer alacağını veya bitmap'in kaç piksel yukarı veya aşağı kaydırılacağını belirtir

Bununla şimdi tekil kareleri ve aynı zamanda tamamı animasyonları uygun şekilde bir araya getirebiliriz. Burada, 500 indeksine sahip daha karmaşık bir animasyon örneği ile gösterilmektedir.

Animasyon 500

Animasyon 500, sıradan madenle yüklü bir Plymouth taşıyıcısının nasıl boşaltıldığını gösteriyor. Bu, pencereleme işlevselliğini kullanan az sayıda animasyondan biridir.

Ve böylece tam animasyonu birleştirebiliriz.
Maalesef, üst yükleme kapağıyla ilgili bir sorun var, çünkü burada grafik türü bilgilerinde ilgili bit ayarlanmamış.

Oyundan birkaç başka güzel animasyonlu sprite daha burada:

Animasyon 500'ün render'ı ile gösterilmiştir

Animasyon 500 tamamlanmış hali

Plymouth Bina-Fabrikası

Eden Uzay Limanı

Eden Tıbbi Merkez

SCAT

Plymouth Uzay Limanı

Sürpriz:
Noel Baba

Sürpriz:
Dans Köpeği