Provided by: chocolate-strife_2.2.1-2.1_amd64 bug


       chocolate-strife - historically compatible strife engine


       chocolate-strife [OPTIONS]


       Chocolate  Strife is an accurate and complete recreation of Rogue Entertainment's "Strife:
       Quest for the Sigil". It was created through more than two years  of  reverse  engineering
       effort with the blessings of the original programmers of the game (see the section HISTORY


       -cdrom [windows only] Save configuration data and savegames in c:\, allowing play
              from CD.

       -config <file>
              Load main configuration from the specified file, instead of the default.

              Developer mode. Implies -nograph.

       -dumpsubstconfig <output filename>
              Read  all  MIDI  files  from  loaded  WAD files, dump an example substitution music
              config file to the specified filename and quit.

       -extraconfig <file>
              Load additional configuration from the specified file, instead of the default.

       -fast  Monsters move faster.

       -file <files>
              Load the specified PWAD files.

       -flip  Flip player gun sprites (broken).

       -iwad <file>
              Specify an IWAD file to use.

       -loadgame <s>
              Load the game in slot s.

       -mb <mb>
              Specify the heap size, in MiB (default 16).

       -mmap  Use the OS's virtual memory subsystem to map WAD files directly into memory.

              Disable blitting the screen.

              Disable rendering the screen entirely.

              Disable graphical introduction sequence

              Disable monsters.

              Disable music.

       -nosfx Disable sound effects.

              Disable all sound output.

              Disable voice dialog and show dialog as text instead, even  if  voices.wad  can  be

              Items respawn at random locations

              Respawn monsters after they are killed.

       -servername <name>
              When starting a network server, specify a name for the server.

       -skill <skill>
              Set  the  game  skill,  1-5  (1:  easiest,  5: hardest).  A skill of 0 disables all

       -turbo <x>
              Turbo mode.  The player's speed is multiplied by x%.  If unspecified, x defaults to
              200.  Values are rounded up to 10 and down to 400.

       -warp x
              Start a game immediately, warping to level x.

       -work  Set Rogue playtesting mode (godmode, noclip toggled by backspace)

              Zone  memory  debugging  flag.  If set, each time memory is freed, the zone heap is
              scanned to look for remaining pointers to the freed block.

              Zone memory debugging flag.  If  set,  memory  is  zeroed  after  it  is  freed  to
              deliberately break any code that attempts to use it after free.


       -donut <x> <y>
              Use  the  specified  magic values when emulating behavior caused by memory overruns
              from improperly constructed donuts. In Vanilla Strife this can differ depending  on
              the  operating system.  The default (if this option is not specified) is to emulate
              the behavior when running under Windows 98.

       -gameversion <version>
              Emulate a specific version of Strife. Valid values are "1.2" and "1.31".

       -setmem <version>
              Specify DOS version to emulate for NULL pointer dereference  emulation.   Supported
              versions  are:  dos622,  dos71,  dosbox. The default is to emulate DOS 7.1 (Windows

       -spechit <n>
              Use the specified magic value when emulating spechit overruns.


       -maxdemo <size>
              Specify the demo buffer size (KiB)

       -playdemo <demo>
              Play back the demo named demo.lmp.

       -record <x>
              Record a demo named x.lmp.

              Play back a demo recorded in a netgame with a single player.

       -timedemo <demo>
              Play back the demo named demo.lmp, determining the framerate of the screen.


       -1     Don't scale up the screen.

       -2     Double up the screen to 2x its normal size.

       -3     Double up the screen to 3x its normal size.

       -8in32 Set the color depth of the screen to 32 bits per pixel.

       -bpp <bpp>
              Specify the color depth of the screen, in bits per pixel.

              Run in fullscreen mode.

       -geometry <WxY>[wf]
              Specify the dimensions of the window or fullscreen mode.  An optional letter  of  w
              or f appended to the dimensions selects windowed or fullscreen mode.

              Grab the mouse when running in windowed mode.

       -height <y>
              Specify the screen height, in pixels.

              Don't grab the mouse when running in windowed mode.

              Disable the mouse.

              Enable vertical mouse movement.

              Disable vertical mouse movement.

       -width <x>
              Specify the screen width, in pixels.

              Run in a window.


              Start  a deathmatch game.  Weapons do not stay in place and all items respawn after
              30 seconds.

              Automatically search the local LAN for a multiplayer server and join it.

       -avg   Austin Virtual Gaming: end levels after 20 minutes.

       -connect <address>
              Connect to a multiplayer server running on the given address.

              Start a dedicated server, routing packets but not participating in the game itself.

       -dup <n>
              Reduce the resolution of the game by a factor of n, reducing the amount of  network
              bandwidth needed.

       -extratics <n>
              Send n extra tics in every packet as insurance against dropped packets.

              When running a netgame server, ignore version mismatches between the server and the
              client. Using this option may cause  game  desyncs  to  occur,  or  differences  in
              protocol may mean the netgame will simply not function at all.

       -left  Run as the left screen in three screen mode.

              Search the local LAN for running servers.

              Use  new  network  client  sync  code  rather  than  the classic sync code. This is
              currently disabled by default because it has some bugs.

       -nodes <n>
              Autostart the netgame when n nodes (clients) have joined the server.

       -port <n>
              Use the specified UDP port for communications, instead of the default (2342).

              When running a server, don't  register  with  the  global  master  server.  Implies

       -query <address>
              Query the status of the server running on the given IP address.

       -right Run as the right screen in three screen mode.

              Query the Internet master server for a global list of active servers.

              Start a multiplayer server, listening for connections.

              Start  the game playing as though in a netgame with a single player.  This can also
              be used to play back single player netgame demos.

       -timer <n>
              For multiplayer games: exit each level after n minutes.


       -aa <files>
              Equivalent to "-af <files> -as <files>".

       -af <files>
              Simulates the behavior of NWT's -af  option,  merging  flats  into  the  main  IWAD
              directory.  Multiple files may be specified.

       -as <files>
              Simulates  the  behavior  of  NWT's  -as option, merging sprites into the main IWAD
              directory.  Multiple files may be specified.

       -deh <files>
              Load the given dehacked patch(es)

       -merge <files>
              Simulates the behavior of deutex's -merge option, merging  a  PWAD  into  the  main
              IWAD.  Multiple files may be specified.

              Ignore cheats in dehacked files.

       -nwtmerge <files>
              Simulates the behavior of NWT's -merge option.  Multiple files may be specified.


       To  play,  an  IWAD  file  is  needed.  This is a large file containing all of the levels,
       graphics, sound effects, music and other material that make up the game.  IWAD  files  are
       named according to the game; the standard names are:

       doom.wad, doom1.wad, doom2.wad, tnt.wad, plutonia.wad
              Doom, Doom II, Final Doom

       heretic.wad, heretic1.wad, hexen.wad, strife1.wad
              Heretic, Hexen and Strife (commercial Doom engine games).

       hacx.wad, chex.wad
              Hacx and Chex Quest - more obscure games based on the Doom engine.

       freedm.wad, freedoom1.wad, freedoom2.wad
              The Freedoom open content IWAD files.

       The following directory paths are searched in order to find an IWAD:

       Current working directory
              Any IWAD files found in the current working directory will be used in preference to
              IWADs found in any other directories.

              This environment variable can be set to contain a path to  a  single  directory  in
              which  to  look for IWAD files. This environment variable is supported by most Doom
              source ports.

              This  environment  variable,  if  set,  can  contain  a  colon-separated  list   of
              directories  in  which  to  look  for  IWAD  files,  or alternatively full paths to
              specific IWAD files.

              Writeable directory in the user's home directory. The path can be overridden  using
              the XDG_DATA_HOME environment variable (see the XDG Base Directory Specification).

       /usr/local/share/games/doom, /usr/share/games/doom
              System-wide   locations   that   can   be   accessed   by   all   users.  The  path
              /usr/share/games/doom is a standard path that is  supported  by  most  Doom  source
              ports.  These  paths can be overridden using the XDG_DATA_DIRS environment variable
              (see the XDG Base Directory Specification).

       The above can be overridden on a one-time basis by using the -iwad command line  parameter
       to provide the path to an IWAD file to use. This parameter can also be used to specify the
       name of a particular IWAD to use  from  one  of  the  above  paths.  For  example,  '-iwad
       doom.wad' will search the above paths for the file doom.wad to use.


       This section describes environment variables that control Chocolate Strife's behavior.

              See the section, IWAD SEARCH PATHS above.

              When running in PC speaker sound effect mode, this environment variable specifies a
              PC speaker driver to use for sound effect playback.  Valid options are "Linux"  for
              the  Linux console mode driver, "BSD" for the NetBSD/OpenBSD PC speaker driver, and
              "SDL" for SDL-based emulated PC speaker playback (using the digital output).

              When using OPL MIDI playback, this environment variable specifies  an  OPL  backend
              driver  to  use.   Valid  options  are "SDL" for an SDL-based software emulated OPL
              chip,  "Linux"  for  the  Linux  hardware  OPL  driver,  and  "OpenBSD"   for   the
              OpenBSD/NetBSD hardware OPL driver.

              Generally speaking, a real hardware OPL chip sounds better than software emulation;
              however, modern machines do not often include one. If present, it may still require
              extra work to set up and elevated security privileges to access.


              The main configuration file for Chocolate Strife.  See strife.cfg(5).

              Extra configuration values that are specific to Chocolate Strife and not present in
              Vanilla Strife.  See chocolate-strife.cfg(5).


       chocolate-doom(6), chocolate-server(6), chocolate-setup(6)


       The source code for Strife was lost, which means,  unlike  the  code  for  all  the  other
       commercial  DOOM-engine  games, it cannot be released. The only access we have to the code
       is the binary executable file. Reverse engineering tools were employed to disassemble  and
       decompile  the  executables,  which  were cross- referenced against the Linux DOOM and DOS
       Heretic sources and painstakingly combed over multiple times,  instruction-by-instruction,
       to  ensure  that  the resulting Chocolate-Doom-based executable is as close as possible to
       the original.


       Reverse engineering is a protected activity so long as  the  original  code  is  not  used
       directly in the product. Due to the vast amount of information lost through the process of
       compilation, and the need to refactor large portions of code in order  to  eliminate  non-
       portable  idioms  or  to  adapt them properly to Chocolate Doom's framework, the resulting
       code behaves the same, but is not the *same* code.

       In addition, James Monroe and John Carmack have both stated that they have  no  objections
       to  the  project. Because they are the original authors of the code, and neither Rogue nor
       their publisher, Velocity, Inc., exist any longer as legal entities, this  is  effectively
       legal permission.


       Chocolate  Strife  is  almost,  but  not  entirely  perfect, in recreating the behavior of
       Vanilla Strife.  Help us by reporting any discrepancies  you  might  notice  between  this
       executable and the vanilla DOS program.

       However,  do  *not*  report any glitch that you can replicate in the vanilla EXE as a bug.
       The point of Chocolate Strife, like Chocolate Doom before it, is to be  as  bug-compatible
       with  the  original  game  as possible. Also be aware that some glitches are impossible to
       compatibly recreate, and wherever this is the case, Chocolate Strife has erred on the side
       of  not  crashing  the  program,  for example by initializing pointers to NULL rather than
       using them without setting a value first.


       Chocolate Strife is part of the Chocolate Doom project. It was reverse engineered from the
       DOS  versions  of Strife by James Haley and Samuel Villarreal.  Chocolate Doom was written
       and maintained by Simon Howard, and is based on the LinuxDoom source code released  by  Id


       Copyright  ©  id  Software  Inc.   Copyright © 2005-2013 Simon Howard, James Haley, Samuel
       This is free software.  You may redistribute copies of it  under  the  terms  of  the  GNU
       General  Public  License <>.  There is NO WARRANTY, to
       the extent permitted by law.