rogue

package: rogue

title: rogue(6)

summary: Exploring The Dungeons of Doom

text:
# rogue(6)

## NAME
rogue - Exploring The Dungeons of Doom

## SYNOPSIS
rogue [ -r ] [ save_file ] [ -s ] [ -d ]

## DESCRIPTION
Rogue is a computer fantasy game with a new twist. It is crt oriented and the object of the game is to survive the attacks of various monsters and get a lot of gold, rather than the puzzle solving orientation of most computer fantasy games.

To get started you really only need to know two commands. The command ? will give you a list of the available commands and the command / will identify the things you see on the screen.

To win the game (as opposed to merely playing to beat other people's high scores) you must locate the Amulet of Yendor which is somewhere below the 20th level of the dungeon and get it out. Nobody has achieved this yet and if somebody does, they will probably go down in history as a hero among heroes.

When the game ends, either by your death, when you quit, or if you (by some miracle) manage to win, rogue will give you a list of the top-ten scorers. The scoring is based entirely upon how much gold you get. There is a 10% penalty for getting yourself killed.

If save_file is specified, rogue will be restored from the specified saved game file. If the -r option is used, the save game file is presumed to be the default.

The -s option will print out the list of scores.

The -d option will kill you and try to add you to the score file.

For more detailed directions, read the document A Guide to the Dungeons of Doom.

## AUTHORS
Michael C. Toy, Kenneth C. R. C. Arnold, Glenn Wichman

## FILES
/var/lib/games/roguelike/rogue54.scr Score file

~/rogue.save Default save file

## SEE ALSO
Michael C. Toy and Kenneth C. R. C. Arnold, A guide to the Dungeons of Doom

## BUGS
Probably infinite (although countably infinite). However, that Ice Monsters sometimes transfix you permanently is not a bug. It's a feature.


scummvm

package: scummvm

title: scummvm(6)

text:
# scummvm(6)

## NAME
scummvm — adventure and role-playing game interpreter

## SYNOPSIS
scummvm

[OPTIONS] [GAME]

## DESCRIPTION
scummvm is an interpreter that will play numerous adventure and role-playing games based on a variety of game engines.

GAME is a short name of game to load. This can be either a built-in gameid (as given by --list-games), or a user-configured target (as given by --list-targets).

## OPTIONS
The meaning of most long options (that is, those options starting with a double-dash) can be inverted by prefixing them with no-. For example, --no-aspect-ratio will turn aspect ratio correction off. This is useful if you want to override a setting in the configuration file.

-a | --add

Add all games from current or specified (with --path=PATH) directory. If --game=ID is passed, only the game with id ID is added. See also --detect.

-b | --boot-param=NUM

Pass number NUM to the boot script, for games supporting this feature.

-c | --config=CONFIG

Use alternate configuration file path.

-d | --debuglevel[=NUM]

Enable and set debug verbosity level (default: 0).

-e | --music-driver=MODE

Select music driver: adlib

Internal AdLib emulation.

alsa

Output using ALSA sequencer device.

core

CoreAudio sound (macOS).

coremidi

CoreMIDI sound (macOS).

fluidsynth

FluidSynth MIDI emulation.

mt32

Internal MT-32 emulation.

null

Null output. Don't play any music.

pcjr

Internal PCjr emulation.

pcspk

Internal PC Speaker emulation.

seq

Use /dev/sequencer for MIDI (some Unix systems).

sndio

Use sndio MIDI.

timidity

Connect to TiMidity++ MIDI server.

towns

Internal FM-TOWNS YM2612 emulation (only usable in SCUMM FM-TOWNS games). Use only if you have a hardware MIDI synthesizer.

windows

Windows built-in MIDI sequencer (Windows).

-F | --no-fullscreen

Force windowed mode.

-f | --fullscreen

Force full-screen mode.

-g | --gfx-mode=MODE

Select graphics mode (opengl, surfacesdl).

-h | --help

Display a brief help text, and exit.

-i | --initial-cfg=CONFIG

Load an initial configuration file if no configuration file has been saved yet.

-l | --logfile=PATH

Use alternate path for log file.

-m | --music-volume=NUM

Set the music volume, 0–255 (default: 192).

-n | --[no-]subtitles

Enable subtitles (for games that have voice).

-p | --path=PATH

Set the path to where the game is installed.

-q | --language=LANG

Select game's language: ar

Arabic (Modern Standard)

bg

Bulgarian

ca

Catalan

zh

Chinese (Generic)

cn

Chinese (Simplified)

tw

Chinese (Traditional)

hr

Croatian

cs

Czech

da

Danish

nl

Dutch

en

English (Generic, default)

gb

English (Great Britain)

us

English (US)

et

Estonian

fi

Finnish

be

Flemish

fr

French

de

German

el

Greek

he

Hebrew

hu

Hungarian

it

Italian

ja

Japanese

ko

Korean

lv

Latvian

nb

Norwegian (Bokmål)

fa

Persian

pl

Polish

br

Portuguese (Brazil)

pt

Portuguese (Portugal)

ru

Russian

sr

Serbian

sk

Slovak

es

Spanish

se

Swedish

tr

Turkish

uk

Ukrainian

-r | --speech-volume=NUM

Set the voice volume, 0–255 (default: 192).

-s | --sfx-volume=NUM

Set the SFX volume, 0–255 (default: 192).

-t | --list-targets

Display list of user-configured game targets, and exit.

-u | --dump-scripts

Enable script dumping if a directory called dumps exists in the current directory.

-v | --version

Display ScummVM version information, and exit.

-x | --save-slot[=SLOT]

Set the saved game slot to load (default: 0 = autosave).

-z | --list-games

Display list of supported games, and exit.

--[no-]alt-intro

Toggle alternative intro for CD versions of Beneath a Steel Sky and Flight of the Amazon Queen (default: disabled).

--[no-]aspect-ratio

Toggle aspect ratio correction.

--auto-detect

Display a list of games from current or specified directory, and start the first one. Use --path=PATH to specify a directory.

--cdrom=DRIVE

Set the drive to play CD audio from; can either be a drive, path, or numeric index (default: 0 = best choice drive).

--[no-]copy-protection

Enable copy protection in games, when ScummVM disables it by default.

--[no-]dirtyrects

Toggle dirty rectangles optimisation in software renderer (default: enabled).

--debug-channels-only

Show only the specified debug channels.

--debugflags=FLAGS

Enable engine specific debug flags (separated by commas).

--[no-]demo-mode

Toggle demo mode of Maniac Mansion or The 7th Guest (default: disabled).

--detect

Display a list of games with their ID from current or specified directory without adding it to the configuration file. Use --path=PATH to specify a directory.

--dump-midi

Dump MIDI events to dump.mid (overwriting it), until quitting from game.

--enable-gs

Enable patch mappings to emulate an MT-32 on a Roland GS device for MIDI playback.

--engine=ID

In combination with --list-games, --list-all-games, --list-targets, or --stats, only list games for this engine. Multiple engines can be listed separated by a coma.

--engine-speed=NUM

Set frame per second limit (0–100) for 3D games, 0 = no limit (default: 60).

--[no-]exit

In combination with commands that exit after running, like --add or --list-engines, toggle opening the launcher instead of exiting.

--extrapath=PATH

Set the extra path to additional game and ScummVM data.

--[no-]filtering

Force filtered/unfiltered graphics mode. Filtered graphics mode uses bilinear interpolation while unfiltered graphics mode uses nearest neighbor.

--game=ID

In combination with --add or --detect, only add or attempt to detect the game with id ID.

--gui-theme=THEME

Select a GUI theme, as given by --list-themes.

--joystick[=NUM]

Enable joystick input (default: 0 = first joystick).

--iconspath=PATH

Set the path to additional icons for the launcher grid view.

--list-all-debugflags

Display list of all engine debugflags, and exit.

--list-all-engines

Display list of all detection engines, and exit.

--list-all-games

Display list of all detected games, and exit.

--list-audio-devices

List all available audio devices, and exit.

--list-debugflags[=ENGINE]

Display list of engine specified debugflags, and exit. If the ENGINE argument is “global”, or if it is not specified, list global debugflags.

--list-engines

Display list of supported engines, and exit.

--list-saves

Display a list of saved games for the target specified with --game=TARGET, or all targets if none is specified, and exit.

--list-themes

Display list of all usable GUI themes, and exit.

--md5

Show MD5 hash of the file given by --md5-path=PATH. If --md5-length=NUM is passed, then show the MD5 hash of the first (if positive) or last (if negative) NUM bytes of the file given by PATH. If --md5-engine=ENGINE_ID is passed, fetch the MD5 length automatically, overriding --md5-length.

--md5mac

Like --md5, but for old Macintosh files. Show MD5 hash for both the resource fork and data fork of the file.

--midi-gain=NUM

Set the gain for MIDI playback, 0–1000 (default: 100). Only supported by some MIDI drivers.

--multi-midi

Enable combination of AdLib and native MIDI.

--native-mt32

Tell ScummVM that the MIDI device is an actual Roland MT-32 or compatible device. This disables any GM emulation.

--opl-driver=DRIVER

Select AdLib (OPL) emulator (alsa, db, mame, nuked, opl2lpt).

--output-channels=RATE

Set output channel count (e.g. 2 for stereo).

--output-rate=RATE

Set output sample rate in Hz (e.g. 22050).

--platform=PLATFORM

Specify platform of game (2gs, 3do, acorn, amiga, android, apple2, atari, atari8, beos, c64, cdi, coco, coco3, cpc, fmtowns, ios, linux, macintosh, macintosh2, megadrive, nes, os2, pc, pc98, pce, pippin, playstation, playstation2, ppc, saturn, segacd, shockwave, ti994, wii, windows, xbox, zx).

--random-seed=NUM

Set the random seed number used to initialize entropy.

--[no-]recursive

In combination with --add or --detect, recurse down all subdirectories (default: disabled).

--render-mode=MODE

Enable additional render modes (2gs, amiga, atari, c64, cga, cgaBW, cgaComp, cpc, ega, fmtowns, hercAmber, hercGreen, macintosh, macintoshbw, pc9801, pc9821, vga, zx).

--renderer=RENDERER

Select 3D renderer (opengl, opengl_shaders, software).

--savepath=PATH

Specify where saved games are stored.

--scale-factor=FACTOR

Set the factor to scale the graphics by.

--scaler=MODE

Select graphics scaler (normal, hq, edge, advmame, sai, supersai, supereagle, pm, dotmatrix, tv2x).

--screenshotpath=PATH

Specify path where screenshot files are created.

--[no-]show-fps

Toggle FPS info in 3D games.

--soundfont=FILE

Select the SoundFont for MIDI playback (only supported by some MIDI drivers).

--start-movie=NAME@NUM

Start movie at frame for Director. Either argument can be specified without the other.

--stats

Display statistics about engines and games, and exit.

--stretch-mode=MODE

Select stretch mode (center, even-pixels, fit, fit_force_aspect, pixel-perfect, stretch).

--talkspeed=NUM

Set talk delay for SCUMM games, or talk speed for other games.

--tempo=NUM

Set music tempo (in percent, 50–200) for SCUMM games (default: 100).

--themepath=PATH

Set the path to GUI themes.

--window-size=W,H

Set the window size to the specified dimensions (OpenGL only).

## INGAME HOTKEYS
Ctrl-F5

Display the Global Menu

Cmd-q

Quit (macOS)

Ctrl-q

Quit (Most platforms)

Ctrl-u

Mute all sounds

Ctrl-m

Toggle mouse capture

Ctrl-Alt 1-8

Switch between graphics filters

Ctrl-Alt +

Increase scale factor

Ctrl-Alt -

Decrease scale factor

Ctrl-Alt a

Toggle aspect-ratio correction

Ctrl-Alt f

Toggle graphics filtering

Ctrl-Alt s

Cycle through scaling modes

Alt-Enter

Toggle full screen/windowed mode

Alt-s

Take a screenshot

Ctrl-F7

Open virtual keyboard (if available). This can also be triggered by a long press of the middle mouse button or wheel

Ctrl-Alt d

Open the ScummVM debugger

There are many more game-specific hotkeys. See: https://wiki.scummvm.org/index.php?title=Category:Supported_Games

## ENVIRONMENT
SCUMMVM_MIDI

The sequencer device to use with the ‘seq’ MIDI driver.

SCUMMVM_MIDIPORT

The number of the sequencer to use when using the ‘seq’ MIDI driver.

SCUMMVM_PORT

The ALSA port to open for output when using the ‘alsa’ MIDI driver.

SCUMMVM_SAVEPATH

Override the default save path (POSIX systems).

## FILES
$HOME/.config/scummvm/scummvm.ini

Configuration file on most Unix systems. XDG environment variables take precedence, if defined.

$HOME/Library/Preferences/ScummVM Preferences

Configuration file on macOS.

## EXAMPLES
Running the built-in game launcher:

$ scummvm

Running Day of the Tentacle, specifying the path:

$ scummvm -p /usr/local/share/games/tentacle scumm:tentacle

Running The Dig with advmame2x filter and subtitles (with the dig-steam target already defined in the configuration file):

$ scummvm --scaler=advmame --scale-factor=2 -n dig-steam

Running the Italian version of Maniac Mansion fullscreen, from the content of the current directory:

$ scummvm -q it -f scumm:maniac

## SEE ALSO
https://docs.scummvm.org

## AUTHORS
ScummVM was written by the ScummVM team. See AUTHORS file for more information.


sopwith

title: sopwith(6)

summary: classic aerial combat shoot em up game

text:
# sopwith(6)

## NAME
sopwith - classic aerial combat shoot em up game

## SYNOPSIS
sopwith [ -n | -s | -c | -l | -j host ] [-f] [-glevel] [-2] [-x] [-q] [-p] [-e]

## DESCRIPTION
Sopwith is a classic 1980s shoot 'em up originally developed by BMB CompuScience. This modern port is a derivative of the original source code released by its original author, David L. Clark. This port can run using the LibSDL and Gtk+ libraries to display on screen. Features include emulation of the original PC speaker sound effects using digital sound output, working networking and various extra features that were included by the author in the released sources.

## AUDIO
As of version 1.7.3, audio is disabled by default. Audio can be enabled using the -p switch. Once you're in the game, you will also have to use the S key to turn on sound effects.

## CONTROLS
The keys for controlling the player's plane are defined in the file ~/.sopwith/keys. The standard controls are as follows:

comma

pull up

slash

pull down

period

flip plane

Z

decrease speed

X

increase speed

space

fire machine gun

B

drop bomb

H

autopilot plane to home base

V

launch starburst/flare (if missiles are enabled with -x)

M

fire missile (if missiles are enabled with -x)

S

turn on sound effects (if sound is enabled with -p)

Ctrl+C

quit

Ctrl+C Ctrl+C Ctrl+C

quit immediately

## OPTIONS
-n

Start a single player game in novice mode

-s

Start a single player in expert mode

-c

Start a single player vs. computer game

-l

Start a network game listening for a network connection

-j host

Start a network game, connecting to another listening host as specified by host

-f

Start in full screen mode if possible.

-glevel

Start the game on the indicated difficulty level. For instance, use -g2 to start the game on level 2. The default is level 0.

-2

Double-size the display window

-x

Enable missiles

-q

Turn off sound (quiet)

-p

Turn on sound (play music)

-e

Turn off intense explosions

## AUTHORS
Originally written by David L. Clark for BMB Compuscience

Modern SDL/Gtk+ port By Simon Howard

## HISTORY
Sopwith was originally designed as a demonstration game for the Imaginet Networking System developed by BMB CompuScience of Canada. The system failed to become popular but Sopwith became a popular game for the IBM PC and compatibles. A sequel "Sopwith 2" was actually a newer version rather than a different game, but included many extra features, such as Oxen and birds. Sopwith was also ported to the Atari. The original author, David L. Clark, later created Sopwith - The Author's Edition with several extra features including missiles. This version of sopwith is based on the source for the Authors Edition.


ski

package: ski

title: ski(6)

summary: an unusual skiing simulation game

text:
# ski(6)

## NAME
ski - an unusual skiing simulation game

## SYNOPSIS
ski

## DESCRIPTION
Imagine you are skiing down an infinite slope, facing such hazards as trees, ice, bare ground, and the Yeti, — a horrible monster! Each turn moves you one screen row downhill. Unfortunately, you have to put your jet-powered skis on backwards, so you can't see ahead where you are going; only behind where you have been.

However, you can turn to either side, jump or hop through the air, teleport through hyperspace, launch nuclear ICBMs, and cast spells to call the Fire Demon. And since the hazards occur in patches, you can skillfully out-maneuver them.

You ski until something bad happens to you. Your final score is based on how far you have skied, how many jumps you made, how many Yetis have melted during your run, and how healthy you are when are finished.

These characters represent the things that you see on the slope behind you:

I

This is where you are.

.

This is normal snow — always completely safe to ski on.

Y

These are trees. If you try to ski through trees, you might hit one and get hurt!

' '

A space represents bare ground with no snow on it. If you try to ski on dirt, you could fall down....

\#

This is ice. When you are on ice, you can't turn, and you might slip and fall down.

A

This is the Yeti! As soon as he crawls out of a snowbank, he will lumber directly towards you at one space per turn, and if he gets within one space of you, he will grab you and beat you up! However, he has trouble moving through trees. Steer clear from the Yeti, and he will melt after a while, since it is a sunny day. If you jump over him, your jet-powered skis will help melt him. You can also melt him with nuclear ICBMs, or call the Fire Demon who will cook him, but once a Yeti melts, another one always shows up after a while. The Yeti doesn't understand about the edges of the slope either, so you can just cross them to get away from him! And since he is slower than you, you can try to ski right past him before he can grab you!

*

This represents a nuclear ICBM that you launched. You launch them from your backpack, and they zoom right at the Yeti.

D

This is the Fire Demon, who is always your friend unless you call him a bad name and he gets mad at you.

These are your commands. You can type any one of these letters when you have the "?" prompt on the end of the slope line, or just hit a return to do nothing this turn. Preceding any command with a number does that command repeatedly; thus, for example, “4l” is “turn left 4 times”.

r

Turn to the right. If you were going straight down, this will make you go one space to the right every turn. If you type "R" again, then you will go two spaces to the right every turn. If you type "L" the next turn, you will again be going one space to the right every turn. Remember that you can't turn when you are on ice, and if you go off the edge of the slope you come back into the other edge. You travel farther while you are going sideways, so you get a better score if you slalom to the side a lot, but you can never go sideways more than five spaces per turn.

l

Turn left. Exactly the same as turning right, but totally opposite.

j

Jump. When jumping, you don't have the "?" on the right for each line you jump over, so you can't enter a command for it. You can't fall, hit trees, or get grabbed by the Yeti while jumping, but you might land badly and get hurt. Since the Yeti moves one space toward you each turn, you have to be going at least two spaces per turn sideways to jump over him without getting grabbed when you land, but your jet-powered skis may melt the Yeti while you're jumping over him.

h

Hop. A hop is half a jump.

t

Teleport through hyperspace. This transports you to somewhere else on the slope, but you might materialize way up in the air and fall down.

i

Launch ICBM with nuclear warhead. If your backpack is working well, an ICBM will be launched from it towards the Yeti, travelling at three spaces per turn. Launching ICBMs is dangerous, but once one is going, it can't hurt you. If it is launched and loses its negative-infrared lock on the Yeti, it self-destructs.

d

Cast spell to summon the Fire Demon to this material plane. If the alternate universes are in a synchronous phase, the Fire Demon will appear somewhere on the slope, and move to attack the Yeti at one space per turn, but if something goes wrong while casting this spell, the Fire Demon might get mad and decide to go for you instead of the Yeti! If there is no Yeti around, the Fire Demon will soon get bored and go home. If you don't like where the Fire Demon showed up, you can try to recast this spell, so that he will appear somewhere else.

!

Spawn an invisible monster called a Unix shell. You may type to the shell; it will do strange things with your input, opening a space warp in the middle of the ski-slope to display them at you. The shell monster is polite; when it is done, you will be deposited back on your slope exactly where you were before.

?

Display command help.

Good luck, and happy skiing!

## AUTHOR
Mark Stevans, for Roy's Games, Inc. Python implementation, color support and the invisible shell monster by Eric S. Raymond esr@thyrsus.com.

## DIAGNOSTICS
None.

## BUGS
None known.


slashem

package: slashem

title: slashem(6)

summary: Exploring The Mazes of Menace

text:
# slashem(6)

## NAME
slashem - Exploring The Mazes of Menace

## SYNOPSIS
slashem [ -d directory ] [ -n ] [ -p profession (role) ] [ -r race ] [ -g gender ] [ -a alignment ] [ -[DX] ] [ -u playername ] [ -dec ] [ -ibm ]

slashem [ -d directory ] -s [ -v ] [ -p profession (role) ] [ -r race ] [ -g gender ] [ -a alignment ] [ maxrank ] [ playernames ]

## DESCRIPTION
SLASH'EM is a display oriented Dungeons & Dragons(tm) - like game. The standard tty display and command structure resemble rogue. It is an extension of SLASH which is an extension of NetHack.

Other, more graphical display options exist if you are using either a PC, or an X11 interface.

To get started you really only need to know two commands. The command ? will give you a list of the available commands (as well as other information) and the command / will identify the things you see on the screen.

To win the game (as opposed to merely playing to beat other people's high scores) you must locate the Amulet of Yendor which is somewhere below the 20th level of the dungeon and get it out. Nobody has achieved this yet; anybody who does will probably go down in history as a hero among heros.

When the game ends, whether by your dying, quitting, or escaping from the caves, SLASH'EM will give you (a fragment of) the list of top scorers. The scoring is based on many aspects of your behavior, but a rough estimate is obtained by taking the amount of gold you've found in the cave plus four times your (real) experience. Precious stones may be worth a lot of gold when brought to the exit. There is a 10% penalty for getting yourself killed.

The environment variable SLASHEMOPTIONS can be used to initialize many run-time options. The ? command provides a description of these options and syntax. (The -dec and -ibm command line options are equivalent to the decgraphics and ibmgraphics run-time options described there, and are provided purely for convenience on systems supporting multiple types of terminals.)

Because the option list can be very long (particularly when specifying graphics characters), options may also be included in a configuration file. The default is located in your home directory and named .slashemrc on Unix systems. On other systems, the default may be different, usually SLASHEM.cnf. On DOS or Windows, the name is defaults.nh, while on the Macintosh or BeOS, it is SlashEM Defaults. The configuration file's location may be specified by setting SLASHEMOPTIONS to a string consisting of an @ character followed by the filename.

The -u playername option supplies the answer to the question "Who are you?". It overrides any name from the options or configuration file, USER, LOGNAME, or getlogin(), which will otherwise be tried in order. If none of these provides a useful name, the player will be asked for one. Player names (in conjunction with uids) are used to identify save files, so you can have several saved games under different names. Conversely, you must use the appropriate player name to restore a saved game.

A playername suffix can be used to specify the profession, race, alignment and/or gender of the character. The full syntax of the playername that includes a suffix is "name-ppp-rrr-aaa-ggg". "ppp" are at least the first three letters of the profession (this can also be specified using a separate -p profession option). "rrr" are at least the first three letters of the character's race (this can also be specified using a separate -r race option). "aaa" are at last the first three letters of the character's alignment, and "ggg" are at least the first three letters of the character's gender. Any of the parts of the suffix may be left out.

-p profession can be used to determine the character role. You can specify either the male or female name for the character role, or the first three characters of the role as an abbreviation. -p @ has been retained to explicitly request that a random role be chosen. It may need to be quoted with a backslash (\@) if @ is the "kill" character (see "stty") for the terminal, in order to prevent the current input line from being cleared.

Likewise, -r race can be used to explicitly request that a race be chosen, -g gender the gender of the chareacter and finally -a alignment to chose the alignment of the character.

Leaving out any of these characteristics will result in you being prompted during the game startup for the information.

Instead of chosing the above seperately you can add them as suffixes to the playername: -u playername-race-gender-alignment

The -s option alone will print out the list of your scores on the current version. An immediately following -v reports on all versions present in the score file. The -s may be also be followed by player type arguments ( -p , -r , -g and -a ) to print the scores of particular types of players only. It may also be followed by one or more player names to print the scores of the players mentioned, by 'all' to print out all scores, or by a number to print that many top scores.

The -n option suppresses printing of any news from the game administrator.

The -D or -X option will start the game in a special non-scoring discovery mode. -D will, if the player is the game administrator, start in debugging (wizard) mode instead.

The -d option, which must be the first argument if it appears, supplies a directory which is to serve as the playground. It overrides the value from NETHACKDIR, HACKDIR, or the directory specified by the game administrator during compilation (usually /usr/local/slashemdir). This option is usually only useful to the game administrator. The playground must contain several auxiliary files such as help files, the list of top scorers, and a subdirectory save where games are saved.

## AUTHORS
Jay Fenlason (+ Kenny Woodland, Mike Thome and Jon Payne) wrote the original hack, very much like rogue (but full of bugs).

Andries Brouwer continuously deformed their sources into an entirely different game.

Mike Stephenson has continued the perversion of sources, adding various warped character classes and sadistic traps with the help of many strange people who reside in that place between the worlds, the Usenet Zone. A number of these miscreants are immortalized in the historical roll of dishonor and various other places.

The resulting mess is now called NetHack, to denote its development by the Usenet. Andries Brouwer has made this request for the distinction, as he may eventually release a new version of his own.

Tom Proudfoot took NetHack and rendered it into SLASH - SuperLotsaAddedStuffHack, adding more character classes, levels monsters and all manner of changes.

Warren Cheung took SLASH and rendered it into SLASHEM - SuperLotsaAddedStuffHack - Extended Magic, with more improvements to the bloated behemoth.

## FILES
All files are in the playground, normally /usr/local/slashemdir. If DLB was defined during the compile, the data files and special levels will be inside a larger file, normally nhdat, instead of being separate files.

slashem The program itself.

data, oracles, rumors Data files used by SLASH'EM.

options, quest.dat More data files.

help, hh Help data files.

cmdhelp, opthelp, wizhelp More help data files.

*.lev Predefined special levels.

dungeon Control file for special levels.

history A short history of SLASH'EM.

license Rules governing redistribution.

record The list of top scorers.

logfile An extended list of games

played.

xlock.nnn Description of a dungeon level.

perm Lock file for xlock.dd.

bonesDD.nn Descriptions of the ghost and

belongings of a deceased

adventurer.

save A subdirectory containing the

saved games.

## ENVIRONMENT
USER or LOGNAME Your login name.

HOME Your home directory.

SHELL Your shell.

TERM The type of your terminal.

HACKPAGER or PAGER Replacement for default pager.

MAIL Mailbox file.

MAILREADER Replacement for default reader

(probably /bin/mail or /usr/ucb/mail).

NETHACKDIR Playground.

SLASHEMOPTIONS String predefining several SLASH'EM

options.

In addition, SHOPTYPE is used in debugging (wizard) mode.

## SEE ALSO
dgn_comp(6), lev_comp(6), recover(6)

## BUGS
Probably infinite.

Dungeons & Dragons is a Trademark of Wizards of the Coast, Inc.


slashem-recover

title: slashem-recover(6)

text:
# slashem-recover(6)

## NAME
recover - recover a NetHack game interrupted by disaster

## SYNOPSIS
recover [ -d directory ] base1 base2 ...

## DESCRIPTION
Occasionally, a NetHack game will be interrupted by disaster when the game or the system crashes. Prior to NetHack v3.1, these games were lost because various information like the player's inventory was kept only in memory. Now, all pertinent information can be written out to disk, so such games can be recovered at the point of the last level change.

The base options tell recover which files to process. Each base option specifies recovery of a separate game.

The -d option, which must be the first argument if it appears, supplies a directory which is the NetHack playground. It overrides the value from NETHACKDIR, HACKDIR, or the directory specified by the game administrator during compilation (usually /usr/games/lib/nethackdir).

For recovery to be possible, nethack must have been compiled with the INSURANCE option, and the run-time option checkpoint must also have been on. NetHack normally writes out files for levels as the player leaves them, so they will be ready for return visits. When checkpointing, NetHack also writes out the level entered and the current game state on every level change. This naturally slows level changes down somewhat.

The level file names are of the form base.nn, where nn is an internal bookkeeping number for the level. The file base.0 is used for game identity, locking, and, when checkpointing, for the game state. Various OSes use different strategies for constructing the base name. Microcomputers use the character name, possibly truncated and modified to be a legal filename on that system. Multi-user systems use the (modified) character name prefixed by a user number to avoid conflicts, or "xlock" if the number of concurrent players is being limited. It may be necessary to look in the playground to find the correct base name of the interrupted game. recover will transform these level files into a save file of the same name as nethack would have used.

Since recover must be able to read and delete files from the playground and create files in the save directory, it has interesting interactions with game security. Giving ordinary players access to recover through setuid or setgid is tantamount to leaving the playground world-writable, with respect to both cheating and messing up other players. For a single-user system, this of course does not change anything, so some of the microcomputer ports install recover by default.

For a multi-user system, the game administrator may want to arrange for all .0 files in the playground to be fed to recover when the host machine boots, and handle game crashes individually. If the user population is sufficiently trustworthy, recover can be installed with the same permissions the nethack executable has. In either case, recover is easily compiled from the distribution utility directory.

## NOTES
Like nethack itself, recover will overwrite existing savefiles of the same name. Savefiles created by recover are uncompressed; they may be compressed afterwards if desired, but even a compression-using nethack will find them in the uncompressed form.

## SEE ALSO
nethack(6)

## BUGS
recover makes no attempt to find out if a base name specifies a game in progress. If multiple machines share a playground, this would be impossible to determine.

recover should be taught to use the nethack playground locking mechanism to avoid conflicts.


spring

package: springrts-data

title: spring(6)

summary: An open source RTS game engine \- Default Engine

text:
# spring(6)

## NAME
spring - An open source RTS game engine - Default Engine

## SYNOPSIS
spring [-f|--fullscreen] [-w|--window] [-m|--minimise] [--safemode] [-s|--server IP_OR_HOSTNAME] [-p|--projectiledump] [-t|--textureatlas] [--benchmark TIME [--benchmarkstart TIME]] [-i|--isolation] [--isolation-dir PATH] [-n|--name STRING] [-C|--config FILE] [SCRIPT]

spring --list-ai-interfaces

spring --list-skirmish-ais

spring --list-def-tags

spring --list-config-vars

spring [-h|--help]

spring --sync-version

spring [-V|--version]

## DESCRIPTION
Spring is a versatile 3D RTS game engine. Using extensively Lua for scripting game-specific code to make nearly every aspect of the engine customizable, from GUI, to unit AI, to pathfinding.

It is mainly designed around online multiplayer games but can also be played in single-player mode against AIs.

The engine can run graphics and simulation in two separate threads, depending on the game and engine settings. This will typically boost the performance on multi-core systems.

## OPTIONS
-h, --help

Print the options help message and exit

-V, --version

Display program version and exit

--sync-version

Display program sync version (for online gaming) and exit

--nocolor

Disables colorized stdout

--quiet

Ignore unreccognized arguments

-f, --fullscreen

Run in fullscreen mode

-w, --window

Run in windowed mode

-b, --minimise

Start in background (minimised)

--safemode

Turns off many things that are known to cause problems (i.e. on PC/Mac’s with lower-end graphic cards)

-s, --server::'IP_OR_HOSTNAME'

Run as a server on the given address

-t, --textureatlas

Dump each finalised textureatlas into textureatlasN.tga

--benchmark::'TIME'

Enable benchmark mode (writes a benchmark.data file). The given number specifies the timespan to test.

--benchmarkstart::'TIME'

Benchmark start time in minutes.

-i, --isolation

Limit the data-dir (games & maps) scanner to one directory (see --isolation-dir and the SPRING_ISOLATED env var)

--isolation-dir::'PATH'

Specify the isolation-mode data-dir (see --isolation and the SPRING_ISOLATED env var)

--write-dir::'PATH'

Specify the directory used for all saving.

-n, --name::'NAME'

Set your player name

-C, --config::'FILE'

Exclusive configuration file

--list-ai-interfaces

Dump a list of available AI Interfaces to STDOUT

--list-skirmish-ais

Dump a list of available Skirmish AIs to STDOUT

--list-def-tags

Dump a list of available Definition Tags in JSON-format to STDOUT

--list-ceg-classes

Dump a list of available Projectile classes in JSON-format to STDOUT

--list-config-vars

Dump all default config vars in JSON-format to STDOUT

-g, --game::'GAME'

instantly start the GAME with a minimal setup. Requires --map to be present, too. Sets the modoption minimalsetup = 1

-m, --map::'MAP'

Requires --game to be set, too. see --game

## FILES

```
~/.config/spring/
```

The default data-directory (see section DATA DIR).

```
~/.config/spring/springsettings.cfg
```

Contains the users settings for the engine, for things like graphic and sound.

```
/etc/spring/datadir
```

Contains the : separated paths to additional data-dirs (see section DATA DIR).

## ENVIROMENT VARIABLES
SPRING_LOG_SECTIONS Selective functionality to change the verbosity (separated by ,).

SPRING_WRITEDIR Define custom primary write DATA DIR. Place where spring saves logs, settings, ...

SPRING_DATADIR Adds additional DATA DIRs Spring will search for files (separated by :).

SPRING_ISOLATED If defined, Spring will stop searching files outside of the binaries directory. If it is set to a valid directory path, it will be used as the isolation directory. See the --isolation and the --isolation-dir options.

SPRING_NOCOLOR Same as spring --nocolor.

## SCRIPT
Can either be a:

• Spring URL (spring://[username[:password]@]host[:port])

• start script (often named script.txt)

• replay file (*.sdfz)

• save game (*.ssf)

## PORTABLE MODE
An all-in-one-folder setup, which allows to run Spring without installation. To do so all relevant files (binaries & basecontent) must be in a single folder, esp. spring(.exe), libunitsync.so/unitsync.dll and springsettings.cfg. Spring will then use the all-in-one-folder for writing and won’t do so anywhere else on the system, but it may open other files & directories for reading.

## ISOLATION MODE
Not to confuse with Portable Mode, this mode disables all automatic Data Dir scanning and limit reading & writing to a single folder. This is very useful when games want to run separate from other Spring games. Isolation mode can be enabled by placing an empty isolated.txt next to the spring executable or by setting SPRING_ISOLATED env var.

## DATA DIRS
Data directories are searched for content, and among other things, may contain:

• config files

• logs

• games

• maps

• AIs

• cache

Sorted by priority the engine may use multiple data directories, but it will use only the one with the highest priority as writable, to write cache & log files to. The hierarchy the engine loads DATA DIRs in can be grouped in 3 sections:

priority

section

normal

portable

isolation

high

custom user write

directory defined via --write-dir SPRING_WRITEDIR envvar

directory defined via --write-dir SPRING_WRITEDIR envvar

directory defined via --write-dir SPRING_WRITEDIR envvar

automatic scanned

CONFIG_HOME ETC_DIRS USR_SHARE

INSTALL_DIR CONFIG_HOME ETC_DIRS USR_SHARE

ISOLATION_DIR

low

custom user read

SPRING_DATADIR envvar SpringData configtag

SPRING_DATADIR envvar SpringData configtag

SPRING_DATADIR envvar SpringData configtag

CONFIG_HOME

Config directories in user’s home.

*nix/MacOSX:

${XDG_CONFIG_HOME-"~/.config"}/spring

~/.spring

Windows:

C:/.../My Documents/My Games/Spring/

C:/.../My Documents/Spring/

C:/.../All Users/Applications/Spring/

INSTALL_DIR Location of spring binary.

ETC_DIRS Additional : separated DATA DIRs defined in /etc/spring/datadir.

USR_SHARE

*nix/MacOSX: /usr/.../share/spring & binary dir if is Data Dir

MacOSX: .../Spring.app/Contents/Resources/share/games/spring/base/

Windows: Install directory

ISOLATION_DIR

Mode A (--isolation): INSTALL_DIR

Mode B (--isolation-dir): supplied dir

## CONFIG FILES
Spring can load configurations from multiple files and merge them. So similar to DATA DIRs there is one file where the engine writes to and multiple read-only files.

It scans following directories for config files :

priority

scanned directories

exclusive

file defined via --config (when defined only this is loaded)

high

write DATA DIR

(skipped in Isolated mode) *nix/MacOSX: ~/.springrc Windows: C:\Users\USER\AppData\Local\springsettings.cfg

low

all read DATA DIRs

(The one with highest priority will be used for writing.)

The filename of such config files can be as following:

priority

filenames

high

springsettings-%Engine_Version%.cfg

springsettings.cfg

springrc-%Engine_Version% (*nix/MacOSX only)

low

springrc (*nix/MacOSX only)

(An example for a versioned config file is "springsettings-94.1.cfg".)

## SEE ALSO
spring-legacy(6) spring-headless(6) spring-dedicated(6)

## HOMEPAGE
More information about Spring can be found at link: https://springrts.com

## AUTHOR
Spring was written by the Spring developers.

This manual page was written by Marco Amadori <marco.amadori@gmail.com[1]>, for the Debian project (and may be used by others).

## NOTES
1.

marco.amadori@gmail.com

mailto:marco.amadori@gmail.com


spring-dedicated

title: spring-dedicated(6)

summary: An open source RTS game engine \- Dedicated Server

text:
# spring-dedicated(6)

## NAME
spring-dedicated - An open source RTS game engine - Dedicated Server

## SYNOPSIS
spring-dedicated [-i|--isolation] [--isolation-dir PATH] [-C|--config FILE] SCRIPT

spring-dedicated --list-config-vars

spring-dedicated [-h|--help]

spring-dedicated --sync-version

spring-dedicated [-V|--version]

## DESCRIPTION
Spring is a versatile 3D RTS game engine. Using extensively Lua for scripting game-specific code to make nearly every aspect of the engine customizable, from GUI, to unit AI, to pathfinding.

It is mainly designed around online multiplayer games but can also be played in single-player mode against AIs.

This is the dedicated, GUI-less server for hosting multiplayer games. You need to feed it a start script in order to have it host a game. Start script are generated by lobby clients (SpringLobby) or autho-hosts (Spads, Springie). This is the most leight-weight version of the engine, which basically only redirects network traffic, while spring-headless still runs a full blown simulation of the game.

## OPTIONS
-h, --help

Print the options help message and exit

-V, --version

Display program version and exit

--sync-version

Display program sync version (for online gaming) and exit

--nocolor

Disables colorized stdout

--quiet

Ignore unreccognized arguments

-i, --isolation

Limit the data-dir (games & maps) scanner to one directory (see --isolation-dir and the SPRING_ISOLATED env var)

--isolation-dir::'PATH'

Specify the isolation-mode data-dir (see --isolation and the SPRING_ISOLATED env var)

--write-dir::'PATH'

Specify the directory used for all saving.

-C, --config::'FILE'

Exclusive configuration file

--list-config-vars

Dump all default config vars in JSON-format to STDOUT

-g, --game::'GAME'

instantly start the GAME with a minimal setup. Requires --map to be present, too. Sets the modoption minimalsetup = 1

-m, --map::'MAP'

Requires --game to be set, too. see --game

## FILES

```
~/.config/spring/
```

The default data-directory (see section DATA DIR).

```
~/.config/spring/springsettings.cfg
```

Contains the users settings for the engine, for things like graphic and sound.

```
/etc/spring/datadir
```

Contains the : separated paths to additional data-dirs (see section DATA DIR).

## ENVIROMENT VARIABLES
SPRING_LOG_SECTIONS Selective functionality to change the verbosity (separated by ,).

SPRING_WRITEDIR Define custom primary write DATA DIR. Place where spring saves logs, settings, ...

SPRING_DATADIR Adds additional DATA DIRs Spring will search for files (separated by :).

SPRING_ISOLATED If defined, Spring will stop searching files outside of the binaries directory. If it is set to a valid directory path, it will be used as the isolation directory. See the --isolation and the --isolation-dir options.

SPRING_NOCOLOR Same as spring --nocolor.

## SCRIPT
Can either be a:

• Spring URL (spring://[username[:password]@]host[:port])

• start script (often named script.txt)

• replay file (*.sdfz)

• save game (*.ssf)

## PORTABLE MODE
An all-in-one-folder setup, which allows to run Spring without installation. To do so all relevant files (binaries & basecontent) must be in a single folder, esp. spring(.exe), libunitsync.so/unitsync.dll and springsettings.cfg. Spring will then use the all-in-one-folder for writing and won’t do so anywhere else on the system, but it may open other files & directories for reading.

## ISOLATION MODE
Not to confuse with Portable Mode, this mode disables all automatic Data Dir scanning and limit reading & writing to a single folder. This is very useful when games want to run separate from other Spring games. Isolation mode can be enabled by placing an empty isolated.txt next to the spring executable or by setting SPRING_ISOLATED env var.

## DATA DIRS
Data directories are searched for content, and among other things, may contain:

• config files

• logs

• games

• maps

• AIs

• cache

Sorted by priority the engine may use multiple data directories, but it will use only the one with the highest priority as writable, to write cache & log files to. The hierarchy the engine loads DATA DIRs in can be grouped in 3 sections:

priority

section

normal

portable

isolation

high

custom user write

directory defined via --write-dir SPRING_WRITEDIR envvar

directory defined via --write-dir SPRING_WRITEDIR envvar

directory defined via --write-dir SPRING_WRITEDIR envvar

automatic scanned

CONFIG_HOME ETC_DIRS USR_SHARE

INSTALL_DIR CONFIG_HOME ETC_DIRS USR_SHARE

ISOLATION_DIR

low

custom user read

SPRING_DATADIR envvar SpringData configtag

SPRING_DATADIR envvar SpringData configtag

SPRING_DATADIR envvar SpringData configtag

CONFIG_HOME

Config directories in user’s home.

*nix/MacOSX:

${XDG_CONFIG_HOME-"~/.config"}/spring

~/.spring

Windows:

C:/.../My Documents/My Games/Spring/

C:/.../My Documents/Spring/

C:/.../All Users/Applications/Spring/

INSTALL_DIR Location of spring-dedicated binary.

ETC_DIRS Additional : separated DATA DIRs defined in /etc/spring/datadir.

USR_SHARE

*nix/MacOSX: /usr/.../share/spring & binary dir if is Data Dir

MacOSX: .../Spring.app/Contents/Resources/share/games/spring/base/

Windows: Install directory

ISOLATION_DIR

Mode A (--isolation): INSTALL_DIR

Mode B (--isolation-dir): supplied dir

## CONFIG FILES
Spring can load configurations from multiple files and merge them. So similar to DATA DIRs there is one file where the engine writes to and multiple read-only files.

It scans following directories for config files :

priority

scanned directories

exclusive

file defined via --config (when defined only this is loaded)

high

write DATA DIR

(skipped in Isolated mode) *nix/MacOSX: ~/.springrc Windows: C:\Users\USER\AppData\Local\springsettings.cfg

low

all read DATA DIRs

(The one with highest priority will be used for writing.)

The filename of such config files can be as following:

priority

filenames

high

springsettings-%Engine_Version%.cfg

springsettings.cfg

springrc-%Engine_Version% (*nix/MacOSX only)

low

springrc (*nix/MacOSX only)

(An example for a versioned config file is "springsettings-94.1.cfg".)

## SEE ALSO
spring(6) spring-legacy(6) spring-headless(6)

## HOMEPAGE
More information about Spring can be found at link: https://springrts.com

## AUTHOR
Spring was written by the Spring developers.

This manual page was written by Marco Amadori <marco.amadori@gmail.com[1]>, for the Debian project (and may be used by others).

## NOTES
1.

marco.amadori@gmail.com

mailto:marco.amadori@gmail.com


spring-headless

title: spring-headless(6)

summary: An open source RTS game engine \- Headless Engine

text:
# spring-headless(6)

## NAME
spring-headless - An open source RTS game engine - Headless Engine

## SYNOPSIS
spring-headless [--safemode] [-s|--server IP_OR_HOSTNAME] [-p|--projectiledump] [--benchmark TIME [--benchmarkstart TIME]] [-i|--isolation] [--isolation-dir PATH] [-n|--name STRING] [-C|--config FILE] SCRIPT

spring-headless --list-ai-interfaces

spring-headless --list-skirmish-ais

spring-headless --list-def-tags

spring-headless --list-config-vars

spring-headless [-h|--help]

spring-headless --sync-version

spring-headless [-V|--version]

## DESCRIPTION
Spring is a versatile 3D RTS game engine. Using extensively Lua for scripting game-specific code to make nearly every aspect of the engine customizable, from GUI, to unit AI, to pathfinding.

It is mainly designed around online multiplayer games but can also be played in single-player mode against AIs.

This is the engine version without graphics or sound output. It still runs the full simulation, while spring-dedicated basically only redirects network traffic. It is useful for testing and simulating AI only games at high speeds on systems without graphics and sound output support.

## OPTIONS
-h, --help

Print the options help message and exit

-V, --version

Display program version and exit

--sync-version

Display program sync version (for online gaming) and exit

--nocolor

Disables colorized stdout

--quiet

Ignore unreccognized arguments

--safemode

Turns off many things that are known to cause problems (i.e. on PC/Mac’s with lower-end graphic cards)

-s, --server::'IP_OR_HOSTNAME'

Run as a server on the given address

-i, --isolation

Limit the data-dir (games & maps) scanner to one directory (see --isolation-dir and the SPRING_ISOLATED env var)

--isolation-dir::'PATH'

Specify the isolation-mode data-dir (see --isolation and the SPRING_ISOLATED env var)

--write-dir::'PATH'

Specify the directory used for all saving.

-n, --name::'NAME'

Set your player name

-C, --config::'FILE'

Exclusive configuration file

--list-ai-interfaces

Dump a list of available AI Interfaces to STDOUT

--list-skirmish-ais

Dump a list of available Skirmish AIs to STDOUT

--list-def-tags

Dump a list of available Definition Tags in JSON-format to STDOUT

--list-ceg-classes

Dump a list of available Projectile classes in JSON-format to STDOUT

--list-config-vars

Dump all default config vars in JSON-format to STDOUT

-g, --game::'GAME'

instantly start the GAME with a minimal setup. Requires --map to be present, too. Sets the modoption minimalsetup = 1

-m, --map::'MAP'

Requires --game to be set, too. see --game

## FILES

```
~/.config/spring/
```

The default data-directory (see section DATA DIR).

```
~/.config/spring/springsettings.cfg
```

Contains the users settings for the engine, for things like graphic and sound.

```
/etc/spring/datadir
```

Contains the : separated paths to additional data-dirs (see section DATA DIR).

## ENVIROMENT VARIABLES
SPRING_LOG_SECTIONS Selective functionality to change the verbosity (separated by ,).

SPRING_WRITEDIR Define custom primary write DATA DIR. Place where spring saves logs, settings, ...

SPRING_DATADIR Adds additional DATA DIRs Spring will search for files (separated by :).

SPRING_ISOLATED If defined, Spring will stop searching files outside of the binaries directory. If it is set to a valid directory path, it will be used as the isolation directory. See the --isolation and the --isolation-dir options.

SPRING_NOCOLOR Same as spring --nocolor.

## SCRIPT
Can either be a:

• Spring URL (spring://[username[:password]@]host[:port])

• start script (often named script.txt)

• replay file (*.sdfz)

• save game (*.ssf)

## PORTABLE MODE
An all-in-one-folder setup, which allows to run Spring without installation. To do so all relevant files (binaries & basecontent) must be in a single folder, esp. spring(.exe), libunitsync.so/unitsync.dll and springsettings.cfg. Spring will then use the all-in-one-folder for writing and won’t do so anywhere else on the system, but it may open other files & directories for reading.

## ISOLATION MODE
Not to confuse with Portable Mode, this mode disables all automatic Data Dir scanning and limit reading & writing to a single folder. This is very useful when games want to run separate from other Spring games. Isolation mode can be enabled by placing an empty isolated.txt next to the spring executable or by setting SPRING_ISOLATED env var.

## DATA DIRS
Data directories are searched for content, and among other things, may contain:

• config files

• logs

• games

• maps

• AIs

• cache

Sorted by priority the engine may use multiple data directories, but it will use only the one with the highest priority as writable, to write cache & log files to. The hierarchy the engine loads DATA DIRs in can be grouped in 3 sections:

priority

section

normal

portable

isolation

high

custom user write

directory defined via --write-dir SPRING_WRITEDIR envvar

directory defined via --write-dir SPRING_WRITEDIR envvar

directory defined via --write-dir SPRING_WRITEDIR envvar

automatic scanned

CONFIG_HOME ETC_DIRS USR_SHARE

INSTALL_DIR CONFIG_HOME ETC_DIRS USR_SHARE

ISOLATION_DIR

low

custom user read

SPRING_DATADIR envvar SpringData configtag

SPRING_DATADIR envvar SpringData configtag

SPRING_DATADIR envvar SpringData configtag

CONFIG_HOME

Config directories in user’s home.

*nix/MacOSX:

${XDG_CONFIG_HOME-"~/.config"}/spring

~/.spring

Windows:

C:/.../My Documents/My Games/Spring/

C:/.../My Documents/Spring/

C:/.../All Users/Applications/Spring/

INSTALL_DIR Location of spring-headless binary.

ETC_DIRS Additional : separated DATA DIRs defined in /etc/spring/datadir.

USR_SHARE

*nix/MacOSX: /usr/.../share/spring & binary dir if is Data Dir

MacOSX: .../Spring.app/Contents/Resources/share/games/spring/base/

Windows: Install directory

ISOLATION_DIR

Mode A (--isolation): INSTALL_DIR

Mode B (--isolation-dir): supplied dir

## CONFIG FILES
Spring can load configurations from multiple files and merge them. So similar to DATA DIRs there is one file where the engine writes to and multiple read-only files.

It scans following directories for config files :

priority

scanned directories

exclusive

file defined via --config (when defined only this is loaded)

high

write DATA DIR

(skipped in Isolated mode) *nix/MacOSX: ~/.springrc Windows: C:\Users\USER\AppData\Local\springsettings.cfg

low

all read DATA DIRs

(The one with highest priority will be used for writing.)

The filename of such config files can be as following:

priority

filenames

high

springsettings-%Engine_Version%.cfg

springsettings.cfg

springrc-%Engine_Version% (*nix/MacOSX only)

low

springrc (*nix/MacOSX only)

(An example for a versioned config file is "springsettings-94.1.cfg".)

## SEE ALSO
spring(6) spring-legacy(6) spring-dedicated(6)

## HOMEPAGE
More information about Spring can be found at link: https://springrts.com

## AUTHOR
Spring was written by the Spring developers.

This manual page was written by Marco Amadori <marco.amadori@gmail.com[1]>, for the Debian project (and may be used by others).

## NOTES
1.

marco.amadori@gmail.com

mailto:marco.amadori@gmail.com


spring-legacy

title: spring-legacy(6)

summary: An open source RTS game engine \- Legacy Engine

text:
# spring-legacy(6)

## NAME
spring-legacy - An open source RTS game engine - Legacy Engine

## SYNOPSIS
spring-legacy [-f|--fullscreen] [-w|--window] [-m|--minimise] [--safemode] [-s|--server IP_OR_HOSTNAME] [-p|--projectiledump] [-t|--textureatlas] [--benchmark TIME [--benchmarkstart TIME]] [-i|--isolation] [--isolation-dir PATH] [-n|--name STRING] [-C|--config FILE] [SCRIPT]

spring-legacy --list-ai-interfaces

spring-legacy --list-skirmish-ais

spring-legacy --list-def-tags

spring-legacy --list-config-vars

spring-legacy [-h|--help]

spring-legacy --sync-version

spring-legacy [-V|--version]

## DESCRIPTION
Spring is a versatile 3D RTS game engine. Using extensively Lua for scripting game-specific code to make nearly every aspect of the engine customizable, from GUI, to unit AI, to pathfinding.

It is mainly designed around online multiplayer games but can also be played in single-player mode against AIs.

This engine version runs graphics and simulation in a single thread, and may marginally increase the performance on single-core systems.

## OPTIONS
-h, --help

Print the options help message and exit

-V, --version

Display program version and exit

--sync-version

Display program sync version (for online gaming) and exit

--nocolor

Disables colorized stdout

--quiet

Ignore unreccognized arguments

-f, --fullscreen

Run in fullscreen mode

-w, --window

Run in windowed mode

-b, --minimise

Start in background (minimised)

--safemode

Turns off many things that are known to cause problems (i.e. on PC/Mac’s with lower-end graphic cards)

-s, --server::'IP_OR_HOSTNAME'

Run as a server on the given address

-t, --textureatlas

Dump each finalised textureatlas into textureatlasN.tga

--benchmark::'TIME'

Enable benchmark mode (writes a benchmark.data file). The given number specifies the timespan to test.

--benchmarkstart::'TIME'

Benchmark start time in minutes.

-i, --isolation

Limit the data-dir (games & maps) scanner to one directory (see --isolation-dir and the SPRING_ISOLATED env var)

--isolation-dir::'PATH'

Specify the isolation-mode data-dir (see --isolation and the SPRING_ISOLATED env var)

--write-dir::'PATH'

Specify the directory used for all saving.

-n, --name::'NAME'

Set your player name

-C, --config::'FILE'

Exclusive configuration file

--list-ai-interfaces

Dump a list of available AI Interfaces to STDOUT

--list-skirmish-ais

Dump a list of available Skirmish AIs to STDOUT

--list-def-tags

Dump a list of available Definition Tags in JSON-format to STDOUT

--list-ceg-classes

Dump a list of available Projectile classes in JSON-format to STDOUT

--list-config-vars

Dump all default config vars in JSON-format to STDOUT

-g, --game::'GAME'

instantly start the GAME with a minimal setup. Requires --map to be present, too. Sets the modoption minimalsetup = 1

-m, --map::'MAP'

Requires --game to be set, too. see --game

## FILES

```
~/.config/spring/
```

The default data-directory (see section DATA DIR).

```
~/.config/spring/springsettings.cfg
```

Contains the users settings for the engine, for things like graphic and sound.

```
/etc/spring/datadir
```

Contains the : separated paths to additional data-dirs (see section DATA DIR).

## ENVIROMENT VARIABLES
SPRING_LOG_SECTIONS Selective functionality to change the verbosity (separated by ,).

SPRING_WRITEDIR Define custom primary write DATA DIR. Place where spring saves logs, settings, ...

SPRING_DATADIR Adds additional DATA DIRs Spring will search for files (separated by :).

SPRING_ISOLATED If defined, Spring will stop searching files outside of the binaries directory. If it is set to a valid directory path, it will be used as the isolation directory. See the --isolation and the --isolation-dir options.

SPRING_NOCOLOR Same as spring --nocolor.

## SCRIPT
Can either be a:

• Spring URL (spring://[username[:password]@]host[:port])

• start script (often named script.txt)

• replay file (*.sdfz)

• save game (*.ssf)

## PORTABLE MODE
An all-in-one-folder setup, which allows to run Spring without installation. To do so all relevant files (binaries & basecontent) must be in a single folder, esp. spring(.exe), libunitsync.so/unitsync.dll and springsettings.cfg. Spring will then use the all-in-one-folder for writing and won’t do so anywhere else on the system, but it may open other files & directories for reading.

## ISOLATION MODE
Not to confuse with Portable Mode, this mode disables all automatic Data Dir scanning and limit reading & writing to a single folder. This is very useful when games want to run separate from other Spring games. Isolation mode can be enabled by placing an empty isolated.txt next to the spring executable or by setting SPRING_ISOLATED env var.

## DATA DIRS
Data directories are searched for content, and among other things, may contain:

• config files

• logs

• games

• maps

• AIs

• cache

Sorted by priority the engine may use multiple data directories, but it will use only the one with the highest priority as writable, to write cache & log files to. The hierarchy the engine loads DATA DIRs in can be grouped in 3 sections:

priority

section

normal

portable

isolation

high

custom user write

directory defined via --write-dir SPRING_WRITEDIR envvar

directory defined via --write-dir SPRING_WRITEDIR envvar

directory defined via --write-dir SPRING_WRITEDIR envvar

automatic scanned

CONFIG_HOME ETC_DIRS USR_SHARE

INSTALL_DIR CONFIG_HOME ETC_DIRS USR_SHARE

ISOLATION_DIR

low

custom user read

SPRING_DATADIR envvar SpringData configtag

SPRING_DATADIR envvar SpringData configtag

SPRING_DATADIR envvar SpringData configtag

CONFIG_HOME

Config directories in user’s home.

*nix/MacOSX:

${XDG_CONFIG_HOME-"~/.config"}/spring

~/.spring

Windows:

C:/.../My Documents/My Games/Spring/

C:/.../My Documents/Spring/

C:/.../All Users/Applications/Spring/

INSTALL_DIR Location of spring-legacy binary.

ETC_DIRS Additional : separated DATA DIRs defined in /etc/spring/datadir.

USR_SHARE

*nix/MacOSX: /usr/.../share/spring & binary dir if is Data Dir

MacOSX: .../Spring.app/Contents/Resources/share/games/spring/base/

Windows: Install directory

ISOLATION_DIR

Mode A (--isolation): INSTALL_DIR

Mode B (--isolation-dir): supplied dir

## CONFIG FILES
Spring can load configurations from multiple files and merge them. So similar to DATA DIRs there is one file where the engine writes to and multiple read-only files.

It scans following directories for config files :

priority

scanned directories

exclusive

file defined via --config (when defined only this is loaded)

high

write DATA DIR

(skipped in Isolated mode) *nix/MacOSX: ~/.springrc Windows: C:\Users\USER\AppData\Local\springsettings.cfg

low

all read DATA DIRs

(The one with highest priority will be used for writing.)

The filename of such config files can be as following:

priority

filenames

high

springsettings-%Engine_Version%.cfg

springsettings.cfg

springrc-%Engine_Version% (*nix/MacOSX only)

low

springrc (*nix/MacOSX only)

(An example for a versioned config file is "springsettings-94.1.cfg".)

## SEE ALSO
spring(6) spring-headless(6) spring-dedicated(6)

## HOMEPAGE
More information about Spring can be found at link: https://springrts.com

## AUTHOR
Spring was written by the Spring developers.

This manual page was written by Marco Amadori <marco.amadori@gmail.com[1]>, for the Debian project (and may be used by others).

## NOTES
1.

marco.amadori@gmail.com

mailto:marco.amadori@gmail.com


stratagus

package: stratagus

title: stratagus(6)

summary: Strategy Gaming Engine

text:
# stratagus(6)

## NAME
stratagus - Strategy Gaming Engine

## SYNOPSIS
stratagus [-a] [-c file.lua] [-d datapath] [-D depth] [-e] [-E file.lua] [-F|-W] [-G options] [-h] [-I addr] [-l] [-N name] [-o|-O] [-p] [-P port] [-s sleep] [-S speed] [-v mode] [-x scaler-idx] [-Z] [map.smp|map.smp.gz]

## DESCRIPTION
This manual page documents briefly the flags that you can give to stratagus , formerly known as FreeCraft, formerly known as ALE Clone.

stratagus is a powerful game engine for building realtime strategy games, a la AoE or Warcraft.

## OPTIONS
A summary of options is included below.

-a

Enables asserts check in engine code (for debugging)

-c file.lua

Choose a different stratagus start config file.

-d datapath

Choose a different directory to use for game data files.

-D depth

Set the video mode depth, often called 'bpp' or 'bits per pixel'. This option is only valid for Win32/NT.

-e

Start the editor included in Stratagus.

-E

Choose a different editor config file.

-F

With this option you can start Stratagus in full screen video mode.

-G lua options

The argument is passed as argument string to the lua game script. Take care to quote if spaces are used. This can be used in conjunction with -c to have custom startup routines with arguments.

-h

Show summary of all options.

-i

Enables unit info dumping into log (for debugging).

-I addr

With this option you can specify the network address for network play.

-l

Disable command log messages.

-N name

The name of the player (will appear in network games).

-o

Do not use OpenGL or OpenGL ES 1.1.

-O

Use OpenGL or OpenGL ES 1.1.

-p

Enables debug messages.

-P port

With this option you can set the network port to use in network games. The default value is port udp/6660.

-s number

Number of frames before AI awakes. This is useful if the AI is too strong and you want it to react slower. The higher, the easier will be the game against the AI. Default is to sleep 0 time frames.

-S number

Sync speed (100 = 30 frames/s).

-v mode

With this option you can specify video mode resolution in format <xres>x<yres>

-W

With this option you can start Stratagus in windowed video mode.

-x filter-idx

In OpenGL mode, this controls the pixel scaling algorithm that is run on the entire display. This runs on the GPU Fragment shader, so your card and driver need to support at least OpenGL 1.3.

-1 - OpenGL native texture scaling (disables scaling in the shader)

1 - nearest neighbour

2 - EPX/AdvMame

3 - HQx

4 - SAL

5 - SuperEagle This is especially useful in combination with -Z, since that will keep the original size of all elements on the screen at the ratio they have at 640x480, but scales everything to the chosen video resolution using the nice pixel scaler. To try which scaler looks best at run-time, you can use Ctrl+Alt+/ to cycle between scalers.

-Z

Use OpenGL to scale the screen to the viewport. This is nice for games with assets only in one resolution, where higher screen resolutions shouldn't make everything smaller, but instead everything should be scaled up. Implies -O. Use with -x to get nicer pixel scaling.

## FILES
./

Default directory for Stratagus data files

./scripts/stratagus.lua

Default start config file.

./scripts/editor.lua

Default editor file.

./scripts/guichan.lua

Default menu file.

~/.stratagus/<data>/preferences.lua

User preferences configuration file for <data>

~/.stratagus/<data>/logs/

User directory with replays/logs for <data>

~/.stratagus/<data>/save/

User directory with saved games for <data>

## SEE ALSO
More complete documentation is available in /usr/share/doc/stratagus.

## NOTES
Stratagus needs a lot of data (maps and artwork), that can come from external datasets, like Battle of Survival (BoS), or even from the media in the Warcraft II CD, thanks to the Wargus dataset.

Warcraft II is a registered trademark of Blizzard Entertainment.

## AUTHOR
Stratagus is written and developed by the Stratagus Team and Contributors.

This manual page was written by Anthony Towns <ajt@debian.org>, David Martínez Moreno <ender@debian.org>, Pali Rohár <pali.rohar@gmail.com>, and Tim Felgentreff <timfelgentreff@gmail.com> for the Debian GNU/Linux system (but may be used by others).


title: supertux2(6)

text:
# supertux2(6)

## NAME
supertux2 - SuperTux, a classic jump'n'run platformer featuring Tux

## SYNOPSIS
supertux2 [options]

supertux2 [options] level.stl

supertux2 [options] worldmap.stwm

## DESCRIPTION
SuperTux is a classic style 2D platform game. Run and jump through multiple worlds, fighting off enemies by jumping on them, bumping them from below or tossing objects at them, grabbing power-ups and other stuff on the way.

## OPTIONS
These programs follow the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of options is included below.

-h, --help

Show this help message

-v, --version

Show SuperTux version and quit

--verbose

Print verbose messages

--debug

Print extra verbose messages

--print-datadir

Print SuperTux's primary data directory.

--acknowledgements

Print the licenses of libraries used by SuperTux.

-f, --fullscreen

Run in fullscreen mode

-w, --window

Run in window mode

-g, --geometry WIDTHxHEIGHT

Run SuperTux in given resolution (eg. -g 800x600)

-a, --aspect WIDTH:HEIGHT

Run SuperTux with given aspect ratio (eg. -a 4:3)

-d, --default

Reset video settings to default values (-g 800x600 -a auto -w)

--renderer RENDERER

Render the game using the specified video renderer. Valid values are sdl, opengl20, opengl33, and auto (the default).

--disable-sound, --disable-sfx

Disable sound effects

--disable-music

Disable music

--edit-level

Open given level in editor

--resave

Loads given level and saves it

--show-fps

Display framerate in levels

--no-show-fps

Do not display framerate in levels

--show-pos

Display player's current position

--no-show-pos

Do not display player's position

--christmas

Enable Christmas mode outside Christmas times

--no-christmas

Disable Christmas mode during Christmas times

--developer

Enable developer features

-s, --debug-scripts

Enable script debugger.

--spawn-pos X,Y

Where in the level to spawn Tux. Only used if [level] is specified.

--sector SECTOR

Spawn Tux in SECTOR

--spawnpoint SPAWNPOINT

Spawn Tux in SPAWNPOINT

--record-demo FILE LEVEL

Record a demo to FILE

--play-demo FILE LEVEL

Play a recorded demo

--datadir DIR

Set the directory for the games datafiles

--userdir DIR

Set the directory for user data (savegames, etc.)

--repository-url URL

Set the URL to the Add-On repository

## ENVIRONMENT
SUPERTUX2_USER_DIR

Directory for user data (savegames, etc.)

SUPERTUX2_DATA_DIR

Directory for the games datafiles

## FILES
~/.local/share/supertux2, ~/.supertux2

Contains configuration and savegames. Also acts as an overlay of the SuperTux game data path: Files placed here will override or supplement game data files.

## EXAMPLES
To play level /tmp/mylevel.stl in a window of size 800x600, run the program like this:

supertux2 --window --geometry 800x600 /tmp/mylevel.stl

To play a previously recorded demo /tmp/mylevel.demo of level /tmp/mylevel.stl, run SuperTux like this:

supertux2 --play-demo /tmp/mylevel.demo /tmp/mylevel.stl

Custom-made levels can be conveniently stored in the overlay data folder.

~/.supertux2/levels/sample_collection/level01.stl

```
(supertux-level

  (version 2)

  (name (_ "Sample Level"))

  (author "Myself")

  ...
```

Make sure to also create an "info" file, so the collection will be recognized by SuperTux.

~/.supertux2/levels/sample_collection/info

```
;SuperTux-Level-Subset
(supertux-level-subset

  (title "Sample Collection")

  (description "")
)
```

For easier distribution, the level collection can be bundled in a Zip archive.

~/.supertux2/sample_collection.zip

```
levels/sample_collection/info
levels/sample_collection/level01.stl

 ...
```

## BUGS
This is a development version, so expect plenty of bugs.

## AUTHOR
This manual page was written by the SuperTux Devel Team and is placed in the public domain.


accel

package: svgalib-devel

title: accel(6)

text:
# accel(6)

## NAME
accel - tests the new style svgalib accelerator interface

## SYNOPSIS
accel

## DESCRIPTION
Test new-style accelerated functions (As of this writing: Ark, Cirrus, Chips & Technologies cards, and Mach32 only). For other cards the demo will not work (well it will complain about missing accelerator support). Don't worry about this.

During the development of the Mach32 new style driver for 1.2.12, this demo was massively extended to check the Mach32 functions.

Upon startup it lists all supported SVGA modes and asks you to enter a number identifying the mode to be tested. The supported subfunctions of vga_accel(3) in this mode are listed and the demo instructs to press <Return> to start the demos.

If supported, all drawing operations are performed in the background.

Then the following tests are performed:

### Positioning tests
These tests were originally intended to check that the accelerator commands work on the proper screen locations. The screen shows 12 (4 x 3) smaller areas with red crosses in the corners. When everything is ok, the drawings should reach right in the corners of the crosses.

A given card may not support all operations listed here. In that case the resp. test area just shows the red crosses. For tests performed, the name of the test is printed below the area. The tests are (from left to right, top to bottom):

1.

A green box is drawn with vga_accel(ACCEL_FILLBOX).

2.

A cross of green lines is drawn with vga_accel(ACCEL_DRAWLINE).

3.

A linux pixmap just fitting into the crosses is drawn with vga_accel(ACCEL_PUTIMAGE).

4.

A pixmap just fitting into the crosses is drawn into the red crosses (by vgagl(5) which may or may not use the accelerator). The pixmap is then copied to a few lines/columns below. Green crosses mark the intended destination position.

5.

Works like 3. but copies to an area above the origin. The accelerator must ensure that the overlapping areas are handled non corrupting. Thus, watch that the copy operation is properly performed.

6.

A green triangle is drawn above the top/left to bottom/right diagonal by use of vga_accel(ACCEL_DRAWHLINELIST).

7.

Certain bitmaps are copied to the screen. In the corners you'll see the digits

0

top/left, green on red.

1

top/right, red on green.

2

bottom/left, black on white.

3

bottom/right, white on black. Note that some black border, not the digit will be aligned to the red crosses.

Finally, a yellow wizard image is drawn into the center. The bit ordering for bitmaps is a bit weird. Please check that the digits are not mirrored or flipped.

8.

This time bitmap transparency is tested by drawing wizard images onto the aforementioned linux pixmap (left to right, top to bottom) in yellow, red, green, and cyan. The background of the yellow wizard is masked out by a black border bitmap. Note that the wizard will not reach into the red corners because the bitmap has some (transparent) border.

9.

The text below this box is copied as a monochrome bitmap from the screen into the corners listed under 7. in the same colors.

10.

Two green rectangles with an edge cut out from the bottom is drawn using vga_accel(ACCEL_POLYLINE).Thereisanintendedbugwhichdrawsthecenterofthe top line twice. If supported, the lower rectangle is drawn in cyan and with the xor raster operation s.t. the buggy point is not drawn thus leaving a pin hole.

11.

vga_accel(ACCEL_POLYHLINE)isusedtodrawsomegreenlineswhichmakesthisarealook like a green box with a cut out, black M-style shape.

12.

A weird green polygon is filled in red with vga_accel(ACCEL_POLYFILLMODE) using the techniques given in vga_accel(3). This needs some offscreen memory. If VGA memory is tight in that resolution the test cannot be performed.

After this screen, you'll have to hit <Return> to continue.

### Raster operations
Again, red cross bordered areas are drawn on the screen, this time for each of the supported raster operations. For ROP_AND and ROP_XOR the areas are filled in white first.

Three overlapping boxes A, B, C are drawn such that you see the following areas.

AAAAAAddddBBBBBB

AAAAAAddddBBBBBB

AAAAAAddddBBBBBB

AAAAeeggggffBBBB

AAAAeeggggffBBBB

AAAAeeggggffBBBB

CCCCCCCC

CCCCCCCC

CCCCCCCC

The pictures should show:

1.

Replace mode. A, B, C are red, green, blue. They just overlap, yielding d - green and e, f, g - blue.

2.

The colors mix using ROP_OR (and a nice color table). The overlapping areas become the additive color mix: d - yellow, e - magenta, f - cyan, and g - white.

3.

ROP_AND is used. The background is filled white first, s.t. there is something in video memory to and with non trivially. We have A, B, C in cyan, magenta, yellow and d, e, f, g in blue, green, red, black.

4.

ROP_XOR is used and the background filled white first too. A, B, C are red, green, blue again, but the overlapping areas d, e, f, g become blue, green, red, white.

5.

ROP_INV is used, s.t. A, B, C are all white and d, e, f, g become black, black, black, white. Note that this is not done by using ROP_XOR and drawing A, B, C in white. Instead A, B, C are drawn in the usual

red, green, blue. However, the accelerator just inverts the memory contens.

If the accelerator supports raster operations for ACCEL_DRAWHLINELIST actually disks (well, ellipses) are drawn instead of boxes.

After this screen, you'll have to hit <Return> to continue.

### Replace QuixDemo
If ACCEL_DRAWLINE is supported, a Quix like bouncing series of lines in varying colors is drawn. The lines are removed from the screen by overdrawing them in black, thus erasing the dots and text on the background.

The test lasts about 5 seconds and some statistics are printed to stdout.

### XOR Mode QuixDemo
As before, but this time all lines are drawn in ROP_XOR mode (if ACCEL_DRAWLINE supports raster operations). Thus the background will not be destroyed this time.

The test lasts about 5 seconds and some statistics are printed to stdout.

### FillBox Demo
The screen is ACCEL_FILLBOX filled with a series of boxes of increasing colors. In truei/high color modes you'll probably only see a series of varying blue tones (because these are at the beginning of the color table and there are soo many of them).

The test lasts about 5 seconds and some statistics are printed to stdout.

### ScreenCopy Demo
Some random dots are drawn on the screen and thirds of the screen contents are moved around using ACCEL_SCREENCOPY.

The test lasts about 5 seconds and some statistics are printed to stdout.

### Scroll Demo
Some random dots are drawn on the screen and moved one line up with ACCEL_SCREENCOPY. In offscreen memory a new line is prepared which will be cleared by ACCEL_FILLBOXandmoveinfrombelow.Thistestrequiressomeoffscreenandwillnot be performed if video memory is very tight.

The test lasts about 5 seconds and some statistics are printed to stdout.

### FillBox with DrawHLineList Demo
Like the FillBox test, but no box fill is done but the screen is filled with a list of horizontal lines drawn with ACCEL_DRAWHLINELIST.

The test lasts about 5 seconds and some statistics are printed to stdout.

### FillBox XOR Mode Demo
Like the FillBox test, but the XOR raster operation is used.

The test lasts about 5 seconds and some statistics are printed to stdout.

### PutBitmap Demo
The screen is filled with bitmasks consisting of tiny vertical lines alternating in red and blue.

The test lasts about 5 seconds and some statistics are printed to stdout.

## SOME DATAPOINTS
Here is a list of speed listings for some cards. Please keep in mind that also the calling overhead for the program is measured. This seems to be esp. true for the QuixDemo.

### Results on a Cirrus GD5434-E with 2Mb:
640x480x256 60 Hz

FillBox: 200.3 Mpixels/s (200.3 Mbytes/s)

ScreenCopy: 51.0 Mpixels/s (51.0 Mbytes/s)

Scroll Demo: 50.5 Mpixels/s (50.5 Mbytes/s)

FillBox XOR: 83.2 Mpixels/s (83.2 Mbytes/s)

320x200x256 70 Hz

FillBox: 200.1 Mpixels/s (200.1 Mbytes/s)

ScreenCopy: 52.3 Mpixels/s (52.3 Mbytes/s)

Scroll Demo: 51.2 Mpixels/s (51.2 Mbytes/s)

FillBox XOR: 87.1 Mpixels/s (87.1 Mbytes/s)

640x480x32K 60 Hz

FillBox: 90.9 Mpixels/s (181.8 Mbytes/s)

ScreenCopy: 23.1 Mpixels/s (46.3 Mbytes/s)

Scroll Demo: 23.0 Mpixels/s (46.1 Mbytes/s)

FillBox XOR: 37.2 Mpixels/s (74.5 Mbytes/s)

640x480x16M (32-bit) 60 Hz

FillBox: 35.5 Mpixels/s (142.3 Mbytes/s)

ScreenCopy: 9.3 Mpixels/s (37.3 Mbytes/s)

Scroll Demo: 9.2 Mpixels/s (37.1 Mbytes/s)

FillBox XOR: 14.6 Mpixels/s (58.6 Mbytes/s)

### On a Cirrus Logic 5426 VLB (50 MHz MCLK):
640x480x256 60 Hz

FillBox: 32.8 Mpixels/s (32.8 Mbytes/s)

ScreenCopy: 16.4 Mpixels/s (16.4 Mbytes/s)

Scroll Demo: 16.3 Mpixels/s (16.3 Mbytes/s)

FillBox XOR: 16.5 Mpixels/s (16.5 Mbytes/s)

640x480x32K 60 Hz

FillBox: 12.2 Mpixels/s (24.4 Mbytes/s)

ScreenCopy: 6.1 Mpixels/s (12.2 Mbytes/s)

Scroll Demo: 6.0 Mpixels/s (12.1 Mbytes/s)

FillBox XOR: 6.1 Mpixels/s (12.2 Mbytes/s)

### Tweaked to 60 MHz MCLK:
640x480x256 60 Hz

FillBox: 42.1 Mpixels/s (42.1 Mbytes/s)

ScreenCopy: 21.0 Mpixels/s (21.0 Mbytes/s)

Scroll Demo: 20.9 Mpixels/s (20.9 Mbytes/s)

FillBox XOR: 21.1 Mpixels/s (21.1 Mbytes/s)

640x480x32K 60 Hz

FillBox: 16.7 Mpixels/s (33.5 Mbytes/s)

ScreenCopy: 8.3 Mpixels/s (16.7 Mbytes/s)

Scroll Demo: 8.3 Mpixels/s (16.7 Mbytes/s)

FillBox XOR: 8.3 Mpixels/s (16.7 Mbytes/s)

### Results on a Mach32 EISA with 2Mb VRAM:
1280x1024x256 60 Hz

Replace QuixDemo: 12.1 Klines/s (6.7 Mpixels/s or 6.7 Mbytes/s)

Xor QuixDemo: 9.9 Klines/s (5.1 Mpixels/s or 5.1 Mbytes/s)

FillBox: 75.4 Mpixels/s (75.4 Mbytes/s)

ScreenCopy: 26.4 Mpixels/s (26.4 Mbytes/s)

Scroll Demo: 28.7 Mpixels/s (28.7 Mbytes/s)

FillBox with DrawHlineList: 73.1 Mpixels/s (73.1 Mbytes/s)

FillBox XOR: 37.9 Mpixels/s (37.9 Mbytes/s)

PutBitmap: 15.6 Mpixels/s (15.6 Mbytes/s)

1024x768x64K 72Hz

Replace QuixDemo: 12.3 Klines/s (5.2 Mpixels/s or 10.5 Mbytes/s)

Xor QuixDemo: 9.0 Klines/s (5.1 Mpixels/s or 10.3 Mbytes/s)

FillBox: 37.6 Mpixels/s (75.2 Mbytes/s)

ScreenCopy: 13.2 Mpixels/s (26.4 Mbytes/s)

Scroll Demo: 13.2 Mpixels/s (26.4 Mbytes/s)

FillBox with DrawHlineList: 37.0 Mpixels/s (74.0 Mbytes/s)

FillBox XOR: 18.9 Mpixels/s (37.8 Mbytes/s)

PutBitmap: 15.2 Mpixels/s (30.5 Mbytes/s)

You're encouraged to send in more data. This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), vga_accel(3), threed(6), bg_test(6), eventtest(6), forktest(6), fun(6), keytest(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The demo and most of its documentation is due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>.


title: bg_test(6)

summary: test the background mode of svgalib

text:
# bg_test(6)

## NAME
bg_test - test the background mode of svgalib

## SYNOPSIS
bg_test [linear]

## DESCRIPTION
Tests the enhanced support of recent svgalibs to draw while switched to the background. Draws a small centered white box then waits until you switch to another vc. Draws some outer box frame around it while background, which you can see when you switch back to it. For obvious reasons, your version of svgalib must have BACKGROUND support enabled (which is the default as of this writing). When finished, press any key to end bg_test.

The demo uses a G320x200x256 mode or the one you set with SVGALIB_DEFAULT_MODE.

If you specify the linear parameter the demo will use vgagl(7) and vga_setlinearaddressing(3) to test linear mode in background.

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), vga_runinbackground(3), threed(6), accel(6), eventtest(6), forktest(6), fun(6), keytest(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The exact source of the referenced demo as well as of the original documentation is unknown.

It is very likely that both are at least to some extent are due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>.

Occasionally this might be wrong. I hereby asked to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual.


eventtest

title: eventtest(6)

summary: test the waitevent function of svgalib

text:
# eventtest(6)

## NAME
eventtest - test the waitevent function of svgalib

## SYNOPSIS
eventtest

## DESCRIPTION
This is a kind of an upgraded keytest(6) and mousetest(6) demo using the vga_waitevent(3) function.

Use mouse to move cursor. <1>-<9>, <0> to set the cursor size. <Space> to change the cursor color. Left button to draw. Right button or <Q> to bailout.

The cursor goes on/off every half second by usage of a timeout passed to vga_waitevent(3). Every 5 seconds a string from a child process (the time) arrives asynchronously and is displayed by the frontend. This comes in through a pipe(2) which is monitored by vga_waitevent(2).

You can set a videomode to use by setting the environment variable SVGALIB_DEFAULT_MODE to a number (see vgatest for a list) or a string like G0x1x2 where you replace 0 with desired x resolution, 1 with the desired y rez, and 2 with the desired number of colors (2, 16, 256, 32K, 64K, 16M, 16M4). Again, only certain choices are available, see vgatest for a list.

In case nothing is selected, G320x200x256 is choosen.

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), vga_waitevent(3), threed(6), accel(6), bg_test(6), forktest(6), fun(6), keytest(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The demos as well as the vga_waitevent(3) function is due to him.


forktest

title: forktest(6)

summary: tests the vga_safety_fork() function.

text:
# forktest(6)

## NAME
forktest - tests the vga_safety_fork() function.

## SYNOPSIS
forktest

## DESCRIPTION
This is a copy of the keytest(6) demo (look there). However, it uses vga_safety_fork(3) to start a background process to restore the console in case the fore ground process crashes. It removes all automatic restore functions of svgalib. Thus, in case you kill this program with kill(1) or <Ctrl>-C, only the background process will save your system from being hosed up.

You can set a videomode to use by setting the environment variable SVGALIB_DEFAULT_MODE to a number (see vgatest for a list) or a string like G0x1x2 where you replace 0 with desired x resolution, 1 with the desired y rez, and 2 with the desired number of colors (2, 16, 256, 32K, 64K, 16M, 16M4). Again, only certain choices are available, see vgatest for a list.

In case nothing is selected, G320x200x256 is choosen.

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), vga_safety_fork(3), threed(6), accel(6), bg_test(6), eventtest(6), fun(6), keytest(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The exact source of the referenced demo as well as of the original documentation is unknown.

It is very likely that both are at least to some extent are due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>.

Occasionally this might be wrong. I hereby asked to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual.


fun

title: fun(6)

summary: draw pixels accumulating in clusters

text:
# fun(6)

## NAME
fun - draw pixels accumulating in clusters

## SYNOPSIS
fun

## DESCRIPTION
Random moving pixels accumulate in clusters. Uses virtual screens for frame animation. This uses basic VGA functionality and works only in 320x200x256.

Hit <Ctrl>-C to abort. The bottom row shows all largest cluster and its size), frames drawn, and (after some time) average frames per second. Once the screen is filled, a new random setup is run.

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), threed(6), accel(6), bg_test(6), eventtest(6), forktest(6), keytest(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The exact source of the referenced demo as well as of the original documentation is unknown.

It is very likely that both are at least to some extent are due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>.

Occasionally this might be wrong. I hereby asked to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual.


joytest

title: joytest(6)

text:
# joytest(6)

## NAME
joytest - test the svgalib joystick package in text mode

## SYNOPSIS
joytest number

## DESCRIPTION
This demo program tries to open the joystick with the given number and calibrates it. The user is prompted to press <Return> after which any state change of the joystick is reported until the program is killed.

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.3.0.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## CAVEATS
The functions used by this demo are only available in ELF versions of svgalib. Due to backwards compatibility issues it cannot be used with shared a.out libs.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), threed(6), accel(6), bg_test(6), eventtest(6), forktest(6), fun(6), keytest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6), vgatest(6), mjoytest(6), joystick_init(3), joystick_close(3), joystick_update(3), joystick_sethandler(3), joystick_setdefaulthandler(3), joystick_getnumaxes(3), joystick_getnumbuttons(3), joystick_getaxis(3), joystick_getbutton(3), joystick_button1(3), joystick_getb1(3), joystick_x(3), joystick_getx(3).

## AUTHOR
The svgalib joystick handler was mostly done by Daniel Engstr\"om <daniel.engstrom@riksnett.no>. Multiple joystick, VC switching support and code to glue it into svgalib by Michael Weller <eowmob@exp-math.uni-essen.de>. Part of the code is based on code from C. Smith and Vojtech Pavlik.


keytest

title: keytest(6)

text:
# keytest(6)

## NAME
keytest - tests the svgalib raw keyboard functions

## SYNOPSIS
keytest

## DESCRIPTION
A program to test the low-level keyboard interface. This uses basic VGA functionality (or an svga mode you specify). Works only in 256 color modes.

Cursor keys or keypad <1>, <2>, <3>, <4>, <5>, <6>, <7>, <8>, and <9> move the cursor. Keypad <0> or <Enter> changes color. <Q> or <Ctrl>-C quits. (autoquit after 60 seconds).

Note that the svgalib diagonal <7>, <9>, <1>, and <3> keypad keys emulation is flawed in that it emulates the vertical/horizontal keys. If one of these is pressed too, it's release confuses svgalib.

The top pixel line shows a blue pixel for each key which is reported to be pressed.

You can set a videomode to use by setting the environment variable SVGALIB_DEFAULT_MODE to a number (see vgatest for a list) or a string like G0x1x2 where you replace 0 with desired x resolution, 1 with the desired y rez, and 2 with the desired number of colors (2, 16, 256, 32K, 64K, 16M, 16M4). Again, only certain choices are available, see vgatest for a list.

In case nothing is selected, G320x200x256 is choosen.

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), threed(6), accel(6), bg_test(6), eventtest(6), forktest(6), fun(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The exact source of the referenced demo as well as of the original documentation is unknown.

It is very likely that both are at least to some extent are due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>.

Occasionally this might be wrong. I hereby asked to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual.


title: mach32info(6)

text:
# mach32info(6)

## NAME
mach32info - read out configuration information of a Mach32

## SYNOPSIS
mach32info {info|force}

## DESCRIPTION
mach32info prints out almost all the info about your mach32 card from configuration registers and Mach32 EEPROM. It also measures the Mach32 clocks. A completely idle system is required when these measurements are being performed. During these measurements, the video signals will be screwed up for about 3-4 seconds.

If your monitor does not switch off when getting a video signal it can't stand (fixed freq. monitors) better switch it off before starting mach32info. Your computer will beep when it is finished probing. You can redirect the 'stdout' of mach32info to some file for viewing the results easier or mailing them.

Do not redirect 'stderr' as you won't hear the beep.

This tool is part of svgalib. Although it's output maybe useful to debug Xfree86 Mach32 Servers, I am NOT related to Xfree86! Please do not send me (Michael Weller) any Xfree86 bug reports! Thanx in advance.

Note that this tool comes without any warranty! Use it at your own risk!

Warning, this tool does not check for VC changes etc.. Just let it run in its own virtual console as root and don't try to fool it. Actually this is due to it not using svgalib at all but simply accessing the Mach32.

Please report any problems with running mach32info or with configuring the svgalib(7)'s Mach32 driver to Michael Weller <eowmob@exp-math.uni-essen.de>. Include the results from running this test with your report.

## OPTIONS
info

print out the configuration information. Without info mach32info prints a usage message (looking almost like this manpage ;-)).

force

The force option disables the sanity check that tries to detect the presence of the mach32 prior to printing the information. Do not use this option unless you are really, really sure that you have a Mach32 compatible vga card installed.

This utility is part of svgalib and can be found in the mach32/ subdirectory of the original svgalib distribution. However, it is not installed by default, s.t. it is unclear where you can find it if your svgalib was install by a linux distribution.

In case of any such problem, simply get an svgalib distribution from the net. You don't need to install it. Just make in the mach32/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), svgalib.mach32(7), vgagl(7), libvga.config(5).

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. He also wrote the referenced utility as well as of the original documentation.