Color: Difference between revisions

From Wiki of ZZT
Jump to navigation Jump to search
m ("dark brown" -> "brown". Added alternative way to get blinking white on brown via bears.)
No edit summary
Line 1: Line 1:
[[ZZT-OOP]] has seven named colors: blue, green, cyan, red, purple, yellow and white. These correspond to the seven bright colors in the default 16-color CGA palette. 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.
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).


Below are examples of how to obtain [[gem|gems]] of various colors using ZZT-OOP.
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.


== Dark colors on black ==
== 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 ==
[https://museumofzzt.com/file/m/Mwencv14.zip?file=%24MWENC_B.ZZT&board=7#19,10 Mystical Winds Encyclopedia v1.4: $MWENC_B.ZZT: 7. MW More In-Game Colors]
 
<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

  1. Gallagher, Tim. 1992. Tim's Toolkit.