Flexible hud for ioq3

Aspect correct widescreen HUD on q3dm11.

ZTM’s flexible hud mod for ioquake3. Download the pk3 and put it in your baseq3 folder. For it to be used you’ll need to set sv_pure to 0 / play on non-pure multiplayer servers. By default there are no changes; you need to configure cvars listed below.

Download [release 3, May 29 2017]: ztm-flexible-hud-r3.pk3

The source code is available on GitHub licensed as GPLv2+ in the zturtleman/ioq3 repository in the flexible_hud branch and flexible_hud-r3 tag.

git clone https://github.com/zturtleman/ioq3.git zturtleman-ioq3
cd zturtleman-ioq3
git checkout flexible_hud
make BUILD_SERVER=0 BUILD_CLIENT=0

New cvars

cg_stretch [0 – 1] stretch 4:3 HUD to fit screen (default: 1)

cg_fovAspectAdjust [0 – 1] automatically convert 4:3 cg_fov values to current aspect (default: 0)
cg_fovGunAdjust [0 – 1] controls gun offset based on FOV. 0 uses Q3A code, 1 uses new code (works with FOV < 90 and fixed FOV dmflags) (default: 0)

These all default to 1.
cg_statusScale [0.0 – 1.0] set scale of status bar (ammo, health, head, armor, CTF flag).
cg_drawStatusHead [0 – 2] 0 disables drawing head, 1 acts like Q3A, 2 drawing health item instead (supports 3D and 2D icons).
cg_drawPickups [0.0 – 1.0] set scale of item pickup message (0 to disable).
cg_drawWeaponBar [0.0 – 1.0] set scale of weapon select popup (0 to disable).
cg_drawScores [0 – 1] toggle drawing scores in bottom right corner (no scaling support).

Recommended settings

cg_stretch 0; cg_fovAspectAdjust 1; cg_fovGunAdjust 1; cg_fov 90;

Other Notes

The pk3 contains unmodified ioq3 game and ui qvms. Mainly because ioq3’s game <-> cgame communication isn’t vanilla compatible when it comes to player pain sounds.

cg_fovAspectAdjust is based on a formula posted by LordHavoc and implemented in QtZ by Razor.

Old version [release 1, November 7 2013]: ztm-flexible-hud-r1.pk3
Old version [release 2, August 30 2014]: ztm-flexible-hud-r2.pk3

The source code for release 1 and 2 can be obtained by applying a patch in the pk3 file (a renamed zip file) to ioquake3’s source code. The ioquake3 git version is included in patch file.

Widescreen support is based on Spearmint Quake 3. However, Spearmint Quake 3 does not have cg_stretch 1, cg_drawStatusHead, cg_drawWeaponBar, or hud scaling options.