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       -skill <skill>
81              Set the game skill, 1-5 (1: easiest, 5: hardest).  A skill of  0
82              disables all monsters.
83
84       -turbo <x>
85              Turbo mode.  The player's speed is multiplied by x%.  If unspec‐
86              ified, x defaults to 200.  Values are rounded up to 10 and  down
87              to 400.
88
89       -warp x
90              Start a game immediately, warping to level x.
91
92       -work  Set   Rogue   playtesting   mode  (godmode,  noclip  toggled  by
93              backspace)
94
95

COMPATIBILITY

97       -donut <x> <y>
98              Use the specified magic values when emulating behavior caused by
99              memory  overruns  from improperly constructed donuts. In Vanilla
100              Strife this can differ depending on the operating  system.   The
101              default  (if  this  option  is  not specified) is to emulate the
102              behavior when running under Windows 98.
103
104       -gameversion <version>
105              Emulate a specific version of Strife. Valid values are "1.2" and
106              "1.31".
107
108       -setmem <version>
109              Specify DOS version to emulate for NULL pointer dereference emu‐
110              lation.  Supported versions  are:  dos622,  dos71,  dosbox.  The
111              default is to emulate DOS 7.1 (Windows 98).
112
113       -spechit <n>
114              Use the specified magic value when emulating spechit overruns.
115
116

DEMO OPTIONS

118       -maxdemo <size>
119              Specify the demo buffer size (KiB)
120
121       -playdemo <demo>
122              Play back the demo named demo.lmp.
123
124       -record <x>
125              Record a demo named x.lmp.
126
127       -solo-net
128              Play back a demo recorded in a netgame with a single player.
129
130       -strictdemos
131              When  recording or playing back demos, disable any extensions of
132              the vanilla demo format - record demos as vanilla would do,  and
133              play back demos as vanilla would do.
134
135       -timedemo <demo>
136              Play  back the demo named demo.lmp, determining the framerate of
137              the screen.
138
139

DISPLAY OPTIONS

141       -1     Don't scale up the screen.
142
143       -2     Double up the screen to 2x its normal size.
144
145       -3     Double up the screen to 3x its normal size.
146
147       -8in32 Set the color depth of the screen to 32 bits per pixel.
148
149       -bpp <bpp>
150              Specify the color depth of the screen, in bits per pixel.
151
152       -fullscreen
153              Run in fullscreen mode.
154
155       -geometry <WxY>[wf]
156              Specify the dimensions of the window  or  fullscreen  mode.   An
157              optional  letter  of  w  or f appended to the dimensions selects
158              windowed or fullscreen mode.
159
160       -grabmouse
161              Grab the mouse when running in windowed mode.
162
163       -height <y>
164              Specify the screen height, in pixels.
165
166       -noblit
167              Disable blitting the screen.
168
169       -nodraw
170              Disable rendering the screen entirely.
171
172       -nograbmouse
173              Don't grab the mouse when running in windowed mode.
174
175       -nomouse
176              Disable the mouse.
177
178       -nonovert
179              Enable vertical mouse movement.
180
181       -novert
182              Disable vertical mouse movement.
183
184       -width <x>
185              Specify the screen width, in pixels.
186
187       -window
188              Run in a window.
189
190

NETWORKING OPTIONS

192       -altdeath
193              Start a deathmatch game.  Weapons do not stay in place  and  all
194              items respawn after 30 seconds.
195
196       -autojoin
197              Automatically  search the local LAN for a multiplayer server and
198              join it.
199
200       -avg   Austin Virtual Gaming: end levels after 20 minutes.
201
202       -connect <address>
203              Connect to a multiplayer server running on the given address.
204
205       -dedicated
206              Start a dedicated server, routing packets but not  participating
207              in the game itself.
208
209       -dup <n>
210              Reduce the resolution of the game by a factor of n, reducing the
211              amount of network bandwidth needed.
212
213       -extratics <n>
214              Send n extra tics in every packet as insurance  against  dropped
215              packets.
216
217       -ignoreversion
218              When running a netgame server, ignore version mismatches between
219              the server and the client. Using  this  option  may  cause  game
220              desyncs  to  occur,  or  differences  in  protocol  may mean the
221              netgame will simply not function at all.
222
223       -left  Run as the left screen in three screen mode.
224
225       -localsearch
226              Search the local LAN for running servers.
227
228       -newsync
229              Use new network client sync code rather than  the  classic  sync
230              code.  This is currently disabled by default because it has some
231              bugs.
232
233       -nodes <n>
234              Autostart the netgame when n nodes  (clients)  have  joined  the
235              server.
236
237       -port <n>
238              Use  the  specified  UDP port for communications, instead of the
239              default (2342).
240
241       -privateserver
242              When running a server, don't register  with  the  global  master
243              server. Implies -server.
244
245       -query <address>
246              Query the status of the server running on the given IP address.
247
248       -right Run as the right screen in three screen mode.
249
250       -search
251              Query  the  Internet  master  server for a global list of active
252              servers.
253
254       -server
255              Start a multiplayer server, listening for connections.
256
257       -servername <name>
258              When starting a network server, specify a name for the server.
259
260       -solo-net
261              Start the game playing as though in  a  netgame  with  a  single
262              player.   This  can  also  be  used  to  play back single player
263              netgame demos.
264
265       -timer <n>
266              For multiplayer games: exit each level after n minutes.
267
268

DEHACKED AND WAD MERGING

270       -aa <files>
271              Equivalent to "-af <files> -as <files>".
272
273       -af <files>
274              Simulates the behavior of NWT's -af option, merging  flats  into
275              the main IWAD directory.  Multiple files may be specified.
276
277       -as <files>
278              Simulates the behavior of NWT's -as option, merging sprites into
279              the main IWAD directory.  Multiple files may be specified.
280
281       -deh <files>
282              Load the given dehacked patch(es)
283
284       -merge <files>
285              Simulates the behavior of deutex's -merge option, merging a PWAD
286              into the main IWAD.  Multiple files may be specified.
287
288       -nocheats
289              Ignore cheats in dehacked files.
290
291       -nwtmerge <files>
292              Simulates  the  behavior of NWT's -merge option.  Multiple files
293              may be specified.
294
295

IWAD SEARCH PATHS

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

ENVIRONMENT

350       This  section  describes  environment  variables that control Chocolate
351       Strife's behavior.
352
353       DOOMWADDIR, DOOMWADPATH
354              See the section, IWAD SEARCH PATHS above.
355
356       PCSOUND_DRIVER
357              When running in PC speaker sound effect mode,  this  environment
358              variable  specifies  a PC speaker driver to use for sound effect
359              playback.  Valid options are "Linux" for the Linux console  mode
360              driver,  "BSD"  for  the  NetBSD/OpenBSD  PC speaker driver, and
361              "SDL" for SDL-based emulated PC speaker playback (using the dig‐
362              ital output).
363
364       OPL_DRIVER
365              When  using  OPL MIDI playback, this environment variable speci‐
366              fies an OPL backend driver to use.  Valid options are "SDL"  for
367              an  SDL-based  software emulated OPL chip, "Linux" for the Linux
368              hardware OPL driver, and "OpenBSD" for the OpenBSD/NetBSD  hard‐
369              ware OPL driver.
370
371              Generally  speaking, a real hardware OPL chip sounds better than
372              software  emulation;  however,  modern  machines  do  not  often
373              include  one. If present, it may still require extra work to set
374              up and elevated security privileges to access.
375
376
377

FILES

379       $HOME/.chocolate-doom/strife.cfg
380              The  main  configuration  file  for   Chocolate   Strife.    See
381              strife.cfg(5).
382
383       $HOME/.chocolate-doom/chocolate-strife.cfg
384              Extra configuration values that are specific to Chocolate Strife
385              and not present in Vanilla Strife.  See chocolate-strife.cfg(5).
386

SEE ALSO

388       chocolate-doom(6), chocolate-server(6), chocolate-setup(6)
389
390

HISTORY

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

LEGALITY

403       Reverse  engineering  is  a  protected activity so long as the original
404       code is not used directly in the product. Due to  the  vast  amount  of
405       information  lost  through  the process of compilation, and the need to
406       refactor large portions of code  in  order  to  eliminate  non-portable
407       idioms  or  to  adapt  them properly to Chocolate Doom's framework, the
408       resulting code behaves the same, but is not the *same* code.
409
410       In addition, James Monroe and John Carmack have both stated  that  they
411       have  no  objections  to  the  project.  Because  they are the original
412       authors of the code, and neither Rogue nor their  publisher,  Velocity,
413       Inc.,  exist  any  longer  as legal entities, this is effectively legal
414       permission.
415
416

BUGS

418       Chocolate Strife is almost, but not entirely perfect, in recreating the
419       behavior of Vanilla Strife.  Help us by reporting any discrepancies you
420       might notice between this executable and the vanilla DOS program.
421
422       However, do *not* report any glitch  that  you  can  replicate  in  the
423       vanilla  EXE  as  a  bug. The point of Chocolate Strife, like Chocolate
424       Doom before it, is to be as bug-compatible with the  original  game  as
425       possible. Also be aware that some glitches are impossible to compatibly
426       recreate, and wherever this is the case, Chocolate Strife has erred  on
427       the  side  of  not  crashing  the  program, for example by initializing
428       pointers to NULL rather than using them without setting a value first.
429
430

AUTHORS

432       Chocolate Strife is part of the Chocolate Doom project. It was  reverse
433       engineered  from  the  DOS versions of Strife by James Haley and Samuel
434       Villarreal.  Chocolate Doom was written and maintained by Simon Howard,
435       and is based on the LinuxDoom source code released by Id Software.
436
438       Copyright © id Software Inc.  Copyright © 2005-2013 Simon Howard, James
439       Haley, Samuel Villarreal.
440       This is free software.  You may redistribute copies  of  it  under  the
441       terms       of       the      GNU      General      Public      License
442       <http://www.gnu.org/licenses/gpl.html>.  There is NO WARRANTY,  to  the
443       extent permitted by law.
444
445
446
447
448                                                           chocolate-strife(6)
Impressum