Bullet pre-launch trace does not play any bullet whiz/snap sounds

Issue #382 wontfix
Matt Hands created an issue

A successful PLT, i.e. hit something valid and fairly close range, means the bullet projectile never gets spawned. An optimisation, mainly for the network, with the server handling any damage directly from the PLTand telling clients to show relevant hit effects.

But it never players any whiz/snap sounds, which would normally occur if a bullet projectile was spawned. The trace passes WhizType 0 into the HitPointTrace() that would normally handle these effects, with the comment "it's close", i.e. range. WhizType 0 means no sounds.

The problem is that to know what WhizType to use, you have to know how far away the bullet was fired from the player that the PLT may hit, and also whether it was fired by a friendly player. A bit chicken and egg, as the PLT doesn't know what it might hit when it does the trace !

Comments (2)

  1. Matt Hands reporter

    Pretty sure this can be solved without too much trouble. Involves making the PLT behave even more like a DHBullet in its ProcessTouch() function, which is actually probably no bad thing.

  2. Matt Hands reporter

    Oh dear, even if we calculate the distance, set a WhizType & pass it into the HitPointTrace(), it still doesn't work in multi-player - because it's only happening on the server.

    It's the HitPointTrace() done on the local net client that plays the whiz/snap sound to the player. A bullet, replicated to each relevant client (then torn off), does its own local HitPointTrace() to check whether it hit a player, and that is what is playing the sound effect.

    I've tested it and in multi-player you only hear the weapon fire sound, with no bullet whiz/snap, while in single player you hear the correct sound effects when a WhizType is passed in the trace.

    For me, I'm afraid that pretty much kills off PLT. If it can't play the correct sound effects, it isn't valid. It all just sounds and feels wrong, once you realise the whiz/snap isn't there.

    A bullet is a pretty net efficient actor anyway, as it gets torn off on the client the moment it replicates, meaning no net channel and no further replication of data. High rate of fire weapons (30 cal, MG34, MG42 & C96) are further optimised using a separate server/client bullet spawn.

  3. Log in to comment