Age | Commit message (Collapse) | Author |
|
It was pointed out to me recently that vldoor_e has enum values
named 'open' and 'close'. These can potentially conflict with POSIX
standard functions that have the same names, if the right header
files are included.
This doesn't currently cause any problems. However, to avoid any
possibility of a conflict occurring if a different compiler is used,
add a vld_ prefix to all the enum values, to namespace them.
|
|
If using one of the Freedoom IWADs, detect it by checking for the
FREEDOOM lump, and then load its DEHACKED lump to apply the
cosmetic string changes that it includes. In case we're using an old
version of one of the Freedoom IWADs, don't bomb out with an error
while parsing the DEHACKED lump.
|
|
- restructure DEH_ReadLine() to avoid use of "goto"
- bex_string_t type name ends in "_t"
- declare constant table as "static const"
- add magic comment *allow-extended-strings* and corresponding
variable deh_allow_extended_strings
- fix logical error when no [STRINGS] section is registered to which
corrent_section could be compared
|
|
|
|
This fixes conflicting array sizes for the variable "spechit" as
reported in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748393.
Fixes #414
|
|
This change rewrites and simplifies the copyright headers at the top
of all source files:
* Remove "Emacs style mode select" line; this line was included in
the headers for the originally released source files and appears
to be to set the file type for old versions of Emacs. I'm not sure
entirely why it was required but I don't think it is any more.
* Remove "You should have received a copy of..." text from copyright
header. This refers to the old 59 Temple Place address where the
FSF headquarters used to be located and is no longer correct.
Rather than change to the new address, just remove the paragraph
as it is superfluous anyway. This fixes #311.
* Remove ---- separator lines so that the file headers are barer
and more simplified.
|
|
ZDoom has defined a format for Vorbis metadata comments named
LOOP_START and LOOP_END that allow the start and end points to be
defined in .ogg and .flac files for looping music. Add support for
these (they are used in Brandon Blume's SC-55 recordings).
|
|
Having multiple binaries can cause some confusion - some users try to
run chocolate-doom with hexen.wad, thinking it is supported. Add a
startup check that makes sure the user is not trying to start the game
using the wrong IWAD file for the binary being run.
This fixes #382.
|
|
When using a joystick or gamepad it's nice to be able to bring up the
menu without having to reach for the keyboard. This makes modern
gamepads more useful/usable.
|
|
Modern gamepads typically have 2-3 D-pads and joysticks. This means
that it's desirable to be able to use one joystick for turning and
another for strafing. Add another axis in addition to the current X
and y axes that performs strafe movement.
|
|
Vanilla Doom allows warp with the IDCLEV cheat up to MAP40, though it
normally crashes. Match this behavior and set MAP40 as the maximum
rather than MAP34. This fixes #181 (thanks Alexandre Xavier).
|
|
The Windows API has an _snprintf function that is not the same as
Unix's snprintf(): if the string is truncated then no trailing NUL
character is appended. This makes the function unsafe. Define a
replacement/wrapper called M_snprintf that works the same but always
appends a trailing NUL, for safety on Windows and other OSes that
behave like this.
Do the same thing for vsnprintf(), and update HACKING to list
snprintf/vsnprintf as forbidden functions. This fixes #375;
thanks to Quasar for pointing out the different behavior of these
functions.
|
|
Use snprintf() or other functions in place of sprintf(). This is part
of fixing #371.
|
|
As part of this, add DIR_SEPARATOR_S as a string version of the
DIR_SEPARATOR macro. Change M_TempFile() to return a string allocated
on the C heap rather than the zone heap.
This is a first step towards fixing #371.
|
|
Vanilla Hexen makes you specify the demo name to play by giving
the plain lump name, eg. heretic -playdemo mydemo to load mydemo.lmp.
It doesn't work if you specify the extension or the full file path.
As a convenience and to match the behavior of Chocolate Doom, allow
paths and extensions.
Also rework the code for other games so that they're slightly more
consistent. This fixes #301.
|
|
Eliminate use of strcpy, strcat, strncpy, and use the new safe
alternatives.
|
|
Just as M_StringCopy behaves the same as strlcpy(), M_StringConcat
behaves the same as strlcat(). Use this in one location.
|
|
It's more readable to write "M_StringEndsWith(..." than doing a bunch of
pointer arithmetic, and this is a common pattern. Also add
M_StringStartsWith, M_StringJoin and M_StringCopy. The latter is a
safe alternative for strcpy() that works the same as OpenBSD's
strlcpy(). Use these functions in a few places where it makes sense.
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
Print a warning if the user is attempting to record or playback a demo o...
|
|
|
|
connect to a network game using one of the BFG Edition IWADs.
|
|
|
|
|
|
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).
|
|
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).
|
|
Use "ON" to mean "high detail", "OFF" for "low detail". The logic was
backwards.
|
|
|
|
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).
|
|
Freedoom has new IWAD names. Support these as fallbacks if no other
IWAD file can be found, but prefer FreeDM as it has Vanilla-
compatible levels. Show a warning on startup if running using the
main Freedoom IWADs.
|
|
Fabian Greffrath).
Subversion-branch: /branches/v2-branch
Subversion-revision: 2747
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2742
|
|
menu (thanks Alexandre Xavier).
Subversion-branch: /branches/v2-branch
Subversion-revision: 2723
|
|
startup.
Subversion-branch: /branches/v2-branch
Subversion-revision: 2699
|
|
Xavier).
Subversion-branch: /branches/v2-branch
Subversion-revision: 2635
|
|
keys, which cause the same behavior.
Subversion-branch: /branches/v2-branch
Subversion-revision: 2632
|
|
pause key is pressed in a menu with a scroll-bar (thanks Alexandre
Xavier).
Subversion-branch: /branches/v2-branch
Subversion-revision: 2620
|
|
the spinal loading screen.
Subversion-branch: /branches/v2-branch
Subversion-revision: 2585
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2583
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2582
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2555
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2553
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2550
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2537
|