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
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
`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
| Family | Distribution location | Replacement |
|---|---|---|
| AVFX weather, water, surfaces, lightning, meteors, black hole and snakes | Loose WAV files in baseq2/sound/q2prox/avfx/ | Normal sound filesystem |
| Health/armor ambient | baseq2/q2prox_health_ambient.pak | Same virtual FLAC names; duration is read from the file |
| Startup intro | baseq2/q2pro-x/q2prox_startup_intro.pak | Replaceable PAK; any number of FLAC tracks per language; actual file duration |
| Item timer cues | Optional user WAV files | sound/q2x/tm/ and sound/q2prox/it/; missing files are allowed |
| Online music and musical AVFX presets | Selected external stream | Not a local music library shipped inside a PAK |
| Quake II and mod sounds | Original game and mods | Not 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.
| Path | Format | Status |
|---|---|---|
| baseq2/sound/q2prox/avfx/blackhole_capture_whoosh1.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/blackhole_capture_whoosh2.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/blackhole_celestial_shear.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/blackhole_presence_high.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/blackhole_presence_low.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/blackhole_surface_break1.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/blackhole_surface_break2.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/blackhole_surface_break3.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/blackhole_surface_rumble.wav | 1 ch / 44100 Hz / 16 bit PCM | Reserve |
| baseq2/sound/q2prox/avfx/dust_wind_loop.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/fly_buzz1.wav | 1 ch / 48000 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/fly_buzz2.wav | 1 ch / 48000 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/fly_buzz3.wav | 1 ch / 48000 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/fly_buzz4.wav | 1 ch / 48000 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/lightning_crackle1.wav | 1 ch / 44100 Hz / 24 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/lightning_crackle2.wav | 1 ch / 48000 Hz / 24 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/lightning_sizzle_water1.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/meteor_burnup1.wav | 1 ch / 48000 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/meteor_debris1.wav | 1 ch / 96000 Hz / 24 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/meteor_debris2.wav | 1 ch / 96000 Hz / 24 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/meteor_distant_boom1.wav | 1 ch / 48000 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/meteor_distant_boom2.wav | 1 ch / 48000 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/meteor_entry_hiss1.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/meteor_entry_hiss2.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/meteor_flyby_whoosh.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/meteor_impact_ground1.wav | 1 ch / 48000 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/meteor_impact_ground2.wav | 1 ch / 48000 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/meteor_impact_lava1.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/meteor_impact_snow1.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/meteor_impact_water1.wav | 1 ch / 48000 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/puddle_drip1.wav | 1 ch / 44100 Hz / 16 bit PCM | Reserve |
| baseq2/sound/q2prox/avfx/puddle_drip2.wav | 1 ch / 44100 Hz / 16 bit PCM | Reserve |
| baseq2/sound/q2prox/avfx/puddle_step1.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/puddle_step2.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/puddle_step3.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/rain_drop1.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/rain_drop2.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/rain_drop3.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/rain_heavy_loop.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/rain_light_loop.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/rain_loop.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/rain_splash1.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/rain_splash2.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/rain_splash3.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/snake_hiss_short1.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/snake_hiss_short2.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/snake_hiss_short3.wav | 1 ch / 48000 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/snake_hiss_short4.wav | 1 ch / 48000 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/snake_hiss_short5.wav | 1 ch / 48000 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/snake_hiss_short6.wav | 1 ch / 48000 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/snake_hiss_short7.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/snake_hiss_short8.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/snow_soft1.wav | 1 ch / 44100 Hz / 16 bit PCM | Reserve |
| baseq2/sound/q2prox/avfx/snow_soft2.wav | 1 ch / 44100 Hz / 16 bit PCM | Reserve |
| baseq2/sound/q2prox/avfx/snow_step1.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/snow_step2.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/snow_step3.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/snow_step_deep1.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/snow_step_deep2.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/snow_wind_loop.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/steam_hiss1.wav | 1 ch / 48000 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/steam_hiss2.wav | 1 ch / 48000 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/steam_hiss3.wav | 1 ch / 48000 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/steam_surface_hiss1.wav | 1 ch / 48000 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/steam_surface_hiss2.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/steam_surface_hiss3.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/storm_wind_loop.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/thunder1.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/thunder2.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/thunder_distant1.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/thunder_distant2.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/underwater_surface_rain_loop.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/water_lap1.wav | 1 ch / 44100 Hz / 16 bit PCM | Reserve |
| baseq2/sound/q2prox/avfx/water_lap2.wav | 1 ch / 44100 Hz / 16 bit PCM | Reserve |
| baseq2/sound/q2prox/avfx/water_murmur_loop.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/water_ripple1.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/water_ripple2.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/water_ripple3.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/wet_step1.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/wet_step2.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/wind_gust1.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/wind_gust2.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
| baseq2/sound/q2prox/avfx/wind_loop.wav | 1 ch / 44100 Hz / 16 bit PCM | Active family |
baseq2/q2prox_health_ambient.pak
| Virtual path | Bytes |
|---|---|
| music/q2prox/health_ambient/ha_critical.flac | 1360691 |
| music/q2prox/health_ambient/ha_panic.flac | 1432220 |
| music/q2prox/health_ambient/ha_fear.flac | 1411036 |
| music/q2prox/health_ambient/ha_tense.flac | 1343763 |
| music/q2prox/health_ambient/ha_uneasy.flac | 1415887 |
| music/q2prox/health_ambient/ha_calm.flac | 3224502 |
| music/q2prox/health_ambient/ha_triumphant.flac | 3975674 |
| music/q2prox/health_ambient/ha_heroic.flac | 4081346 |
| music/q2prox/health_ambient/ha_divine.flac | 5076235 |
baseq2/q2pro-x/q2prox_startup_intro.pak
| Virtual path | Bytes |
|---|---|
| music/q2prox_intro/ru/intro_01.flac | 5977136 |
| music/q2prox_intro/ru/intro_02.flac | 3830591 |
| music/q2prox_intro/ru/intro_03.flac | 8195013 |
| music/q2prox_intro/ru/intro_04.flac | 15379903 |
| music/q2prox_intro/ru/intro_05.flac | 5413854 |
| music/q2prox_intro/ru/intro_06.flac | 9433527 |
| music/q2prox_intro/ru/intro_07.flac | 15188578 |
| music/q2prox_intro/ru/intro_08.flac | 2550547 |
| music/q2prox_intro/ru/intro_09.flac | 1966332 |
| music/q2prox_intro/ru/intro_10.flac | 2785323 |
| music/q2prox_intro/ru/intro_11.flac | 2750895 |
| music/q2prox_intro/ru/intro_12.flac | 4829620 |
| music/q2prox_intro/ru/intro_13.flac | 4549578 |
| music/q2prox_intro/en/intro_01.flac | 3221810 |
| music/q2prox_intro/en/intro_02.flac | 10696767 |
| music/q2prox_intro/en/intro_03.flac | 8708628 |
| music/q2prox_intro/en/intro_04.flac | 3729772 |
| music/q2prox_intro/en/intro_05.flac | 9634583 |
| music/q2prox_intro/en/intro_06.flac | 6047391 |
| music/q2prox_intro/en/intro_07.flac | 7399473 |
| music/q2prox_intro/en/intro_08.flac | 10589768 |
| music/q2prox_intro/en/intro_09.flac | 6932558 |
| music/q2prox_intro/en/intro_10.flac | 5111011 |
| music/q2prox_intro/en/intro_11.flac | 12936184 |
| music/q2prox_intro/en/intro_12.flac | 12520746 |
| music/q2prox_intro/en/intro_13.flac | 5213140 |