shithub: choc

ref: 350ac122030d198b187255b19b2519ef8267364a
dir: /README.Strife/

View raw version
===============================================================================

          Samuel 'Kaiser' Villarreal and James 'Quasar' Haley Present

           C      H      O      C      O      L      A      T      E
            ______________________________._________________________
           /   _____/\__    ___/\______   \   \_   _____/\_   _____/
           \_____  \   |    |    |       _/   ||    __)   |    __)_
           /        \  |    |    |    |   \   ||     \    |        \
          /_______  /  |____|    |____|_  /___|\___  /   /_______  /
                  \/                    \/         \/            \/

===============================================================================

* What is it? *

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


* Why? *

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. Tools such as IDA Pro have
been employed to disassemble and decompile the executable, which was 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.


* Is it Legal? *

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 as close to legal permission as can be obtained.

The transformed results of the disassembly have been combined with the
raven-branch version of the Chocolate Doom source port by Simon 'fraggle'
Howard, with his direct assistance, and have been released for the benefit of
the community under the GNU General Public License v2.0. See the file "COPYING"
for more details


* Is it Perfect? *

Almost, but not entirely! That's where you come in. Help us by reporting any
discrepancies you may 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.


* What are some known problems? *

- The demo version is *not* supported, and there are not any current plans
  to support it in the future, due to the vast number of differences (the
  demo version of Strife is based on a much earlier beta version of Rogue's
  codebase). You should use a commercial Strife IWAD file, preferably of
  version 1.2 or later.


* How do I use it? *

From the Run box or a command line, issue a command to Chocolate Strife just
like you would run Chocolate Doom. Most of the same command line parameters
are supported.

voices.wad will be read from the same directory as the IWAD, if it can be
found. If it is not found, then voices will be disabled just as would happen
with the vanilla executable. Do not add voices.wad using -file, as that is
redundant and unnecessary.

Some new command-line parameters in Chocolate Strife include the following:

-nograph
  Disables the graphical introduction sequence. -devparm implies this.

-novoice
  Disables voices even if voices.wad can be found.

-work
  Enables Rogue's playtesting mode. Automatic godmode, and pressing the
  inventory drop key will toggle noclipping.

-flip
  Flips player gun graphics. This is buggy, however, because it does not
  reverse the graphics' x offsets (this is an accurate emulation of the
  vanilla engine's behavior).

-random
  Randomizes the timing and location of item respawns in deathmatch, when
  item respawning is enabled.


* Copyright *

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.

This program is distributed in the hope that it will be useful,but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

See the "COPYING" file for the full license text. The source code for this
program is available from the same location where you downloaded this package.

Aside from Chocolate Doom, portions of the code are derived from the Eternity
Engine, Copyright 2011 Team Eternity, as published under the GNU GPL.


* New in v2.0 Release *

+ No infinite loop if menus are up during a screen fade.

+ Peasant death sound during intro plays at normal volume level.

+ Torches no longer produce pipping sounds (special thanks to fraggle).

+ Fade to black occurs at the start of slideshow sequences as in vanilla.

+ Network game support, with up to 8 players.

+ No more infinite horizon effect if screen is resized while looking up or
  down.

+ Corrected default internal Acolyte and Beggar dialogue strings.

+ Proper save game directory behavior (same as other Choco ports).

+ Vanilla behavior for crush-and-raise floor types (special thanks to Gez).

+ Bug fix for all crushing floor types.

+ Broken power coupling awards erroneous quest flag #32, as in vanilla.

+ Complete support for emulation of Strife v1.31, including abililty to save
  on multiple save slots.

+ Telefrags insta-kill as in vanilla (player cannot heal 10000 damage even with
  a full inventory of health items).

+ Frags are displayed on the keys popup during deathmatch.

+ Multiplayer chat features, including ability to set player names, now match
  vanilla behavior.

+ Support for -random parameter.

+ Vanilla behavior when pressing pause on menus with scroll bars (special
  thanks to fraggle and Alexandre Xavier).

+ Merged into Chocolate Doom trunk for v2.0 release.