Πλακάκια · 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.

Διεύθυνση x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF χαρ.
0x0000 50 42 4d 50 -- -- -- -- -- -- -- -- -- -- -- -- P B M P . . . . . . . . . . . .
Απόκλιση Τύπος Δεδομένων Ονομασία Εξήγηση
0x0000 uint(32) Μαγικά Bytes
0x0004 uint(24) Μήκος μπλοκ
0x0007 uint(8) Σημαίες

Τα Tiles είναι μια συγκεκριμένη μορφή γραφικών Bitmap για το Outpost-2. Εκτείνονται σε 13 σύνολα Tiles, που ονομάζονται "wells" (well0000.bmp έως well0012.bmp), τα οποία βρίσκονται εντός του όγκου maps.vol.

Τα σύνολα Tiles / Wells περιλαμβάνουν τα εξής:

Όνομα Αρχείου Περιεχόμενο
well0000.bmp Μια μπλε γραφική εικόνα μεγέθους 32x32px - ιδανική για δοκιμή αν ο φορτωτής εικόνας λειτουργεί
well0001.bmp Περιέχει ανοιχτόχρωμο βράχο, ορεινές αλυσίδες πάνω σε ανοιχτόχρωμο βράχο και αμέτρητες παραλλαγές κρατήρων πρόσκρουσης σε ανοιχτόχρωμο βράχο
well0002.bmp Περιέχει 'Doodads' από ανοιχτόχρωμο βράχο - δηλαδή στοιχεία που μπορούν να τοποθετηθούν για να σπάσουν την ομοιομορφία (ή σκόπιμα ως δομή, όπως π.χ. τοίχοι) σε ανοιχτόχρωμο βράχο, συμπεριλαμβανομένης της βλάστησης
well0003.bmp Περιέχει μια κρούστα πάνω σε ανοιχτόχρωμο βράχο
well0004.bmp Περιέχει σκούρο βράχο, ορεινές αλυσίδες πάνω σε σκούρο βράχο και αμέτρητες παραλλαγές κρατήρων πρόσκρουσης σε σκούρο βράχο
well0005.bmp Περιέχει 'Doodads' από σκούρο βράχο - δηλαδή στοιχεία που μπορούν να τοποθετηθούν για να σπάσουν την ομοιομορφία (ή σκόπιμα ως δομή, όπως π.χ. τοίχοι) σε σκούρο βράχο
well0006.bmp Περιέχει μια κρούστα πάνω σε σκούρο βράχο, καθώς και μεταβάσεις μεταξύ ανοιχτόχρωμου και σκούρου βράχου
well0007.bmp Περιέχει λάβα, συμπεριλαμβανομένων 4-5 καρέ animation της
well0008.bmp Περιέχει άμμο και αμέτρητες παραλλαγές κρατήρων πρόσκρουσης σε άμμο
well0009.bmp Περιέχει 'Doodads' από άμμο - δηλαδή στοιχεία που μπορούν να τοποθετηθούν για να σπάσουν την ομοιομορφία (ή σκόπιμα ως δομή, όπως π.χ. τοίχοι) σε άμμο
well0010.bmp Περιέχει 48 μεταβάσεις από άμμο σε ανοιχτόχρωμο και σκούρο βράχο
well0011.bmp Περιέχει τις πολικές καλύψεις του χάρτη, με σκούρο βράχο ως υπόβαθρο
well0012.bmp Περιέχει τις πολικές καλύψεις του χάρτη, με ανοιχτόχρωμο βράχο ως υπόβαθρο

Είναι σκόπιμο για μια ακριβή εφαρμογή να μην αποδοθούν τα tiles εκ των προτέρων για να αποθηκευτούν στη μνήμη cache, καθώς τα δεδομένα για τον κύκλο ημέρας/νύχτας πρέπει ακόμα να επεξεργαστούν - και θα προκύψουν πολύ, πολύ περισσότερα δεδομένα.

Τα tiles είναι γραφικά 8bpp με δειγματοληπτική παλέτα, με ανάλυση 32x32 pixel, τα οποία είναι διατεταγμένα το ένα κάτω από το άλλο. Σε ένα τέτοιο δημιουργηθέν tileset μπορούν ωστόσο να περιλαμβάνονται πολύ περισσότερα.

Ο κύριος κοντέινερ αποτελείται από 2 ενότητες: head και data.

Επικεφαλίδα Πλακιδίων

Διεύθυνση x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF χαρ.
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
Απόκλιση Τύπος Δεδομένων Ονομασία Εξήγηση
0x0000 uint(32) Μαγικά Bytes
0x0004 uint(24) Μήκος μπλοκ
0x0007 uint(8) Σημαίες
0x0008 uint(32) Έκδοση / Σημαίες;

Εδώ μπορεί να πρόκειται για μια ένδειξη έκδοσης της μορφής αρχείου; Σε όλα τα αρχεία που έχω στη διάθεσή μου, η τιμή που αναγράφεται εδώ ήταν 0x02

0x000c uint(32) Πλάτος (Οριζόντια Ανάλυση)

Δηλώνει πόσο πλάτος έχει το αρχείο εικόνας (σε pixel).

Για όλα τα Wells του Outpost 2, εδώ αναμένεται να είναι η τιμή 0x20 ή 32.

0x0010 uint(32) Ύψος (Κατακόρυφη ανάλυση)

Δηλώνει πόσο ψηλή είναι η εικόνα (σε pixel).

Για όλα τα Wells του Outpost 2, εδώ αναμένεται η τιμή 0x20 ή 32.

0x0014 uint(32) Βάθος χρώματος;

Η σημασία αυτής της τιμής είναι άγνωστη.

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

0x0018 uint(32) Βάθος χρώματος 2;

Η σημασία αυτής της τιμής είναι άγνωστη.

Ενδεχομένως πρόκειται για μια 'στόχο'-βαθμίδα χρώματος.

Μετά από αυτές τις πληροφορίες ακολουθεί ένα αρχείο παλέτας που είναι διαθέσιμο στην τυποποιημένη μορφή RIFF. Η ακριβής προδιαγραφή μπορεί να βρεθεί - καθώς οι παλέτες εμφανίζονται και αλλού - στην Παλέτες.

Δεδομένα Πλακιδίων

Διεύθυνση x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF χαρ.
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
Απόκλιση Τύπος Δεδομένων Ονομασία Εξήγηση
0x0000 uint(32) Μαγικά Bytes
0x0004 uint(24) Μήκος μπλοκ
0x0007 uint(8) Σημαίες

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

Τα δεδομένα pixel ξεκινούν από πάνω αριστερά και τελειώνουν κάτω δεξιά.

Η μηχανή παιχνιδιών σχεδιάζει τα Tiles *πιθανώς* κατ' απαίτηση.
Αυτό φαίνεται να οφείλεται μεταξύ άλλων στον κύκλο ημέρας-νύχτας, ο οποίος έχει 32 κλίμακες για τα μεμονωμένα Tiles. Προφανώς, αφαιρείται 'λίγο' από την τιμή φωτεινότητας. Ακριβείς τιμές δεν έχουν ακόμη προσδιοριστεί, εργάζομαι με τη βάση υπολογισμού

v *= (daylight / 48) + 0.25;

με τα δεδομένα HSV των pixels, όπου το daylight είναι μια τιμή από 0-31 και το v είναι μια τιμή μεταξύ 0-1. Επιπλέον, πρέπει να ληφθεί υπόψη ότι στον χάρτη υπάρχει μια περιφέρεια 16 Tiles αριστερά και δεξιά (η οποία εξυπηρετεί την αόρατη εμφάνιση μονάδων).

Eπιπλέον, ο κύκλος ημέρας-νύχτας φαίνεται να ενημερώνει μόνο μια στήλη του χάρτη ανά κύκλο παιχνιδιού.
Ένας επιταχυμένος κύκλος ημέρας-νύχτας φαίνεται έτσι:

Οπτικοποίηση του κύκλου ημέρας-νύχτας