Age | Commit message (Collapse) | Author |
|
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() in place of sprintf(). This is part of 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.
|
|
Vanilla Heretic 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.
This fixes half of #301.
|
|
Eliminate use of strcpy, strcat, strncpy, and use the new safe
alternatives.
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
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).
|
|
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.
|
|
When follow mode is off, hitting left would cause it to scroll all the way to the west of the map without stopping.
|
|
Implement this the same way it is implemented for doom and strife.
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2755
|
|
crashes when pressing shift while entering save game names (thanks
chungy).
Subversion-branch: /branches/v2-branch
Subversion-revision: 2750
|
|
before the head separates from the body (thanks Tumlee).
Subversion-branch: /branches/v2-branch
Subversion-revision: 2720
|
|
hold pointers to other mobj_t objects that will no longer be valid.
Subversion-branch: /branches/v2-branch
Subversion-revision: 2718
|
|
appropriate values.
Subversion-branch: /branches/v2-branch
Subversion-revision: 2708
|
|
startup.
Subversion-branch: /branches/v2-branch
Subversion-revision: 2699
|
|
main game window.
Subversion-branch: /branches/v2-branch
Subversion-revision: 2696
|
|
our mobjinfo table contains an extra entry.
Subversion-branch: /branches/v2-branch
Subversion-revision: 2688
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2687
|
|
v1.3, for savegame compatibility.
Subversion-branch: /branches/v2-branch
Subversion-revision: 2686
|
|
structures.
Subversion-branch: /branches/v2-branch
Subversion-revision: 2685
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2684
|
|
rather than copying chunks of memory.
Subversion-branch: /branches/v2-branch
Subversion-revision: 2683
|
|
these instead of reading directly from memory buffers.
Subversion-branch: /branches/v2-branch
Subversion-revision: 2682
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2681
|
|
resampled for libsamplerate users.
Subversion-branch: /branches/v2-branch
Subversion-revision: 2680
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2676
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2665
|
|
Xavier).
Subversion-branch: /branches/v2-branch
Subversion-revision: 2635
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2616
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2611
|
|
the spinal loading screen.
Subversion-branch: /branches/v2-branch
Subversion-revision: 2585
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2584
|
|
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: 2537
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2520
|
|
instances of this within the code (thanks Edward-san).
Subversion-branch: /branches/v2-branch
Subversion-revision: 2468
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2459
|
|
working in multiplayer chat. This matches the definition for the value
from the Doom source release.
Subversion-branch: /branches/v2-branch
Subversion-revision: 2456
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2455
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2453
|
|
Subversion-branch: /branches/v2-branch
Subversion-revision: 2449
|