Skip to content

v1.6 — code-review visual round (stencil shadows, MSAA, smooth lightstyles)

Choose a tag to compare

@matthewdeaves matthewdeaves released this 29 May 15:11
· 42 commits to master since this release

One disk image for every Mac. Built on Panther, so QuakeSpasm-OldMac-v1.6.dmg (attached below) mounts on everything from Mac OS X 10.3.9 through modern macOS, and the Quakespasm.app inside is a fat binary (PPC G3 + PPC G4/AltiVec + Intel x86_64) that runs native on each.

Install

  1. Download QuakeSpasm-OldMac-v1.6.dmg below and open it.
  2. Drag Quakespasm.app and quakespasm.pak into a folder, e.g. ~/Desktop/quake/.
  3. Put your Quake data in an id1 subfolder there: id1/pak0.pak (shareware) or pak0.pak + pak1.pak (registered — Steam/GOG).
  4. Double-click Quakespasm.app.

Modern macOS quarantines the unsigned app — right-click → Open, or xattr -dr com.apple.quarantine ~/Desktop/quake/Quakespasm.app. (Not needed on Panther / Tiger / Lion.)

What's new in v1.6 — visual-quality round from a full code review + bench audit

  • 24-bit depth + stencil drop-shadows on Quicksilver (Radeon 9000) and the 2019 iMac. r_shadows finally gets its stencil self-intersection mask — it was silently disabled by the default 16-bit framebuffer. ~3% cost on Quicksilver, stays above 60 fps.
  • 8× MSAA on the 2019 iMac (vid_fsaa 8) — spends its huge headroom on anti-aliased edges. Includes an engine fix so vid_fsaa actually applies via the per-machine config.
  • Smooth lightstyles (r_lerplightstyles) on the Radeon G4s + iMac — torches and pulsing lights ramp smoothly instead of stepping at 10 Hz; deliberate hard flicker (strobes / fluorescent) is preserved. ~0–1.5% cost.
  • -g3clbrush — optional client-array brush path for the G3 (default off; benched neutral, kept as a lever).
  • Per-machine gating: the Mac mini G4 stays at 16-bit (its Radeon 9200 wedges creating a 32-bit fullscreen context) and 1024×768.
  • New scripts/make-dmg.sh produces this one-image-for-all-Macs .dmg.

Full per-knob detail in docs/KNOBS.md; gated/reverted experiments in MISTAKES.md.