ref: 3b70bbe366fade45f41fed2ef13b87fa675709b5
dir: /man/1/wl3d/
.TH WL3D 1 .SH NAME wl3d \- Wolfenstein 3-D engine port .SH SYNOPSIS .B wl3d [ .B -23dopqs ] [ .B -f .I demo ] [ .B -m .I datadir ] [ .B -w .I map 0-3 ] .SH DESCRIPTION .I Wl3d is a port of id Software's Wolfenstein 3-D engine. In short, Wolfenstein 3-D is... .PP .RS "a masterpiece of wild action and unbelievable graphics, bringing you virtual reality at its best, as you move .RI though (sic) a sensationally realistic 3-D world of amazing detail. It's World War II, and you are B.J. Blazkowicz - the Allies' bad boy of espionage, a terminal action seeker built for abuse with an attitude to match. There's just one small problem: you've been captured by the Nazis, tortured, and imprisoned beneath the Castle Wolfenstein where you await execution. Bummer. Now, you must do anything to escape from the belly of a Nazi dungeon - or die trying." .RE .PP The command line options are: .TP \w'\fLw\ \ \fI"map\ 0-3"'u .B -2 Set game version to Spear of Destiny Mission 2: Return to Danger. .TP .B -3 Set game version to Spear of Destiny Mission 3: The Ultimate Challenge. .TP .B -d Set game version to Wolfenstein 3-D 1.4 shareware. .TP .BI -f\ demo Play demo from file on startup. .TP .BI -m\ dir Set game data directory. .TP .B -o Set game version to Spear of Destiny 1.0 demo. .TP .B -p Run at full speed. .TP .B -q Quit after demofile playback. .TP .B -s Set game version to Spear of Destiny 1.0 retail. .TP .BI -w\ "map 0-3" Warp to the given map number with a given difficulty on startup. .PD .PP .I Wl3d requires several data files to operate, containing sound effects, music, and several types of graphics. These are detailed in .IR wl3d (6) . Two additional files contain the initial loading screens, .L intro.wl6 and .LR intro.sod , used respectively in Wolfenstein 3-D and Spear of Destiny game versions. .PP At startup, the current working directory is bound over .I datadir (default .BR /sys/games/lib/wl3d ) with the .B MBEFORE and .B MCREATE flags (see .IR bind (2)). Data files can thus be contained in a system directory while the config and save files' location, which are user-specific, can be left at the user's discretion. If these user-specific files exist and .I wl3d fails to parse them, they are not overwritten. The .B -m parameter is used to change .IR datadir . .PP Several options modify the program's behavior on startup. If the .B -w parameter is used, the game starts immediately at map number .IR map , with difficulty set to .BR 0-3 , .B 0 being the easiest. The .B -p parameter runs the program at the fastest speed possible for testing purposes. .PD .SS Game versions The engine supports several game versions, each requiring different data files. These also control parts of the program's behavior, such as level ordering and interface drawing. Each corresponds to a specific data file extension. .PD The default game version is Wolfenstein 3-D 1.4 retail, and the data files use the .L wl6 extension. Others are set by the options .BR -2 , .BR -3 , .BR -d , .B -o and .BR -s . The respective data file extensions are .LR sd2 , .LR sd3 , .LR wl1 , .LR sdm , .LR sod . .PD Other game versions are unsupported. Note that .L sd2 and .L sd3 versions are variants of .LR sod , only substituting some of the data files. .PD .SS Demo lumps .I Wl3d can playback a single external demo lump before resuming normal operation, when its path is supplied via the .B -f parameter. The .B -q parameter causes the program to exit after playback instead. The filename's extension, if any, is ignored. Regardless, a corresponding game version must be set using the aforementioned command line parameters. An incorrect version will cause erroneous playback or a crash. .SS Sound and music .I Wl3d uses .SM OPL2 chip emulation based on fmopl.c from the .SM MAME project for music and sound effects. Digital sound effects are resampled prior to playback. PC speaker sound effects are unimplemented and ignored. In case .L /dev/audio (see .IR audio (3)) is inaccessible, audio is ignored. .PD .SS Differences Most of .I wl3d has been rewritten from scratch, and some parts have been implemented differently from the reference. Most importantly, individual data lumps are no longer read and cached as needed, but rather all loaded into memory, uncompressed, and in some cases converted, at startup. This bumps the required amount of free memory up to around at least 5 megabytes, depending on the game version, architecture and window size. .PP A single executable handles all supported game versions. .PP Intro screens are now additional data files to be loaded on startup, rather than being compiled in, and must therefore be installed in the .IR datadir . Also unlike the reference implementation, these are displayed during data file loading, and are immediately faded out of afterwards. .PP Copy protection code and the Spear of Destiny Jukebox have been excised. Menus are implemented differently, and some have been altered in functionality. Debug mode has been removed, and cheats work differently. .PP Game keys are no longer set in the options menu, but rather in the configuration file. A single configuration file is used for all game versions. Savegames and config files are incompatible in format. .PP The texture and sprite scaling implementation does not attempt to save memory and avoids quantization at close range. .SH FILES .TF /sys/games/lib/wl3d/intro.wl6 .TP .B /sys/games/lib/wl3d/ default wl3d data directory .TP .B /sys/games/lib/wl3d/intro.wl6 .B wl6/wl1 intro screen .TP .B /sys/games/lib/wl3d/intro.sod .B sdm/sod intro screen .PD .SH "SEE ALSO" .IR doom (1) , .IR opl2 (1) , .IR bind (2) , .IR pipe (2) , .IR audio (3) , .IR wl3d (6) .SH BUGS Because of limitations in fmopl.c-based .SM OPL2 emulation, Adlib sound effects crack too much during playback. .PP The upsampling implementation for digital sound effects is overkill given the number of constraints. It is also buggy and playback cracks too much. .PP With sound effects enabled, the .SM OPL2 emulation runs on every frame and .L /dev/audio is written to, even when no sound is playing. .PP Little is done in case the program is unable to run at a framerate of 70 Hz. .PD .SS Engine bugs Correct demo playback depends on the sound and view size settings used during recording. Different settings on playback may cause desynchronization. .PP Spawned projectiles are not properly cleared when removed and may cause aberrant behavior and demo desynchronization. .SH HISTORY id Software's Wolfenstein 3-D was released for .SM MS-DOS on May 5, 1992. .br .I Wl3d first appeared in 9front (May, 2016), based on the source code release of Wolfenstein 3-D's engine from July 21, 1995.