z-11 Terminal help

If you see this text you are probably reading this file in web browser. Probably, because this file is used for online help in the game too. It could be not up-to-date, sorry.

Please don't change link names, they are used by online help.

Copyright (c) 1999 Malekith.
malekith@topnet.pl [send now]
http://malekith.topnet.pl [go now]
More about me

For detailed info about copying see file copying.z11. It should be somwhere in your z-11 directory. If you don't have it, you may visit my home site and get it. It containd GNU General Public License version 2 by Free Software Fundation, and few lines of additional info:
This program (z-11) and its sources can be redistributed under the terms of the GNU General Public License.
WARNING: Author is allowed to change distribution terms in later versions of z-11! However changes can NOT affect code released before this change.

Intro

To enter the Terminal press [Esc] or [~] during the game. You can exit it the same way. For available topics and help usage type 'help help'.
All z-11 Terminal commands are case insensitive. All integers can be typed in any C convention (123, 0xfa43, 0675), which can be usable when setting collors.

Thanks

Wonna thnx, (random order)
* all people from Free Software Foundation
* DJ Delorie - such great compiler for free!
* Shawn Hargreaves for his great Allegro library.
* human from 'PC Sharaware' magazine, who put DJGPP onto their CD, so I didn't have to spent zilions of zloty for phone... but man, if you'll do something like this next time, don't put every .zip into one 250MB solid .rar for 3% compresion !!!
* Robert Hohne for his RHIDE - main reason why I didn't delete DJGPP from my hard drive in the beginning, when I didn't know how to compile simple C++ 'hello world'.
* Salvador Eduardo Tropea for his InfoView & RHIDE editor. 'Info' is a little bit strange for me...
* Thomas Biskup - author of my greatest inspiration (NO, it was NOT DooM) - ADOM. Maybe you don't see that, but YOU WILL. Some day.

greetz, here they go (alpha order):
a.lamothe * b.marley * enrique * h00ddi3 * j.carmack * j.grembosz * j.morrison * k.cobain * k.petersen * klayman * maja * makia * me! * mietek * misiek * mistofel *

Commands

logout - exits z-11 Terminal.

exit - as you may guess, exits z-11 (without asking).

die - quits the game w/o closing files, freeing mem and generaly cleaning up.

font {name} - loads font from file gfx-data/fonts/{name}.fnt . Font file should be written in BIOS 8x16 format, but in first two bytes should be width and height of character (but still every char should be written in 16 bytes, leaving additional bytes blank).

shot [name] - takes screen shot (to file called 'name' or z11s0001.pcx etc.). Format is taken from extension (pcx, bmp, tga, lbm). Screen shot could also be taken by pressing [s] during the game. (Then it's written to file called z11s00fa.pcx etc.).

login [name] - opens the terminal, if it was closed (can use in startup.z11 file) and sets username to 'name' if it was given. Username couldn't be longer then 10 chars and it initialy contains name returned by function getlogin() (from ).

textColor [color [v]] - sets text color to color (which is number containing RGB 0-255, ex '0x00ff00' for pure green). V is % number by which color could be randomly lowered. (ex textcolor 0xffffff 30 sets text colors similar to those from Quake).
If color is not given it's white, if v is not given it's 0.

shadowColor [color] - sets color of shadow behind terminal letters. Color is RGB value (like all number can be in hex, if you prepend '0x'). If color is not given sets shadow color to 0x000000 (black).

window {width} {height} - sets sizes of view window to width and height. Values lesser than 80x50, and greater than screen dimensions will be ignored - ex window 0 0 will set window to smallest possible size. You can change window size while plying by pressing gray '+' and '-' (optionaly +[ctrl], +[alt], +[shift]).

execv {file} - executes named file. It should contains one z-11 Terminal command in one line. If not logged into Terminal - shows it. After execution foucus is left to Terminal. Should be used only in script. (opposite to exec command).

exec {file} - executes named file. It should contains one z-11 Terminal command in one line.

cat {file} - displays contest of named file.

time - guess what. Can't change.

date - see time.

prompt [new-prompt] - changes prompt to new-prompt if given, else to standard 'user #'. A space is appended at the end of new-prompt, since arguments are read word by word, striping spaces.

whoAmI - displays user name.

halt - raises an internal exception w/o message. May use that if you want to see how this game crashes (and you havn't seen that yet... ;)

set [variable [=] value] - sets variable to value (surprise). If no arguments given - will list all posible variables. Some of them are mentioned in 'SET' variables section of this manual, but I can't guarantee that all ... sorry.
If you are using the z-11 Terminal to read this text type 'help variable-name' (replacing 'variable-name' with name of variable you are intrested in, of course) and press [enter].

alias [name [[=] command [args]]] - this is the most powerful command of the z-11 Terminal. After you use it, you may use 'name' instead of command. Command could be multi-word. Any arguments you type after 'name' are appended to command.
In command you can use prior defined aliases. 'alias' without arguments will display active aliases. 'alias name' will remove alias named 'name'. If you redefine alias warning message will be printed.
Note, that if you call alias in it-self, you will get an infinite loop. z-11 Terminal will stop executing such alias after going 20 levels deepth, to prevent your machine from stack overflow => possibly system crash.

system {os-command [args]} - executes system command. You should be careful applying this command, since no redirection of stdin is made, so if command is waiting for some keyboard input, you must type it blind. It's because no screen mode changing is done. If command does some direct screen draws (for ex it's a game) system crash is possible. However command which doesn't reqire keyboard input and doesn't do anything wired with screen may be safly executed.
Stdout (and stderr if you are runnig 4dos) of command are redirected (unless you pass --no-redir or --no-redir-stderr command line parameters), so you may look at results of command. Writting 'system dir' will print contents of current working directory on your z-11 Terminal!
You may add your own redirection to command. Then z-11 Terminal won't any additional.

'SET' variables

Here are some of variables that can be set by 'SET' command. Not all of them are mentioned here. Sorry.

If this section and experiments won't help you understanding what variable does, I can only say Use the force - read to source!.

swim [bool] - swim mode. What the hell is it -- you'll ask ? Try turn off/on and look on the line where you're typing commands. Oh, you must to set colors with some diffrences, for ex by typing 'textcolor 0xffffff 30' to make this work properly.

shadow [bool] - shadows of terminal letters.

moveSpeed [float] - game's MOVE speed rate. Intialy contains 1.0. can make it bigger if you like, but CPU speed is automaticly calculated. it must be in (0,10>.

turnSpeed [float] - game's TURN speed rate. Intialy contains 1.0. can make it bigger if you like, but CPU speed is automaticly calculated. it must be in (0,10>.

compass [bool] - controls that arrow in left upper bottom.

map [bool] - controls map drawing.

Standard aliases

todo {line} - appends line to file texts-xx/to-do.z11.
This is for developing, when I've got an idea, and want to write it down quickly.

startup {command} [args...] - adds command to txt-data/user.z11 file. Of course you can edit this file normally, with any text editor. This file is executed by txt-data/startup.z11 each time, when z-11 starts.

Me!

I'm Malekith, king of Dark Elven land of Naggaroth.
Beside this I learn (or pretend to learn ;) in a high school. My email is 'malekith@topnet.pl' and home site is 'http://malekith.topnet.pl'.
As you can see, I'm much better programmer then coder (and/or writer ;). Programmer is this half (or more) of me which write console code and all that text stuff, coder is that one who write 3dGfx engine.