Welcome to the Creatures Wiki! Log in and join the community.

Difference between revisions of "GLST PRAY Block Format"

From Creatures Wiki
Jump to navigation Jump to search
m (Added link to my creature history viewer)
(Remove mention on in.carnadine)
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
GLST blocks are found in .creature PRAY files and are Zlib-encoded [[CreaturesArchive]] data.
 
GLST blocks are found in .creature PRAY files and are Zlib-encoded [[CreaturesArchive]] data.
 
+
User text on the conceived/engineered/spliced/cloned events define the Norn's description as in the Creatures 3/Docking Station UI.
 
For the purposes of this article, 'null' is defined as a 4-byte integer with value 0.
 
For the purposes of this article, 'null' is defined as a 4-byte integer with value 0.
 
All strings in GLST blocks are preceded by a 4-byte integer stating their length. The length of a string can be 0.
 
All strings in GLST blocks are preceded by a 4-byte integer stating their length. The length of a string can be 0.
Line 42: Line 42:
 
{| border="1"
 
{| border="1"
 
|-
 
|-
| Unknown  || 4-byte integer
+
| Point mutations during conception (if creature was conceived. Seems to be totally different if the creature was not conceived)  || 4-byte integer
 
|-
 
|-
| Unknown  || 4-byte integer
+
| Crossover points during conception (if creature was conceived. Seems to be totally different if the creature was not conceived) || 4-byte integer
 
|-
 
|-
| Unknown   || 4-byte integer
+
| Unknown                             || 4-byte integer
 
|-
 
|-
 
| 1 if the creature has been in the warp, 0 otherwise  || 4-byte integer
 
| 1 if the creature has been in the warp, 0 otherwise  || 4-byte integer
Line 58: Line 58:
 
GLST blocks contain events.
 
GLST blocks contain events.
 
In the table below, world time and creature age is specfied in ticks.
 
In the table below, world time and creature age is specfied in ticks.
 +
The majority of the strings are optional. If they are not included, their length is 0.
 +
Associated monikers, associated photos, and user text are nearly always null. The event information below defines which events define which fields.
 +
User text is the description given by the user about the Norn.
  
 
If creature age or Life stage is FF FF FF FF then the creature is yet to be born.
 
If creature age or Life stage is FF FF FF FF then the creature is yet to be born.
Line 65: Line 68:
 
{| border="1"
 
{| border="1"
 
|-
 
|-
| Event Number (numbers defined below) || 4-byte integer
+
| Event Number (numbers defined below)     || 4-byte integer
 +
|-
 +
| World time                              || 4-byte integer
 +
|-
 +
| Creature age                            || 4-byte integer
 +
|-
 +
| UNIX timestamp                          || 4-byte integer
 +
|-
 +
| Life stage                              || 4-byte integer
 +
|-
 +
| Associated Moniker 1 length              || 4-byte integer
 
|-
 
|-
| World time                            || 4-byte integer
+
| Associated Moniker 1 (optional)          || n-byte string
 
|-
 
|-
| Creature age                          || 4-byte integer
+
| Associated Moniker 2 length              || 4-byte integer
 
|-
 
|-
| UNIX timestamp                        || 4-byte integer
+
| Associated Moniker 2 (optional)          || n-byte string
 
|-
 
|-
| Life stage                            || 4-byte integer
+
| User text length                        || 4-byte integer
 
|-
 
|-
| Event specific information            || four length,string pairs
+
| User text (optional)                    || n-byte string
 
|-
 
|-
| World name length                     || 4-byte integer
+
| Associated PHOT block name length       || 4-byte integer
 
|-
 
|-
| World name                           || n-byte string
+
| Associated PHOT block name (optional)    || n-byte-string
 
|-
 
|-
| World Unique ID length (28)          || 4-byte integer
+
| World name length                       || 4-byte integer
 
|-
 
|-
| World Unique ID                      || 28-byte string
+
| World name                              || n-byte string
 
|-
 
|-
| Docking Station User ID length (8)   || 4-byte integer
+
| World Unique ID length (28)             || 4-byte integer
 
|-
 
|-
| Docking Station User ID               || 8-byte string
+
| World Unique ID                         || 28-byte string
 
|-
 
|-
| Unknown (usually if not always 1)     || 4-byte integer
+
| Docking Station User ID length (8)       || 4-byte integer
 
|-
 
|-
| Unknown (usually/always null)         || 4-byte integer
+
| Docking Station User ID                  || 8-byte string
 +
|-
 +
| Unknown (usually if not always 1)        || 4-byte integer
 +
|-
 +
| Unknown (usually/always null)           || 4-byte integer
 
|}
 
|}
  
 
=== Event Numbers ===
 
=== Event Numbers ===
  
Event specific info is in brackets, if no info is specified there is none.
+
*0 - Conceived (associated monikers 1 and 2 are mother and father, respectively. User text is here.)
If less than four pieces of info are specified, the remaining are null.
+
*1 - Creature spliced (associated monikers 1 and 2 are mother and father, respectively. Creature doesn't necessarily need a mother/father. This event occurs both in creatures spliced with the gene splicer and creatures from the egg layers. User text is here)
*0 - Conceived (mother,father)
+
*2 - Engineered (associated moniker 2 is the genome the norn was based on. User text is here)  
*1 - Creature spliced (mother,father)
+
*3 - hatched (associated monikers 1 and 2 are mother and father, respectively)
*2 - Engineered (usually nothing,original genome)
+
*4 - Creature life stage
*3 - hatched
 
*4 - Creature life stage changed
 
 
*5 - Creature exported
 
*5 - Creature exported
 
*6 - Creature imported
 
*6 - Creature imported
 
*7 - Died
 
*7 - Died
*8 - Got pregnant (baby's moniker, father's moniker, null, null)
+
*8 - Got pregnant (associated moniker 1 is the child, associated moniker 2 is the mother
*9 - Made another creature pregnant (baby's moniker, partner's moniker, null,null)
+
*9 - Made another creature pregnant (associated moniker 1 is the child, associated moniker 2 is the mother)
*10 - Child born (baby's moniker, father's moniker, null, null)
+
*10 - Child born (associated moniker 1 is the child, associated  moniker 2 is the other parent)
*11 - My egg was laid (mother's moniker) (creature age and life stage are both FF FF FF FF)
+
*11 - My egg was laid (associated moniker 1 is the mother)
*12 - Laid egg (baby's moniker, null, null, null)
+
*12 - Laid egg (associated moniker 1 is the baby)
*13 - Photo taken of me (null,null,null,photo id)
+
*13 - Photo taken of me (associated PHOT block name is the photo that was taken)
*14 - I am a clone (original's moniker)
+
*14 - I was cloned from another creature (associated moniker 1 is the original. User text is here.)
*15 - There is a clone of me (clone's moniker)
+
*15 - Another creature was cloned from me (associated moniker 1 is the clone)
 
*16 - Creature warped out
 
*16 - Creature warped out
 
*17 - Creature warped in
 
*17 - Creature warped in
 
 
== External Links ==
 
*[http://in.carnadine.co.uk/lab/c2ephp/creaturehistory.php Creature History reader]
 
  
 
[[Category:File formats]]
 
[[Category:File formats]]

Revision as of 20:02, 15 June 2016

GLST blocks are found in .creature PRAY files and are Zlib-encoded CreaturesArchive data. User text on the conceived/engineered/spliced/cloned events define the Norn's description as in the Creatures 3/Docking Station UI. For the purposes of this article, 'null' is defined as a 4-byte integer with value 0. All strings in GLST blocks are preceded by a 4-byte integer stating their length. The length of a string can be 0.

Header and Footer

GLST blocks are little-endian encoded, and all strings within them are not null-terminated.

They begin as follows

' byte with value 0x29
1 4-byte integer (1)
moniker length 4-byte integer (always 32 (20))
moniker 32-byte string
moniker length 4-byte integer (always 32 (20))
moniker 32-byte string (always seems to be identical to previous moniker)
name length 4-byte integer
name n-byte string
gender 4-byte integer (1 (m) or 2 (f))
genus 4-byte integer
species 4-byte integer
number of events 4-byte integer

There then is a series of events (as defined below)


The GLST block then ends with the following footer:

Point mutations during conception (if creature was conceived. Seems to be totally different if the creature was not conceived) 4-byte integer
Crossover points during conception (if creature was conceived. Seems to be totally different if the creature was not conceived) 4-byte integer
Unknown 4-byte integer
1 if the creature has been in the warp, 0 otherwise 4-byte integer
String length 4-byte integer
String (only seems to appear in eggs laid by Muco) 4-byte integer

Events

GLST blocks contain events. In the table below, world time and creature age is specfied in ticks. The majority of the strings are optional. If they are not included, their length is 0. Associated monikers, associated photos, and user text are nearly always null. The event information below defines which events define which fields. User text is the description given by the user about the Norn.

If creature age or Life stage is FF FF FF FF then the creature is yet to be born.

Each event is encoded thusly:

Event Number (numbers defined below) 4-byte integer
World time 4-byte integer
Creature age 4-byte integer
UNIX timestamp 4-byte integer
Life stage 4-byte integer
Associated Moniker 1 length 4-byte integer
Associated Moniker 1 (optional) n-byte string
Associated Moniker 2 length 4-byte integer
Associated Moniker 2 (optional) n-byte string
User text length 4-byte integer
User text (optional) n-byte string
Associated PHOT block name length 4-byte integer
Associated PHOT block name (optional) n-byte-string
World name length 4-byte integer
World name n-byte string
World Unique ID length (28) 4-byte integer
World Unique ID 28-byte string
Docking Station User ID length (8) 4-byte integer
Docking Station User ID 8-byte string
Unknown (usually if not always 1) 4-byte integer
Unknown (usually/always null) 4-byte integer

Event Numbers

  • 0 - Conceived (associated monikers 1 and 2 are mother and father, respectively. User text is here.)
  • 1 - Creature spliced (associated monikers 1 and 2 are mother and father, respectively. Creature doesn't necessarily need a mother/father. This event occurs both in creatures spliced with the gene splicer and creatures from the egg layers. User text is here)
  • 2 - Engineered (associated moniker 2 is the genome the norn was based on. User text is here)
  • 3 - hatched (associated monikers 1 and 2 are mother and father, respectively)
  • 4 - Creature life stage
  • 5 - Creature exported
  • 6 - Creature imported
  • 7 - Died
  • 8 - Got pregnant (associated moniker 1 is the child, associated moniker 2 is the mother
  • 9 - Made another creature pregnant (associated moniker 1 is the child, associated moniker 2 is the mother)
  • 10 - Child born (associated moniker 1 is the child, associated moniker 2 is the other parent)
  • 11 - My egg was laid (associated moniker 1 is the mother)
  • 12 - Laid egg (associated moniker 1 is the baby)
  • 13 - Photo taken of me (associated PHOT block name is the photo that was taken)
  • 14 - I was cloned from another creature (associated moniker 1 is the original. User text is here.)
  • 15 - Another creature was cloned from me (associated moniker 1 is the clone)
  • 16 - Creature warped out
  • 17 - Creature warped in