diff options
Diffstat (limited to 'man')
-rw-r--r-- | man/INSTALL.template | 59 | ||||
-rw-r--r-- | man/Makefile.am | 81 | ||||
-rwxr-xr-x | man/docgen | 70 | ||||
-rw-r--r-- | man/doom.template | 41 | ||||
-rw-r--r-- | man/environ.man | 25 | ||||
-rw-r--r-- | man/heretic.template | 43 | ||||
-rw-r--r-- | man/hexen.template | 43 | ||||
-rw-r--r-- | man/manpage.template | 63 | ||||
-rw-r--r-- | man/strife.template | 83 |
9 files changed, 391 insertions, 117 deletions
diff --git a/man/INSTALL.template b/man/INSTALL.template index 19d3c88d..6a26cc03 100644 --- a/man/INSTALL.template +++ b/man/INSTALL.template @@ -39,8 +39,8 @@ information. Obtaining an IWAD file ---------------------- -To play Doom, you need an IWAD file. This file contains the game data -(graphics, sounds, etc). The full versions of the Doom games are +To play, you need an IWAD file. This file contains the game data +(graphics, sounds, etc). The full versions of the games are proprietary and need to be bought. The IWAD file has one of the following names: @@ -50,49 +50,50 @@ following names: tnt.wad (Final Doom: TNT: Evilution) plutonia.wad (Final Doom: Plutonia Experiment) chex.wad (Chex Quest) + heretic.wad (Heretic) + hexen.wad (Hexen) + strife1.wad (+voices.wad) (Strife) If you don't have a copy of a commercial version, you can download -the shareware version (extract the file named doom1.wad): +the shareware version of Doom (extract the file named doom1.wad): * http://www.doomworld.com/idgames/index.php?id=7053 (idstuff/doom/win95/doom95.zip in your nearest /idgames mirror) If you have a commercial version, obtaining the IWAD file is usually -straightforward. The method depends on how you obtained your copy of +straightforward. The method depends on how you obtained your copy of the game: #if _WIN32 * The Doom games are available to buy for download on Steam - (http://www.steampowered.com/). Chocolate Doom will autodetect + (http://www.steampowered.com/). Chocolate Doom will autodetect IWADs installed by Steam and you do not need to do anything. #else * The Doom games are available to buy for download on Steam - (http://www.steampowered.com/). To find the IWAD files on a - Windows system, look in the Steam directory (usually within - "Program Files"), under the "steamapps/common" path. + (http://www.steampowered.com/), but are available for Windows only. + To find the IWAD files on a Windows system, look in the Steam + directory (usually within "Program Files"), under the + "steamapps/common" path. #endif - * There have been several CD-based versions of Doom. Generally, the + * There have been several CD-based versions of Doom. Generally, the IWAD files can be found on the CD and copied off directly. #if _WIN32 - * If the IWAD files are not directly available on the CD, or you have - a floppy disk version, you will need to run the install program to - install the game to your hard disk. As the installer is DOS-based, - you may not be able to do this on 64-bit versions of Windows. In - this case, the best suggestion is to use a DOS emulator (such as - DOSbox) to run the installer. + * If you have a floppy disk version, you will need to run the install + program to install the game to your hard disk. As the installer is + DOS-based, you may not be able to do this on 64-bit versions of + Windows. In this case, the easiest suggestion is to use a DOS + emulator (such as DOSbox) to run the installer. #else - * If the IWAD files are not directly available on the CD, or you have - a floppy disk version, installation is more difficult. The best - suggestion is to use a DOS emulator (such as DOSbox) to run the - installer. + * If you have a floppy disk version, installation is more difficult. + The easiest suggestion is to use a DOS emulator (such as DOSbox) to + run the installer. #endif * As an alternative to using an emulator, it is possible to extract - the files manually. On the install disk(s), you will find several - files with numbered extensions (with CD versions there may be a - single large file with the extension .1, eg. "resource.1"). + the files manually. On the install disk(s), you will find several + files with numbered extensions (eg. "doom_se.1"). From the command line it is possible to combine these files into a single large file, using a command similar to the following: @@ -219,7 +220,7 @@ Music support Chocolate Doom includes OPL emulation code that accurately reproduces the way that the in-game music sounded under DOS when using an -Adlib/Soundblaster card. This is, however, not to everyone's taste. +Adlib/Soundblaster card. This is, however, not to everyone's taste. #if _WIN32 Better quality MIDI playback is possible by using Windows' native @@ -244,10 +245,18 @@ be found here: http://www.doomworld.com/idgames/index.php?id=13928 (Doom idgames archive, /sounds/eawpats.zip) +Chocolate Doom also has provides a very limited form "emulation" of +the Gravis Ultrasound (GUS) card, using Timidity's GUS patch file +support. To use this requires a copy of the GUS patch files, found +here: + + http://www.doomworld.com/idgames/index.php?id=17127 + (Doom idgames archive, /music/dgguspat.zip) + #ifn PRECOMPILED -When compiling from source, be sure to compile and install timidity +When compiling from source, be sure to compile and install Timidity before installing SDL_mixer. -#endif +#endif # vim: tw=70 diff --git a/man/Makefile.am b/man/Makefile.am index 618c0bde..c8811db3 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -1,26 +1,87 @@ -MANPAGE_GEN_FILES=manpage.template docgen default.cfg.template extra.cfg.template +MANPAGE_GEN_FILES=\ + doom.template \ + heretic.template \ + hexen.template \ + strife.template \ + docgen \ + default.cfg.template \ + extra.cfg.template docdir=$(prefix)/share/doc/@PACKAGE@ if HAVE_PYTHON -man_MANS=chocolate-doom.6 \ - chocolate-server.6 \ - chocolate-setup.6 \ - default.cfg.5 \ - $(PACKAGE).cfg.5 +man_MANS=chocolate-server.6 \ + chocolate-setup.6 \ + chocolate-doom.6 \ + default.cfg.5 \ + chocolate-doom.cfg.5 \ + chocolate-heretic.6 \ + heretic.cfg.5 \ + chocolate-heretic.cfg.5 \ + chocolate-hexen.6 \ + hexen.cfg.5 \ + chocolate-hexen.cfg.5 \ + chocolate-strife.6 \ + strife.cfg.5 \ + chocolate-strife.cfg.5 nodist_doc_DATA=INSTALL + + chocolate-doom.6: ../src $(MANPAGE_GEN_FILES) - ./docgen -m manpage.template ../src > $@ + ./docgen -g doom -m doom.template ../src ../src/doom > $@ default.cfg.5: ../src default.cfg.template - ./docgen -m default.cfg.template -c default.cfg ../src > $@ + ./docgen -g doom -m default.cfg.template \ + -c default ../src/m_config.c > $@ + +chocolate-doom.cfg.5: ../src extra.cfg.template + ./docgen -g doom -m extra.cfg.template \ + -c extended ../src/m_config.c > $@ + + + +chocolate-heretic.6: ../src $(MANPAGE_GEN_FILES) + ./docgen -g heretic -m heretic.template ../src ../src/heretic > $@ + +heretic.cfg.5: ../src default.cfg.template + ./docgen -g heretic -m default.cfg.template \ + -c default ../src/m_config.c > $@ + +chocolate-heretic.cfg.5: ../src extra.cfg.template + ./docgen -g heretic -m extra.cfg.template \ + -c extended ../src/m_config.c > $@ + + + +chocolate-hexen.6: ../src $(MANPAGE_GEN_FILES) + ./docgen -g hexen -m hexen.template ../src ../src/hexen > $@ + +hexen.cfg.5: ../src default.cfg.template + ./docgen -g hexen -m default.cfg.template \ + -c default ../src/m_config.c > $@ + +chocolate-hexen.cfg.5: ../src extra.cfg.template + ./docgen -g hexen -m extra.cfg.template \ + -c extended ../src/m_config.c > $@ + + + +chocolate-strife.6: ../src $(MANPAGE_GEN_FILES) + ./docgen -g strife -m strife.template ../src ../src/strife > $@ + +strife.cfg.5: ../src default.cfg.template + ./docgen -g strife -m default.cfg.template \ + -c default ../src/m_config.c > $@ + +chocolate-strife.cfg.5: ../src extra.cfg.template + ./docgen -g strife -m extra.cfg.template \ + -c extended ../src/m_config.c > $@ + -$(PACKAGE).cfg.5: ../src extra.cfg.template - ./docgen -m extra.cfg.template -c $(PACKAGE).cfg ../src > $@ INSTALL: INSTALL.template ./simplecpp -DPRECOMPILED < INSTALL.template > $@ @@ -19,7 +19,7 @@ # # For configuration file values: # -# //! @begin_config_file myconfig.cfg +# //! @begin_config_file myconfig # # //! # // Description of the configuration file value. @@ -34,6 +34,8 @@ import re import glob import getopt +INCLUDE_STATEMENT_RE = re.compile("@include\s+(\S+)") + # Find the maximum width of a list of parameters (for plain text output) def parameter_list_width(params): @@ -160,6 +162,7 @@ class Parameter: self.platform = None self.category = None self.vanilla_option = False + self.games = None def should_show(self): return not self.vanilla_option or show_vanilla_options @@ -184,12 +187,21 @@ class Parameter: self.category = data elif option_type == "vanilla": self.vanilla_option = True + elif option_type == "game": + self.games = re.split(r'\s+', data.strip()) else: raise "Unknown option type '%s'" % option_type else: self.text += text + " " + def _games_only_text(self, pattern="(%s only)"): + if not match_game and self.games: + games_list = ", ".join(map(str.capitalize, self.games)) + return " " + (pattern % games_list) + else: + return "" + def manpage_output(self): result = self.name @@ -205,7 +217,7 @@ class Parameter: escaped = re.sub('\\\\', '\\\\\\\\', self.text) - result += escaped + "\n" + result += escaped + self._games_only_text() + "\n" return result @@ -221,6 +233,7 @@ class Parameter: if self.platform: result += "'''(%s only)'''" % self.platform + result += self._games_only_text("'''(%s only)'''") return result @@ -243,6 +256,8 @@ class Parameter: if self.platform: description += " (%s only)" % self.platform + description += self._games_only_text() + # Build the complete text for the argument # Split the description into words and add a word at a time @@ -291,18 +306,25 @@ def add_wiki_links(text): def add_parameter(param, line, config_file): + # If we're only targeting a particular game, check this is one of + # the ones we're targeting. + + if match_game and param.games and match_game not in param.games: + return + # Is this documenting a command line parameter? - match = re.search('M_CheckParm(WithArgs)?\s*\(\s*"(.*?)"', line) + match = re.search('(M_CheckParm(WithArgs)|M_ParmExists)?\s*\(\s*"(.*?)"', + line) if match: - param.name = match.group(2) + param.name = match.group(3) categories[param.category].add_param(param) return # Documenting a configuration file variable? - match = re.search('CONFIG_VARIABLE_\S+\s*\(\s*(\S+?),', line) + match = re.search('CONFIG_VARIABLE_\S+\s*\(\s*(\S+?)\),', line) if match: param.name = match.group(1) @@ -357,9 +379,9 @@ def process_file(file): if match: # Beginning a configuration file - filename = match.group(1) - current_config_file = ConfigFile(filename) - config_files[filename] = current_config_file + tagname = match.group(1) + current_config_file = ConfigFile(tagname) + config_files[tagname] = current_config_file else: # Start of a normal comment param = Parameter() @@ -367,26 +389,31 @@ def process_file(file): finally: f.close() -def process_files(dir): +def process_files(path): # Process all C source files. - if os.path.isdir(dir): - files = glob.glob(dir + "/*.c") + if os.path.isdir(path): + files = glob.glob(path + "/*.c") for file in files: process_file(file) else: # Special case to allow a single file to be specified as a target - process_file(dir) + process_file(path) def print_template(template_file, content): f = open(template_file) try: for line in f: - line = line.replace("@content", content) - print(line.rstrip()) + match = INCLUDE_STATEMENT_RE.search(line) + if match: + filename = match.group(1) + print_template(filename, content) + else: + line = line.replace("@content", content) + print(line.rstrip()) finally: f.close() @@ -416,22 +443,25 @@ def plaintext_output(targets, template_file): print_template(template_file, content) def usage(): - print("Usage: %s [-V] [-c filename ]( -m | -w | -p ) <directory>" \ + print("Usage: %s [-V] [-c tag] [-g game] ( -m | -w | -p ) <dir>..." \ % sys.argv[0]) print(" -c : Provide documentation for the specified configuration file") + print(" (matches the given tag name in the source file)") print(" -m : Manpage output") print(" -w : Wikitext output") print(" -p : Plaintext output") print(" -V : Don't show Vanilla Doom options") + print(" -g : Only document options for specified game.") sys.exit(0) # Parse command line -opts, args = getopt.getopt(sys.argv[1:], "m:wp:c:V") +opts, args = getopt.getopt(sys.argv[1:], "m:wp:c:g:V") output_function = None template = None doc_config_file = None +match_game = None for opt in opts: if opt[0] == "-m": @@ -446,14 +476,16 @@ for opt in opts: show_vanilla_options = False elif opt[0] == "-c": doc_config_file = opt[1] + elif opt[0] == "-g": + match_game = opt[1] -if output_function == None or len(args) != 1: +if output_function == None or len(args) < 1: usage() else: - # Process specified files - process_files(args[0]) + for path in args: + process_files(path) # Build a list of things to document diff --git a/man/doom.template b/man/doom.template new file mode 100644 index 00000000..b587d153 --- /dev/null +++ b/man/doom.template @@ -0,0 +1,41 @@ +.TH chocolate\-doom 6 +.SH NAME +chocolate\-doom \- historically compatible Doom engine +.SH SYNOPSIS +.B chocolate\-doom +[\fIOPTIONS\fR] +.SH DESCRIPTION +.PP +Chocolate Doom is a port of Id Software's 1993 game "Doom" that is designed +to behave as similar to the original DOS version of Doom as is possible. +.br +@content +.SH ENVIRONMENT +This section describes environment variables that control Chocolate Doom's +behavior. +@include environ.man +.SH FILES +.TP +\fB$HOME/.chocolate-doom/default.cfg\fR +The main configuration file for Chocolate Doom. See \fBdefault.cfg\fR(5). +.TP +\fB$HOME/.chocolate-doom/chocolate-doom.cfg\fR +Extra configuration values that are specific to Chocolate Doom and not +present in Vanilla Doom. See \fBchocolate-doom.cfg\fR(5). +.SH SEE ALSO +\fBchocolate-server\fR(6), +\fBchocolate-setup\fR(6), +\fBchocolate-heretic\fR(6), +\fBchocolate-hexen\fR(6), +\fBchocolate-strife\fR(6) +.SH AUTHOR +Chocolate Doom is written and maintained by Simon Howard. It is based on +the LinuxDoom source code, released by Id Software. +.SH COPYRIGHT +Copyright \(co id Software Inc. +Copyright \(co 2005-2013 Simon Howard. +.br +This is free software. You may redistribute copies of it under the terms of +the GNU General Public License <http://www.gnu.org/licenses/gpl.html>. +There is NO WARRANTY, to the extent permitted by law. + diff --git a/man/environ.man b/man/environ.man new file mode 100644 index 00000000..502e965c --- /dev/null +++ b/man/environ.man @@ -0,0 +1,25 @@ +.TP +\fBDOOMWADDIR\fR, \fBDOOMWADPATH\fR +These environment variables provide paths to search for Doom .WAD files when +looking for a game IWAD file or a PWAD file specified with the `-file' option. +\fBDOOMWADDIR\fR specifies a single path in which to look for WAD files, +while \fBDOOMWWADPATH\fR specifies a colon-separated list of paths to search. +.TP +\fBPCSOUND_DRIVER\fR +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). +.TP +\fBOPL_DRIVER\fR +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. + diff --git a/man/heretic.template b/man/heretic.template new file mode 100644 index 00000000..e9afa96d --- /dev/null +++ b/man/heretic.template @@ -0,0 +1,43 @@ +.TH chocolate\-heretic 6 +.SH NAME +chocolate\-heretic \- historically compatible Heretic engine +.SH SYNOPSIS +.B chocolate\-heretic +[\fIOPTIONS\fR] +.SH DESCRIPTION +.PP +Chocolate Heretic is a port of Raven Software's 1994 game "Heretic" that +aims to behave as similar to the original DOS version of Heretic as +possible. +.br +@content +.SH ENVIRONMENT +This section describes environment variables that control Chocolate Heretic's +behavior. +@include environ.man +.SH FILES +.TP +\fB$HOME/.chocolate-doom/heretic.cfg\fR +The main configuration file for Chocolate Heretic. See \fBheretic.cfg\fR(5). +.TP +\fB$HOME/.chocolate-doom/chocolate-heretic.cfg\fR +Extra configuration values that are specific to Chocolate Heretic and not +present in Vanilla Heretic. See \fBchocolate-heretic.cfg\fR(5). +.SH SEE ALSO +\fBchocolate-doom\fR(6), +\fBchocolate-hexen\fR(6), +\fBchocolate-server\fR(6), +\fBchocolate-setup\fR(6) +.SH AUTHOR +Chocolate Heretic is part of the Chocolate Doom project, written and +maintained by Simon Howard. It is based on the Heretic source code, +released by Raven Software. +.SH COPYRIGHT +Copyright \(co id Software Inc. +Copyright \(co Raven Software Inc. +Copyright \(co 2005-2013 Simon Howard. +.br +This is free software. You may redistribute copies of it under the terms of +the GNU General Public License <http://www.gnu.org/licenses/gpl.html>. +There is NO WARRANTY, to the extent permitted by law. + diff --git a/man/hexen.template b/man/hexen.template new file mode 100644 index 00000000..4c0524a4 --- /dev/null +++ b/man/hexen.template @@ -0,0 +1,43 @@ +.TH chocolate\-hexen 6 +.SH NAME +chocolate\-hexen \- historically compatible Hexen engine +.SH SYNOPSIS +.B chocolate\-hexen +[\fIOPTIONS\fR] +.SH DESCRIPTION +.PP +Chocolate Hexen is a port of Raven Software's 1995 game "Hexen" that +aims to behave as similar to the original DOS version of Hexen as +possible. +.br +@content +.SH ENVIRONMENT +This section describes environment variables that control Chocolate Hexen's +behavior. +@include environ.man +.SH FILES +.TP +\fB$HOME/.chocolate-doom/hexen.cfg\fR +The main configuration file for Chocolate Hexen. See \fBhexen.cfg\fR(5). +.TP +\fB$HOME/.chocolate-doom/chocolate-hexen.cfg\fR +Extra configuration values that are specific to Chocolate Hexen and not +present in Vanilla Hexen. See \fBchocolate-hexen.cfg\fR(5). +.SH SEE ALSO +\fBchocolate-doom\fR(6), +\fBchocolate-heretic\fR(6), +\fBchocolate-server\fR(6), +\fBchocolate-setup\fR(6) +.SH AUTHOR +Chocolate Hexen is part of the Chocolate Doom project, written and +maintained by Simon Howard. It is based on the Hexen source code, +released by Raven Software. +.SH COPYRIGHT +Copyright \(co id Software Inc. +Copyright \(co Raven Software Inc. +Copyright \(co 2005-2013 Simon Howard. +.br +This is free software. You may redistribute copies of it under the terms of +the GNU General Public License <http://www.gnu.org/licenses/gpl.html>. +There is NO WARRANTY, to the extent permitted by law. + diff --git a/man/manpage.template b/man/manpage.template deleted file mode 100644 index 41f06dc0..00000000 --- a/man/manpage.template +++ /dev/null @@ -1,63 +0,0 @@ -.TH chocolate\-doom 6 -.SH NAME -chocolate\-doom \- historically compatible doom engine -.SH SYNOPSIS -.B chocolate\-doom -[\fIOPTIONS\fR] -.SH DESCRIPTION -.PP -Chocolate Doom is a modern doom engine designed to behave -as similar to the original doom game as is possible. -.br - -@content - -.SH ENVIRONMENT -This section describes environment variables that control Chocolate Doom's -behavior. -.TP -\fBDOOMWADDIR\fR, \fBDOOMWADPATH\fR -These environment variables provide paths to search for Doom .WAD files when -looking for a game IWAD file or a PWAD file specified with the `-file' option. -\fBDOOMWADDIR\fR specifies a single path in which to look for WAD files, -while \fBDOOMWWADPATH\fR specifies a colon-separated list of paths to search. -.TP -\fBPCSOUND_DRIVER\fR -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). -.TP -\fBOPL_DRIVER\fR -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. -.SH FILES -.TP -\fB$HOME/.chocolate-doom/default.cfg\fR -The main configuration file for Chocolate Doom. See \fBdefault.cfg\fR(5). -.TP -\fB$HOME/.chocolate-doom/chocolate-doom.cfg\fR -Extra configuration values that are specific to Chocolate Doom and not -present in Vanilla Doom. See \fBchocolate-doom.cfg\fR(5). -.SH SEE ALSO -\fBchocolate-server\fR(6), -\fBchocolate-setup\fR(6) -.SH AUTHOR -Chocolate Doom is written and maintained by Simon Howard. It is based on -the LinuxDoom source code, released by Id Software. -.SH COPYRIGHT -Copyright \(co id Software Inc. -Copyright \(co 2005-8 Simon Howard. -.br -This is free software. You may redistribute copies of it under the terms of -the GNU General Public License <http://www.gnu.org/licenses/gpl.html>. -There is NO WARRANTY, to the extent permitted by law. - diff --git a/man/strife.template b/man/strife.template new file mode 100644 index 00000000..ddcc12f9 --- /dev/null +++ b/man/strife.template @@ -0,0 +1,83 @@ +.TH chocolate\-strife 6 +.SH NAME +chocolate\-strife \- historically compatible strife engine +.SH SYNOPSIS +.B chocolate\-strife +[\fIOPTIONS\fR] +.SH DESCRIPTION +.PP +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 below). + +@content + +.SH ENVIRONMENT +This section describes environment variables that control Chocolate Strife's +behavior. +@include environ.man + +.SH FILES +.TP +\fB$HOME/.chocolate-doom/strife.cfg\fR +The main configuration file for Chocolate Strife. See \fBstrife.cfg\fR(5). +.TP +\fB$HOME/.chocolate-doom/chocolate-strife.cfg\fR +Extra configuration values that are specific to Chocolate Strife and not +present in Vanilla Strife. See \fBchocolate-strife.cfg\fR(5). +.SH SEE ALSO +\fBchocolate-doom\fR(6), +\fBchocolate-server\fR(6), +\fBchocolate-setup\fR(6) + +.SH HISTORY +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. + +.SH LEGALITY +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. + +.SH BUGS +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. + +.SH AUTHORS +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. +.SH COPYRIGHT +Copyright \(co id Software Inc. +Copyright \(co 2005-2013 Simon Howard, James Haley, Samuel Villarreal. +.br +This is free software. You may redistribute copies of it under the terms of +the GNU General Public License <http://www.gnu.org/licenses/gpl.html>. +There is NO WARRANTY, to the extent permitted by law. + |