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

COB

From Creatures Wiki
Jump to navigation Jump to search
COBs are added to the world using the Injector (Updated C1 edition pictured).

A COB (also cob, COb) is a Creatures Object - an object in the game for either Creatures or Creatures 2. These objects are stored in .cob files, which contain an image (or images), a description, and some CAOS coding. In Creatures 3 and Docking Station COBs are known as agents.

Those who make COBs are known as COBblers.

Finding COBs

Many older C1 COBs are linked to from CObfinder General, Norntropolis and TazzMann's CREATUREs UNIVERSE, and a good list of C2 COBs can be found at Creatures of Avalon. There is a growing list of C1 COBs on GirlySatan's Creatures Webpage. Unfortunately, one popular site spanning all games (Where's The COB?) was taken down in late 2001/early 2002.

If you like a COB, why not add it to the list of known COBs?

Installing COBs

Cobblers should include a readme text file detailing specifics of how to install their COBs, but this is a rule of thumb.

Caveat: Installing too many COBs can cause clashes or overwhelm the world's scriptorium (sum total of all CAOS coding in the given world).

C1

  • .cob files go in the main Creatures directory (usually C://Program Files/Creatures)
  • .rcb files go in the main Creatures directory
  • .spr files go in the Creatures/Images directory
  • .wav files (if present) go in the Creatures/Sounds directory

C2

  • .cob files go in the Creatures 2/Objects directory

RCB Files

Files with the extension .RCB are RemoveCOB files, which remove Creatures 1 COBs and their scripts. Every C1 COB should come with an RCB, but for those that don't there is the Universal Remover Spray. BoBCoB and CrEd32 can automatically generate RCB files from any COB file.

An RCB file is simply a COB file with an install script that removes agents and event scripts. They typically set every other field to a default value and don't include a picture.

Developer information

For the original Creatures, there are no official cob-making programs - BoBCoB is probably the most popular unofficial one - but there are both official and unofficial tools for Creatures 2.

Creatures 1

Creatures 1's COBs/RCBs are simpler than all later COB/agent files. As with all Creatures file formats, they are in little-endian order.

They are simply defined as such:

Length Type Description
2 bytes integer COB Version (I've only ever seen 1)
2 bytes integer Quantity Available (for injecting)
4 bytes integer Expiration month
4 bytes integer Expiration day
4 bytes integer Expiration year
2 bytes integer Number of object scripts
2 bytes integer Number of install scripts
2 bytes integer Number of install scripts used already (for injecting)
2 bytes integer Sprinkle
varies 0 or more string blocks Object scripts
varies 0 or more string blocks Install scripts
4 bytes integer Picture storage width (always matches size of data)
4 bytes integer Picture height
2 bytes integer Picture width (always matches picture storage width)
varies picture data Picture. Encoded with one 8-bit palette index per pixel (like SPR data), vertically flipped (e.g. first row is the bottom row, last row is the top row).
varies string block COB Name
varies string block COB Description

String blocks are defined as follows

Length Type Description
1 byte integer String Length (if 255, use second string length)
2 bytes integer String Length (if first string length was less than 255, this string length does not exist)
varies string String (If this is a script, lines of CAOS are comma-separated with no whitespace between them)

Creatures 2

Creatures 2's are block-based, like the successive PRAY format. As with all Creatures file formats, they are in little-endian order.

The format is simply:

Length Type Description
4 bytes 'c' 'o' 'b' '2' File magic identifier
varies chunks

Where a chunk is:

Length Type Description
4 bytes data chunk type
4 bytes integer size of chunk data
varies data chunk data

There are three known chunk types: agnt, file, and auth.

Agnt chunks:

Length Type Description
2 bytes integer Quantity remaining
4 bytes integer Time of last use (in seconds since midnight UTC Jan 1, 1970)
4 bytes integer Reuse interval in seconds
1 byte integer Expiration day
1 byte integer Expiration month
2 bytes integer Expiration year
4 bytes integer Unused, should be zero
4 bytes integer Unused, should be zero (originally intended to be flags)
2 bytes integer Unused, should be zero (originally intended to be x-position)
2 bytes integer Unused, should be zero (originally intended to be y-position)
varies null-terminated string Agent name
varies null-terminated string Agent description
varies null-terminated string Install script
varies null-terminated string Remove script
2 bytes integer Number of event scripts
varies 0 or more null-terminated strings Event scripts
2 bytes integer Number of dependencies
2 bytes integer Dependency type
varies Null-terminated string Dependency name
2 bytes integer Thumbnail width
2 bytes integer Thumbnail height
varies 565 picture data Thumbnail

File chunks:

Length Type Description
2 bytes integer File type - 0=.s16, 1=.wav
4 bytes integer Unused, should be zero
4 bytes integer Size of file
varies null-terminated string Name of file
varies data The file data itself

Auth chunks:

Length Type Description
1 byte integer Day file was created
1 byte integer Month file was created
2 bytes integer Year file was created
1 byte integer Version
1 byte integer Revision
varies null-terminated string Author name
varies null-terminated string Author e-mail
varies null-terminated string Author URL
varies null-terminated string Author comments


Related links

External links