Sound orientation with HMD and Headphones

This commit is contained in:
kaetemi 2014-08-01 23:11:35 +02:00
parent 9e23a689ae
commit 4add0e3610
2 changed files with 14 additions and 4 deletions

View file

@ -1407,6 +1407,13 @@ bool mainLoop()
NLMISC::CMatrix mat = ((camMatrix * hmdMatrix) * posMatrix);
MainCam.setPos(mat.getPos());
MainCam.setRotQuat(mat.getRot());
if (true) // TODO: ClientCfg.Headphone
{
// NOTE: non-(StereoHMD+Headphone) impl in user_entity.cpp
SoundMngr->setListenerPos(mat.getPos()); // TODO: Move ears back ... :)
SoundMngr->setListenerOrientation(mat.getJ(), mat.getK());
}
}
if (StereoDisplay)
{

View file

@ -2384,10 +2384,13 @@ void CUserEntity::updateSound(const TTime &time)
if (SoundMngr == 0)
return;
SoundMngr->setListenerPos(pos());
const CMatrix &camMat = MainCam.getMatrix();
SoundMngr->setListenerOrientation(camMat.getJ(), camMat.getK());
if (!(StereoHMD && true)) // TODO: ClientCfg.Headphone
{
// NOTE: StereoHMD+Headphone impl in main_loop.cpp
SoundMngr->setListenerPos(pos());
const CMatrix &camMat = MainCam.getMatrix();
SoundMngr->setListenerOrientation(camMat.getJ(), camMat.getK());
}
if (ClientCfg.Light)
return;