=============================================================================== Samuel 'Kaiser' Villarreal and James 'Quasar' Haley Present C H O C O L A T E ______________________________._________________________ / _____/\__ ___/\______ \ \_ _____/\_ _____/ \_____ \ | | | _/ || __) | __)_ / \ | | | | \ || \ | \ /_______ / |____| |____|_ /___|\___ / /_______ / \/ \/ \/ \/ Beta Release 2 2011-06-29 =============================================================================== * 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 two 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 effectively legal permission. 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? * - Netplay is not currently possible, because the raven-branch version of Chocolate Doom does not yet have a working, coherent networking engine that can support any of the games except for Doom. This is also currently in progress by fraggle. - Portions of the status bar flash when resizing the screen. We believe this is due to lack of the vanilla executable's "dirty rectangles" refresh system, which may need to be adjusted with a brute-force workaround. - v1.31 emulation is not complete yet. This means that you cannot currently select a separate save file (only the v1.2 version of the code is in place right now). The final Chocolate Strife version will be able to act like either v1.2 *or* v1.31, including all of the known differences between the two executables (which number around 5 total). - 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. -novoices 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). (More to come: -random) * 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. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 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 Beta 2 * + Corrected one of the Rebels' random dialogue messages. + Total play times > 1 hour display correctly on the objective popup. + Ammo and max ammo appear on the player stats popup. + Underscores in text are skipped by HUD text drawing routines. + Keys popup is implemented in single-player mode. + Color translation table problems repaired. + Dialogue text can be properly toggled and state is saved in the config file. + -novoices, -work, and -flip added. + Chat macro ordering repaired. + Sound is no longer treated specially on MAP08. + Fire flicker sector lighting behavior now matches vanilla Strife. + Peasant walking behavior now matches vanilla Strife. + Players experience a small amount of friction when airborne. + IWAD demo stays in sync. + Crash in P_GiveBody corrected when receiving stat upgrades for destroying the factory's converter. + First frame of the good ending now displays correctly. + Player changes to new Sigil automatically when receiving the next piece. + Sounds are no longer subject to zone heap memory limitations (special thanks to fraggle). + Automap uses correct background color. + Scanner is now depleted from the inventory when used. + No more crash due to negative numspechit in P_XYMovement (undefined behavior in the original EXE cannot be perfectly emulated). + Player can jump using the mouse. + Voice volume setting in menu is functional. + Merged with much more recent Chocolate Doom trunk.