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
(Created page. Hopefully it's clear enough for now)
 
Line 117: Line 117:
 
*17 - Creature warped in
 
*17 - Creature warped in
  
[[Category:File Formats]]
+
[[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.

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:

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