Color: Difference between revisions
m ("dark brown" -> "brown". Added alternative way to get blinking white on brown via bears.) |
No edit summary |
||
| Line 1: | Line 1: | ||
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 == | ||
=== Brown on black === | The built-in editor only supports directly editing [[element|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|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 [[door|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<ref>Gallagher, Tim. 1992. [https://museumofzzt.com/file/view/timstools/?file=TOOL-KIT.ZZT Tim's Toolkit].</ref>. | |||
Below are examples of how to obtain [[gem|gems]] of various colors using ZZT-OOP. These are also implemented as a demonstration board in the [https://museumofzzt.com/file/m/Mwencv14.zip?file=%24MWENC_B.ZZT&board=7#19,10 Mystical Winds Encyclopedia]. | |||
=== Dark colors on black === | |||
==== Brown on black ==== | |||
<code> | <code> | ||
| Line 13: | Line 28: | ||
<nowiki>#</nowiki>change torch gem | <nowiki>#</nowiki>change torch gem | ||
</code> | </code> | ||
''Alternatively:'' | ''Alternatively:'' | ||
| Line 24: | Line 38: | ||
=== Dark cyan on black === | ==== Dark cyan on black ==== | ||
<code> | <code> | ||
| Line 33: | Line 47: | ||
=== Dark purple on black === | ==== Dark purple on black ==== | ||
<code> | <code> | ||
| Line 42: | Line 56: | ||
=== Gray on black === | ==== Gray on black ==== | ||
<code> | <code> | ||
| Line 51: | Line 65: | ||
== Black on dark colors == | === Black on dark colors === | ||
=== Black on dark green === | ==== Black on dark green ==== | ||
<code> | <code> | ||
<nowiki>#</nowiki>put e [[forest]] | <nowiki>#</nowiki>put e [[forest]] | ||
| Line 61: | Line 75: | ||
=== Black on gray === | ==== Black on gray ==== | ||
<code> | <code> | ||
<nowiki>#</nowiki>put e [[empty]] | <nowiki>#</nowiki>put e [[empty]] | ||
| Line 69: | Line 83: | ||
== White on dark colors == | === White on dark colors === | ||
=== White on gray === | ==== White on gray ==== | ||
<code> | <code> | ||
| Line 80: | Line 94: | ||
=== White on dark blue === | ==== White on dark blue ==== | ||
<code> | <code> | ||
| Line 89: | Line 103: | ||
=== White on dark green === | ==== White on dark green ==== | ||
<code> | <code> | ||
| Line 98: | Line 112: | ||
=== White on dark red === | ==== White on dark red ==== | ||
<code> | <code> | ||
| Line 107: | Line 121: | ||
=== White on dark purple === | ==== White on dark purple ==== | ||
<code> | <code> | ||
| Line 116: | Line 130: | ||
=== White on brown === | ==== White on brown ==== | ||
<code> | <code> | ||
| Line 125: | Line 139: | ||
== Blinking white on black and dark colors == | === Blinking white on black and dark colors === | ||
=== Blinking white on black === | ==== Blinking white on black ==== | ||
<code> | <code> | ||
| Line 138: | Line 152: | ||
=== Blinking white on dark cyan === | ==== Blinking white on dark cyan ==== | ||
<code> | <code> | ||
| Line 151: | Line 165: | ||
=== Blinking white on dark purple === | ==== Blinking white on dark purple ==== | ||
<code> | <code> | ||
| Line 162: | Line 176: | ||
=== Blinking white on brown === | ==== Blinking white on brown ==== | ||
<code> | <code> | ||
| Line 186: | Line 200: | ||
=== Blinking white on gray === | ==== Blinking white on gray ==== | ||
<code> | <code> | ||
| Line 198: | Line 212: | ||
== References == | == References == | ||
<references/> | |||
Revision as of 14:50, 24 December 2025
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.