Grazza
omg lolcano

Posts: 9587
Registered: 07-02 |
Many people like to use Prboom-plus to record demos that are compatible with Doom2.exe (or Boom). This enables them to play outside a DOS environment (with sound) while maintaining compatibility (in terms of the game's behaviour) with the original game. There follows a quick no-nonsense guide to getting it working.
Where to get itchangelog and current test version <- recommended, as despite being called a "test version", it is generally the most stable, glitch-free and compatible of all; just think of it as "the current version"
prboom-plus sourceforge site (report bugs and make feature requests here)
official released versions (older)
I urge you always to use the most up-to-date version. This will be more likely than older versions to record and play back demos in the standard formats without problems, and has the most fixes and options to play back problematic demos.
Software and OpenGL renderingPrboom-plus comes in two flavours: prboom-plus.exe (software rendering) and glboom-plus.exe (OpenGL rendering by default). How glboom-plus.exe performs will depend on your hardware, and of course it is less similar to the original game from a visual viewpoint. If you encounter problems, one thing to try is using the older versions of the SDL files that are supplied.
complevels and cfg settingsThe game behaviour and settings are determined in two ways: by the contents of the cfg file (prboom-plus.cfg or glboom-plus.cfg) and by whether you include a "-complevel" in the command line. The full list of complevels can be found in the accompanying documentation (usage.txt - a good place to look if you need further info about prboom-plus's features), but here I'll just give a quick summary of the most important ones for recording:
-complevel 2 - "vanilla" Doom2.exe
-complevel 3 - "vanilla" Ultimate Doom.exe
-complevel 9 - Boom
Thus if you mostly want to record vanilla demos (and Boom when necessary), you can put 2 as your default compatibility for Doom2, 3 as the default compatibility for Ultimate Doom, and put -complevel 9 in the command line when recording on a Boom map. Nothing more to worry about.
Note that the "vanilla" and Boom complevels (2-9) will override the individual compatibility settings in the cfg. With MBF compatibility and above (11-17 and -1), many aspects of the in-game behaviour will be determined by the cfg settings. If you don't use a complevel at all, you will just get the default settings, which may not be what you're after at all. And crucially, it will not then record a demo that will play back with any other program.
Example command linesglboom-plus -complevel 2 -iwad doom.wad -file uac_dead.wad -playdemo uac_dead
This plays back a Doom 1.9 demo (this pwad doesn't function correctly with Ultimate Doom)
glboom-plus -complevel 2 -iwad doom2.wad -file ksutra.wad -warp 15 -skill 5 -record kn15-xxx
This records a vanilla Doom2.exe demo
glboom-plus -complevel 3 -iwad doom.wad -warp 1 9 -skill 5 -record n1m9-xxx
This records a vanilla Ultimate Doom.exe demo
glboom-plus -complevel 5 -iwad doom2.wad -file icarus.wad -playdemo ic25uv
This plays back a Dosdoom .47 demo
glboom-plus -iwad doom2.wad -file nulspace.wad -playdemo nulnx415
This plays back an unconverted Tasdoom.exe demo (this demo format is autodetected, so there's no need to include -complevel 6 in the command line)
As you can see from the examples above, it is possible to specify a complevel for playback by putting it in the command line. This is to handle cases in which autodetection does not correctly identify the demo-type. Autodetection (i.e. prboom+ guesses the best complevel based on the information in the lmp header and the iwad that is being used) will work for the vast majority of demos.
If you use a complevel for playback by including it in the command line, it will override the autodetection of the demo type.
Autodetection will be used whenever a complevel is not given in the command line.
The default compatibility in the cfg will not override autodetection.
You'll normally only need to specify a complevel for playback when there is something unusual about the demo, such as it being a dosdoom .47 or tasdoom demo.
Note that the demo must have the same binary format as the complevel is expecting (so, e.g., you can't attempt to play back a vanilla demo with -complevel 9).
Once you have things set up, it would make sense to test that it is working correctly by recording some short test demos, and checking that they play back correctly with other exes (e.g. that "vanilla" demos play back with Chocolate Doom, and that "Boom" demos play back with Boom 2.02 or Prboom 2.02).
Usage Notes:- Note that if you use the regular Prboom instead of Prboom-plus, you will get a "demo recorded" dialogue (this dialogue is quite irritating, especially if you are making a large number of attempts at a short demo), and you will get a GF49 tic every so often when you should get a GF50 (normal forward running). You may also get a "kick" at start-up, and be unable to move for the first part of a second. It also lacks some compatibility fixes that are in prboom-plus, so there is a greater chance of recording a desynching demo.
- Prboom-plus offers a number of TAS features (including slow motion and strafe-50 automation), so be careful that you don't inadvertently use any of them when recording standard demos (check the options menu or the cfg). The default settings are for them to be turned off, so you've nothing to worry about unless you have previously used or experimented with these features.
- Check that you are using up-to-date versions of the SDL files that Prboom uses. If you have the most recent version of Prboom-plus, then you will probably have the current versions, but it is a good idea to check the SDL site every so often in any case to see if there are updates. If you have odd performance issues, try using a newer or older version of the SDL files.
- Prboom-plus gives the option of overwriting an existing demo. Find demo_overwriteexisting in the cfg and give it the value 1. With previous versions or if you don't want to risk overwriting one that you want to keep, you will need to delete or rename each attempt (manually or via a batch file) before trying again.
- The screen resolution can be set from the command line (e.g. -width 1280 -height 1024 - you only need to do this once, as it remembers it from then on) or by editing prboom.cfg or glboom.cfg. You can also set the resolution temporarily from the command line using in a way that is not saved in the cfg: -geom 640x480 for example.
- You can set autorun by editing the cfg or by choosing autorun (CAPS by default) in-game. Then pressing Shift has the effect of making you walk.
- If you need help with knowing what you should put in your command line to record demos generally, then you will find some useful examples (courtesy of Opulent) here, and guidance from Kristian here.
- If you don't specify an iwad, Prboom will choose Doom2.wad if it finds it in the same folder. If you want to use a different iwad, you will need to use -iwad in the command line, or run it from a folder where it instead finds the iwad you want it to use.
- To record Final Doom demos, if you use -complevel 2, then this is like using Doom2.exe with Final Doom as a pwad. If you use -complevel 4, then this is like using Final Doom's own Doom2.exe. For playback of Final Doom demos, you need to use the equivalent complevel. If the demo was recorded with Doom2.exe, then you need to use -complevel 2 to play it back. Or use the auto-loading patterns.
- You can enter the command line via Start->Run... (rather than a command prompt box) as long as you include the full path to the exe. You don't need to give paths for other files as long as they are in the same folder.
- When updating to a new version, I suggest you simply keep your old cfg files (which you will no doubt have spent some time customizing in line with your preferencs), and run the program. If there are new or changed options, then these can be changed from the in-game menus or be editing the cfg manually.
thanks, etc.I hope this is helpful, and that I haven't muddied anything that had been clear! Thanks to Opulent, Kristian Ronge, myk and entryway for some helpful suggestions on what to include here. However, any shortcomings in these notes are my responsibility, and if you wish to suggest any corrections or improvements, please contact me.
Last update: 6th August 2007.
|