Quite a lot of quality of life improvements and bug fixes in this release.

The largest amount of time was spent on some opengl optimisations. I spent quite a while working on getting opengl vertex buffers working the way I wanted for a bit of a performance boost. Added a vertex program that helps with alias model rendering and a fragment shader to render warping water surfaces more efficiently.

Changelog:

  • Add support for scaling the software renderer output by a factor of 2 or 4
  • Add translucent HUD support ("scr_sbaralpha")
  • Add support for OpenGL vertex program animation interpolation
  • Add support for OpenGL fragment program water surface warping
  • Add support for OpenGL buffer objects to improve rendering performance
  • Add support for DXT texture compression (greatly helps low-memory systems)
  • Add vsync support for most platforms ("vid_vsync")
  • Add anisotropic filtering for OpenGL ("gl_texture_anisotropy")
  • Add back the vid mode test functionality
  • Add cl_maxpitch and cl_minpitch console variables (default 90/-90)
  • Improve FOV calculations to work better with widescreen aspect ratios
  • Improved dynamic lighting performance on OpenGL (removed redundant updates)
  • Fix a few software renderer entity alpha bugs
  • Fix a few more texture reloading bugs in OpenGL
  • Fix framerate on windows when compiled with SDL video/input
  • Fix a few model/sprite clipping bugs the could crash the software renderer

Download from the TyrQuake page.

Posted Tuesday Oct 26, 2021

Quick follow-up release - there were enough bugs I found very soon after release that it seems worth doing another.

Changelog:

  • Fix compilation of x86 on unix variant when using ASM
  • Fix the assembly patch process for translucent alias models
  • Fix crash caused by missing flush of overflow sfx on level change
  • Fix crash caused by missing flush of overflow models on level change
  • Fix gl texture leak when alias models are pushed out of the cache due to memory pressure.
  • Make the default zone size relative to the overall memory size

Download from the TyrQuake page.

Posted Monday Jul 19, 2021

There are quite a few changes in this release. Most prominent being the ability to change mods at runtime and play background music from files (ogg, mp3, flac, wav). There's some nice enhancements behind the scenes too with improved texture cache management and host of minor bug fixes.

Changelog:

  • Added (finally) loading new mods at runtime with the 'game' command.
  • Added ability to play music tracks from sound files. Currently ogg (vorbis), mp3, flac and wav are supported.
  • Add some auto-detection of quake installation directory (windows). If the game is started without specifying the base directory and the working directory is not a valid basedir, the game will try to check if you have a copy of Quake in Steam and use that.
  • Improved console tab completion for commands with multiple arguments
  • Fixed overflowing the sound effects cache
  • Improved detection of local network address
  • Improved reliability of game discovery via broadcast on LANs
  • Fixed fullbright textures on player skins
  • Added a pulseaudio sound driver, now the default on Linux.
  • Fixes for minor audio artifacts in looping sounds
  • Fix crash in NQ dedicated server
  • Higher quality (resolution) underwater warping in software renderer
  • Fix particle sizes in software and GL
  • Make a fixed size LRU cache of textures in GLQuake and free unused textures

Download from the TyrQuake page.

Posted Friday Jul 16, 2021

I had a few minor fixes queued up for the utils since forever and then had a request for a new feature to allow creating lit files to match existing bsp files. The second version bump came when I realised I had a few breakages in my build scripts on osx.

TyrUtils v.017

  • build: build fixes for osx and fix detection of available cc options

TyrUtils v0.16

  • Added 64-bit builds for windows
  • qbsp: fix the coordinate displayed in degenerate edge error message
  • qbsp: fix disksize calculation when compiling in textures from 'wad3' format wads
  • qbsp: fix handling of absolute paths to wad files beginning with '/' (mac/linux)
  • light: fix lightmap extents calculation precision to match old x87 fpu
  • light: add option to generate a lit file without modifying the bsp
  • bsputil: fix bug exporting textures from bsps that have missing textures

Download from the Utils page.

Posted Sunday Jul 26, 2020

I thought it was probably worth getting these few changes out now before the end of the year. The most obvious change is I finally added the improved quality water warping technique that FitzQuake did so long ago.

Changelog:

  • Reworked video mode setting, now uses vid_width, vid_height, etc. cvars
  • Added menu for manually specifying windowed mode resolution
  • Improved window focus handling with respect to mouse/keyboard grabs
  • Improved window icon handling in SDL/X11 environments
  • Implement improved quality water warp effect from FQ and others.
  • Fixed silly bug which was making OpenGL mode changes stupidly slow
  • Fixed crash that could happen when a BSP has missing textures

Download from the TyrQuake page.

Posted Tuesday Dec 3, 2019

Quick "brown paper bag" bugfix release since I hadn't noticed a silly crash bug in the software render.

Changelog:

  • Fix crash in the software renderer
  • Fix transparent menupics on the video options menu

Download from the TyrQuake page.

Posted Monday Sep 2, 2019

This release I focused on getting some of the commonly expected features for "modern" source ports working - coloured lighting, fence textures, global fog, skyboxes, alpha blending entities, etc. Another long time feature I wanted to have was water translucency in the software renderer. Once I had that working it wasn't too much of a stretch to get alpha blending of entities ported over as well.

Changelog:

  • Coloured lighting (GL only)
  • Fog (GL only)
  • wateralpha, lavaalpha, slimealpha, telealpha
  • Skybox (GL only)
  • Higher-quality traditional sky in GL
  • Interpolated alias model lighting (smoother transitions)
  • Model interpolation support in QW
  • Fence textures
  • Default to protocol 666 (FitzQuake compatible)
  • Entity alpha support
  • Fixed non-64x64 turbulent textures in software
  • Fixed palette reset on disconnect/reconnect
  • Software renderer now supports translucent fluids and entities
  • Software render now automatically adjusts up r_maxsurfs/r_maxedges as needed

In theory skyboxes in software renderer shouldn't be too difficult and I can even see how coloured lighting could be done, but the restricted palette would make it pretty low fidelity. Most likely the next release will be more bugfix focused, but there's still a few features on my radar.

Download from the TyrQuake page.

Posted Sunday Sep 1, 2019

Many OpenGL rendering improvements in this release and the return of OSX PPC builds. Actually I had a lot of fun trying to optimise performance on my old G4 Mac Mini, which does struggle with more detailed maps with lots of enemies. Still a few more ideas to follow through after this, but it's already much better for the more detailed modern maps. Even quite noticable on my more modern, but still not-very-high-end laptop (Intel Core m3-6Y30 CPU @ 0.90GHz, Intel HD Graphics 515).

TyrQuake v0.63 Changes:

  • OpenGL renderer improvements:
    • Much improved speed by batching drawing operations
    • Fullbright pixels now properly rendered
    • If 3+ texture units are available, all materials can be drawn in a single pass
    • Improved fidelity of model skins when NPoT textures unavailable
  • Fix some of the rough edges on mouse grab handling
  • Fixed bug where red/alt console text was not being rendered
  • New 'hudscale' command to scale the size of HUD elements (status bar, etc.)
  • Fixed crosshair rendering for 'crosshair 2'
  • Fixed custom QW skin loading on PPC
  • Updated build system to enable a 'legacy' Universal build on OSX 10.5 and an x64-only build on modern OSX systems.
  • Added a custom Icon for Windows/OSX builds

And pOx, let me know if your Mac build is still broken - it's working for me. (I happened to be looking for the func_water stuff and saw you mentioned on your page, but couldn't find your email!)

Download from the TyrQuake page.

Posted Thursday Jul 25, 2019

This one has been a long time coming. Lots of under the hood changes that have been hanging around unreleased since 2009(!), but mostly I wanted to make myself sit down and finish off the video-mode handling for the GL renderer. Every time I've gone to do this, I've let it get way too complicated and then side-tracked onto other unrelated things. This was a nice lesson in self-discipline to just get it done!

TyrQuake v0.62 Changes:

  • Model animation/movement interpolation (r_lerpmodels, r_lerpmove cvars)
  • SDL video/input/sound target, now default for MacOS instead of X11.
  • sndio sound target for OpenBSD (thanks Tony Spets/Jacob Meuser)
  • Support for BJP1/2/3 and FITZ(666) network/demo protocols
  • Support for Darkplaces and RMQ style BSP2/2PSB file formats
  • Work around buggy timers on some windows systems/drivers (thanks MH!)
  • Removed vid_win dependency on SciTech MGL (thanks MH!)
  • Netmasks can be used with qwsv's addip/removeip; e.g. "addip 192.168.0.0/24"
  • Fixed remote screenshots from QWSV
  • Improved build system including new OSX, Win64, SDL targets
  • Lots more code sharing between NQ/QW
  • Use non-power-of-two OpenGL textures when extension is available
  • New cvar "m_freelook" to replace need for manual editing "+mlook" in config
  • Improvements to handling of GL textures
  • Support changing video mode in GLQuake/GLQWCL (finally!)
  • Ten years (almost) since v0.61!

Download from the TyrQuake page.

Posted Sunday Jun 9, 2019
Sep  9 15:54:00 disenchant.net -- MARK --

I don't really have anything to update on so I thought I would just put up a quick entry to say "I'm still around". I'm kept busy working two jobs at the moment and that doesn't leave any time really for games and the like, but life is good. And I know that Quake will still be here when things get back to some kind of normalcy.

Posted Tuesday Sep 9, 2014