Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
chocolate-strife(6)		 Games Manual		   chocolate-strife(6)

       chocolate-strife	- historically compatible strife engine

       chocolate-strife	[OPTIONS]

       Chocolate Strife	is an accurate and complete recreation of Rogue	Enter-
       tainment'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 below).

       -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

	      Developer	mode. Implies -nograph.

       -dumpsubstconfig	<filename>
	      Read all MIDI files from loaded WAD files, dump an example  sub-
	      stitution	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 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	found.

	      Items respawn at random locations

	      Respawn monsters after they are killed.

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

       -turbo <x>
	      Turbo mode.  The player's	speed is multiplied by x%.  If unspec-
	      ified, 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

       -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 be-
	      havior when running under	Windows	98.

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

       -setmem <version>
	      Specify DOS version to emulate for NULL pointer dereference emu-
	      lation.  Supported versions are: dos622, dos71, dosbox. The  de-
	      fault is to emulate DOS 7.1 (Windows 98).

       -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.

	      When  recording or playing back demos, disable any extensions of
	      the vanilla demo format -	record demos as	vanilla	would do,  and
	      play back	demos as vanilla would do.

       -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 op-
	      tional  letter of	w or f appended	to the dimensions selects win-
	      dowed or fullscreen mode.

	      Grab the mouse when running in windowed mode.

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

	      Disable blitting the screen.

	      Disable rendering	the screen entirely.

	      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

	      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

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

       -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 -server.

       -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

	      Start a multiplayer server, listening for	connections.

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

	      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 en-

       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 sin-
	      gle 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 alterna-
	      tively 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	Direc-
	      tory Specification).

       The above can be	overridden on a	one-time basis by using	the -iwad com-
       mand 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 dig-
	      ital output).

	      When  using  OPL MIDI playback, this environment variable	speci-
	      fies 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	 hard-
	      ware OPL driver.

	      Generally	 speaking, a real hardware OPL chip sounds better than
	      software emulation; however, modern machines do  not  often  in-
	      clude 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

	      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 exe-
       cutables, which were cross- referenced against the Linux	DOOM  and  DOS
       Heretic	sources	and painstakingly combed over multiple times, instruc-
       tion-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 in-
       formation  lost	through	 the  process  of compilation, and the need to
       refactor	large portions of code in order	to eliminate non-portable  id-
       ioms  or	 to adapt them properly	to Chocolate Doom's framework, the re-
       sulting 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 au-
       thors of	the code, and neither Rogue  nor  their	 publisher,  Velocity,
       Inc.,  exist  any  longer  as legal entities, this is effectively legal

       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	Software.

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



Want to link to this manual page? Use this URL:

home | help