Added support for OpenAL in win32

This commit is contained in:
Mark Vejvoda
2010-04-06 05:30:22 +00:00
parent d38a1f8877
commit 436f46fcba
5 changed files with 59 additions and 16 deletions

View File

@@ -24,12 +24,10 @@
#include "graphics_factory_gl2.h"
#include "sound_factory_ds8.h"
#else
#endif
#include "sound_factory_openal.h"
#endif
using std::string;
using Shared::Graphics::GraphicsFactory;
@@ -41,12 +39,10 @@ using Shared::Graphics::Gl::GraphicsFactoryGl;
using Shared::Graphics::Gl::GraphicsFactoryGl2;
using Shared::Sound::Ds8::SoundFactoryDs8;
#else
#endif
using Shared::Sound::OpenAL::SoundFactoryOpenAL;
#endif
namespace Shared{ namespace Platform{
// =====================================================
@@ -67,12 +63,10 @@ private:
GraphicsFactoryGl2 graphicsFactoryGl2;
SoundFactoryDs8 soundFactoryDs8;
#else
#endif
SoundFactoryOpenAL soundFactoryOpenAL;
#endif
public:
static FactoryRepository &getInstance();

View File

@@ -0,0 +1,49 @@
// ==============================================================
// This file is part of Glest Shared Library (www.glest.org)
//
// Copyright (C) 2001-2008 Marti<74>o Figueroa
//
// You can redistribute this code and/or modify it under
// the terms of the GNU General Public License as published
// by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version
// ==============================================================
#include "factory_repository.h"
#include "leak_dumper.h"
namespace Shared{ namespace Platform{
// =====================================================
// class FactoryRepository
// =====================================================
FactoryRepository &FactoryRepository::getInstance(){
static FactoryRepository factoryRepository;
return factoryRepository;
}
GraphicsFactory *FactoryRepository::getGraphicsFactory(const string &name){
if(name == "OpenGL"){
return &graphicsFactoryGl;
}
else if(name == "OpenGL2"){
return &graphicsFactoryGl2;
}
throw runtime_error("Unknown graphics factory: " + name);
}
SoundFactory *FactoryRepository::getSoundFactory(const string &name){
if(name == "DirectSound8"){
return &soundFactoryDs8;
}
if(name == "OpenAL") {
return &soundFactoryOpenAL;
}
throw runtime_error("Unknown sound factory: " + name);
}
}}//end namespace