==================================================================== Eternity Engine v3.33.33 - Frequently Asked Questions ==================================================================== This is a FAQ file for the Windows version of the Eternity Engine. It attempts to address some common problems that may arise during play, but doesn't claim to be a complete list. If problems are encountered not addressed herein, contact the author by email at: haleyjd@hotmail.com or, stop into #zdoom on the OFTC IRC network (irc.oftc.net). More questions will be added in the future. Check the Eternity website to see if a new version of the FAQ has become available. ======== Contents ======== *** Gameplay/General Feature Questions *** Q1. What are those stupid splashes? They look crazy in my TC/wad/etc that wasn't designed for them. Also, the particle gunshots like to change color, and this doesn't look right in my wad either! Q2. I've heard all about your supercool particles, but I don't see any. WTF is up with that? Q3. I looked in the configuration file to change some stuff, and all the messages are screwed up. It says the obituary color is the gamepad device, etc. What's wrong with you? Can't you program?? Q4. Gaw, get with the times man. Where's jumping and mlook?? Q5. Where'd the boxed message option from BOOM go? Q6. Can I log the console so I can read those long lists of stuff while not playing? Q7. How do I get the MBF dogs to play with? There's no menu option for them. Q8. How do I get Eternity to find my IWAD(s) without copying them or the program around? Q9. Does Eternity support netplay? QA. Why does Eternity crash if I use certain WADs or IWADs? QB. Why does Eternity say "eternity.wad not found"? QC. I jumped off a tall building on "The Industrial Zone" and then the DOOM guy started screaming and I died. Am I crazy or is this some kind of bizarre code mutation? Also, why are there feet sounds when I land off short ledges rather than an "oof" like I'm used to? QD. I tried to use an old config file or savegame from DOS Eternity with Eternity for Windows and it screwed up. What now? QE. Why are several of my keyboard keys broken, including the escape key and the enter key for menus? QF. What is the keys.csc file, and can I safely edit it to my liking? QG. Does Eternity support Legacy skins? QH. Can I reset the video mode from the command line? *** System-Specific Questions *** Q1. I'm not getting any digital sound. How about some help here? Q2. MIDI is not working. Why might this be? Q3. I'm getting severe flickering in full-screen mode with my GeForce 4 card. Q4. Can Eternity use my gamepad devices? Q5. Starting Eternity from a command line is a bummer. Is there another, better way to start it? Q6. Eternity just got *way* slower. What could be the cause? Q7. [Deleted] Q8. Why does Eternity say "SDL.dll" or "SDL_mixer.dll" not found? Q9. Does Eternity support dragging and dropping files from the Windows shell? *** Miscellaneous *** Q1. What's the purpose of Eternity in a world so full of source ports? Q2. What features can we expect to see in the Eternity Engine v3.33? Q3. Whodunnit? ===================== Questions and Answers ===================== ===================================================================== Gameplay/General Feature Questions ===================================================================== ===================================================================== Q1: What are those stupid splashes? They look crazy in my TC/wad/etc that wasn't designed for them. Also, the particle gunshots like to change color, and this doesn't look right in my wad either! A1: This is a feature of Eternity called TerrainTypes, which allows the engine to keep information about what flats represent what kind of terrain -- be it water, lava, swamp muck, or what have you. TerrainTypes are now part of the extensive EDF system, and are controlled by definitions in the terrain.edf file, as well as optional ETERRAIN lumps inside wad files. You have two options when playing wads and TCs that might replace flats and make TerrainTypes look inappropriate -- first, you can disable them on the Options->Eternity Options menu, by setting "Terrain effects inactive" to "YES". This'll get rid of them. Or, instead, you could create your own custom EDF which changes, disables, or creates new terrain effects for the wads. See the EDF documentation for full information on TerrainTypes. ===================================================================== Q2. I've heard all about your supercool particles, but I don't see any. WTF is up with that? A2: The various particle effects can be turned on and off from the Options->Video Options->Particle Options menu. All effects are off by default, by user request. ===================================================================== Q3. I looked in the configuration file to change some stuff, and all the messages are screwed up. It says the obituary color is the gamepad device, etc. What's wrong with you? Can't you program?? A3. This is a known problem which has been with the code base since BOOM. It is harmless except for readability, and even better, there's a simple workaround. Just set the very first variable in the file, which looks like this: [0-1(1)] 1 to show help strings about each variable in config file config_help 1 to zero, then run Eternity and exit. The messages will be gone. Set the variable to 1 and run Eternity again, and the messages will be fine. Its just a temporary problem caused when things get out of sync between different versions of Eternity. ===================================================================== Q4. Gaw, get with the times man. Where's jumping and mlook?? A4. While Eternity doesn't have jumping yet, it *does* have full mlook and keylook support. look up, look down, and centerview are bound to the page up, page down, and end keys by default. mlook can be enabled on the Options->Mouse Options menu and through console commands. ===================================================================== Q5. Where'd the boxed message option from BOOM go? A5. This option was removed in SMMU during the heads-up system rewrite. It may be reinstated later. ===================================================================== Q6. Can I log the console so I can read those long lists of stuff while not playing? A6. Yes, this version of Eternity features a new console command, dumplog. To use it, just type the following at the console: dumplog filename and replace "filename" with the name of a file to write all the text to. The text will be appended if the file already exists, so you can use the same log file more than once if you so wish. Eternity now also includes interactive console logging which runs in the background and records all messages as they appear. To run an interactive console log, use the openlog command: openlog filename Again, replace "filename" with the name of a file in which to record the text. If you wish to close an existing interactive log, use the closelog command: closelog This will close the file opened earlier by the openlog command. If Eternity exits without closelog being run, any open console log file will automatically be closed at that time. ===================================================================== Q7. How do I get the MBF dogs to play with? There's no menu option for them. A7. Start up Eternity using the -dog or -dogs n command-line parameters (where n is a number from 1 to 3, depending on how many dogs you want). You can also set the numhelpers console variable while in the game, but this variable will not take effect until the start of the next level :) Example: eternity -dogs 3 You can also summon dogs directly to a map using the "summon" console command with this syntax: summon MBFHelperDog 1 Be sure to include the "1", or the dogs will bite you instead of the monsters! ===================================================================== Q8. How do I get Eternity to find my IWAD(s) without copying them or the program around? A8. There are many ways to get Eternity to find an IWAD. The first is to simply put it in the directory with it. It will use the first recognized IWAD (doom.wad, doom2.wad, doom2f.wad, etc) that it finds. Second, you can set the HOME or DOOMWADDIR environment variables via a DOS prompt or in your AUTOEXEC.BAT file. To do this, simply type set DOOMWADDIR=path where path is the full path, including drive letter, to your IWAD of choice. Note, however, that if the "set" command is not in your AUTOEXEC.BAT file, you will need to launch Eternity from the same command prompt where you entered the set command, since environment variables added in a command session disappear when the session is closed. The final and easiest way is to use the -iwad command-line parameter, like so: eternity -iwad c:\doom\doom.wad Just provide the full path, again. ===================================================================== Q9. Does Eternity support netplay? A9. Not yet. This is definitely on the slate of things to do, however. ===================================================================== QA. Why does Eternity crash if I use certain WADs or IWADs? AA. Many things could conceivably cause Eternity to crash. Among those known are the following: * Some levels which are incorrectly constructed, especially those with bad sidedef references, can cause crashes or at the least, exit with an error message, *even some* which the original DOOM engine tolerated. This is because DOOM, given the "luxury" of lax memory protection under its DOS extender, was able to commit murder and get away with it. Neither DJGPP nor Windows tolerate such bad behavior, so Eternity would be unable to emulate these bugs even if it wanted to do so. Note that Eternity *can* detect and repair some of these bugs automatically, unlike DOOM. * More than once, people have tried to use an IWAD with Eternity which has been converted to zdoom/Hexen format. Eternity does not currently support this map format, and running levels that use it will crash the game quickly. * Eternity may also misinterpret features of other source ports, so in general, do not run levels with it that are designated as being compatible only with other ports. Note that some efforts have been made to consolidate features with other ports, though -- for instance, particle fountains use the same doomednums in both zdoom and Eternity, and thus maps using them would have them in both ports. * Last but not least, there may be an honest-to-goodness bug in Eternity. If you can verify a bug to be repeatable and find a way to trigger it, please write the author about it and send an example level or any instructions if possible. ===================================================================== QB. Why does Eternity say "eternity.wad not found?" AB. Eternity has moved all its added resources into an external resource wad, eternity.wad -- this file is required to run Eternity, and will be loaded automatically before any other wads. Make sure it's in the same directory with any copy of the EXE file, and do *not* add it with -file, as this is totally unnecessary. ===================================================================== QC. I jumped off a tall building on "The Industrial Zone" and then the DOOM guy started screaming and I died. Am I crazy or is this some kind of bizarre code mutation? Also, why are there feet sounds when I land off short ledges rather than an "oof" like I'm used to? AC. Eternity features falling damage, which causes the player to get hurt and possibly even die when falling off tall ledges. As extra bonuses, you also get a wider gradient of floor-hit sounds and even a scream when you fall so far you'll die. To disable all of these features to play levels not designed for it, just go to Options->Eternity Options and set "Falling damage inactive" to "YES" -- the engine now behaves exactly as DOOM did with respect to falling, even with the "oof" sound all the time. Note that God mode and Invulnerability Spheres always protect you from falling damage, no matter what. ===================================================================== QD. I tried to use an old config file or savegame from DOS Eternity with Eternity for Windows and it screwed up. What now? AD. You shouldn't copy over any generated files from DOS Eternity or from any older source ports into Eternity for Windows' directory. Savegames are not backward-compatible and never have been. The old DOS configuration file also does not contain many necessary configuration variables added to Windows, and has inappropriate values for others, especially for non-dynamic key bindings. ===================================================================== QE. Why are several of my keyboard keys broken, including the escape key and the enter key for menus? AE. See the above question. You should not import old config files into Eternity for Windows' directory, as they have bad values for keys and other variables which differ between platforms. ===================================================================== QF. What is the keys.csc file, and can I safely edit it to my liking? AF. keys.csc is the keybindings console script that is executed automatically at startup. It stores all your dynamic keybinding settings that you specify in the game. You can also add your own bindings to the file, or delete undesired ones, by hand if you wish. For that matter, it's also possible to put other console commands besides bindings into keys.csc; however, these commands will not be saved back to the file when the game exits, and so they'll disappear after the first execution. If you want to have an autoexecuted console script, set the cscript_1 and/or cscript_2 variables in the configuration file to point to command script files -- the game will run them at startup right after loading the keybindings ^_^ If you want to restore all default keybindings, simply delete keys.csc and the game will write out the defaults the next time you run it. ===================================================================== QG. Does Eternity support Legacy skins? AG. Yes it does. Simply add a skin wad just like any other wad, and then you can select it from the Features->Multiplayer->Player Setup menu. Currently, Eternity does not remember your skin setting from game to game though, since it cannot easily verify that the skin wad has been loaded. This may be improved in later versions. If you want to autoload a skin wad, use one of the autoloaded wad variables in the configuration file. ===================================================================== QH. Can I reset the video mode from the command line? AH. As of Eternity Engine v3.31 public beta 7, the "-v_mode" command- line parameter can be used to force the video mode to a given value. These are the valid values for the DOS and Windows versions of Eternity. DOS: 0 = 320x200 1 = 320x200 pageflipped 2 = 320x200 VESA 3 = 640x400 4 = 640x400 pageflipped Windows: 0 = 320x200 windowed 1 = 320x200 fullscreen 2 = 320x240 windowed 3 = 320x240 fullscreen 4 = 640x400 windowed 5 = 640x400 fullscreen 6 = 640x480 windowed 7 = 640x480 fullscreen 8 = 800x600 windowed 9 = 800x600 fullscreen 10 = 1024x768 windowed 11 = 1024x768 fullscreen Example of usage: eternity -v_mode 0 This would start up Eternity in 320x200 VGA or 320x200 windowed, depending on the version being used. ===================================================================== ===================================================================== System-Specific Questions ===================================================================== ===================================================================== Q1. I'm not getting any digital sound. How about some help here? A1. Eternity uses SDL for, among other things, digital audio. SDL is a widely tested and stable portability layer. The digital sound code used in Eternity has been tested fairly well, so if there is a problem, it is probably with your system or a conflict between programs -- if there are other sound-playing programs open, try closing them before playing. ===================================================================== Q2. MIDI is not working. Why might this be? A2. Eternity now uses SDL_mixer to play MIDI. Hardware MIDI support is new for this library, so it may still have a few kinks to work out. Eternity will always link against the newest release version of SDL_mixer, so if you're having problems now, they may be fixed in the next release. All the same, please let us know if you are having such problems. ===================================================================== Q3. I'm getting severe flickering in full-screen mode with my GeForce 4 card. A3. This is some type of mysterious driver-specific issue. Make sure you have upgraded to the latest GeForce 4 drivers. Users who had this problem were able to fix it simply by upgrading. ===================================================================== Q4. Can Eternity use my gamepad devices? A4. Yes! Eternity v3.33 for Windows includes robust support for game input devices. You should be able to use any device recognized by Windows that has at least two axes and four buttons. You can enable gamepad usage on the Options->Mouse Options menu, and you can select a recognized device from a list on the Options->Mouse Options->Configure Joystick menu. Note that no device is selected by default, so you will need to pick one the first time you want to use a gamepad device. ===================================================================== Q5. Starting Eternity from a command line is a bummer. Is there another, better way to start it? A5. Yes! The latest version of the official Eternity Engine Frontend is now available at the Team Eternity website. Don't forget about response files, too. You can type up to 100 command line parameters into a text file, separating each with white space, and then use it on the command-line like this: eternity @filename This is very handy when you have the same parameters to type over and over again. Starting with v3.31 beta 3, Eternity now supports quoted long file names in response files. A new alternative is to use a GFS file. See the GFS documentation in the Eternity docs pack for detailed information. Mod authors are encouraged to distribute GFS with their multiple-file projects. As of Eternity Engine v3.31 public beta 4, you can also drag and drop WAD, DEH/BEX, EDF, and GFS files onto the Eternity executable from the Windows shell. See question Q9 below for more information. ===================================================================== Q6. Eternity just got *way* slower. What could be the cause? A6. Many things could cause this, but one is that Eternity's zone heap could be too small. Eternity uses a fancy thing called a zone memory allocator to avoid having to call system memory functions during gameplay. Eternity uses a 16 Megabyte heap by default. If the zone heap is exhausted, Eternity will try to revert to using system memory for new allocations, including virtual memory. If it is forced to do this, however, there may be a significant performance drop. To avoid this, try using the -heapsize parameter, like this: eternity -heapsize 24 The heap size may be set to any value between 8 and 255 MB (this upper limit is a Windows limitation, not an Eternity one). 16 MB is enough memory to play the infamous "nuts.wad" without using system or virtual memory. Other causes for slowdown could be related to Windows. If you have a lot of programs running, close them down, and check your system resources. If you're running Windows 98 and the system is very laggy, try forcing Explorer to shut down and restart -- this can sometimes free up to 40% of lost system resources :) ===================================================================== Q7. This question has been deleted. ===================================================================== Q8. Why does Eternity say "SDL.dll" or "SDL_mixer.dll" not found? A8. Eternity uses the SDL and SDL_mixer libraries for portable multimedia support. These two DLLs are included in the Win32 distribution archive, and should not be deleted unless they are already installed elsewhere on your system. ===================================================================== Q9. Does Eternity support dragging and dropping files from the Windows shell? A9. Yes! Eternity currently supports drag-and-drop loading of any number of WADs and DEH/BEX files, and up to one each of EDF and GFS files. Any file drag-and-dropped onto the executable MUST have the appropriate expected extension for its file type. Files without a recognized extension will be ignored, and any files with inappropriate extensions may cause fatal errors. ===================================================================== ===================================================================== Miscellaneous Questions ===================================================================== ===================================================================== Q1. What's the purpose of Eternity in a world so full of source ports? A1. The Eternity Engine aims to provide features that extend the DOOM experience in a way that is as natural and seamless as possible. It is one of only a few ports that boasts a DOOM compatibility level that is near 100%. New features are all optional and can be individually enabled or disabled by the player; even old v1.9 demos have a good chance of staying in sync, in large part thanks to enhancements shared with prboom. The small amount of work it takes to keep the engine compatible doesn't keep new features out of the it, either. See the next question for some ideas of what will appear in future versions of the Eternity Engine. ===================================================================== Q2. What features can we expect to see in the Eternity Engine v3.33? A2. These features are on the line-up of TODO's for EE v3.33: * Hubs -- still working on fixing these from SMMU * Full Heretic support * Hexen support These features will be Windows-only: * CD audio support -- DOOM to your favorite tunes * Netplay -- this one is likely to be long in coming, though ===================================================================== Q3. Whodunnit? A3. The Eternity Engine is maintained by James "Quasar" Haley and Steven "SoM" McGranahan. It is based on the SMMU port by Simon "fraggle" Howard, which is based on MBF by Lee Killough. MBF was, of course, based on BOOM by TeamTNT. Julian Aubourg, Joel Murdoch, and Anders Åstrand have provided special programming support. Extra special thanks are due to these guys ^_^ Additionally, Eternity features some code derived from the following source ports, to the authors of which credit is due: * zdoom -- Randy Heit * DOOM Legacy -- The Legacy Team * PrBoom -- Florian Schulze, Colin Phipps Eternity uses code from the following libraries/applications. We extend thanks to their authors and maintainers. * SDL -- Sam Lantinga et al. (http://www.libsdl.org) * SDL Mixer -- Sam Lantinga et al. * DJGPP libc -- DJ Delorie * libConfuse -- Martin Hedenfalk * Small AMX -- Thiadmer Riemersma (ITB CompuPhase, Inc.) ===================================================================== The Eternity Engine -- A Team Eternity Production 2006 =====================================================================