// updates the listener position, orientation, etc. for direct sound 3D. HRESULT DS3DSoundEngine::UpdateListener() { HRESULT hr; DS3DLISTENER listenerdata; listenerdata.dwSize = sizeof(listenerdata); listenerdata.flDistanceFactor = m_fDistanceFactor; listenerdata.flDopplerFactor = m_fDopplerFactor; listenerdata.flRolloffFactor = m_fRolloffFactor; Vector vectPosition; hr = m_plistener->GetPosition(vectPosition); if (ZFailed(hr)) return hr; ConvertVector(listenerdata.vPosition, vectPosition); Vector vectVelocity; hr = m_plistener->GetVelocity(vectVelocity); if (ZFailed(hr)) return hr; ConvertVector(listenerdata.vVelocity, vectVelocity); Vector vectOrientation; hr = m_plistener->GetOrientation(vectOrientation); if (ZFailed(hr)) return hr; ZAssertIsUnitVector(vectOrientation); ConvertVector(listenerdata.vOrientFront, vectOrientation); Vector vectUp; hr = m_plistener->GetUpDirection(vectUp); if (ZFailed(hr)) return hr; ZAssertIsUnitVector(vectUp); ConvertVector(listenerdata.vOrientTop, vectUp); return m_pDSListener->SetAllParameters(&listenerdata, DS3D_DEFERRED); };
void UILoadGraphic::SetPosition(const Vec2i& position) { Vec2f p = ConvertVector(position); sprite.SetPosition(p); pie.SetPosition(p); UIWidget::SetPosition(position); }