1chocolate-strife(6)              Games Manual              chocolate-strife(6)
2
3
4

NAME

6       chocolate-strife - historically compatible strife engine
7

SYNOPSIS

9       chocolate-strife [OPTIONS]
10

DESCRIPTION

12       Chocolate Strife is an accurate and complete recreation of Rogue Enter‐
13       tainment's "Strife: Quest for the Sigil". It was created  through  more
14       than  two years of reverse engineering effort with the blessings of the
15       original programmers of the game (see the section HISTORY below).
16
17

GENERAL OPTIONS

19       -cdrom [windows  only]  Save  configuration  data  and   savegames   in
20              c:\strife.cd, allowing play from CD.
21
22       -config <file>
23              Load  main configuration from the specified file, instead of the
24              default.
25
26       -devparm
27              Developer mode. Implies -nograph.
28
29       -dumpsubstconfig <filename>
30              Read all MIDI files from loaded WAD files, dump an example  sub‐
31              stitution music config file to the specified filename and quit.
32
33       -extraconfig <file>
34              Load  additional  configuration from the specified file, instead
35              of the default.
36
37       -fast  Monsters move faster.
38
39       -file <files>
40              Load the specified PWAD files.
41
42       -flip  Flip player gun sprites (broken).
43
44       -iwad <file>
45              Specify an IWAD file to use.
46
47       -loadgame <s>
48              Load the game in slot s.
49
50       -mb <mb>
51              Specify the heap size, in MiB (default 16).
52
53       -mmap  Use the OS's virtual memory subsystem to map WAD files  directly
54              into memory.
55
56       -nograph
57              Disable graphical introduction sequence
58
59       -nomonsters
60              Disable monsters.
61
62       -nomusic
63              Disable music.
64
65       -nosfx Disable sound effects.
66
67       -nosound
68              Disable all sound output.
69
70       -novoice
71              Disable  voice  dialog  and show dialog as text instead, even if
72              voices.wad can be found.
73
74       -random
75              Items respawn at random locations
76
77       -respawn
78              Respawn monsters after they are killed.
79
80       -savedir <directory>
81              Specify a path from which to load and save games. If the  direc‐
82              tory does not exist then it will automatically be created.
83
84       -skill <skill>
85              Set  the game skill, 1-5 (1: easiest, 5: hardest).  A skill of 0
86              disables all monsters.
87
88       -turbo <x>
89              Turbo mode.  The player's speed is multiplied by x%.  If unspec‐
90              ified,  x defaults to 200.  Values are rounded up to 10 and down
91              to 400.
92
93       -warp x
94              Start a game immediately, warping to level x.
95
96       -work  Set  Rogue  playtesting  mode  (godmode,   noclip   toggled   by
97              backspace)
98
99

DISPLAY OPTIONS

101       -1     Don't scale up the screen. Implies -window.
102
103       -2     Double up the screen to 2x its normal size. Implies -window.
104
105       -3     Double up the screen to 3x its normal size. Implies -window.
106
107       -fullscreen
108              Run in fullscreen mode.
109
110       -geometry <WxY>
111              Specify the dimensions of the window. Implies -window.
112
113       -height <y>
114              Specify the screen height, in pixels. Implies -window.
115
116       -noblit
117              Disable blitting the screen.
118
119       -nodraw
120              Disable rendering the screen entirely.
121
122       -nograbmouse
123              Don't grab the mouse when running in windowed mode.
124
125       -nomouse
126              Disable the mouse.
127
128       -width <x>
129              Specify the screen width, in pixels. Implies -window.
130
131       -window
132              Run in a window.
133
134

DEMO OPTIONS

136       -maxdemo <size>
137              Specify the demo buffer size (KiB)
138
139       -playdemo <demo>
140              Play back the demo named demo.lmp.
141
142       -record <x>
143              Record a demo named x.lmp.
144
145       -solo-net
146              Play back a demo recorded in a netgame with a single player.
147
148       -strictdemos
149              When  recording or playing back demos, disable any extensions of
150              the vanilla demo format - record demos as vanilla would do,  and
151              play back demos as vanilla would do.
152
153       -timedemo <demo>
154              Play  back the demo named demo.lmp, determining the framerate of
155              the screen.
156
157

NETWORKING OPTIONS

159       -altdeath
160              Start a deathmatch game.  Weapons do not stay in place  and  all
161              items respawn after 30 seconds.
162
163       -autojoin
164              Automatically  search the local LAN for a multiplayer server and
165              join it.
166
167       -avg   Austin Virtual Gaming: end levels after 20 minutes.
168
169       -connect <address>
170              Connect to a multiplayer server running on the given address.
171
172       -dedicated
173              Start a dedicated server, routing packets but not  participating
174              in the game itself.
175
176       -dup <n>
177              Reduce the resolution of the game by a factor of n, reducing the
178              amount of network bandwidth needed.
179
180       -extratics <n>
181              Send n extra tics in every packet as insurance  against  dropped
182              packets.
183
184       -left  Run as the left screen in three screen mode.
185
186       -localsearch
187              Search the local LAN for running servers.
188
189       -newsync
190              Use  new  network  client sync code rather than the classic sync
191              code. This is currently disabled by default because it has  some
192              bugs.
193
194       -nodes <n>
195              Autostart  the  netgame  when  n nodes (clients) have joined the
196              server.
197
198       -port <n>
199              Use the specified UDP port for communications,  instead  of  the
200              default (2342).
201
202       -privateserver
203              When  running  a  server,  don't register with the global master
204              server. Implies -server.
205
206       -query <address>
207              Query the status of the server running on the given IP address.
208
209       -right Run as the right screen in three screen mode.
210
211       -search
212              Query the Internet master server for a  global  list  of  active
213              servers.
214
215       -server
216              Start a multiplayer server, listening for connections.
217
218       -servername <name>
219              When starting a network server, specify a name for the server.
220
221       -solo-net
222              Start  the  game  playing  as  though in a netgame with a single
223              player.  This can also  be  used  to  play  back  single  player
224              netgame demos.
225
226       -timer <n>
227              For multiplayer games: exit each level after n minutes.
228
229

DEHACKED AND WAD MERGING

231       -aa <files>
232              Equivalent to "-af <files> -as <files>".
233
234       -af <files>
235              Simulates  the  behavior of NWT's -af option, merging flats into
236              the main IWAD directory.  Multiple files may be specified.
237
238       -as <files>
239              Simulates the behavior of NWT's -as option, merging sprites into
240              the main IWAD directory.  Multiple files may be specified.
241
242       -deh <files>
243              Load the given dehacked patch(es)
244
245       -merge <files>
246              Simulates the behavior of deutex's -merge option, merging a PWAD
247              into the main IWAD.  Multiple files may be specified.
248
249       -nocheats
250              Ignore cheats in dehacked files.
251
252       -nwtmerge <files>
253              Simulates the behavior of NWT's -merge option.   Multiple  files
254              may be specified.
255
256

COMPATIBILITY

258       -donut <x> <y>
259              Use the specified magic values when emulating behavior caused by
260              memory overruns from improperly constructed donuts.  In  Vanilla
261              Strife  this  can differ depending on the operating system.  The
262              default (if this option is not  specified)  is  to  emulate  the
263              behavior when running under Windows 98.
264
265       -gameversion <version>
266              Emulate a specific version of Strife. Valid values are "1.2" and
267              "1.31".
268
269       -setmem <version>
270              Specify DOS version to emulate for NULL pointer dereference emu‐
271              lation.   Supported  versions  are:  dos622,  dos71, dosbox. The
272              default is to emulate DOS 7.1 (Windows 98).
273
274       -spechit <n>
275              Use the specified magic value when emulating spechit overruns.
276
277

IWAD SEARCH PATHS

279       To play, an IWAD file is needed. This is a large file containing all of
280       the levels, graphics, sound effects, music and other material that make
281       up the game. IWAD files are named according to the game;  the  standard
282       names are:
283
284       doom.wad, doom1.wad, doom2.wad, tnt.wad, plutonia.wad
285              Doom, Doom II, Final Doom
286
287       heretic.wad, heretic1.wad, hexen.wad, strife1.wad
288              Heretic, Hexen and Strife (commercial Doom engine games).
289
290       hacx.wad, chex.wad
291              Hacx  and  Chex  Quest  -  more  obscure games based on the Doom
292              engine.
293
294       freedm.wad, freedoom1.wad, freedoom2.wad
295              The Freedoom open content IWAD files.
296
297       The following directory paths are searched in order to find an IWAD:
298
299       Current working directory
300              Any IWAD files found in the current working  directory  will  be
301              used in preference to IWADs found in any other directories.
302
303       DOOMWADDIR
304              This environment variable can be set to contain a path to a sin‐
305              gle directory in which to look for IWAD files. This  environment
306              variable is supported by most Doom source ports.
307
308       DOOMWADPATH
309              This environment variable, if set, can contain a colon-separated
310              list of directories in which to look for IWAD files, or alterna‐
311              tively full paths to specific IWAD files.
312
313       $HOME/.local/share/games/doom
314              Writeable  directory  in the user's home directory. The path can
315              be overridden using the XDG_DATA_HOME environment variable  (see
316              the XDG Base Directory Specification).
317
318       /usr/local/share/games/doom, /usr/share/games/doom
319              System-wide  locations  that  can  be accessed by all users. The
320              path /usr/share/games/doom is a standard path that is  supported
321              by  most  Doom source ports. These paths can be overridden using
322              the XDG_DATA_DIRS environment variable (see the XDG Base  Direc‐
323              tory Specification).
324
325       The above can be overridden on a one-time basis by using the -iwad com‐
326       mand line parameter to provide the path to an IWAD file  to  use.  This
327       parameter  can also be used to specify the name of a particular IWAD to
328       use from one of the above paths. For  example,  '-iwad  doom.wad'  will
329       search the above paths for the file doom.wad to use.
330

ENVIRONMENT

332       This  section  describes  environment  variables that control Chocolate
333       Strife's behavior.
334
335       DOOMWADDIR, DOOMWADPATH
336              See the section, IWAD SEARCH PATHS above.
337
338       PCSOUND_DRIVER
339              When running in PC speaker sound effect mode,  this  environment
340              variable  specifies  a PC speaker driver to use for sound effect
341              playback.  Valid options are "Linux" for the Linux console  mode
342              driver,  "BSD"  for  the  NetBSD/OpenBSD  PC speaker driver, and
343              "SDL" for SDL-based emulated PC speaker playback (using the dig‐
344              ital output).
345
346       OPL_DRIVER
347              When  using  OPL MIDI playback, this environment variable speci‐
348              fies an OPL backend driver to use.  Valid options are "SDL"  for
349              an  SDL-based  software emulated OPL chip, "Linux" for the Linux
350              hardware OPL driver, and "OpenBSD" for the OpenBSD/NetBSD  hard‐
351              ware OPL driver.
352
353              Generally  speaking, a real hardware OPL chip sounds better than
354              software  emulation;  however,  modern  machines  do  not  often
355              include  one. If present, it may still require extra work to set
356              up and elevated security privileges to access.
357
358
359

FILES

361       $HOME/.local/share/chocolate-doom/strife.cfg
362              The  main  configuration  file  for   Chocolate   Strife.    See
363              strife.cfg(5).
364
365       $HOME/.local/share/chocolate-doom/chocolate-strife.cfg
366              Extra configuration values that are specific to Chocolate Strife
367              and not present in Vanilla Strife.  See chocolate-strife.cfg(5).
368

SEE ALSO

370       chocolate-doom(6), chocolate-server(6), chocolate-setup(6)
371
372

HISTORY

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

LEGALITY

385       Reverse  engineering  is  a  protected activity so long as the original
386       code is not used directly in the product. Due to  the  vast  amount  of
387       information  lost  through  the process of compilation, and the need to
388       refactor large portions of code  in  order  to  eliminate  non-portable
389       idioms  or  to  adapt  them properly to Chocolate Doom's framework, the
390       resulting code behaves the same, but is not the *same* code.
391
392       In addition, James Monroe and John Carmack have both stated  that  they
393       have  no  objections  to  the  project.  Because  they are the original
394       authors of the code, and neither Rogue nor their  publisher,  Velocity,
395       Inc.,  exist  any  longer  as legal entities, this is effectively legal
396       permission.
397
398

BUGS

400       Chocolate Strife is almost, but not entirely perfect, in recreating the
401       behavior of Vanilla Strife.  Help us by reporting any discrepancies you
402       might notice between this executable and the vanilla DOS program.
403
404       However, do *not* report any glitch  that  you  can  replicate  in  the
405       vanilla  EXE  as  a  bug. The point of Chocolate Strife, like Chocolate
406       Doom before it, is to be as bug-compatible with the  original  game  as
407       possible. Also be aware that some glitches are impossible to compatibly
408       recreate, and wherever this is the case, Chocolate Strife has erred  on
409       the  side  of  not  crashing  the  program, for example by initializing
410       pointers to NULL rather than using them without setting a value first.
411
412

AUTHORS

414       Chocolate Strife is part of the Chocolate Doom project. It was  reverse
415       engineered  from  the  DOS versions of Strife by James Haley and Samuel
416       Villarreal.  Chocolate Doom was written and maintained by Simon Howard,
417       and is based on the LinuxDoom source code released by Id Software.
418
420       Copyright © id Software Inc.  Copyright © 2005-2013 Simon Howard, James
421       Haley, Samuel Villarreal.
422       This is free software.  You may redistribute copies  of  it  under  the
423       terms       of       the      GNU      General      Public      License
424       <http://www.gnu.org/licenses/gpl.html>.  There is NO WARRANTY,  to  the
425       extent permitted by law.
426
427
428
429
430                                                           chocolate-strife(6)
Impressum