Age | Commit message (Collapse) | Author |
|
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.
|
|
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).
|
|
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.
|
|
|
|
Fixes static linking and libpng won't link without it anyway.
|
|
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.
|
|
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.
|
|
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
Preserve the snd_maxslicetime_ms variable when loading/saving configs
in the setup tool.
|
|
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.
|
|
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).
|
|
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.
|
|
Print a warning if the user is attempting to record or playback a demo o...
|
|
|
|
Add a dedicated key for taking screenshots.
|
|
connect to a network game using one of the BFG Edition IWADs.
|
|
|
|
|
|
Allow for PNG screenshots.
|
|
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
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).
|
|
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).
|
|
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).
|
|
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.
|
|
Allow to rebind artifact keys in Hexen.
|
|
|
|
Use "ON" to mean "high detail", "OFF" for "low detail". The logic was
backwards.
|
|
More robust checks for BFG Edition.
|
|
|
|
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.
|
|
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).
|
|
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.
|
|
Some improvements to the build system
|
|
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.
|
|
CheckVolumeSeparation() has the sep and vol parameters backwards
compared to how they are used when the function is called. Reverse
the order to fix this (thanks proteal). Fixes #330.
|