Q2PRO-X

Q2PRO-X 1.6 Beta 5 by ly — Audio assets and user replacements

The complete guide in HTML. The original DOCX is available from its documentation card.

Q2PRO-X 1.6 Beta 5 by ly

Audio assets and user replacements

Q2PRO-X document image

Project author: ly

Audio assets and user replacements

English edition • Q2PRO-X 1.6 Beta 5 by ly • 2026-10-10


Contents

The entries are links: click one to jump to that section.

Audio assets and user replacements

Families and locations

Replacing AVFX

Health/armor ambient

Replacing intro music

Optional item timer sounds

Excluded files

Complete AVFX WAV inventory

`baseq2/q2prox_health_ambient.pak`

`baseq2/q2pro-x/q2prox_startup_intro.pak`


Audio assets and user replacements

Project author: ly. Q2PRO-X 1.6 Beta 5.

This guide lists audio locations and loader constraints. See the Sound Guide for volume and family switches. Paths are relative to the game installation.

Families and locations

FamilyDistribution locationReplacement
AVFX weather, water, surfaces, lightning, meteors, black hole and snakesLoose WAV files in baseq2/sound/q2prox/avfx/Normal sound filesystem
Health/armor ambientbaseq2/q2prox_health_ambient.pakSame virtual FLAC names; duration is read from the file
Startup introbaseq2/q2pro-x/q2prox_startup_intro.pakReplaceable PAK; any number of FLAC tracks per language; actual file duration
Item timer cuesOptional user WAV filessound/q2x/tm/ and sound/q2prox/it/; missing files are allowed
Online music and musical AVFX presetsSelected external streamNot a local music library shipped inside a PAK
Quake II and mod soundsOriginal game and modsNot redistributed as new Q2PRO-X audio

WAV virtual paths include sound/, although sound-registration names normally omit that prefix. Moving AVFX WAV files into baseq2/q2pro-x/sound changes their location and is not equivalent.

Replacing AVFX

Close the game and keep a backup of the original outside the package directory. Replace a loose asset at exactly the same path and name. Preserve the original PCM format, mono channel layout and sample rate listed below. Stereo can change spatial behavior. Renaming an MP3 to WAV does not convert it. Keep headroom and avoid clipping or abrupt loop boundaries.

Start the game again and enable the relevant family and its audio. A file being present does not mean every scene plays it: reserve files are marked separately. Snake sounds depend on their surfaces and distance, weather on the current profile, and meteors/black holes on their masters and events.

Mods and PAK entries can override the same virtual path. Loose files do not universally override PAKs; archive entries take precedence within a directory. Adding an identically named loose file may therefore fail to replace a packed sound. A portable packed override needs correct virtual paths and must respect the active mod's search order.

Health/armor ambient

The dedicated PAK contains nine music/q2prox/health_ambient/ha_*.flac files, one per state. The master is off by default. Keep the virtual names to preserve the state mapping. Use actual FLAC rather than another format renamed to FLAC. The supplied files are stereo 48 kHz / 16 bit; they are not required to be 120 seconds long. Runtime reads the real duration. Loop ends and state changes overlap smoothly. Match loudness and musical character across all nine files; fades cannot make incompatible melodies harmonically compatible.

Replacing entries requires a valid repacked PAK with correct names, offsets and lengths. Back up the original archive separately. Health ambient has no built-in comparison against the original audio SHA256; intro replacements work this way too. Modified data is read when the stream is opened again.

Replacing intro music

The intro demonstrates Q2PRO-X features and supports your own music replacements. No EXE rebuild or compiled-manifest update is required.

1. Close the game and back up baseq2/q2pro-x/q2prox_startup_intro.pak.

2. Create a valid Quake II PAK with your FLAC files. Put Russian tracks directly

under music/q2prox_intro/ru/ and English tracks under music/q2prox_intro/en/. For example: music/q2prox_intro/en/my_song.flac.

3. Replace baseq2/q2pro-x/q2prox_startup_intro.pak with your archive.

4. Start the game normally into its main menu. The interface language selects

the language folder; one available track is chosen randomly.

FLAC filenames are yours to choose; retaining intro_01 through intro_13 is unnecessary. Keep one track or add a hundred: the playlist is discovered from the PAK at startup. A single available track is always selected. Intro timing and the finale use the chosen file's actual duration, including tracks longer than three minutes.

Removing the PAK, or providing no tracks for the selected language, leaves the visual intro without its music. Ordinary menu sounds still work. Use actual FLAC files; renaming a different format does not convert it. This replacement uses the specified PAK, not an identically named loose file. The inventory of 13 RU and 13 EN tracks below describes the factory distribution, not an engine limit.

Optional item timer sounds

Paths are sound/q2x/tm/sys/soon.wav, sound/q2x/tm/sys/up.wav, sound/q2x/tm/num/1.wav through 20.wav, and sound/q2x/tm/item/<id>.wav. The fallback cue is sound/q2prox/it/warn.wav. Files are optional; a missing entry falls back to an available general cue or silence. The complete item-ID list is in the Item Timers Guide. Sound replacements do not alter information about items received from the server.

Excluded files

Original game PAKs, the author's personal sound replacements, arbitrary map sounds, editor sources and online-music caches are not part of this audio set. The author's personal zzzz-q2pro-x-sounds.pak is not shipped. One player having such an override does not mean every installation contains those sounds.

Complete AVFX WAV inventory

Reserve means retained in the asset set but not active in the ordinary playback path. Replacing a reserve file is not a useful audibility test.

PathFormatStatus
baseq2/sound/q2prox/avfx/blackhole_capture_whoosh1.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/blackhole_capture_whoosh2.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/blackhole_celestial_shear.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/blackhole_presence_high.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/blackhole_presence_low.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/blackhole_surface_break1.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/blackhole_surface_break2.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/blackhole_surface_break3.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/blackhole_surface_rumble.wav1 ch / 44100 Hz / 16 bit PCMReserve
baseq2/sound/q2prox/avfx/dust_wind_loop.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/fly_buzz1.wav1 ch / 48000 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/fly_buzz2.wav1 ch / 48000 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/fly_buzz3.wav1 ch / 48000 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/fly_buzz4.wav1 ch / 48000 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/lightning_crackle1.wav1 ch / 44100 Hz / 24 bit PCMActive family
baseq2/sound/q2prox/avfx/lightning_crackle2.wav1 ch / 48000 Hz / 24 bit PCMActive family
baseq2/sound/q2prox/avfx/lightning_sizzle_water1.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/meteor_burnup1.wav1 ch / 48000 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/meteor_debris1.wav1 ch / 96000 Hz / 24 bit PCMActive family
baseq2/sound/q2prox/avfx/meteor_debris2.wav1 ch / 96000 Hz / 24 bit PCMActive family
baseq2/sound/q2prox/avfx/meteor_distant_boom1.wav1 ch / 48000 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/meteor_distant_boom2.wav1 ch / 48000 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/meteor_entry_hiss1.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/meteor_entry_hiss2.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/meteor_flyby_whoosh.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/meteor_impact_ground1.wav1 ch / 48000 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/meteor_impact_ground2.wav1 ch / 48000 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/meteor_impact_lava1.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/meteor_impact_snow1.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/meteor_impact_water1.wav1 ch / 48000 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/puddle_drip1.wav1 ch / 44100 Hz / 16 bit PCMReserve
baseq2/sound/q2prox/avfx/puddle_drip2.wav1 ch / 44100 Hz / 16 bit PCMReserve
baseq2/sound/q2prox/avfx/puddle_step1.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/puddle_step2.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/puddle_step3.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/rain_drop1.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/rain_drop2.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/rain_drop3.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/rain_heavy_loop.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/rain_light_loop.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/rain_loop.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/rain_splash1.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/rain_splash2.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/rain_splash3.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/snake_hiss_short1.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/snake_hiss_short2.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/snake_hiss_short3.wav1 ch / 48000 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/snake_hiss_short4.wav1 ch / 48000 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/snake_hiss_short5.wav1 ch / 48000 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/snake_hiss_short6.wav1 ch / 48000 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/snake_hiss_short7.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/snake_hiss_short8.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/snow_soft1.wav1 ch / 44100 Hz / 16 bit PCMReserve
baseq2/sound/q2prox/avfx/snow_soft2.wav1 ch / 44100 Hz / 16 bit PCMReserve
baseq2/sound/q2prox/avfx/snow_step1.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/snow_step2.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/snow_step3.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/snow_step_deep1.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/snow_step_deep2.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/snow_wind_loop.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/steam_hiss1.wav1 ch / 48000 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/steam_hiss2.wav1 ch / 48000 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/steam_hiss3.wav1 ch / 48000 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/steam_surface_hiss1.wav1 ch / 48000 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/steam_surface_hiss2.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/steam_surface_hiss3.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/storm_wind_loop.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/thunder1.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/thunder2.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/thunder_distant1.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/thunder_distant2.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/underwater_surface_rain_loop.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/water_lap1.wav1 ch / 44100 Hz / 16 bit PCMReserve
baseq2/sound/q2prox/avfx/water_lap2.wav1 ch / 44100 Hz / 16 bit PCMReserve
baseq2/sound/q2prox/avfx/water_murmur_loop.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/water_ripple1.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/water_ripple2.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/water_ripple3.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/wet_step1.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/wet_step2.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/wind_gust1.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/wind_gust2.wav1 ch / 44100 Hz / 16 bit PCMActive family
baseq2/sound/q2prox/avfx/wind_loop.wav1 ch / 44100 Hz / 16 bit PCMActive family

baseq2/q2prox_health_ambient.pak

Virtual pathBytes
music/q2prox/health_ambient/ha_critical.flac1360691
music/q2prox/health_ambient/ha_panic.flac1432220
music/q2prox/health_ambient/ha_fear.flac1411036
music/q2prox/health_ambient/ha_tense.flac1343763
music/q2prox/health_ambient/ha_uneasy.flac1415887
music/q2prox/health_ambient/ha_calm.flac3224502
music/q2prox/health_ambient/ha_triumphant.flac3975674
music/q2prox/health_ambient/ha_heroic.flac4081346
music/q2prox/health_ambient/ha_divine.flac5076235

baseq2/q2pro-x/q2prox_startup_intro.pak

Virtual pathBytes
music/q2prox_intro/ru/intro_01.flac5977136
music/q2prox_intro/ru/intro_02.flac3830591
music/q2prox_intro/ru/intro_03.flac8195013
music/q2prox_intro/ru/intro_04.flac15379903
music/q2prox_intro/ru/intro_05.flac5413854
music/q2prox_intro/ru/intro_06.flac9433527
music/q2prox_intro/ru/intro_07.flac15188578
music/q2prox_intro/ru/intro_08.flac2550547
music/q2prox_intro/ru/intro_09.flac1966332
music/q2prox_intro/ru/intro_10.flac2785323
music/q2prox_intro/ru/intro_11.flac2750895
music/q2prox_intro/ru/intro_12.flac4829620
music/q2prox_intro/ru/intro_13.flac4549578
music/q2prox_intro/en/intro_01.flac3221810
music/q2prox_intro/en/intro_02.flac10696767
music/q2prox_intro/en/intro_03.flac8708628
music/q2prox_intro/en/intro_04.flac3729772
music/q2prox_intro/en/intro_05.flac9634583
music/q2prox_intro/en/intro_06.flac6047391
music/q2prox_intro/en/intro_07.flac7399473
music/q2prox_intro/en/intro_08.flac10589768
music/q2prox_intro/en/intro_09.flac6932558
music/q2prox_intro/en/intro_10.flac5111011
music/q2prox_intro/en/intro_11.flac12936184
music/q2prox_intro/en/intro_12.flac12520746
music/q2prox_intro/en/intro_13.flac5213140