Download

← All updates

Update

quark 1.18.16

Everything that changed in this version, and why.

Two of the owner's answers to the sound audit (2026-10-24): hiders should hear the locator ping, and the unused AIRBORNE / TEN / FIVE SECONDS lines can be removed.

Locator ping (src/game/server.cpp, src/client/game.cpp)

  • What: when the locator fires (hide and seek's seeker, tag's tagger), every other connected player (spectators too) hears SND_LOCATOR in 3D at the firer's position + 1.5 m, volume 1.0, in the firer's sound pack. The firer keeps its own 2D ping.
  • How: the reserved event type EV_SOUND (unused until now): Server::useLocator sends it when the locator really fires, with a = the firer, c = WPN_LOCATOR, the feet position in the text.
  • Why not the firing flag: a player hidden from you (the usual case for the seeker, seen from a hider) has their position and PS_FIRING stripped from your snapshot, so the remote fire-sound loop can't know about it.
  • No protocol change: older clients drop unknown event types, and demos never held this event. Bots don't react to the ping.
  • Test (rules group): in hide and seek and in tag, a hider gets exactly one EV_SOUND (a = it, c = locator, within 2 m of "it"); "it" gets none; the hider still gets no EV_LOCATE.

Announcer lines (src/client/audio.h/.cpp, tools/make_voice.py, assets/provenance/voices.json, tools/sound_editor)

  • SND_VOICE_AIRBORNE, SND_VOICE_TEN_SECONDS and SND_VOICE_FIVE_SECONDS are removed. None was ever played, and no voice had a recording: each was exported as 0.1 s of silence.
  • Every voice now has 27 lines (189 voice files instead of 210; 415 exported assets instead of 436). An override or mod file with one of those names is now ignored.
  • The remaining 189 voice files export byte-identical to before (checked with cmp), so every line still maps to its own recording. Quips drew only from lines with sound, so they're unchanged.
  • The sound editor's line list, levelling presets and audit notes follow; docs/ASSETS.md says 27 x 7.