Object Definitions

Object definitions are used for all game objects in clonk: fire monsters, the wooden hut, and the clonk himself. An object definition is a group file composed from the following components:

Object Definition Components (c4d)

DefCore.txt
Object properties.
ActMap.txt
Table for activities.
Graphics.png
Graphics of the object. Base graphics, animation phases and a picture for display in menus are stored in a 32 bit picture with transparency channel (PNG format, 32 bit RGBA color, non interlaced).
Overlay.png
The part of the object's graphics which is to be colored in the player color (see ColorByOwner in DefCore.txt) can also be defined using a separate graphics file. In this way you can also use the color blue in the object's graphics for effects other than player color and antialiasing of the player color sections becomes possible. In Overlay.png gray scales should be used instead of blue color.
Graphics.png
The bmp format for graphics elements is obsolete but still supported. In a 256 color bitmap (8 bit) only the predefined colors 15 through 103 of the fixed Clonk color palette may be used.
Graphics*.png / Overlay*.png / Graphics*.bmp
Objects can also contain alternative sets of graphics which can be selected ingame using the script command SetGraphics(). The name corresponds to the file name portion following "Graphics". The matching overlay is automatically selected. For more information see SetGraphics().
Title.png / Title.bmp
Object definitions can contain an additional title image (as scenarios do). This will be displayed in the menu system instead of the picture section of the object definition. Recommended size: 150x150 pixels, as long as your image is actually worth it.
Script.c
The object script. See script documentation and localization.
Names.txt
Multilingual name table (see Title.txt in scenarios).
Desc*.txt
Short description. For multilingual descriptions see scenario descriptions.
Rank.txt/Rank*.txt
For object definitions defining a clonk type you can specify custom rank names for this clonk type here. The rank names will then also replace rank names of existing crew members of this type. The file should contain a simple text list of names of maximum 30 characters each. For an example see the knight in the Knights pack. By using the approriate language codes you can create language dependent sets of rank names.
Rank.png / Rank.bmp
You can also define custom rank symbols for clonk types which are then displayed in the game instead of the standard symbols from Graphics.c4g. A rank symbol should always be square and there should be enough many symbols for all ranks. For ranks exceeding the last symbol, the list is repeated from the front and a star is added to the symbol.
*.wav
Object local sounds. As these are always loaded and not dynamically unloaded as are scenario sounds you should use these sparingly and with small sound files only.
*.c4d
The engine will also search all valid c4d subdirectories for additional object definitions. Object definitions should be grouped by category.
Info.txt
This component is not processed by the engine. Here the author can store additional information he wants to share with other developers.
Author.txt
Should contain the name of the author in format "Firstname Lastname (Nick)" and is used to maintain the name of the original author, if the group file is edited by another developer at a later point in time. The name stored here is only displayed, however, if the group was edited by RedWolf Design. This feature is mainly used for contest scenarios.

Object Identification

Object definitions are identified by an id which consists of four characters (e.g. C4ID). Original objects use four characters: ABCD or ABC1.
Local object definitions which are only available in one scenario should use the id format _ABC.
Object definitions created by community players but publicly released should use the format AB3C of which the first two characters should identify the object and the second two (one digit and one character) should identify the developer. This is to avoid id conflicts with other developers.
Sven2, April 2002
matthes, Juni 2004