.;oOXNWWXOd;
    .:x0000KXNWWWWWXx;
  .oK000OOOO0XXWWNNWNXKl
 ;O000O.        ..,xWNNNX;                                                 TM
cXXNXKX.   ,ddd,    xNWMWN,     xxx:   :xxx.                     xxxxxdl'
XWNNNNW.   'ddo,   .kXNWKkl'   .MMNW. .WXNM.   .,,.      ',,.   .MM;'.,dMx
WWWWWWW.         .cO0K0. ;lkMd .MMlM0 xM;KM. :NKll0Wo  xWkcoXX; .MM.    OM;
KNWWWWW.   :Oo.   'KNNl .ccl0K..MM.OMxWO KM..WX    XM'cMO   .MW..MM.    0M,
:WWWNNX.   cXXK'   .kNx .l:;x: .MM.'MMM' KM. kMd..oMK .XN:.'xMd .MMc;;:kMl
 ;XNXXKc:::xNWWNl;;,,xOd,'do;   ll  ;l:  :l   'cddl,    ,ldoc.   lllllc;.
  .lKWWNNWWWWWNXKK0OOOx;
     ;d0WWMMWWNXK00xc'
        ,d0NNNXKxc'

This documentation was written by GhostlyDeath (ghostlydeath@gmail.com).
ReMooD (C) 2006-2009 GhostlyDeath, 2006-2009 ReMooD Team. The ReMooD Name and Logo are trademarks of GhostlyDeath (ghostlydeath@gmail.com).

Table of Contents

Introduction

ReMooD is a Doom Source Port based off Doom Legacy 1.42 which is under the GNU General Public License (at least version 2). Thank you for playing ReMooD, we hope you enjoy it! -- The ReMooD Team

ReMooD Team

Additional Credits

Resources

System Requirements

The ReMooD Team recommends that you meet the following system requirements:

ReMooD has been tested on these systems and has been confirmed it works:

Installation

Windows

You may either use the installer or install it manually via the ZIP file. Note to Windows Vista Users: ReMooD can be placed in Program Files. Configurations will be placed in your home folder (ex: C:\Users\UserName\ReMooD, C:\Documents and Settings\UserName\ReMooD, ...).

Linux

Debian and Ubuntu

After downloading the Debian packages, you may use the `dpkg -i package` command to install ReMooD where package is the .deb you downloaded.

Other

After downloading and extracting the source code, you can use the make command to build ReMooD. Please note you require libSDL. Any built binaries will be placed in bin/.

After using the installation (or manual extraction), you should place an IWAD from any copy of Doom or Freedoom.

Changes

! = Note/Warning/Bug
* = Change/Fix
+ = Addition
- = Removal

From: ReMooD 0.7c "Baker's Dozen" [Wednesday, December 31, 2008]
To  : ReMooD 0.8a "Chicken Noodle Soup" [Saturday, February 28, 2009]
===============================================================================
* Backend/Memory: Use segmented memory manager. [GhostlyDeath]
* Backend/SDL: New SDL Sound Code. [GhostlyDeath]
* Backend/WAD: Fix W_CacheRawAsPic logical error which caused Heretic to crash at the title screen. [GhostlyDeath]
* Game/Console: Deprecated "legacymouse", use "m_legacymouse" instead. [GhostlyDeath]
* Game/Console: Deprecated "mousesens", use "m_xsensitivity" instead. [GhostlyDeath]
* Game/Console: Deprecated "mouseseny", use "m_ysensitivity" instead. [GhostlyDeath]
* Game/Heretic: Tomed Wand effect is now correct. [GhostlyDeath]
* Game/Items: Unified Doom and Heretic weaponry and ammo, if desired, it will be possible to get every weapon including doom ones, as long as there are sprites. [GhostlyDeath]
* Game/Items: Infinite ammo no longer constantly sets the ammunition of a fired gun to 100. [GhostlyDeath]
* Game/Menus: Fixed menus to work in Heretic. [GhostlyDeath]
* Game/Menus: Video Options Menu Title is now spelt correctly. [GhostlyDeath]
* Game/Menus: Changed "Frag's Weapon Falling" to "Drop Weapons when you die", the latter makes more sense. [GhostlyDeath]
* Game/Menus: Don't try to play Doom 2 sounds when quitting a Doom game. [GhostlyDeath]
* Game/Mouse: Maximum Mouse sensitivity increased from 40 to 160. [GhostlyDeath]
* Game/Profiles: Fix near buffer overflow when changing profile names. [GhostlyDeath]
* Game/Video: Everything is now scaled by floating point math. [GhostlyDeath]
* Resources/WAD: Recreated TRANSMED, TRANSMOR, TRANSHI. [GhostlyDeath]
* Source/Global: Fix typo in doomstat.h. [GhostlyDeath]
* Source/Global: Clean d_clisrv.h. [GhostlyDeath]
* Source/Interface: Move interface code in src/ to sdl/ and palmos/. [GhostlyDeath]
* Source/Interface: Move interface code (from sdl/, oldsdl/, palmos/) into isrc/. [GhostlyDeath]
* Source/Makefile: Renamed "makefile" to "GNUmakefile" to favor GNU make. [GhostlyDeath]
* Source/Utilities: Move master/ and launcher/ into util/. [GhostlyDeath]
* Source/Renderer: Changed visplane code to not use padding. [GhostlyDeath].
+ Backend/Memory: Add -lowmem parameter, which reduces memory usage. [GhostlyDeath].
+ Backend/SDL: Add ability to play analog sounds (in Sine, Square, Rectangle, Sawtooth, Sine Square (Sine with Square rules), and Absolute Sine waveforms). [GhostlyDeath]
+ Backend/SDL: If a DPxxxxxx lump is not found try a xxxxxx~P (name suffixed) lump instead. [GhostlyDeath]
+ Backend/Video: Add -highcolor for 16-bit color mode (if it is ever finished). [GhostlyDeath]
+ Game/Menus: Added a new option to change your cursor blinking rate (Under Miscellaneous). [Demyx]
+ Game/Cheats: Added "gimme otherweapons" for weapons not in the game. [GhostlyDeath]
+ Game/Cheats: Added "gimme all" which gives you everything. [GhostlyDeath]
+ Game/Configuration: Game setup options are now saved (M_Init() was moved back before FirstLoadConfig()). [GhostlyDeath]
+ Game/Console: Added aliases and deprecation support for command. [GhostlyDeath]
+ Game/Console: Added an option to allow the console box to not be drawn. [GhostlyDeath]
+ Game/Heretic: Heretic is now supported. [GhostlyDeath]
+ Game/Renderer: Added color bars between players. [GhostlyDeath]
+ Game/Weapons: Added slot based weaponry. [GhostlyDeath]
+ Resources/Icon: Added R-less ReMooD Globe Icon. [GhostlyDeath]
+ Resources/Launcher: Added splash screen graphic for the launcher which is based on my splash screen style. [GhostlyDeath]
+ Resources/WAD: Took Odamex's Large Font and renamed it to FONTC (Because FONTB is used by Heretic and loading remood.wad would conflict). [GhostlyDeath]
+ Resources/WAD: Add analog version of DSJUMP resulting in DPJUMP. [GhostlyDeath]
+ Source/Interface: Add Palm OS Interface. [GhostlyDeath]
+ Source/Projects: Add x64 target to Visual C++ 9 Project, thanks StasBFG. [GhostlyDeath]
- Game/Levels: Removed -devparm flat list code. [GhostlyDeath]
- Game/Renderer: Remove resolution cap of 1280x1024. [GhostlyDeath]
- Source/Global: Remove rdf. [GhostlyDeath]
- Source/Global: Remove d_netfil. [GhostlyDeath]
- Source/Global: Remove filesrch. [GhostlyDeath]
- Source/Global: Remove searchp. [GhostlyDeath]
- Source/Global: Remove i_sound_sdl.h. [GhostlyDeath]

From: ReMooD 0.7b "Pancakes!" [Saturday, July 12, 2008]
To  : ReMooD 0.7c "Baker's Dozen" [Wednesday, December 31, 2008]
===============================================================================
* Backend/SDL: Stereo Reverse now works. [GhostlyDeath]
* Backend/WAD: Rewrote IWAD finding code to be more efficient (search order: doom2, doom2f, udoom, doom, plutonia, tnt, chex1, doom1, freedoom, freedm). [GhostlyDeath]
* Backend/WAD: Rewrote PWAD finding code to be more efficient. [GhostlyDeath]
* Game/Input: Fixed speed turning in split-screen mode. [GhostlyDeath]
* Game/Input: Fixed Next/Prev Weapon toggling. [GhostlyDeath]
* Game/Logic: Hitscan autoaim is now correct. [GhostlyDeath]
* Game/Logic: The player's viewheight is now corrected when standing on a Z moving object. [GhostlyDeath]
* Game/Configuration: Configuration settings now load in the following order: -config, -cdrom (Windows Only), Working Directory then your Home Directory. [GhostlyDeath]
* Game/Configuration: Configurations are now saved regardless of whether it was correctly loaded or not. [GhostlyDeath]
* Game/Console: Restartlevel can no longer be used on demo's, as it screws them up. [Demyx]
* Game/Console: You can no longer use the console command "exitgame" when you are playing a demo or on the titlescreen. [Demyx]
* Game/Console: "Pause" is no longer allowed anywhere except when you are playing in game or in intermission. [Demyx]
* Game/Console: Changed version internal version from Doom Legacy 1.42 to ReMooD 0.7c "Baker's Dozen". [Demyx]
* Game/Console: Fixed broken "exitlevel" command. [Demyx]
* Game/Menus: Added missing y or n on Endgame. [Demyx]
* Game/Menus: Added missing Nightmare verification on skill selection. [Demyx]
* Game/Renderer: Just return from some renderer functions if some of the values are incorrect. [GhostlyDeath]
* Game/Renderer: When looking up patch's lump numbers, search between marker lumps (PP_, P3_, P2_, then P1_), if no lumps are found, do a W_GetNumForName for Legacy compatibility; this fixes problems where flats or other lumps share the same names as patches. [GhostlyDeath]
* Game/Renderer: Do not draw flats at or past the viewheight. [GhostlyDeath]
* Game/Scripting: Renamed FraggleScript to Legacy Script to emphasize Legacy more. [GhostlyDeath]
* Game/Setup: Detect for HeXeN maps, if the map turns out to be one, go back to the titlescreen. [GhostlyDeath]
* Game/Timing: Better performance, uses less CPU when not needed, however it gets sluggish a bit but it's better than before. [GhostlyDeath]
* Game/Video: Fullscreen now defaults to "No". [GhostlyDeath]
* Resources/WAD: Use "free" smoke sprites. [GhostlyDeath]
* Source/Global: Corrected headers to fit the ReMooD Standard Header. [GhostlyDeath]
* Source/Makefile: Remade makefile. [GhostlyDeath]
* Source/Resource: Version information should now show version information for Non-US English users (Windows). [GhostlyDeath]
+ Backend/Memory: Added "clearcache" command, which will free everything PU_PURGELEVEL and up. [GhostlyDeath]
+ Backend/SDL: Caps Lock can now be used as a bindable key. [GhostlyDeath]
+ Backend/SDL: Added an icon to the SDL Window. [GhostlyDeath]
+ Backend/WAD: Enable full support for DOOMWADDIR and DOOMWADPATH. [GhostlyDeath]
+ Backend/WAD: Enable Odamex style -waddir parameter. [GhostlyDeath]
+ Backend/WAD: Added -remoodwad to specify the location of remood.wad (mainly for the launcher). [GhostlyDeath]
+ Game/Controls: Add Mouse Axis Control, specify what axis on the mouse moves what. [GhostlyDeath]
+ Game/Demos: Added base RDF Demo support. [GhostlyDeath]
+ Game/HUD: Added multiple key indicators as in Boom (ex: Card and Skull instead of just Skull). [GhostlyDeath]
+ Game/Input: Added support for 4 mice with 8 buttons and 4 joysticks with 32 buttons. [GhostlyDeath]
+ Game/Menus: Added Classic Menu. [GhostlyDeath]
+ Game/Music: Music is now supported in Windows. [GhostlyDeath]
+ Game/Options: New Game Options are now saved (they are the ng_ cvars). [GhostlyDeath]
+ Game/Options: Added Infinite Ammo option. [Demyx]
+ Game/Profiles: Added Autoaim option. [GhostlyDeath]
+ Other/Installer: Add NSIS Installer script. [GhostlyDeath]
+ Other/Launcher: Added Win32 Launcher. [GhostlyDeath]
+ Resources/WAD: Took WAD Building code from Odamex. [GhostlyDeath]
+ Resources/WAD: Took DIG* Font from Boom/PrBoom. [GhostlyDeath]
+ Resources/WAD: Took STKEYS# from Boom/PrBoom. [GhostlyDeath]
+ Resources/WAD: Took STRBR12# from Boom/PrBoom. [GhostlyDeath]
+ Source/Debian: "make debian" will create a Debian package for your system. [GhostlyDeath]
+ Source/Misc: Add Multi-Threaded Source Code. [GhostlyDeath]
+ Source/Projects: Added Microsoft Visual C++ 6.0 Project (see PROJECTS for more details). [GhostlyDeath]
+ Source/Projects: Added Bloodshev Dev-C++ Project (see PROJECTS for more details). [GhostlyDeath]
+ Source/Projects: Added Code::Blocks Project (see PROJECTS for more details). [GhostlyDeath]
- Game/Input: Removed mouse scaling. [GhostlyDeath]
- Source/Bots: Removed old bot code. [GhostlyDeath]
- Source/Documentation: Removed RULES, it had bad spelling and grammer and doesn't quite fit in ReMooD as of now. [GhostlyDeath]
- Source/Documentation: Removed TODO. [GhostlyDeath]
- Source/Documentation: Removed some of the old Legacy Documents. [GhostlyDeath]
- Source/Heretic: Removed deprecated Heretic files. [GhostlyDeath]
- Source/Music: Removed unused qmus2mid Code. [GhostlyDeath]
- Source/Network: Removed deprecated code. [GhostlyDeath]
- Source/Projects: Microsoft Visual C++ 9.0 w/ SDL no longer requires DirectX libs. [GhostlyDeath]
- Source/Renderer: Removed profiling code. [GhostlyDeath]
- Source/Renderer: Removed hwsym_sdl, was deprecated. [GhostlyDeath]
- Source/Renderer: Removed deprecated r_draw8.c and r_draw16.c. [GhostlyDeath]

From: ReMooD 0.7a "Banana Cream Pie" [Saturday, March 22, 2008]
To  : ReMooD 0.7b "Pancakes!" [Saturday, July 12, 2008]
===============================================================================
! % 0.7a % The sector limit of 256/512 was for 64-bit versions only and is fixed in this version. [GhostlyDeath]
! % 0.7a % The crash that would happens when ReMooD attempted to load something inside a WAD but got another lump in another WADs data has been fixed (Reading bad data). [GhostlyDeath]
* Backend/Memory: Reverted new memory code, it worked on Linux but not on Windows. The old code has been adjusted to work on 64-bit systems also. [GhostlyDeath]
* Backend/SDL: 22Khz Sounds are now downsampled to 11Khz. [GhostlyDeath]
* Backend/SDL: Things can now only emit a single sound at once. [GhostlyDeath]
* Backend/SDL: Sounds are now updated when the listener and object positions change. [GhostlyDeath]
* Backend/SDL: Fixed some random sound related crashes. [GhostlyDeath]
* Backend/WAD: Fixed logical error in W_LumpsSoFar(), which caused 0.7a to crash when a sprite from an addon WAD as attempted to be drawn. [GhostlyDeath]
* Backend/WAD: Ultimate Doom is now detected correctly. [GhostlyDeath]
* Compiler/VC++: Executables are now "remood.exe" and "remood-dbg.exe" like in the makefile. [GhostlyDeath]
* Game/Cheats: IDDQD now works. [Demyx]
* Game/Cheats: Cheats can now only be used in-game. [GhostlyDeath]
* Game/Menus: Remade all menus. [GhostlyDeath]
* Game/Menus: Reorganized menus and added more options. [GhostlyDeath]
* Game/Misc: "legacy.cfg" is now "remood.cfg". [GhostlyDeath]
* Game/Renderer: Fixed sprite missing rotation(s) crash. [GhostlyDeath]
* Game/Renderer: Fixed crashes due to ylookup being NULL. [GhostlyDeath]
* Game/Renderer: Invisible 3D Floor (LineDef type #306) no longer casts a shadow. [GhostlyDeath]
* Game/Renderer: Monsters with the MF_SHADOW flag set are now drawn using the Doom Fuzz effect like in Classic Doom. [GhostlyDeath]
* Game/Renderer: Improved text colormap creation method. [GhostlyDeath]
* Game/Language: Changed "exit to DOS" strings to match the system the game was compiled for. [GhostlyDeath]
* Game/Levels: If a colormap is not found between C_START and C_END, every WAD is searched for one. [GhostlyDeath]
* Game/Logic: Shooting 2-sided lines without backsectors no longer crashes the game. [GhostlyDeath]
* Game/Logic: Fist and chainsaw now changes the player's view angle like in Classic Doom. [GhostlyDeath]
* Game/Logic: Fixed a bug where when you teleported, you were not stuck for a short time. [GhostlyDeath]
* Game/Skins: Skins are now loaded correctly. [GhostlyDeath]
* Game/Sound: Random sound pitch no longer effects DSRADIO. [GhostlyDeath]
* Source/Global: Major Code Cleanup [GhostlyDeath and Demyx].
* Source/makefile: Remade makefile. [GhostlyDeath]
* System/Linux: Executable is now "remood" instead of "lsdldoom". [GhostlyDeath]
+ Backend/SDL: Added more windowed modes. [GhostlyDeath]
+ Backend/WAD: When an IWAD is not found, the message now tells you where you can get FreeDoom. [GhostlyDeath]
+ Backend/WAD: ReMooD now searches for freedoom.wad and freedm.wad. [GhostlyDeath]
+ Compiler/Anjuta: Added Anjuta Project. [GhostlyDeath]
+ Compiler/KDevelop: Added KDevelop Project. [GhostlyDeath]
+ Compiler/Mingw32: Mingw32 Executables now include resources. [GhostlyDeath]
+ Compiler/VC++: Added Microsoft Visual C++ 2005 Express Project. [Demyx]
+ Game/Automap: Automap can now be overlayed. [GhostlyDeath]
+ Game/Automap: Improved "iddt" cheat in 2nd mode, thing triangles now match the thing's radius and colors indicate what kind of thing it is. [GhostlyDeath]
+ Game/Cheats: Added "summon" cheat which can be used to spawn monsters via Eternity class names. [GhostlyDeath]
+ Game/Demos: Internal demos can now be played via -playdemo. [GhostlyDeath]
+ Game/HUD: Added option which allows the status bar to be transparent. [GhostlyDeath]
+ Game/Menus: Menus now scroll. [GhostlyDeath]
+ Game/Menus: When modifying string values, shift now allows you to use alternate characters (such as '!', '@', etc.). [GhostlyDeath]
+ Game/Misc: Added support for personal profiles (Although it is still in beta stages). [GhostlyDeath]
+ Game/Misc: Added option to disable demos playing on the titlescreen. [Demyx]
+ Game/Multiplayer: Added support for 4-player split screen. [GhostlyDeath]
+ Game/Options: Added options to emulate Classic Doom better. [GhostlyDeath]
+ Game/Renderer: Added Experimental underwater ripple effect when you are under water. [GhostlyDeath]
+ Game/Sound: When swimming underwater, the DSFLOUSH sound is now played. [GhostlyDeath]
+ Source/Menus: Added IT_DISABLED2 menu item flag. [GhostlyDeath]
+ Source/Menus: Added IT_CENTERSTRING menu iten flag. [GhostlyDeath]
- Backend/SDL: Cursor is no longer shown in the ReMooD Window. [GhostlyDeath]
- Backend/SDL_mixer: Dumped support and removed code, it never worked properly anyway. [GhostlyDeath]
- Compiler/VC++: Removed Microsoft Visual C++ 6.0 Project. [GhostlyDeath]
- Game/Heretic: Removed tons of Heretic Code. [GhostlyDeath and Demyx]
- Source/Network: Removed CLIENTPREDICTION2 code. [GhostlyDeath]
- Source/Network: Removed network code. [GhostlyDeath]
- Source/Renderer: Removed hardware renderer support. [GhostlyDeath]
- Source/Renderer: Removed HORIZONTALDRAW, TILTVIEW, PERSPCORRECT and OLDWATER code. [GhostlyDeath]
- Source/Sound: Removed hardware sound support. [GhostlyDeath]

From: Doom Legacy 1.42 "Birthday Edition" [Thursday, April 15, 2004]
To  : ReMooD 0.7a "Banana Cream Pie" [Saturday, March 22, 2008]
===============================================================================
! Levels with more than 256 sectors won't work.
! Can't host or join network games yet (linked to old WAD handling code).
! Save games have not been tested and may or may not work.
! Skies don't seem to work on 64-bit builds.
! 22Khz sounds play at half speed, There appears to be no handling of non 11Khz sounds currently.
! Due to a bug on level precaching, the textures and such are loaded during gameplay.
* Changed CONSBACK to ReMooD Picture.
* Console background is now Red instead of Green.
* ReMooD works on 64-bit systems.
* When starting a server, WADs are no longer check since they would match anyway!
* Updated Most of the headers to the new ReMooD header.
* Switched to SDL for Windows and Linux builds.
* "legacy.dat" is now "remood.wad".
* Linux: Settings are saved in "~/.remood" instead of "~/.legacy".
* Fixed Byte Pointer Reading and Writing Code.
+ Added Advanced Menu.
+ Added Scripts Menu in the Advanced Menu.
+ Added cvar "scr_allowcommandexec", this cvar if enabled allows scripts to execute console commands. Defaults to "No".
+ New WAD Handling Code.
+ New Memory Managing Code.
+ Added Microsoft Visual C++ 2008 Project.
+ Added Non-Functional Code::Blocks Project.
+ Added ReMooD Script Document (incomplete currently) for later implementation.
+ Added "-nodrawsprites" which would not draw any sprites, this was used for testing since there was a problem with sprites, it shouldn't be used anymore.
- Removed Hardware Rendering for now.
- Disabled Bots for now.
- Removed all USEASM and Assembly Code.
- Removed CBLEFT and CBRIGHT.

Compiling

Environment Support

ReMooD contains project files for the following build environments for your convenience.

Build Requirements

To compile ReMooD, you need a C Compiler and libSDL. For a list of suggested C compilers and IDEs, please look at the above list. This guide will not help you setup the IDE or it's settings as it is up to you.

Building On UNIX-like Systems

TIP for Debian/Ubuntu/Xandros Users: Compiling ReMooD requires libsdl1.2-dev, make, libc6-dev, gcc, and the packages they depend on. If these packages are installed you may open a terminal to the location of the ReMooD Source Code and type in "make".

After installing and setting up GCC (or compatible compiler) along with SDL you may type in "make" via a terminal with the directory containing the ReMooD Source Code as the current working directory. If for some reason your system does not have sdl-config you may add SDL_INCLUDE=Location and SDL_LIB=Location to the make command. Location is the exact or relative path to the SDL headers and libraries.

Building On Windows/ReactOS Systems

After installing and setting up a compiler listed above along with SDL, you may open up the corresponding project file and build with it. If you are using Mingw32 compiler then you will need to place the SDL headers and libraries in the Mingw32 include/ and lib/ directories or you may place them in SDL/ inside of the ReMooD Source Code directory.

Building On Other Systems

Compiling ReMooD on non-Intel architectures or systems not listed here may or may not work. The basis of support is allowing ReMooD to compile on these systems. The second stage would be fixing any bugs if any exist that only occur on this certain system. Instructions for compilation can not be provided for these cases. However, you may contribute any project files and/or patches to the code to enable support for these systems.

Troubleshooting/FAQ

Launcher

Q: Whenever I launch ReMooD, another launcher appears.

A: You may have selected the incorrect ReMooD program (the launcher instead of the actual game).

Q: Where are my settings saved?

If "remood-launcher.cfg" does not exist in the current directory then configurations will be placed in your home folder (ex: C:\Users\UserName\ReMooD, C:\Documents and Settings\UserName\ReMooD, ...).

Options

Q: After changing the resolution, it doesn't stay after quiting ReMooD

A: Once you change the resolution, you have to press D to save it.

Q: My settings are not saved

  • A (Game Crashes): If the game crashes before you quit the game, the conifguration will not be saved. If this is the case then you should start ReMooD up, change the options you want to change then quit the game and the settings should be saved assuming it doesn't crash when quitting.
  • A (Write Failure): There may also be a case where you might not have permission to save the configuration file to the disk. There may also not be enough space on the disk or that it may be read only.
    • On Windows systems: In Windows NT/2000/XP/2003/Vista/2008/7, be sure you have permission to write to the folder where you start ReMooD from. If you use the command line to launch the game, the current folder where your configuration will be saved will be indicated in the console (ex: "C:\ReMooD>"). On all Windows versions, you might not have enough disk space or the drive may be read only, you can check this by opening My Computer (or Computer on Windows Vista) which is located on either the Desktop and/or the Start Menu. Once it is open, you can right click on the drive where ReMooD is located to determine the free space remaining. The configuration is usually small
    • On UNIX and UNIX-like systems: There may also be a case where you might not have permission to save the configuration file to the disk. In UNIX and UNIX-like systems, be sure you have write permissions in ~/.remood for your configuration will be placed there. you can use ls -l ~/.remood to check and use chmod to modify the permissions if necessary. There may also be not enough free space on your partition where ~/.remood is located, you can also use the df and check if there is enough space remaining. If it still does not save then you should run mount and determine if the partition containing ~/.remood is read-only ("ro" in flags).

Q: The game crashes at random

A: Anything can cause the game to crash, either the game itself or parts of the system that help the game run. The best way to report crashes is using the information from a debugger, but if that is not available then it is best to determine what steps it takes to reproduce the crash. If you've determined what you have to do to crash the game, report it on the forums, there is a sub-forum for bug posts. This report will be looked at and should be fixed in the next version. DEBUGGERS: If you use the GCC makefile to compile the program, you can add "DEBUG=1" to the parameters and it will create remood-dbg which will contain debugging information. If the crash occurs, please also copy the output of bt and the initial crash message (example: "remood-dbg received signal SIGSEGV at Somewhere()"). If you use Microsoft Visual C+++, please copy the contents of the Call Stack and the initial crash message if possible (example: "Segmentation violation at 0x00000000").

Q: The game crashes when I set a really high resolution

A: High resolutions have been tested and most of the crashes were due to Doom's fixed point limitation, there is no fix for this unless the fixed point number limitation is increased.

Q: When I start the game, the entire screen turns black

A: If the game is running fullscreen then it may not support the selection resolution (default: 320x200). You should disable fullscreen mode by either modifying remood.cfg and set fullscreen off or increase the resolution to something above 320x240 or your desktop resolution (example: 640x480, scr_height is for the screen height and scr_width is the screen width).

Scripting (ReMooD Script, Legacy Script and ReMooD Assembly)

Q: My Legacy Script needs things.h but I get "Compile Warning: include "things.h" not found!", yet everything appears to work correctly?

A: The name of the lump was changed to "THING_H" because deutex does not like periods in the names. When an include is not found, all of the periods in the file are converted into underscores. Scripts that include things.h will still work.

GNU GENERAL PUBLIC LICENSE

Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.

Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.

The precise terms and conditions for copying, distribution and modification follow.

GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

NO WARRANTY

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. <one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>

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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this when it starts in an interactive mode:

Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:

Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.

<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice

This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.