Danbias/Into The Void client/SoundSystem.h

48 lines
813 B
C
Raw Normal View History

2013-10-23 00:09:17 +02:00
// Wrapper class for the soundsystem
#pragma once
#ifndef SOUNDSYSTEM_H
#define SOUNDSYSTEM_H
#include "SoundEngine.h"
#include "SoundSource.h"
#include "Listener.h"
#include "OysterMath.h"
class SoundSystem
{
public:
enum Result { Success, Failure };
static Result init( )
{
if (!SoundEngine::Init())
return Failure;
return Success;
}
static void release( )
{
SoundEngine::Release();
}
static void update( )
{
SoundEngine::Update();
}
static void setTransformation(const Oyster::Math::Float4x4 *transformation)
{
const float *position = transformation->v[3].xyz.element;
const float *forward = (-transformation->v[2]).xyz.element;
const float *up = transformation->v[1].xyz.element;
Listener::SetPosition(position);
Listener::SetOrientation(forward, up);
}
};
#endif