From 436f46fcba45b078f1d3713be7c680644a7aee7f Mon Sep 17 00:00:00 2001 From: Mark Vejvoda Date: Tue, 6 Apr 2010 05:30:22 +0000 Subject: [PATCH] Added support for OpenAL in win32 --- mk/windoze/Glest.suo | Bin 147456 -> 151552 bytes mk/windoze/glest_game.vcproj | 4 +- mk/windoze/shared_lib.vcproj | 10 ++-- .../include/platform/sdl/factory_repository.h | 12 ++--- .../platform/win32/factory_repository.cpp | 49 ++++++++++++++++++ 5 files changed, 59 insertions(+), 16 deletions(-) create mode 100644 source/shared_lib/sources/platform/win32/factory_repository.cpp diff --git a/mk/windoze/Glest.suo b/mk/windoze/Glest.suo index b9dcaee08b50649505904acc6ba9b53f5392efc6..b11f8de168c5dec4d133bba4d790bad6f1928548 100755 GIT binary patch delta 17862 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 delta 13047 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 + + @@ -668,10 +672,6 @@ - - diff --git a/source/shared_lib/include/platform/sdl/factory_repository.h b/source/shared_lib/include/platform/sdl/factory_repository.h index c20861e3..89785ba5 100644 --- a/source/shared_lib/include/platform/sdl/factory_repository.h +++ b/source/shared_lib/include/platform/sdl/factory_repository.h @@ -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(); diff --git a/source/shared_lib/sources/platform/win32/factory_repository.cpp b/source/shared_lib/sources/platform/win32/factory_repository.cpp new file mode 100644 index 00000000..8f05f14b --- /dev/null +++ b/source/shared_lib/sources/platform/win32/factory_repository.cpp @@ -0,0 +1,49 @@ +// ============================================================== +// This file is part of Glest Shared Library (www.glest.org) +// +// Copyright (C) 2001-2008 Martiņ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