Creatures Wiki France
Advertisement
Editnorn.png Cet article a besoin d'un nettoyage . Vous pouvez contribuer à le nettoyer en cliquant sur modifier.

PRAY est un format de fichiers utilisé par le Creatures Evolution Engine afin de stocker des agents, des créatures (exportées avec des informations CreaturesArchive), plan et informations concernant les oeufs.

La pluspart des fonctionalités de Docking Station fonctionnent grâce au transfert de fichiers PRAY contenant des blocs d'information ou des créatures via TCP/IP (NetBabel).

Il ressemble assez au format COB utilisé auparavant dans la Série Creatures, mais il a été pensé pour être plus flexible et extensible.

Vous pouvez décompiler des fichiers PRAY en utilisant REVELATION ou Zeus, et pour les compiler, vous avez Pray Builder, EasyPRAY ou le moteur lui-même.

Format de Fichier[]

Le fichier commence avec un marqueur ASCII de quatre octets "PRAY", suivi de plusieurs blocs, les uns après les autres, qu'un éventuel outil devrait parcourir les uns après les autres jusqu'à la fin du fichier, en passant les blocs qu'il ne sait pas utiliser.

Un bloc contient un en-tête, suivi d'un bloc de données contenant d'autres types de sous-blocs. Toutes les données sont au format little endian.

Alors que les blocs PRAY contiennent souvent les données binaires que les outils devront analyser/créer en utilisant le code produit, il y a un format de données employé souvent comme « étiquette » que beaucoup de blocs PRAY utilisent (telle que AGNT, AUTH, EGGS et EXPC).

En-tête de Blocs[]

typenomdescription
4 octetsid du blocDéfini le type de bloc, c'est une simple chaine de caractère ASCII (ex : "FILE").
128 octetsnomChaine de caractère se terminant par le caractère Null contenant le nom du bloc, comme par exemple un nom de fichier. L'espace restant est complété avec des zéros.
entier 32-bitslongueur des donnéesLa longueur, en octet, du bloc de données.
entier 32-bitslongueur des données non compresséesLa longueur, en octet, des données après leur décompression. Devrait être la même que la valeur précédente si les données sont non compressées.
entier 32-bitsflagsLe bit 1 doit être à 1 si le bloc de données utilise la compression Zlib. Tous les autres bits sont inutilisés et doivent être à 0


Blocs FILE[]

Un bloc de type 'FILE' contient un fichier, utilisé typiquement par les blocs d'agent; le nom de ce bloc est le nom du fichier, et le bloc de données correspond au contenu du fichier.

Etiquette au format de bloc PRAY[]

Ce bloc de données contient des entiers et des chaînes de caractères associés à des noms. Une chaîne de caractère typique aura le nom "Creature Name" et la valeur "Alice"; une valeur entière typique aura le nom "Creature Life Stage" et la valeur 2.

Les données sont stockées de la manière suivante :

  • Premièrement, un entier 32 bits contenant le nombre de valeurs entières contenues dans le bloc.
  • Ensuite, pour chaque entier, le nom selon le format CString, suivi par la valeur contenue dans le CString.
  • Puis, un entier 32 bits contenant le nombre de chaîne de caractère contenues dans le bloc.
  • Enfin, pour chaque chaîne de caractère, le nom selon le format CString, suivi par la valeur contenue dans le CString.

Une 'CString' est un entier 32 bits contenant la longueur de la chaîne de caractère, suivi des données elle-même (sans caractère de terminaison NULL).

Blocs EGG[]

Utilisé dans les fichiers oeufs.

Blocs DFAM[]

Utilisé dans les fichiers 'Starter Family' de Docking Station.

Blocs SFAM[]

Utilisé dans les fichiers 'Starter Family' de Creatures 3.

Blocs AGNT/DSAG/LIVE[]

Ces blocs contiennent des agents - avec le code et les informations les concernant, par exemple les dépendances.

Blocs EXPC/DSEX[]

Ces blocs contiennent des informations à propos des créatures exportées de Creatures 3 (pour EXPC) ou Docking Station (pour DSEX).

Blocs GLST[]

Donnée CreaturesArchive inconnue, utilisée dans les fichiers de créatures exportée et les fichiers Starter Family.

Blocs CREA[]

CreaturesArchive data representing a serialized creature. Used in exported creature and Starter Family files.

Blocs GENE[]

Le contient un fichier génome. Utilisé pour les créatures exportées et les fichiers Starter Family.

Blocs PHOT[]

Un fichier .s16 avec une seule image, contenant une photographie de la créature créee avec SNAP. Utilisé pour les créatures exportées et les fichiers Starter Family.

Liens[]

  • source PRAY
Advertisement