{{tag>type:clone}} ====== DreamZZT ====== DreamZZT is a clone of ZZT and Super ZZT developed by c99koder in the early-mid 00s. While its compatibility is lacking, it is particularly notable for having been ported to the Nintendo DS and Dreamcast. It was developed until November 2007, and its source code is available under the terms of the GPLv2 license. ===== Extensions (DreamZZT 2.x) ===== ==== Music ==== The engine will play music by checking for the existence of an MP3 file in the following format: ''[worldname]/[first word of boardname].mp3''. ==== Scripting ==== Note that the list is incomplete. === Bugs === * ''#char 0'' changes the character, instead of being a no-op. === ^board [id] === Transports the player to the board with the specific numeric ID. === ^color [color] === Sets the object's color to the specified value. === ^drawtext [x] [y] === Draws the next line of text at the specified coordinates. === ^hideplayer === TODO === ^loadjpeg [filename] === Draw the specified filename (with extension). === ^playercolor [color] === Sets the player's color to the specified value. === ^rename_ammo [name] === TODO === ^teleport [x] [y] === Moves the calling object to the specified coordinates. === ^textcolor [number1] [number2] === TODO ===== Extensions (DreamZZT 3.x) ===== ==== World format ==== DreamZZT appends the following information after the end of the TBoardInfo structure in both ZZT and Super ZZT: ^ Offset ^ Type ^ Description ^ | 0x00 | boolean | If true, animated water is enabled. | ==== Graphical ==== === Animated water === If enabled in a world, each water tile will use a foreground color of 0x01 and a character of 0xB0. With a random 12.5% chance per tick, each tile may also start the following animation sequence: * foreground color 0x09 (light blue), character 0xB0, * foreground color 0x09 (light blue), character 0xB1, * foreground color 0x09 (light blue), character 0xB2, * foreground color 0x09 (light blue), character 0xDB, then repeat the above steps backwards, finally revert to the static look. ==== Scripting ==== DreamZZT adds the following OOP extensions: * ''%%#__dark 1%%'' turns the board dark, while ''%%#__dark 0%%'' removes darkness, * ''aligned'' can be used as a synonym for ''alligned''. There are also some documented, but unimplemented (in the final source code revision) extensions: * The flags ''pc'' and ''dreamcast'' are mentioned in the documentation, presumably for detecting the platform DreamZZT is installed on. TODO: Can the Stones of Power feature be used in DreamZZT in ZZT mode? ==== Cheats ==== DreamZZT adds a significant amount of additional cheats. ^ Cheat code ^ Effect ^ | +dark | Makes board dark. | | -dark | Removes board darkness. | | +/-ammo | Adds/removes 10 ammo to/from the player. | | +/-gems | Adds/removes 10 gems to/from the player. | | +/-score | Adds/removes 10 score to/from the player. | | +/-health | Adds/removes 10 health to/from the player. | | +/-torch | Adds/removes 10 torch to/from the player. | | zap | Removes player-neighboring tiles. | | keys | Gives all keys to the player. | | warp X | Warps to board with ID X and pauses the player. | | warp | As above, but with a board select menu. | | freeze/unfreeze | Freezes/unfreezes board ticking. | | watch | Enables debug information to be printed on a selected object. | | inspect | Shows a selected object's code. | | flags | Prints the state of the world flag list in the debug console. | | edit | Opens the editor. | | quit | TODO | | play cdefgab | Plays the #play string cdefgab. | | +/-reveal | Reveals objects, by making them show changing high-intensity colors. | | viewport X Y | TODO | | Other commands | Executes the command as ZZT-OOP code on behalf of the player. | ===== Links ===== * [[https://github.com/c99koder/DreamZZT|Source code (3.1.x)]] * [[https://zzt.org/?p=dreamzzt|z2 website (2.0 RC5)]]