release:tyger
This is an old revision of the document!
Table of Contents
Tyger
Tyger is a clone of ZZT and Super ZZT developed by Dr. Dos in the late 00s and early 10s using the Python programming language and Pygame library.
Extensions
World format
Tyger repurposes the BoardTimeHsec field in the TWorldInfo structure as two bytes:
Offset | Type | Description |
---|---|---|
0x00 | byte | Tyger world selection game name color? (Unused) |
0x01 | byte | Tyger world selection game name length? (Unused) |
Scripting
In general, Tyger is not constrained to the limits of 16-bit ZZT counters.
Tyger adds the following OOP extensions:
- Additional colors have defined names for use in OOP commands:
- dblue - dark blue (color 1),
- dgreen - dark green (color 2),
- dcyan - dark cyan (color 3),
- dred - dark red (color 4),
- dpurple - dark purple (color 5)
- dyellow - dark yellow/brown (color 6),
- gray, grey, dwhite - light gray (color 7),
- dgray, dgrey, dblack - dark gray (color 8),
- black - black (color 0),
- any - any (command-specific),
- def - default (command-specific).
- Additional elements have defined names for use in OOP commands:
- edge - board edge,
- messenger - message timer,
- monitor - title screen monitor,
- horizray - horizontal blink wall ray,
- vertray - vertical blink wall ray,
- element46 - element 46,
- bluetext - blue text,
- greentext - green text,
- cyantext - cyan text,
- redtext - red text,
- purpletext - purple text,
- yellowtext - yellow text,
- whitetext - background-less text.
#become
,#change
and#if any
supports providing the background color as a second argument, as in#become fg bg element
or#change fg bg element1 fg bg element2
.#become
and#change
supports usingany
for a given color to re-use the tile's existing color as foreground, background, or both.#become
and#change
supports usingdefault
for a given color to use the ZZT-defined default color as foreground, background, or both.#char
supports character 0. In addition, for out-of-range character values, it will resort to using character 32 instead of ignoring it (vanilla ZZT behaviour).#cycle
supports setting cycle 0.#die
creates a black-on-black instead of white-on-black empty.#give
and#take
support giving and taking the following additional kinds:seconds
- the opposite oftime
,light
- additional torch cycles,invuln
- additional energizer cycles (this also sends every object to the:ENERGIZE
label),energizer
- one energizer item's worth of cycles - use without an argument, as in#give energizer
,key
- a key - provide a key name as argument, as follows:- blue, darkblue - blue key,
- green, darkgreen - green key,
- cyan, darkcyan - cyan key,
- red, darkred - red key,
- purple, darkpurple - purple key,
- yellow, darkyellow - yellow key,
- white, gray - white key,
- black, darkgray - black key.
- In
#if
,aligned
can be used as a synonym foralligned
.
Links
release/tyger.1614549220.txt.gz · Last modified: 2021/02/28 21:53 by asie