Difference between revisions of "GLST PRAY Block Format"
(Created page. Hopefully it's clear enough for now) |
|||
Line 117: | Line 117: | ||
*17 - Creature warped in | *17 - Creature warped in | ||
− | [[Category:File | + | [[Category:File formats]] |
Revision as of 16:00, 19 April 2009
GLST blocks are found in .creature PRAY files and are Zlib-encoded CreaturesArchive data.
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.
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:
Unknown | 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 |
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.
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 |
Event specific information | four length,string pairs |
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
Event specific info is in brackets, if no info is specified there is none. If less than four pieces of info are specified, the remaining are null.
- 0 - Conceived (mother,father)
- 1 - Creature spliced (mother,father)
- 2 - Engineered (usually nothing,original genome)
- 3 - hatched
- 4 - Creature life stage changed
- 5 - Creature exported
- 6 - Creature imported
- 7 - Died
- 8 - Got pregnant (baby's moniker, father's moniker, null, null)
- 9 - Made another creature pregnant (baby's moniker, partner's moniker, null,null)
- 10 - Child born (baby's moniker, father's moniker, null, null)
- 11 - My egg was laid (mother's moniker) (creature age and life stage are both FF FF FF FF)
- 12 - Laid egg (baby's moniker, null, null, null)
- 13 - Photo taken of me (null,null,null,photo id)
- 14 - I am a clone (original's moniker)
- 15 - There is a clone of me (clone's moniker)
- 16 - Creature warped out
- 17 - Creature warped in