From 7f1c1e5badb82775a6533b61f3970038ada3855d Mon Sep 17 00:00:00 2001 From: Rain Date: Fri, 17 Apr 2026 21:04:10 +0300 Subject: [PATCH 1/6] Import OGNT soundscript sounds_player entries This commit is a verbatim copy of the OGNT file. Added for supporting the move to asset VPK mounting. --- game/neo/scripts/game_sounds_player.txt | 362 ++++++++++++++++++++++++ 1 file changed, 362 insertions(+) create mode 100644 game/neo/scripts/game_sounds_player.txt diff --git a/game/neo/scripts/game_sounds_player.txt b/game/neo/scripts/game_sounds_player.txt new file mode 100644 index 000000000..41212ecd7 --- /dev/null +++ b/game/neo/scripts/game_sounds_player.txt @@ -0,0 +1,362 @@ +"NeoPlayer.GhostPing" +{ + "volume" "VOL_NORM" + "soundlevel" "SNDLVL_75dB" + "wave" "^gameplay/ghost_ping.wav" +} + +"NeoPlayer.ThermOpticOn" +{ + "channel" "CHAN_ITEM" + "volume" "0.7" + "soundlevel" "SNDLVL_75dB" + + "wave" "^player/therm_on.wav" +} + +"NeoPlayer.ThermOpticOff" +{ + "channel" "CHAN_ITEM" + "volume" "0.7" + "soundlevel" "SNDLVL_75dB" + + "wave" "^player/therm_off.wav" +} + +"NeoPlayer.VisionOn" +{ + "channel" "CHAN_ITEM" + "volume" "VOL_NORM" + "soundlevel" "SNDLVL_75dB" + + "wave" "player/vision_on.wav" +} + +"NeoPlayer.RankUp" +{ + "channel" "CHAN_ITEM" + "volume" "VOL_NORM" + "soundlevel" "SNDLVL_75dB" + + "wave" "player/vision_off.wav" +} + +"NeoPlayer.RankDown" +{ + "channel" "CHAN_ITEM" + "volume" "VOL_NORM" + "soundlevel" "SNDLVL_75dB" + + "wave" "player/vision_off.wav" +} + + +"HL2Player.SprintNoPower" +{ + "channel" "CHAN_VOICE" + "volume" "0.8" + "soundlevel" "SNDLVL_60dB" + + "wave" "player/suit_denydevice.wav" +} + +"HL2Player.SprintStart" +{ + "channel" "CHAN_VOICE" + "volume" "0.9" + "soundlevel" "SNDLVL_60dB" + + "wave" "player/suit_sprint.wav" +} + +"HL2Player.FlashLightOn" +{ + "channel" "CHAN_WEAPON" + "volume" "0.8" + "soundlevel" "SNDLVL_75dB" + "pitch" "PITCH_NORM" + + "wave" "items/flashlight1.wav" +} + +"HL2Player.FlashLightOff" +{ + "channel" "CHAN_WEAPON" + "volume" "0.8" + "soundlevel" "SNDLVL_75dB" + "pitch" "PITCH_NORM" + + "wave" "items/flashlight1.wav" +} + +"HL2Player.PickupWeapon" +{ + "channel" "CHAN_ITEM" + "volume" "0.8" + "soundlevel" "SNDLVL_75dB" + + "wave" "items/ammo_pickup.wav" +} + +"HL2Player.TrainUse" +{ + "channel" "CHAN_ITEM" + "volume" "0.8" + "soundlevel" "SNDLVL_75dB" + + "wave" "plats/train_use1.wav" +} + +"HL2Player.Use" +{ + "channel" "CHAN_ITEM" + "volume" "0.4" + "soundlevel" "SNDLVL_75dB" + + "wave" "common/wpn_select.wav" +} + +"HL2Player.UseNPC" +{ + "channel" "CHAN_ITEM" + "volume" "0.4" + "soundlevel" "SNDLVL_75dB" + + "wave" "common/wpn_select.wav" +} + +"HL2Player.UseDeny" +{ + "channel" "CHAN_ITEM" + "volume" "0.4" + "soundlevel" "SNDLVL_75dB" + + "wave" "common/wpn_denyselect.wav" +} + +"HL2Player.BurnPain" +{ + "channel" "CHAN_VOICE" + "volume" "0.5" + "soundlevel" "SNDLVL_75dB" + + "rndwave" + { + "wave" "player/pl_burnpain1.wav" + "wave" "player/pl_burnpain2.wav" + "wave" "player/pl_burnpain3.wav" + } +} + + +// SHARED player sounds + +"Player.Death" +{ + "channel" "CHAN_VOICE" + "volume" "0.8" + "soundlevel" "SNDLVL_75dB" + + "rndwave" + { + "wave" "player/pl_pain5.wav" + "wave" "player/pl_pain6.wav" + "wave" "player/pl_pain7.wav" + } +} + +"Player.PlasmaDamage" +{ + "channel" "CHAN_BODY" + "volume" "0.5" + "soundlevel" "SNDLVL_75dB" + + "wave" "player/general/flesh_burn.wav" +} + +"Player.SonicDamage" +{ + "channel" "CHAN_BODY" + "volume" "0.7" + "soundlevel" "SNDLVL_75dB" + + "rndwave" + { + "wave" "player/pl_pain5.wav" + "wave" "player/pl_pain6.wav" + "wave" "player/pl_pain7.wav" + } +} + +"Player.DrownStart" +{ + "channel" "CHAN_VOICE" + "volume" "1.0" + "soundlevel" "SNDLVL_75dB" + "pitch" "90,110" + + "wave" "player/pl_drown1.wav" +} + +"Player.Swim" +{ + "channel" "CHAN_STATIC" + "volume" "0.5" + "pitch" "PITCH_NORM" + "soundlevel" "SNDLVL_NORM" + + "rndwave" + { + "wave" "player/footsteps/wade5.wav" + "wave" "player/footsteps/wade6.wav" + "wave" "player/footsteps/wade7.wav" + "wave" "player/footsteps/wade8.wav" + } +} + +"Player.FallDamage" +{ + "channel" "CHAN_AUTO" + "volume" "0.75" + "pitch" "90,110" + "soundlevel" "SNDLVL_NORM" + + "rndwave" + { + "wave" "player/pl_fallpain1.wav" + "wave" "player/pl_fallpain3.wav" + } +} + +"Player.FallGib" +{ + "channel" "CHAN_ITEM" + "volume" "0.75" + "pitch" "90,110" + "soundlevel" "SNDLVL_NORM" + + "rndwave" + { + "wave" "physics/body/body_medium_break2.wav" + } +} + +"Player.DrownContinue" +{ + "channel" "CHAN_VOICE" + "volume" "1.0" + "soundlevel" "SNDLVL_75dB" + "pitch" "90,110" + + "rndwave" + { + "wave" "player/pl_drown1.wav" + "wave" "player/pl_drown2.wav" + "wave" "player/pl_drown3.wav" + } +} + +"Player.Wade" +{ + "channel" "CHAN_BODY" + "volume" "0.25" + "soundlevel" "SNDLVL_75dB" + + "rndwave" + { + "wave" "player/footsteps/wade5.wav" + "wave" "player/footsteps/wade6.wav" + "wave" "player/footsteps/wade7.wav" + "wave" "player/footsteps/wade8.wav" + } +} + +"Player.AmbientUnderWater" +{ + "channel" "CHAN_STATIC" + "volume" "0.22" + "soundlevel" "SNDLVL_75dB" + + "wave" "ambient/water/underwater.wav" +} + +"Player.UseTrain" +{ + "channel" "CHAN_ITEM" + "volume" "0.8" + "soundlevel" "SNDLVL_75dB" + + "wave" "plats/train_use1.wav" +} + +"Player.UseDeny" +{ + "channel" "CHAN_ITEM" + "volume" "0.4" + "soundlevel" "SNDLVL_75dB" + + "wave" "common/wpn_select.wav" +} + +"Player.PickupWeapon" +{ + "channel" "CHAN_ITEM" + "volume" "0.8" + "soundlevel" "SNDLVL_75dB" + "pitch" "95,105" + "wave" "items/ammo_pickup.wav" +} + + +"Geiger.BeepLow" +{ + "channel" "CHAN_STATIC" + "soundlevel" "SNDLVL_NONE" + "pitch" "PITCH_NORM" + + "rndwave" + { + "wave" "player/geiger1.wav" + "wave" "player/geiger2.wav" + } +} + +"Geiger.BeepHigh" +{ + "channel" "CHAN_STATIC" + "soundlevel" "SNDLVL_NONE" + "pitch" "PITCH_NORM" + + "rndwave" + { + "wave" "player/geiger2.wav" + "wave" "player/geiger3.wav" + } +} + +"Victory.Draw" +{ + "channel" "CHAN_STATIC" + "volume" "1.0" + "soundlevel" "SNDLVL_180dB" + + "wave" "gameplay/draw.mp3" +} + +"Victory.Jinrai" +{ + "channel" "CHAN_STATIC" + "volume" "1.0" + "soundlevel" "SNDLVL_180dB" + + "wave" "gameplay/jinrai.mp3" +} + +"Victory.NSF" +{ + "channel" "CHAN_STATIC" + "volume" "1.0" + "soundlevel" "SNDLVL_180dB" + + "wave" "gameplay/nsf.mp3" +} \ No newline at end of file From 91cdade550df0e15a0841dd32820a4237dc4bc11 Mon Sep 17 00:00:00 2001 From: Rain Date: Fri, 17 Apr 2026 21:23:22 +0300 Subject: [PATCH 2/6] Remove unused HL2MP font reference Fix error: Failed to load custom font file 'resource/hl2mp.ttf' This is unrelated to the VPK changes but might as well fix the console warning. --- game/neo/resource/ClientScheme.res | 40 ++++++----------- game/neo/scripts/mod_textures.txt | 70 ------------------------------ 2 files changed, 13 insertions(+), 97 deletions(-) diff --git a/game/neo/resource/ClientScheme.res b/game/neo/resource/ClientScheme.res index 336ec0926..c3f9b7d57 100644 --- a/game/neo/resource/ClientScheme.res +++ b/game/neo/resource/ClientScheme.res @@ -1136,19 +1136,6 @@ Scheme "additive" "1" } } - - "HL2MPTypeDeath" - { - "1" - { - "name" "HL2MP" // csd.ttf - "tall" "32" - "weight" "0" - "additive" "1" - "antialias" "1" - "custom" "1" [$OSX] - } - } NHudText { "1" @@ -3192,20 +3179,19 @@ Scheme CustomFontFiles { "1" "resource/HALFLIFE2.ttf" - "2" "resource/HL2MP.ttf" - "3" "resource/HL2crosshairs.ttf" - "4" "resource/cs.ttf" - "5" "resource/csd.ttf" - "6" "resource/Cstrike.ttf" - "7" "resource/x-scale_.ttf" - "8" "resource/greenm03.ttf" - "9" "resource/zrnic___.ttf" - "10" "resource/AFL.ttf" - "11" "resource/nocr.ttf" - "12" "resource/neuropol2.ttf" - "13" "resource/neotokyo_press_n.ttf" - "14" "resource/killfeedicons.ttf" - "15" "resource/montserrat-regular.ttf" + "2" "resource/HL2crosshairs.ttf" + "3" "resource/cs.ttf" + "4" "resource/csd.ttf" + "5" "resource/Cstrike.ttf" + "6" "resource/x-scale_.ttf" + "7" "resource/greenm03.ttf" + "8" "resource/zrnic___.ttf" + "9" "resource/AFL.ttf" + "10" "resource/nocr.ttf" + "11" "resource/neuropol2.ttf" + "12" "resource/neotokyo_press_n.ttf" + "13" "resource/killfeedicons.ttf" + "14" "resource/montserrat-regular.ttf" } } diff --git a/game/neo/scripts/mod_textures.txt b/game/neo/scripts/mod_textures.txt index fb5334f8e..3479d785d 100644 --- a/game/neo/scripts/mod_textures.txt +++ b/game/neo/scripts/mod_textures.txt @@ -138,76 +138,6 @@ "width" "32" "height" "16" } - "death_357" - { - "font" "HL2MPTypeDeath" - "character" "." - } - "death_ar2" - { - "font" "HL2MPTypeDeath" - "character" "2" - } - "death_crossbow_bolt" - { - "font" "HL2MPTypeDeath" - "character" "1" - } - "death_smg1" - { - "font" "HL2MPTypeDeath" - "character" "/" - } - "death_shotgun" - { - "font" "HL2MPTypeDeath" - "character" "0" - } - "death_rpg_missile" - { - "font" "HL2MPTypeDeath" - "character" "3" - } - "death_grenade_frag" - { - "font" "HL2MPTypeDeath" - "character" "4" - } - "death_pistol" - { - "font" "HL2MPTypeDeath" - "character" "-" - } - "death_physics" - { - "font" "HL2MPTypeDeath" - "character" "9" - } - "death_combine_ball" - { - "font" "HL2MPTypeDeath" - "character" "8" - } - "death_smg1_grenade" - { - "font" "HL2MPTypeDeath" - "character" "7" - } - "death_stunstick" - { - "font" "HL2MPTypeDeath" - "character" "!" - } - "death_slam" - { - "font" "HL2MPTypeDeath" - "character" "*" - } - "death_crowbar" - { - "font" "HL2MPTypeDeath" - "character" "6" - } "voice_player" { "file" "voice/icntlk_sv" From 602d9698cf7bf7ed7c1bfe5df13d2661e33e30ee Mon Sep 17 00:00:00 2001 From: Rain Date: Fri, 17 Apr 2026 22:09:35 +0300 Subject: [PATCH 3/6] Remove victory jingle entries Already exists in game_sounds_ui.txt as HUD.JinraiWin, etc. Also, we typically call these directly with the sound filename because the volume level must correspond to "snd_victory_volume" cvar. --- game/neo/scripts/game_sounds_player.txt | 27 ------------------------- src/game/server/neo/neo_client.cpp | 4 ---- 2 files changed, 31 deletions(-) diff --git a/game/neo/scripts/game_sounds_player.txt b/game/neo/scripts/game_sounds_player.txt index 41212ecd7..1741ded4b 100644 --- a/game/neo/scripts/game_sounds_player.txt +++ b/game/neo/scripts/game_sounds_player.txt @@ -333,30 +333,3 @@ "wave" "player/geiger3.wav" } } - -"Victory.Draw" -{ - "channel" "CHAN_STATIC" - "volume" "1.0" - "soundlevel" "SNDLVL_180dB" - - "wave" "gameplay/draw.mp3" -} - -"Victory.Jinrai" -{ - "channel" "CHAN_STATIC" - "volume" "1.0" - "soundlevel" "SNDLVL_180dB" - - "wave" "gameplay/jinrai.mp3" -} - -"Victory.NSF" -{ - "channel" "CHAN_STATIC" - "volume" "1.0" - "soundlevel" "SNDLVL_180dB" - - "wave" "gameplay/nsf.mp3" -} \ No newline at end of file diff --git a/src/game/server/neo/neo_client.cpp b/src/game/server/neo/neo_client.cpp index d1e6b3b16..24d81fade 100644 --- a/src/game/server/neo/neo_client.cpp +++ b/src/game/server/neo/neo_client.cpp @@ -327,10 +327,6 @@ void Precache_NEO_Sounds( void ) CBaseEntity::PrecacheScriptSound("NeoPlayer.ThermOpticOn"); CBaseEntity::PrecacheScriptSound("NeoPlayer.ThermOpticOff"); CBaseEntity::PrecacheScriptSound("NeoPlayer.VisionOn"); - CBaseEntity::PrecacheScriptSound("Victory.Draw"); - CBaseEntity::PrecacheScriptSound("Victory.Jinrai"); - CBaseEntity::PrecacheScriptSound("Victory.NSF"); - } //----------------------------------------------------------------------------- From 435f88ea8706c13456d6c8db3ff2faec8fa608b6 Mon Sep 17 00:00:00 2001 From: Rain Date: Fri, 17 Apr 2026 22:17:41 +0300 Subject: [PATCH 4/6] Remove unused OGNT sounds No SFX for rank up/down --- game/neo/scripts/game_sounds_player.txt | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/game/neo/scripts/game_sounds_player.txt b/game/neo/scripts/game_sounds_player.txt index 1741ded4b..978ef6ed9 100644 --- a/game/neo/scripts/game_sounds_player.txt +++ b/game/neo/scripts/game_sounds_player.txt @@ -32,24 +32,6 @@ "wave" "player/vision_on.wav" } -"NeoPlayer.RankUp" -{ - "channel" "CHAN_ITEM" - "volume" "VOL_NORM" - "soundlevel" "SNDLVL_75dB" - - "wave" "player/vision_off.wav" -} - -"NeoPlayer.RankDown" -{ - "channel" "CHAN_ITEM" - "volume" "VOL_NORM" - "soundlevel" "SNDLVL_75dB" - - "wave" "player/vision_off.wav" -} - "HL2Player.SprintNoPower" { From f64d1b6bc1408bc361591452a477253ccd2e808e Mon Sep 17 00:00:00 2001 From: Rain Date: Fri, 17 Apr 2026 22:35:21 +0300 Subject: [PATCH 5/6] Refactor Use the correct enum def (same value) --- src/game/server/neo/neo_player.cpp | 2 +- src/game/shared/neo/neo_gamerules.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/game/server/neo/neo_player.cpp b/src/game/server/neo/neo_player.cpp index 3d6c42f6d..c73ac28e9 100644 --- a/src/game/server/neo/neo_player.cpp +++ b/src/game/server/neo/neo_player.cpp @@ -4007,7 +4007,7 @@ void CNEO_Player::SpawnJuggernautPostDeath() { EmitSound_t soundParams; soundParams.m_pSoundName = "HUD.GhostPickUp"; - soundParams.m_nChannel = CHAN_USER_BASE; + soundParams.m_nChannel = CHAN_GHOST_PICKUP; soundParams.m_bWarnOnDirectWaveReference = false; soundParams.m_bEmitCloseCaption = false; soundParams.m_SoundLevel = ATTN_TO_SNDLVL(ATTN_NONE); diff --git a/src/game/shared/neo/neo_gamerules.cpp b/src/game/shared/neo/neo_gamerules.cpp index 0ddbbb19a..abe3d98ed 100644 --- a/src/game/shared/neo/neo_gamerules.cpp +++ b/src/game/shared/neo/neo_gamerules.cpp @@ -1528,7 +1528,7 @@ void CNEORules::Think(void) EmitSound_t soundParams; soundParams.m_pSoundName = "HUD.GhostPickUp"; - soundParams.m_nChannel = CHAN_USER_BASE; + soundParams.m_nChannel = CHAN_GHOST_PICKUP; soundParams.m_bWarnOnDirectWaveReference = false; soundParams.m_bEmitCloseCaption = false; soundParams.m_SoundLevel = ATTN_TO_SNDLVL(ATTN_NONE); From 6744e99330ebf7160c6a35fe4a2801abb9dff9ac Mon Sep 17 00:00:00 2001 From: Rain Date: Fri, 17 Apr 2026 22:36:14 +0300 Subject: [PATCH 6/6] Update g_pChannelNames --- src/public/SoundParametersInternal.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/public/SoundParametersInternal.cpp b/src/public/SoundParametersInternal.cpp index e2c605fec..4469650f4 100644 --- a/src/public/SoundParametersInternal.cpp +++ b/src/public/SoundParametersInternal.cpp @@ -34,6 +34,14 @@ static SoundChannels g_pChannelNames[] = { CHAN_STREAM, "CHAN_STREAM" }, { CHAN_STATIC, "CHAN_STATIC" }, { CHAN_VOICE2, "CHAN_VOICE2" }, +#ifdef NEO + // Sadly we can't use these in soundscripts directly, + // because the lookup is baked to the closed-source + // soundemittersystem dll's version of this array... :-( + { CHAN_VOICE_BASE, "CHAN_VOICE_BASE" }, + { CHAN_USER_BASE, "CHAN_USER_BASE" }, + { CHAN_GHOST_PICKUP, "CHAN_GHOST_PICKUP" }, +#endif }; struct VolumeLevel