Κινούμενα σχέδια · bei.pm

Δημοσιεύθηκε στις 19/11/2015·Ενημερώθηκε στις 13/02/2025·Ελληνικά
Αυτό το κείμενο μεταφράστηκε αυτόματα μέσω του OpenAI GPT-4o Mini

Τα φορμά αρχείων που περιγράφονται σε αυτή τη σελίδα βασίζονται στην τεχνική ανάλυση πνευματικής ιδιοκτησίας της Dynamix, Inc. και της Sierra Entertainment.
Η πνευματική ιδιοκτησία ανήκει σήμερα στο σύνολο της Activision Publishing, Inc. / Activision Blizzard, Inc. και είναι αυτή τη στιγμή στην κατοχή της Microsoft Corp..

Οι πληροφορίες συγκεντρώθηκαν μέσω Αντίστροφης Μηχανικής και Ανάλυσης Δεδομένων για σκοπούς αρχειοθέτησης και διαλειτουργικότητας με ιστορικά δεδομένα.
Δεν χρησιμοποιήθηκαν ιδιοσκευές ή εμπιστευτικές προδιαγραφές.

Το παιχνίδι μπορεί να αγοραστεί αυτή τη στιγμή ως λήψη από το gog.com.

Τώρα φτάνουμε στην κορυφαία κατηγορία των τομέων μέσα στα φορμά δεδομένων του Outpost 2:
Στις κινήσεις.

Οι λίστες κινήσεων αρχίζουν με μια παγκόσμια κεφαλίδα, η οποία χρησιμεύει κυρίως για την επαλήθευση των δεδομένων. Ακολουθούν οι συγκεκριμένες ορισμοί κινήσεων, οι οποίοι διακρίνονται σε 3 επίπεδα:

  1. Κίνηση
    Μια κίνηση είναι η ανώτερη οντότητα; αναπαριστά μια κίνηση μιας μονάδας, ενός κτηρίου ή μιας 'κίνηση σωματιδίων' (πτώση κομήτη, καιρός, έκρηξη) σε μια συγκεκριμένη αρχική κατάσταση.
  2. Καρέ
    Ένα καρέ είναι μια μεμονωμένη εικόνα μέσα σε μια κίνηση. Μια κίνηση μπορεί να περιλαμβάνει ένα ή περισσότερα καρέ.
  3. Υποκαρέ
    Ένα υποκαρέ είναι η πληροφορία ότι μια συγκεκριμένη bitmap θα πρέπει να σχεδιαστεί σε μια συγκεκριμένη θέση ενός καρέ υπό συγκεκριμένα κριτήρια. Ένα καρέ μπορεί να περιλαμβάνει ένα ή περισσότερα υποκαρέ.

Αμέσως μετά ακολουθούν οι συγκεκριμένες ορισμοί κινήσεων.

Διεύθυνση x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF χαρ.
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Απόκλιση Τύπος Δεδομένων Ονομασία Εξήγηση
0x0000 uint(32) Αριθμός κινήσεων

Πόσες είναι οι διαθέσιμες εγγραφές κινουμένων σχεδίων;

0x0004 uint(32) Αριθμός Καρέ

Πόσα καρέ θα πρέπει να υπάρχουν συνολικά

0x0008 uint(32) Αριθμός υποπλαισίων

Πόσες υποκατασκευές θα έπρεπε να υπάρχουν συνολικά

0x000c uint(32) Αριθμός προαιρετικών καταχωρήσεων

Πόσες "προαιρετικές καταχωρίσεις" υπάρχουν.

Κινούμενα Σχέδια

Διεύθυνση x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF χαρ.
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0020 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Απόκλιση Τύπος Δεδομένων Ονομασία Εξήγηση
0x0000 uint(32) Άγνωστο 1

Άγνωστες πληροφορίες

0x0004 uint(32) Περιθώριο: Αριστερά

Δίνει την αριστερή αρχή (σε πίξελ) του Bounding Box.

0x0008 uint(32) Περίγραμμα: Πάνω

Δηλώνει την πάνω αρχή (σε εικονοστοιχεία) του Bounding Box.

0x000c uint(32) Περίγραμμα: Πλάτος

Δίνει το πλάτος (σε πίξελ) του Bounding Box.

0x0010 uint(32) Περίγραμμα: Ύψος

Δίνει το ύψος (σε πίξελ) του Bounding Box.

0x0014 uint(32) Μετατόπιση: X

Δείχνει το οριζόντιο μέσο σημείο της animation

0x0018 uint(32) Απόκλιση: Y

Δίνει το κατακόρυφο κέντρο της κινούμενης εικόνας

0x001c uint(32) Άγνωστο 2

Άγνωστη Πληροφορία

0x0020 uint(32) Αριθμός Καρέ

Δηλώνει πόσα καρέ animation περιέχονται σε αυτήν την animation

0x0024 uint(32) Αριθμός παραθύρων

Δηλώνει πόσα παράθυρα πρέπει να χρησιμοποιηθούν κατά τη διάρκεια της σχεδίασης

Τα δεδομένα της ανώτερης στρώσης, της κινούμενης εικόνας, είναι κυρίως διοικητικά δεδομένα - η Boundingbox αναφέρεται στις συντεταγμένες της σήμανσης γύρω από το όχημα/κτίριο, όταν αυτό έχει επιλεγεί και υποδεικνύει ταυτόχρονα ποια περιοχή θα πρέπει να είναι κλικαριστή.

Η μετατόπιση (offset) προσδιορίζει κυρίως το "σημείο μηδέν"; το σημείο που πρέπει να προστεθεί ή να αφαιρεθεί στις εσωτερικές συντεταγμένες του παιχνιδιού. Θα μπορούσε κανείς να πει και μαθηματικά: η μετατόπιση αναφέρεται εδώ στην προέλευση των συντεταγμένων.

Όσον αφορά τα παράθυρα (Windows), όπως και η μετατόπιση, πρόκειται για 4 τιμές uint(32) ανά παράθυρο, οι οποίες υποδεικνύουν μια περιοχή που θεωρείται χρήσιμη για επιμέρους υποπλαίσια. Εκτός των παραθύρων δεν επιτρέπεται, αν δεν έχει προβλεφθεί κατάλληλα για την bitmap, να σχεδιαστεί.

Πλαίσιο

Διεύθυνση x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF χαρ.
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Απόκλιση Τύπος Δεδομένων Ονομασία Εξήγηση
0x0000 uint(8) Αριθμός υποπλαισίων και εναλλαγή για Προαιρετικό 1, 2

Αυτή η τιμή περιλαμβάνει:

  • 0x7F (Μάσκα bit): Ο αριθμός των υποπλαισίων που χρησιμοποιούνται σε αυτό το πλαίσιο
  • 0x80: Η πληροφορία σχετικά με το αν υπάρχουν οι Προαιρετικοί 1 και 2
0x0001 uint(8) Άγνωστο 1 και Toggle για Προαιρετικά 3, 4

Αυτή η τιμή περιέχει:

  • 0x7F (Μάσκα bit): Άγνωστο - Υποψιάζομαι έντονα ότι αφορά τον αριθμό των Gameticks που παρεμβάλλονται μέχρι να εμφανιστεί το επόμενο καρέ
  • 0x80: Η πληροφορία σχετικά με το αν υπάρχουν οι Επιλογές 3 και 4
0x0002 uint(8) Προαιρετικό 1

Άγνωστο

0x0003 uint(8) Προαιρετικό 2

Άγνωστο

0x0004 uint(8) Προαιρετικό 3

Άγνωστο

0x0005 uint(8) Προαιρετικό 4

Άγνωστο

Υποπλαίσιο

Διεύθυνση x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF χαρ.
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Απόκλιση Τύπος Δεδομένων Ονομασία Εξήγηση
0x0000 uint(16) Bitmap-Id

Δηλώνει ποια bitmap θα χρησιμοποιηθεί για αυτό το υποπλαίσιο

0x0002 uint(8) Άγνωστο 1

Είναι άγνωστο - υποψιάζομαι όμως έντονα ότι πρόκειται για μια προτεραιότητα απόδοσης (Z-Layer).

0x0003 uint(8) Υποπλαίσιο-Id

Δηλώνει σε ποιο υποπλαίσιο βρισκόμαστε

0x0004 sint(16) Απόκλιση - Οριζόντια

Καθορίζει πού μέσα στο πλαίσιο θα τοποθετηθεί το υποπλαίσιο, ή πόσους πίξελ πρέπει να μετατοπιστεί η εικόνα οριζόντια.

0x0006 sint(16) Απόκλιση - Κατακόρυφα

Δηλώνει πού μέσα στο πλαίσιο θα πρέπει να τοποθετηθεί το υποπλαίσιο, ή κατά πόσους εικονοστοιχεία θα πρέπει να μετατοπιστεί η bitmap κατακόρυφα

Έτσι μπορούμε τώρα να συνθέσουμε μεμονωμένα καρέ, καθώς και ολόκληρες κινούμενες εικόνες, όπως θα δείξουμε εδώ με ένα πιο σύνθετο παράδειγμα, την κινούμενη εικόνα με τον δείκτη 500.

Κίνηση 500

Η Animation 500 δείχνει πώς ένα Plymouth-μεταφορέας, που είναι φορτωμένος με συνηθισμένο μέταλλο, ξεφορτώνεται. Πρόκειται για μία από τις λίγες αναπαραστάσεις που αξιοποιούν τη λειτουργία παραθύρων.

Έτσι μπορεί να συνδυαστεί η πλήρης αναπαράσταση.
Δυστυχώς, υπάρχει ακόμα ένα πρόβλημα με την άνω πλευρά φόρτωσης, καθώς το αντίστοιχο bit στην πληροφορία τύπου γραφικών δεν έχει οριστεί.

Εδώ είναι μερικά ακόμα πανέμορφα κινούμενα sprites από το παιχνίδι:

Η αναπαραγωγή της Animation 500 απεικονίζεται

Η Animation 500 έχει ολοκληρωθεί

Κτίριο-εργοστάσιο Plymouth

Διαστημικό λιμάνι Eden

Ιατρικό κέντρο Eden

SCAT

Διαστημικό λιμάνι Plymouth

Easteregg:
Άγιος Βασίλης

Easteregg:
Σκύλος του Dans