Color
The ZZT engine uses the color text mode of the IBM PC. As such, by default, the world format supports 16 foreground colors and 8 background colors. In addition, the color can optionally be marked as blinking, in which case the foreground character appears and disappears at a rate of approximately 1.87 Hz (266 milliseconds per transition).
TODO: Table/graphics showing the colors.
However, in the built-in editor, most of these combinations are not used or only used for built-in elements and thus not exposed to the user. This page documents how to access these additional colors.
In the editor
The built-in editor only supports directly editing elements in seven colors: blue, green, cyan, red, purple, yellow and white. These correspond to the seven bright colors in the default 16-color CGA palette.
However, non-standard colors can be used by copying an existing tile of such a color, for example by using a toolkit board, and placing it on your own board. Alternatively, one can use an external editor, which generally allow use of all supported colors.
Using ZZT-OOP
ZZT-OOP element kind statements only support seven named colors: blue, green, cyan, red, purple, yellow and white, matching the ones available in the built-in editor. With the exception of doors, named colors apply to an element's foreground color, and are paired with a black background.
A handful of additional colors can be obtained through ZZT-OOP by using the change and put commands on built-in entities with hard-coded colors. This was most likely first discovered by Tim Gallagher in 1992[1].
Below are examples of how to obtain gems of various colors using ZZT-OOP. These are also implemented as a demonstration board in the Mystical Winds Encyclopedia.
Dark colors on black
Brown on black
#put e torch
#change torch gem
Alternatively:
#put e bear
#change bear gem
Dark cyan on black
#put e ammo
#change ammo gem
Dark purple on black
#put e energizer
#change energizer gem
Gray on black
#put e shark
#change shark gem
Black on dark colors
Black on dark green
#put e forest
#change forest gem
Black on gray
#put e empty
#put e gem
White on dark colors
White on gray
#put e door
#change door gem
White on dark blue
#put e blue door
#change door gem
White on dark green
#put e green door
#change door gem
White on dark red
#put e red door
#change door gem
White on dark purple
#put e purple door
#change door gem
White on brown
#put e yellow door
#change door gem
Blinking white on black and dark colors
Blinking white on black
#put e forest
#change forest door
#change door gem
Blinking white on dark cyan
#put e ammo
#put e door
#put e gem
Note: The ammo won't automatically be overwritten by the newly-created door. You can delete it with #change ammo empty, or put the object next to an obstacle such that the ammo gets crushed when the door is created.
Blinking white on dark purple
#put e energizer
#put e door
#change door gem
Blinking white on brown
#put e torch
#put e door
#change door gem
Alternatively:
#put e bear
#put e door
#change door gem
Note: The bear needs to be crushed by an obstacle when the door is created.
Blinking white on gray
#put e shark
#put e door
#change door gem
References
- ↑ Gallagher, Tim. 1992. Tim's Toolkit.