Skip to content
Branch: master
Commits on Jan 20, 2020
  1. pass wbstartstruct_t * as const to all the functions which don't chan…

    fabiangreffrath committed Jan 20, 2020
    …ge it
    Thanks @turol for the suggestion.
  2. explicitly direct output to stdout if '-' is given as a file name

    fabiangreffrath committed Jan 20, 2020
    There is no mention in the POSIX documentation that fprintf() will
    print to stdout if the NULL pointer is passed as the stream.
    And, indeed, the current implementation triggers a segmentation fault
    if invoked as '-statdump -'.
Commits on Jan 8, 2020
  1. travis: change to dist: bionic

    fabiangreffrath committed Jan 8, 2020
Commits on Dec 10, 2019
  1. fix packed attribute for structs when compiling with MSVC

    fabiangreffrath committed Dec 10, 2019
    Thanks @drfrag666 for confirming this fix.
Commits on Dec 6, 2019
  1. Merge pull request #1224 from AlexMax/master

    fabiangreffrath committed Dec 6, 2019
    Additional CMake ignores
Commits on Dec 3, 2019
  1. video: if renderer creation failed, try again without acceleration

    fabiangreffrath committed Dec 3, 2019
    Currently, we enable hardware acceleration by default. If SDL fails to
    create a matching renderer for that, e.g. because the graphic hardware
    or driver do not properly support hardware acceleration, we show an
    error message and quit. At this point users do either complain or turn
    their back on our software and never come back. Whenever users complain,
    we recommend them to enable the force_software_renderer option and
    try again.
    However, we can do better and try again ourselves without hardware
    acceleration if the renderer creation failed with the default flags.
    If it still fails even then, we know for sure that something is
    really wrong.
Commits on Nov 26, 2019
  1. doom: revert erroneous part of code

    fabiangreffrath committed Nov 26, 2019
    That is, remove the part that checks if the map just finished is MAP33
    to omit drawing the par time if this is the case.
    While it is true that no par time for MAP33 is drawn in Vanilla Doom,
    this isn't because there is a condition that checks for it, but
    because the par time for MAP33 is read from beyond the cpars[] array
    and the four bytes following it are interpreted as a negative 32-bit
    integer. The WI_drawTime() function, however, returns early if the
    time it is supposed to draw is negative.
    This can be easily checked by using DEHACKED to change the GAMMALVL0
    string so that its first four bytes are interpreted as a positive
    32-bit integer, e.g. by replacing it with "   " (four spaces). Then,
    even Vanilla Doom (e.g. DOOM2.EXE) will start to draw a par time when
    MAP33 is finished but will eventually end up drawing the "SUCKS!"
    This may be regarded as the second part of commit 00d2024, it reverts
    another part of commit e1f113a.
Commits on Nov 25, 2019
  1. Merge pull request #1218 from chocolate-doom/partime-map33

    fabiangreffrath committed Nov 25, 2019
    doom: correctly determine the par time for MAP33
Commits on Nov 22, 2019
  1. doom: correctly determine the par time for MAP33

    fabiangreffrath committed Nov 22, 2019
    The par time for MAP33 is read from beyond the cpars[] array and
    corresponds to the first four bytes ("Gamm") of the GAMMALVL0 string
    literal interpreted as a 32-bit integer. This has been checked and
    proven for the three regular DOOM.EXEs (i.e. 1.9, Ultimate, Final).
    Fixes #1209.
    Thanks @turol for the pointer to use memcpy() instead of pointer
    While at it, change the data type for leveltime and partime to type
    short in the statdump code to match the output of the DOS executable.
Commits on Nov 18, 2019
  1. travis: determine program prefix from config.h

    fabiangreffrath committed Nov 18, 2019
Commits on Sep 12, 2019
Commits on Sep 2, 2019
  1. Merge pull request #1194 from Zodomaniac/master

    fabiangreffrath committed Sep 2, 2019
    Updated font headers with Python 3 Pillow.
Commits on Aug 30, 2019
  1. midiproc: do not unset midi_server_registered in StopSong()

    fabiangreffrath committed Aug 30, 2019
    I_MidiPipe_StopSong() is not the right place to set the
    midi_server_registered variable to false, yet.
    Why? Because in order to play a new song, the current song must first be
    stopped and then unregistered, c.f. S_ChangeMusic() and S_StopMusic().
    If the midi_server_initialized variable is alread set to false in
    I_MidiPipe_StopSong() then the subsequent call to I_SDL_UnRegisterSong()
    will skip the call to I_MidiPipe_UnregisterSong(). Thus, the current song
    will never be unregistered, the more complex music backends will not
    release the file handle and overriding the temporary music file with the
    next song wil fail. After all, we will hear the same song over and over
    again as reported in #963.
    I hope this will be the final nail in the coffin of this bug
    (wow, that felt good!).
Commits on Aug 28, 2019
  1. midiproc: call UnregisterSong() where appropriate

    fabiangreffrath committed Aug 28, 2019
Commits on Jul 11, 2019
  1. Merge pull request #1183 from chocolate-doom/autoloadcommon

    fabiangreffrath committed Jul 11, 2019
    doom: support common auto-loaded files for all Doom flavors
  2. rename "common" directory to "doom-all"

    fabiangreffrath committed Jul 11, 2019
Commits on Jul 10, 2019
  1. Merge pull request #1172 from mfrancis95/master

    fabiangreffrath committed Jul 10, 2019
    Always try to load SKY3 when starting a new game in Doom II (resolve …
Commits on Jun 26, 2019
  1. doom: support common auto-loaded files for all Doom flavors

    fabiangreffrath committed Jun 26, 2019
    Fixes: #1182
Commits on Jun 24, 2019
  1. remove .wad extension from WAD name in default savegame name

    fabiangreffrath committed Jun 24, 2019
    This saves some precious 4 bytes from the savegame name.
  2. append WAD name to default savegame name if savegamedir is empty

    fabiangreffrath committed Jun 24, 2019
    Apparently, if we have no configuration directory, i.e. on Windows, we
    have no savegame directory as well, c.f. M_GetSaveGameDir(). In this
    case, all savegames for all IWADs will be saved into the same
    directory and there is still risk of mixing them up. Thus, append the
    name of the WAD file if savegamedir is empty.
    NB: This does only work if the savegame slot is selected by pressing a
    joystick button. You are still expected to unambigiously name your
    savegames if playing with a keyboard.
    Fixes #1180, thanks @Zodomaniac.
  3. reverse the order of map and PWAD name in default savegame name

    fabiangreffrath committed Jun 24, 2019
    PWAD file names tend to be rather long and a too long file name could
    shift the map name out of the buffer size, so it would still be
    unclear which map the savegame actually belongs to.
Commits on Jun 7, 2019
  1. Merge pull request #1177 from vilhelmgray/fix_textscreen_cmakefile

    fabiangreffrath committed Jun 7, 2019
    textscreen: Fix ambiguous textscreen CMake line
Commits on May 24, 2019
  1. allow for loading WAD files and DEHACKED patches by drag-and-drop (ta…

    fabiangreffrath committed May 24, 2019
    …ke 3)
    Compose a proper command line from loose file paths passed as
    arguments. This allows for loading WAD files and DEHACKED patches by
    dragging them onto the game executable in e.g. Windows Explorer.
    Completely new implementation turned into a sorting problem and
    extended with some heuristics to make sure the command line only
    consists of fully-qualified path names.
    Fixes #1161.
Commits on May 1, 2019
  1. Fix type-dependent size parameter for a memset() call

    fabiangreffrath committed May 1, 2019
Commits on Mar 18, 2019
  1. doc: document the -shorttics command line option

    fabiangreffrath committed Mar 18, 2019
    Fixes: #1143, thanks @Zodomaniac!
Commits on Mar 16, 2019
  1. sound: CPP does not support lazy evaluation

    fabiangreffrath committed Mar 16, 2019
    The past few commits have been more like a CPP tutorial...
  2. sound: check if the SDL2_Mixer version checking macro is defined

    fabiangreffrath committed Mar 16, 2019
    Turns out that the macro we use to check the SDL2_Mixer version is
    defined in the exact version that we check for -- using this macro.
    What a mess! This fixes the Travic CI build.
Commits on Mar 15, 2019
  1. sound: call Mix_Init() with MIX_INIT_MID flag depending on SDL2_Mixer…

    fabiangreffrath committed Mar 15, 2019
    … version
    Turns out this wasn't available before SDL2_Mixer 2.0.2 and is only
    available as an enumerated value in later versions.
Commits on Mar 14, 2019
  1. sound: more elegant solution to undefined MIX_INIT_MID

    fabiangreffrath committed Mar 14, 2019
    Instead of re-defining MIX_INIT_MID and calling Mix_Init() with empty
    flags, don't call it at all -- the result is the same.
  2. sound: support SDL2_Mixer versions where MIX_INIT_MID is undefined

    fabiangreffrath committed Mar 14, 2019
    Between the 2.0.1 and 2.0.2 releases, SDL2_Mixer changed to a plugin
    interface which could use any number of decode libraries to support a
    given sound format [1]. Thus, the flags passed over to Mix_Init() were
    changed from per-library (e.g. MIX_INIT_FLUIDSYNTH) to per-format
    (e.g. MIX_INIT_MID). Since there was no way to specifically request
    support for native MIDI (or, actually, any MIDI at all) before (i.e.
    there was only MIX_INIT_FLUIDSYNTH), we pass zero as a flag over to
    Mix_Init(), which in turn turns it into a noop. Seems harmless, as it
    turned out it wasn't even required to call Mix_Init() for SDL2_Mixer
    version 2.0.1.
    This also fixes building under Travis CI which runs an Ubuntu release
    that still has an older SDL2_Mixer library (xenial: 2.0.1+dfsg1-1).
Commits on Mar 13, 2019
  1. sound: Initialize SDL_Mixer for digital/MIDI music playback

    fabiangreffrath committed Mar 13, 2019
    This will lead to Mix_GetMusicDecoder() actually returning the
    avaiable music backends and thus get midiproc back to working again.
    Fixes #1147
Commits on Feb 18, 2019
  1. Revert "doom: use separate pointers and buffers for demo recording an…

    fabiangreffrath committed Feb 18, 2019
    …d playback"
    This reverts commit 4220bb2 until the
    issue surrounding G_ReadDemoTiccmd() is sorted out. Sorry for the
  2. Merge pull request #1135 from chocolate-doom/prepare_continue_record

    fabiangreffrath committed Feb 18, 2019
    doom: use separate pointers and buffers for demo recording and playback
You can’t perform that action at this time.