Bug 5741 - OpenAL uses a hack for thirdperson detection which is wrong..
Status: RESOLVED WORKSFORME
Alias: None
Product: ioquake3
Classification: Unclassified
Component: Sound
Version: unspecified
Hardware: All All
: P3 normal
Assignee: Zachary J. Slater
QA Contact: ioquake3 bugzilla mailing list
URL:
Depends on:
Blocks:
 
Reported: 2012-09-01 17:48 EDT by ensiform
Modified: 2012-10-17 17:04:45 EDT
1 user (show)

See Also:


Attachments
The patch for aforementioned fix. (1.51 KB, patch)
2012-09-01 17:48 EDT, ensiform

Description ensiform 2012-09-01 17:48:01 EDT
Created attachment 3263 [details]
The patch for aforementioned fix.

The OpenAL hack for thirdperson detection is a bit wrong as the fixme implies...


It seems the standard sound implementation sets the listener origin in S_Base_Respatialize, so why can't this be done in OpenAL and checked upon in S_AL_HearingThroughEntity?

Patch included.
Comment 1 Zack Middleton 2012-10-17 17:04:45 EDT
Ah, yeah last listener number should be check in S_AL_HearingThroughEntity (so it works correctly when following a client). Fixed in r2325.

The rest of the patch makes player's sounds full volume in third person, which is what the Base sound system does. I think this is actually points out a bug in Base sound system. The camera is the listener, so when in third person the player's sounds should have distance. Made Base sound system check if third person like OpenAL in r2326.

Thanks.