Commits on Dec 12, 2016
Commits on Dec 10, 2016
Commits on Dec 8, 2016
  1. OpenGL2: Detect Intel graphics and avoid/use certain operations there.

    Also use qglCopyTextureSubImage2DEXT instead of qglCopyTextureImage2DEXT.
    SmileTheory committed Dec 8, 2016
Commits on Dec 7, 2016
Commits on Dec 5, 2016
Commits on Nov 25, 2016
  1. OpenGL2: glGetIntegerv -> qglGetIntegerv

    Thanks Cyrax for pointing this out.
    SmileTheory committed Nov 25, 2016
  2. OpenGL2: Don't draw viewmodels in portal views.

    Thanks Cyrax for pointing out, should fix
    SmileTheory committed Nov 25, 2016
Commits on Nov 1, 2016
  1. Allow overriding platform in NSIS installer

    MSYS2 and some mingw builds use mingw64 instead of mingw32. If you run
    `make installer` from the top-level, PLATFORM should be set correctly
    when building the installer.
    zturtleman committed Nov 1, 2016
Commits on Oct 28, 2016
Commits on Oct 27, 2016
Commits on Oct 22, 2016
Commits on Oct 21, 2016
  1. OpenGL2: Remove check for GL_ARB_texture_non_power_of_two.

    Core in OpenGL 2.0.
    SmileTheory committed Oct 21, 2016
  2. OpenGL2: Remove half float support.

    Not enough accuracy for textures larger than 1024x1024, such as merged lightmaps.
    SmileTheory committed Oct 21, 2016
Commits on Oct 13, 2016
  1. OpenGL2: Fix fog color.

    SmileTheory committed Oct 13, 2016
Commits on Oct 11, 2016
Commits on Oct 10, 2016
  1. Handle ERR_DROP during Com_GameRestart

    If ERR_DROP during Com_GameRestart after shutting down client, Com_Error
    needs to restart the client otherwise there is just a black window. Also,
    clear the game restarting flag in Com_Error otherwise it's not possible to
    run Com_GameRestart again later.
    I don't know of a way to trigger ERR_DROP, in FS_Restart for instance,
    without engine changes however.
    zturtleman committed Oct 10, 2016
Commits on Oct 9, 2016
  1. Offer post-crash safe settings on a per-mod basis

    Offer to restore settings when loading a mod that crashed, not the first
    mod that gets loaded after a crash. Before the first mod loaded (usually
    baseq3) would get the option even if missionpack or some other mod crashed.
    - Make pid files separate for each fs_game.
    - Remove/write pid every time switching fs_game.
    - Create path before writing pid file otherwise it fails on first run.
    - Show mod description.txt or fs_game instead of engine name in abnormal
      exit message.
    - Check com_fullyInitialized in Com_Error before removing PID,
      otherwise "ioquake3 --version" segfaults when accessing fs_gamevar->string
      (plus not fully initialized isn't really a normal shutdown).
    zturtleman committed Oct 9, 2016
Commits on Oct 3, 2016
Commits on Sep 27, 2016
  1. Merge pull request #226 from smcv/underflow

    Fix array underflow compiler warnings
    timangus committed on GitHub Sep 27, 2016
  2. Merge pull request #225 from smcv/reproducible-date

    Pick up date from SOURCE_DATE_EPOCH, for reproducible builds
    timangus committed on GitHub Sep 27, 2016
  3. Merge pull request #224 from smcv/notshlib

    Introduce NOTSHLIBLDFLAGS, used to link executables only
    timangus committed on GitHub Sep 27, 2016
  4. Merge pull request #223 from smcv/seperating

    Fix mis-spellings of "separating" as "seperating"
    timangus committed on GitHub Sep 27, 2016
Commits on Sep 25, 2016
  1. UI_BuildFindPlayerList: make a sizeof() more obviously correct

    As with the other branch of the if/else, each element of
    foundPlayerServerNames is in fact the same size as each element of
    foundPlayerServerAddresses, so it was fine; but it's better to make
    it obvious that we are using the right array sizes.
    smcv committed Sep 25, 2016
  2. UI_BuildFindPlayerList: avoid array underflow

    This function is used in the Team Arena menus
    I don't think it's actually possible to reach this line with
    foundPlayerServerNames < 1, because by the time we get here we have
    set it to 1 + the actual number of servers; but if we did, it would
    clearly underflow into foundPlayerServerNames[-1], which would be
    undefined behaviour. gcc 6 diagnoses this with a warning:
    code/ui/ui_main.c: In function ‘UI_BuildFindPlayerList’:
    code/ui/ui_main.c:4138:16: warning: array subscript is below array bounds [-Warray-bounds]
    Also correct the sizeof() invocation to make it more obviously
    correct (in fact the buffers for names and addresses happen to both
    be of size MAX_ADDRESSLENGTH, so it was fine, but it's good to be
    smcv committed Sep 25, 2016
  3. snd_wavelet: avoid undefined pointer below array bounds

    Given an array b[] of length n, pointers to &b[0]..&b[n] are defined
    (where only &b[0]..&b[n-1] can be validly dereferenced). &b[-1], or
    equivalently b-1, is not something we can use in valid Standard C.
    gcc 6 diagnoses this as:
    code/client/snd_wavelet.c:33:9: warning: array subscript is below array bounds [-Warray-bounds]
    and might take this undefined behaviour as permission to emit
    "more efficient" object code that is not what the author expected,
    for example nothing at all. Use a macro to fake a 1-based array instead.
    smcv committed Sep 25, 2016
Commits on Sep 23, 2016
Commits on Sep 22, 2016
  1. Pick up date from SOURCE_DATE_EPOCH, for reproducible builds

    The goal of reproducible builds is that a rebuild of the same source
    code with the same compiler, libraries, etc. should result in the same
    binaries. SOURCE_DATE_EPOCH provides a standard way for build systems
    to fill in the date of the latest source change, typically from a git
    commit or from metadata like the debian/changelog in Debian packages.
    This does not change anything if SOURCE_DATE_EPOCH is not defined;
    the intention is that a larger build system like a Debian package
    will define it.
    Please see for more information about
    reproducible builds.
    smcv committed Apr 2, 2015
  2. Introduce NOTSHLIBLDFLAGS, used to link executables only

    This can be used for LDFLAGS that would be inappropriate for shared
    libraries, such as the "-fPIE -pie" used to link position-independent
    executables. PIEs make it more difficult to exploit various classes
    of security vulnerability.
    smcv committed Mar 21, 2016