Player in-voice sounds in counter strike 1.6 demos

counter-strike

I'm playing old counter strike demos (1.5/1.6) on my steam copy of CS 1.6 using the compLexity player. Everything works nicely, except for the fact that the sound of the players speaking on the HL chat is not making any sounds. There are a few posts on this here: https://code.google.com/p/coldemoplayer/issues/detail?id=23, I wondered if anyone else got the in-voice sound working, and if so how?

Update 1: I maybe should have noted, I do not believe the issue is that of compLexity player, also noted by @Nitro.de, as is outlined in the above issue I posted. The fix I am looking for should be related to 1.6. I'd rather not torrent an old CS 1.6 to get things working, but use the steam version if possible.

Update 2: If I record a CS 1.6 demo using my current steam version and someone is speaking in-game, the voice works perfectly fine when using playdemo (and also using coLplayer).

playdemo does not work for my older demos. I get a range of errors when doing so, most likely the formatting of the files – as noted by @Nitro.de, but work perfectly when executed from colPlayer.

I give a few examples of the errors when using playdemo, but don't want to spam the question.

One error when running a CS 1.6 POV demo

ERROR: couldn't open custom.hpk
Example error: Host_Error: CL_Parse_version: Server is protocol 2071657808 instead of 48

Another running a CS 1.6 POV demo

WARNING! demo protocol outdated.
Demo file protocols 47:5, Engine protocol is at 48:5

BUILD 2693 SERVER (0CRC)
Server #4
Example error: Host_Error: CL_Parse_version: Server is protocol 2071657808 instead of 48

Again a CS 1.6 demo:

Cannot continue without model sprites/bottom.spr, disconnecting.

Best Answer

I just took a look in the player code and it seems that it's not the fault of the tool but of CS 1.6.

The Coldemoplayer just parses the json format which is found inside the *.dem file to show several information inside their windows. So the point that you can't hear speaking players seems to be a in cs 1.6 itself. In the issue link you can find the reason for that,

voice_miles.dll and voice_speex.dll aren't even loaded anymore. 
I guess they're using something else for voice.     
Valve really like breaking things.

They dont use any kind of audio inside the code but a simple if clause (while writing a config file which get executed then ingame)

if (Demo.Engine == Demo.Engines.HalfLifeSteam || ((HalfLifeDemo)Demo).ConvertNetworkProtocol())
{
    stream.WriteLine("sv_voicecodec voice_speex");
    stream.WriteLine("sv_voicequality 5");
}

If thats false you wont get sound I guess (I'm not sure what's the default value here). I wont explain every code line here but you'll find everything you need in the Launcher.cs file starting with line 319.

So to play the demo files they parse the path, several information needed and pass them to the right game.exe as parameters so the game will start the demo itself.

To answer your question in short:

You wont get sound with the current CS 1.6 build because it seems the needed *.dll's aren't loaded. But to help you more, please try to watch a demo without the complexity demoplayer and give me feedback if you can hear the voices then.

Update I've found several forum-posts were people seems to fix such problems if they verify the game cache. To do so, right click CS 1.6 in Steam and press the verify button.

Gameproperties in Steam

Else you could try to reinstall CS 1.6 if haven't already tried.