diff options
author | Joerg Mueller <nexyon@gmail.com> | 2010-07-31 02:20:08 +0400 |
---|---|---|
committer | Joerg Mueller <nexyon@gmail.com> | 2010-07-31 02:20:08 +0400 |
commit | c59b930d135ce7527542da96d1984842cf5e42ff (patch) | |
tree | 1aa694ab37b0441c75d87d9d376c3a4e0aed3445 /source/gameengine/Ketsji/KX_KetsjiEngine.cpp | |
parent | 3ff872bf593f9f4716a21f3be20a13ed136708f2 (diff) |
Audaspace: Refactored the complete 3D Device code giving a nicer API.
Diffstat (limited to 'source/gameengine/Ketsji/KX_KetsjiEngine.cpp')
-rw-r--r-- | source/gameengine/Ketsji/KX_KetsjiEngine.cpp | 41 |
1 files changed, 7 insertions, 34 deletions
diff --git a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp index 71cd8b36045..f1a0a495db6 100644 --- a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp +++ b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp @@ -966,44 +966,17 @@ void KX_KetsjiEngine::DoSound(KX_Scene* scene) KX_Camera* cam = scene->GetActiveCamera(); if (!cam) return; - MT_Point3 listenerposition = cam->NodeGetWorldPosition(); - MT_Vector3 listenervelocity = cam->GetLinearVelocity(); - MT_Matrix3x3 listenerorientation = cam->NodeGetWorldOrientation(); - { - AUD_3DData data; - float f; - - listenerorientation.getValue3x3(data.orientation); - listenerposition.getValue(data.position); - listenervelocity.getValue(data.velocity); - - f = data.position[1]; - data.position[1] = data.position[2]; - data.position[2] = -f; - - f = data.velocity[1]; - data.velocity[1] = data.velocity[2]; - data.velocity[2] = -f; + float f[4]; - f = data.orientation[1]; - data.orientation[1] = data.orientation[2]; - data.orientation[2] = -f; + cam->NodeGetWorldPosition().getValue(f); + AUD_setListenerLocation(f); - f = data.orientation[3]; - data.orientation[3] = -data.orientation[6]; - data.orientation[6] = f; + cam->GetLinearVelocity().getValue(f); + AUD_setListenerVelocity(f); - f = data.orientation[4]; - data.orientation[4] = -data.orientation[8]; - data.orientation[8] = -f; - - f = data.orientation[5]; - data.orientation[5] = data.orientation[7]; - data.orientation[7] = f; - - AUD_updateListener(&data); - } + cam->NodeGetWorldOrientation().getRotation().getValue(f); + AUD_setListenerOrientation(f); } |