summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-03-27video: Fix crash when running fullscreen with -2.Simon Howard
Remove special logic for setting a scale factor (2x, 3x, etc.) when running fullscreen instead of windowed. This fixes a crash due to the fact that I_GraphicsCheckCommandLine() is called before SDL's video subsystem is initialized. This makes -2 identical to -geometry 640x480, which is arguably a better (more easily comprehensible) behavior. Thanks to Fabian Greffrath for reporting the bug. This fixes #338.
2014-03-27setup: Make default sound volumes match Vanilla.Simon Howard
Doom, Heretic, Hexen and Strife have different default SFX and music volumes. Make sure the setup tool sets the appropriate default when creating a new configuration file. Thanks to Alexandre-Xavier for reporting this and providing the correct defaults. This fixes #347.
2014-03-27strife: Fix default music volume to match Vanilla.Simon Howard
Strife's default music volume is 13 as opposed to Doom's value of 8. This was apparently not changed during the development of Chocolate Strife. Thanks to Alexandre-Xavier for noticing this and providing the correct value (bug #347).
2014-03-27Define a keyboard scan code for PrintScreen.Simon Howard
There is no real scan code for the PrintScreen key under DOS, but it is convenient to be able to bind it as a screenshot key. Define a "fake" scancode (126) to represent PrintScreen so that it can be represented as a key binding in configuration files. Also add some comments/notes to the scantokey[] lookup table. This fixes #369.
2014-03-26Fix typos in config API usageFabian Greffrath
2014-03-26Add explicit check for libzFabian Greffrath
Fixes static linking and libpng won't link without it anyway.
2014-03-25Set GUS patch path variable using D_SetVariable.Simon Howard
commit 42faefce1fd03 added code to set the GUS patch path automatically when the BFG Edition is installed, but this caused problems because gusconf.c is not included as part of the build for the setup tool. Use D_SetVariable() instead which accomplishes the same thing without a hard dependency.
2014-03-25config: Add API to get/set config variables.Simon Howard
It is useful to be able to set variables through an API provided by the config module; this means that it is possible for one module to set config variables of another in a more loosely-coupled way.
2014-03-24Fix libpng detection for static librariesFabian Greffrath
2014-03-24Fix various Clang compiler warnings.Simon Howard
2014-03-23Autodetect GUS patches installed with BFG Edition.Simon Howard
Doom 3: BFG Edition installs copies of the GUS instrument files (patches) that can be used for the GUS pseudo-emulation. Detect these on startup if no GUS patch path has been configured and configure gus_patch_path config variable automatically. This fixes #333.
2014-03-23Rearrange order of SDL sound startup.Simon Howard
Initialize low-level sound startup (calls to I_InitSound) separately from the high-level sound startup (S_Init). In particular, make sure that SDL sound is initialized before the textscreen multiplayer waiting screen is shown. This is an attempt to fix a bug with sound in multiplayer games on Windows; calling SDL_QuitSubSystem(SDL_INIT_VIDEO) (on closedown of the textscreen library) causes subsequent attempts to initialize audio to fail. Big thanks go to Alexandre-Xavier (AXDOOMER) for working out a fix for this bug and James Haley (Quasar) for giving some technical background about the lack of separation between SDL subsystems. This (hopefully) fixes #270.
2014-03-23Set default for key_menu_screenshot to 0.Simon Howard
In #364 I recommended -1 as the default to avoid taking screenshots in some situations where a key event is posted for key 0. It turns out that wasn't such a great idea, as -1 is not parsed properly by the config parser, and is shown as ??-1 in the setup tool. Default to zero instead, and add guards to prevent screenshots being taken by mistake. Thanks to Alexandre-Xavier for pointing this out.
2014-03-23heretic/hexen: Fix -timedemo.Simon Howard
The -timedemo flag is broken in Vanilla Heretic/Hexen, as not all fields are read from the demo headers. Fix it, as there's no utility in having it nonfunctional and plenty of utility in having it functional. This fixes #300.
2014-03-23doom: Add initial support for versions < v1.9.Simon Howard
Add -gameversion options for v1.666, v1.7, v1.8. Set demo and savegame headers appropriately depending on version. Also add an enum entry for Doom v1.2 but no code support for it yet.
2014-03-23doom: Emulate 'no fog on spawn west' Vanilla bug.Simon Howard
A deathmatch player spawning facing directly west does not see the normal teleport fog (or hear it). This is because of an angle that should be unsigned but is actually signed. Import PrBoom's code to emulate this bug. This fixes #186.
2014-03-23pcsound: Extend frequency table to 128 entries.Simon Howard
Extend from 96 to the full 128 entries found in the frequency table in the Vanilla .exes. This was helpfully posted by Gez to the Doom wiki: http://doomwiki.org/wiki/Talk:PC_speaker_sound_effects Change from the current scheme of storing frequency values to using the timer divisor values used by the Vanilla .exes; divide into the PC timer frequency to calculate the frequencies to play. Thanks to Gez for dumping the full list of frequencies; this fixes #336.
2014-03-23setup: Add missing snd_maxslicetime_ms variable.Simon Howard
Preserve the snd_maxslicetime_ms variable when loading/saving configs in the setup tool.
2014-03-23music: Add config var for external music program.Simon Howard
Mix_SetMusicCMD() allows a program to be specified to configure an external program to be invoked for music playback. Add a config variable (snd_musiccmd) to allow this to be set from a configuration file. Thanks to Holering for his comments on Doomworld about how to do this.
2014-03-23sound: Add config variable to control buffer size.Simon Howard
Add snd_maxslicetime_ms variable to control the size of the output sound buffer, and reduce the default from 70ms to 28ms to match Doom's 35fps timer. Thanks to Holering for reporting this (fixes #345).
2014-03-22heretic/hexen: Fix automap background scrolling.Simon Howard
There was a bug where it was possible to keep moving the background when the boundaries of the map were reached. This is because the code to move the background was done in calls to AM_Drawer(), which is fundamentally a bad idea. Some old commented-out code shows that this was previously done in AM_Drawer (same location that scrolls the map itself), but it was moved. Move it back. Thanks to Chris Fielder for the bug report; this fixes #321.
2014-03-20Merge pull request #365 from fabiangreffrath/bfg_warningSimon Howard
Print a warning if the user is attempting to record or playback a demo o...
2014-03-20Remove superfluous dividers.Fabian Greffrath
2014-03-20Merge pull request #364 from fabiangreffrath/key_screenshotSimon Howard
Add a dedicated key for taking screenshots.
2014-03-20Print a warning if the user is attempting to record or playback a demo or ↵Fabian Greffrath
connect to a network game using one of the BFG Edition IWADs.
2014-03-19Initialize key_menu_screenshot with -1.Fabian Greffrath
2014-03-18Add a dedicated key for taking screenshots.Fabian Greffrath
2014-03-17Merge pull request #361 from fabiangreffrath/png_screenshotsSimon Howard
Allow for PNG screenshots.
2014-03-17Add PNG screenshots to advanced video options menu.Fabian Greffrath
2014-03-17Remove 0 summand.Fabian Greffrath
2014-03-17Add some strictly unnecessary curly braces.Fabian Greffrath
2014-03-17Allow for PNG screenshots.Fabian Greffrath
2014-03-16readme: Fix note about CMDLINE to be correct.Simon Howard
CMDLINE is now found in a subdirectory in source releases, making the note in README inaccurate. Reword this to be correct. Thanks to spicyjack for reporting this bug. This fixes #323.
2014-03-16video: Center mouse when grabbing cursor.Simon Howard
When releasing mouse grab (activating menu etc.) we move the mouse cursor to a non-distracting location at the bottom-right of the screen. But this was causing abrupt jerks in mouse movement when re-grabbing the mouse again. Center the mouse when turning on grab so that this doesn't happen. This fixes #283.
2014-03-16hexen: Increase maximum level number to MAP60.Simon Howard
Hexen: Deathkings of the Dark Citadel uses levels up to MAP60, not MAP40 as used in hexen.wad. Bump up the limit for Hexen to MAP60 so that it is possible to play multiplayer games with hexdd.wad loaded. Thanks to Rhiyo for the bug report. This fixes #312.
2014-03-16Update URLs to Chocolate Doom Github project.Simon Howard
2014-03-16doom: Fix behavior of M_EPI4 menu item.Simon Howard
Ultimate Doom's doom.exe will crash when run with an IWAD that doesn't contain M_EPI4 (like the stock v1.9 IWAD). Thanks to Alexandre Xavier for the bug report (fixes #344).
2014-03-16heretic/hexen: Fix pause key remapping.Simon Howard
Heretic and Hexen had the pause key hard-coded to KEY_PAUSE when they should actually use key_pause so that they can be remapped by the user. Thanks to Fabian Greffrath for the bug report (fixes #337).
2014-03-16doom: Add -dehlump parameter to load DEHACKED lumps.Simon Howard
Lots of otherwise Vanilla-compatible WADs contain DEHACKED lumps. Allow these to be loaded by adding a -dehlump command line parameter. Thanks to Fabian Greffrath for the suggestion (fixes #349).
2014-03-16heretic: Fix plat_t read when loading savegames.Simon Howard
The fix-up of the thinker function was (unnecessarily) guarded by an if() condition that meant it was not being reset properly on load. This caused moving platforms to be not restored properly when loading savegames. Fixes #343. Thanks to romeroyakovlev for the bug report.
2014-03-13Merge pull request #356 from fabiangreffrath/keybind-hexenSimon Howard
Allow to rebind artifact keys in Hexen.
2014-03-13Allow to rebind artifact keys in Hexen.Fabian Greffrath
2014-03-02doom: Reverse detail graphic for BFG edition.Simon Howard
Use "ON" to mean "high detail", "OFF" for "low detail". The logic was backwards.
2014-02-24Merge pull request #346 from fabiangreffrath/bfgeditionSimon Howard
More robust checks for BFG Edition.
2014-02-24Keep (bfgedition) as part of the check for TITLEPIC.Fabian Greffrath
2014-02-24More robust checks for BFG Edition.Fabian Greffrath
1) Move the check for (bfgedition) right behind loading the IWAD, i.e. before any PWADs are loaded that could probably provide a DMENUPIC lump. 2) Instead of checking for a missing TITLEPIC lump (which is only true for the doom2.wad shipped with the BFG Edition) check for the presence of DMENUPIC (which is exclusive to both classic IWADs shipped with the BFG Edition). The M_GDHIGH lumps, however, are incompatibly modified in *both* IWADs. 3) Move the check for the missing TITLEPIC lump to the place where it becomes actually crucial, i.e. D_DoAdvanceDemo() and make it independent of the (bfgedition) check. So, PWADs still have a chance to provide their own TITLEPIC lump.
2014-02-20Add BFG edition workaround for options menu crash.Simon Howard
The BFG edition IWADs have their M_GDHIGH lumps changed to say "Fullscreen:" instead of just "high". This breaks the options menu which assumes a graphic that is not as wide. In the same spirit as the title screen workaround, add a workaround for this as well: use the message "on/off" graphics instead when we are running using a BFG edition IWAD. This fixes #341 (thanks Fabian Greffrath).
2014-02-20Mark 512x400 mode as decent quality.Simon Howard
I originally flagged this as a poor quality mode because it doesn't include every original pixel at least once (ie. its dimensions are not >= 640x400 - twice the original resolution). In practise, it's actually okay though. Add long comment adapted from my comment on #339 explaining what the definition of a poor quality mode is.
2014-02-03Merge pull request #329 from fabiangreffrath/masterSimon Howard
Some improvements to the build system
2014-02-03Revert the more controversial changes in my previous pull request.Fabian Greffrath
Add back to binaries that are built and installed as _SCRIPTS targets. Copy instead of symbolic linking, the files are needed as binary copies anyway to allow for separate packaging of the game engines.