User Tools

Site Tools


release:tyger

This is an old revision of the document!


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. Its source code is available under the terms of the MIT license.

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 using any for a given color to re-use the tile's existing color as foreground, background, or both.
  • #become and #change supports using default 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 of time,
    • 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 for alligned.
release/tyger.1614549164.txt.gz · Last modified: 2021/02/28 21:52 by asie