From 2c4d6b0ab717229087492f73320c4e9f877c5ddf Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Sat, 8 Jun 2024 17:59:05 -0400 Subject: [PATCH] Invert Z axis for OpenGL system --- LEGO1/lego/legoomni/src/audio/lego3dsound.cpp | 8 ++++---- LEGO1/lego/legoomni/src/audio/legosoundmanager.cpp | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/LEGO1/lego/legoomni/src/audio/lego3dsound.cpp b/LEGO1/lego/legoomni/src/audio/lego3dsound.cpp index 4dafb36e..b3089b29 100644 --- a/LEGO1/lego/legoomni/src/audio/lego3dsound.cpp +++ b/LEGO1/lego/legoomni/src/audio/lego3dsound.cpp @@ -46,7 +46,7 @@ MxResult Lego3DSound::Create(ma_sound* p_sound, const char* p_name, MxS32 p_volu ma_sound_set_min_distance(m_sound, 15.0f); ma_sound_set_max_distance(m_sound, 100.0f); - ma_sound_set_position(m_sound, 0.0f, 0.0f, -40.0f); + ma_sound_set_position(m_sound, 0.0f, 0.0f, 40.0f); // [library:audio] Which rolloff? ma_sound_set_rolloff(m_sound, 1.0f); @@ -88,7 +88,7 @@ MxResult Lego3DSound::Create(ma_sound* p_sound, const char* p_name, MxS32 p_volu if (MxOmni::IsSound3D()) { const float* position = m_positionROI->GetWorldPosition(); - ma_sound_set_position(m_sound, position[0], position[1], position[2]); + ma_sound_set_position(m_sound, position[0], position[1], -position[2]); } LegoEntity* entity = m_roi->GetEntity(); @@ -144,7 +144,7 @@ MxU32 Lego3DSound::UpdatePosition(ma_sound* p_sound) } if (m_sound != NULL) { - ma_sound_set_position(m_sound, position[0], position[1], position[2]); + ma_sound_set_position(m_sound, position[0], position[1], -position[2]); } else { MxS32 newVolume = m_volume; @@ -221,7 +221,7 @@ void Lego3DSound::FUN_10011a60(ma_sound* p_sound, const char* p_name) if (m_sound != NULL) { ma_sound_set_spatialization_enabled(m_sound, MA_TRUE); const float* position = m_positionROI->GetWorldPosition(); - ma_sound_set_position(m_sound, position[0], position[1], position[2]); + ma_sound_set_position(m_sound, position[0], position[1], -position[2]); } else { const float* position = m_positionROI->GetWorldPosition(); diff --git a/LEGO1/lego/legoomni/src/audio/legosoundmanager.cpp b/LEGO1/lego/legoomni/src/audio/legosoundmanager.cpp index 3b96f35c..4d0bb289 100644 --- a/LEGO1/lego/legoomni/src/audio/legosoundmanager.cpp +++ b/LEGO1/lego/legoomni/src/audio/legosoundmanager.cpp @@ -90,16 +90,16 @@ void LegoSoundManager::UpdateListener( // uses DirectX' left-handed system? Figure out the proper conversions if (p_position != NULL) { - ma_engine_listener_set_position(&m_engine, 0, p_position[0], p_position[1], p_position[2]); + ma_engine_listener_set_position(&m_engine, 0, p_position[0], p_position[1], -p_position[2]); } if (p_direction != NULL && p_up != NULL) { - ma_engine_listener_set_direction(&m_engine, 0, p_direction[0], p_direction[1], p_direction[2]); - ma_engine_listener_set_world_up(&m_engine, 0, p_up[0], p_up[1], p_up[2]); + ma_engine_listener_set_direction(&m_engine, 0, p_direction[0], p_direction[1], -p_direction[2]); + ma_engine_listener_set_world_up(&m_engine, 0, p_up[0], p_up[1], -p_up[2]); } if (p_velocity != NULL) { - ma_engine_listener_set_velocity(&m_engine, 0, p_velocity[0], p_velocity[1], p_velocity[2]); + ma_engine_listener_set_velocity(&m_engine, 0, p_velocity[0], p_velocity[1], -p_velocity[2]); } } }