Index: code/trunk/src/orxonox/sound/AmbientSound.cc
===================================================================
--- code/trunk/src/orxonox/sound/AmbientSound.cc	(revision 10624)
+++ code/trunk/src/orxonox/sound/AmbientSound.cc	(revision 11071)
@@ -92,6 +92,6 @@
         {
             const std::string& path = "ambient/" + mood + '/' + this->ambientSource_;
-            shared_ptr<ResourceInfo> fileInfo = Resource::getInfo(path);
-            if (fileInfo != NULL)
+            std::shared_ptr<ResourceInfo> fileInfo = Resource::getInfo(path);
+            if (fileInfo != nullptr)
             {
                 orxout(user_info) << "Loading ambient sound " << path << "..." << endl; // TODO: make this output internal if we implement sound streaming
Index: code/trunk/src/orxonox/sound/AmbientSound.h
===================================================================
--- code/trunk/src/orxonox/sound/AmbientSound.h	(revision 10624)
+++ code/trunk/src/orxonox/sound/AmbientSound.h	(revision 11071)
@@ -50,7 +50,7 @@
         AmbientSound();
 
-        void play();
-        bool stop();
-        void pause();
+        virtual void play() override;
+        virtual bool stop() override;
+        virtual void pause() override;
 
         bool setAmbientSource(const std::string& source);
@@ -66,7 +66,7 @@
 
     private:
-        void preDestroy();
-        float getRealVolume();
-        bool moodChanged(const std::string& mood);
+        virtual void preDestroy() override;
+        virtual float getRealVolume() override;
+        virtual bool moodChanged(const std::string& mood) override;
         inline void ambientSourceChanged()
             { this->setAmbientSource(this->ambientSource_); }
Index: code/trunk/src/orxonox/sound/BaseSound.cc
===================================================================
--- code/trunk/src/orxonox/sound/BaseSound.cc	(revision 10624)
+++ code/trunk/src/orxonox/sound/BaseSound.cc	(revision 11071)
@@ -49,5 +49,5 @@
         , volume_(0.7)
         , bLooping_(false)
-        , state_(Stopped)
+        , state_(State::Stopped)
         , pitch_ (1.0)
     {
@@ -63,8 +63,8 @@
     BaseSound::~BaseSound()
     {
-        if (this->state_ != Stopped)
+        if (this->state_ != State::Stopped)
             this->stop();
         // Release buffer
-        if (this->soundBuffer_ != NULL)
+        if (this->soundBuffer_ != nullptr)
         {
             assert(GameMode::playsSound());
@@ -83,6 +83,6 @@
     void BaseSound::doPlay()
     {
-        this->state_ = Playing;
-        if (GameMode::playsSound() && this->getSourceState() != AL_PLAYING && this->soundBuffer_ != NULL)
+        this->state_ = State::Playing;
+        if (GameMode::playsSound() && this->getSourceState() != AL_PLAYING && this->soundBuffer_ != nullptr)
         {
             if (!alIsSource(this->audioSource_))
@@ -102,5 +102,5 @@
     bool BaseSound::doStop()
     {
-        this->state_ = Stopped;
+        this->state_ = State::Stopped;
         if (alIsSource(this->audioSource_))
         {
@@ -123,5 +123,5 @@
         if (this->isStopped())
             return;
-        this->state_ = Paused;
+        this->state_ = State::Paused;
         if (alIsSource(this->audioSource_))
             alSourcePause(this->audioSource_);
@@ -151,5 +151,5 @@
             orxout(internal_warning, context::sound) << "Setting source parameters to 0 failed: "
                                                      << SoundManager::getALErrorString(error) << endl;
-        assert(this->soundBuffer_ != NULL);
+        assert(this->soundBuffer_ != nullptr);
         alSourcei(this->audioSource_, AL_BUFFER, this->soundBuffer_->getBuffer());
         if (ALuint error = alGetError())
@@ -209,5 +209,5 @@
         }
 
-        if (this->soundBuffer_ != NULL)
+        if (this->soundBuffer_ != nullptr)
         {
             if (this->soundBuffer_->getFilename() == source)
@@ -233,5 +233,5 @@
         // Get new sound buffer
         this->soundBuffer_ = SoundManager::getInstance().getSoundBuffer(this->source_);
-        if (this->soundBuffer_ == NULL)
+        if (this->soundBuffer_ == nullptr)
             return;
 
@@ -256,10 +256,10 @@
         else // No source acquired so far, but might be set to playing or paused
         {
-            State state = static_cast<State>(this->state_); // save
+            State state = this->state_; // save
             if (this->isPlaying() || this->isPaused())
                 doPlay();
-            if (state == Paused)
-            {
-                this->state_ = Paused;
+            if (state == State::Paused)
+            {
+                this->state_ = State::Paused;
                 doPause();
             }
@@ -271,11 +271,11 @@
         switch (this->state_)
         {
-            case Playing:
+            case State::Playing:
                 this->play();
                 break;
-            case Paused:
+            case State::Paused:
                 this->pause();
                 break;
-            case Stopped:
+            case State::Stopped:
             default:
                 this->stop();
Index: code/trunk/src/orxonox/sound/BaseSound.h
===================================================================
--- code/trunk/src/orxonox/sound/BaseSound.h	(revision 10624)
+++ code/trunk/src/orxonox/sound/BaseSound.h	(revision 11071)
@@ -33,5 +33,5 @@
 
 #include <string>
-#include <boost/shared_ptr.hpp>
+#include <memory>
 #include <OgreDataStream.h>
 #include "core/object/Listable.h"
@@ -54,7 +54,7 @@
         virtual void pause() { this->doPause(); }
 
-        bool isPlaying() const { return this->state_ == Playing; }
-        bool isPaused()  const { return this->state_ == Paused; }
-        bool isStopped() const { return this->state_ == Stopped; }
+        bool isPlaying() const { return this->state_ == State::Playing; }
+        bool isPaused()  const { return this->state_ == State::Paused; }
+        bool isStopped() const { return this->state_ == State::Stopped; }
 
         virtual void setSource(const std::string& source);
@@ -76,5 +76,5 @@
 
     protected:
-        enum State
+        enum class State
         {
             Stopped,
@@ -107,9 +107,9 @@
         ALuint          audioSource_;
         bool            bPooling_;
-        shared_ptr<SoundBuffer> soundBuffer_;
+        std::shared_ptr<SoundBuffer> soundBuffer_;
         std::string     source_;
         float           volume_;
         bool            bLooping_;
-        uint8_t         state_;       // This Variable is actually of type State
+        State           state_;       // This Variable is actually of type State
         float           pitch_;
 
Index: code/trunk/src/orxonox/sound/SoundBuffer.cc
===================================================================
--- code/trunk/src/orxonox/sound/SoundBuffer.cc	(revision 10624)
+++ code/trunk/src/orxonox/sound/SoundBuffer.cc	(revision 11071)
@@ -39,5 +39,5 @@
 namespace orxonox
 {
-    SoundBuffer::SoundBuffer(const std::string& filename, std::list<shared_ptr<SoundBuffer> >::iterator poolIterator)
+    SoundBuffer::SoundBuffer(const std::string& filename, std::list<std::shared_ptr<SoundBuffer>>::iterator poolIterator)
         : filename_(filename)
         , audioBuffer_(AL_NONE)
@@ -45,9 +45,9 @@
     {
         if (this->filename_.empty())
-            ThrowException(General, "SoundBuffer construction: fileInfo was NULL");
+            ThrowException(General, "SoundBuffer construction: fileInfo was nullptr");
 
         // Get resource info
-        shared_ptr<ResourceInfo> fileInfo = Resource::getInfo(filename);
-        if (fileInfo == NULL)
+        std::shared_ptr<ResourceInfo> fileInfo = Resource::getInfo(filename);
+        if (fileInfo == nullptr)
         {
             orxout(internal_error, context::sound) << "Sound file '" << filename << "' not found" << endl;
@@ -83,5 +83,5 @@
     }
 
-    void SoundBuffer::loadStandard(const shared_ptr<ResourceInfo>& fileInfo, DataStreamPtr dataStream)
+    void SoundBuffer::loadStandard(const std::shared_ptr<ResourceInfo>& fileInfo, DataStreamPtr dataStream)
     {
         // Read everything into a temporary buffer
@@ -127,5 +127,5 @@
     }
 
-    void SoundBuffer::loadOgg(const shared_ptr<ResourceInfo>& fileInfo, DataStreamPtr dataStream)
+    void SoundBuffer::loadOgg(const std::shared_ptr<ResourceInfo>& fileInfo, DataStreamPtr dataStream)
     {
         char inbuffer[256*1024];
@@ -138,8 +138,8 @@
         vorbisCallbacks.seek_func  = &seekVorbis;
         vorbisCallbacks.tell_func  = &tellVorbis;
-        vorbisCallbacks.close_func = NULL;
+        vorbisCallbacks.close_func = nullptr;
 
         OggVorbis_File vf;
-        int ret = ov_open_callbacks(dataStream.get(), &vf, NULL, 0, vorbisCallbacks);
+        int ret = ov_open_callbacks(dataStream.get(), &vf, nullptr, 0, vorbisCallbacks);
         if (ret < 0)
         {
Index: code/trunk/src/orxonox/sound/SoundBuffer.h
===================================================================
--- code/trunk/src/orxonox/sound/SoundBuffer.h	(revision 10624)
+++ code/trunk/src/orxonox/sound/SoundBuffer.h	(revision 11071)
@@ -33,5 +33,5 @@
 
 #include <list>
-#include <boost/shared_ptr.hpp>
+#include <memory>
 #include "core/Resource.h"
 
@@ -45,14 +45,7 @@
     {
         friend class SoundManager;
-#if !defined(_MSC_VER) || _MSC_VER >= 1500
-        // Make sure nobody deletes an instance (using strong pointers)
-        template <class T>
-        friend void boost::checked_delete(T*);
-#endif
 
     public:
-#if defined(_MSC_VER) && _MSC_VER < 1500
         ~SoundBuffer();
-#endif
         inline ALuint getBuffer()
             { return this->audioBuffer_; }
@@ -64,14 +57,11 @@
 
     private:
-        SoundBuffer(const std::string& filename, std::list<shared_ptr<SoundBuffer> >::iterator poolIterator);
-#if !defined(_MSC_VER) || _MSC_VER >= 1500
-        ~SoundBuffer();
-#endif
-        void loadStandard(const shared_ptr<ResourceInfo>& fileInfo, DataStreamPtr dataStream);
-        void loadOgg(const shared_ptr<ResourceInfo>& fileInfo, DataStreamPtr dataStream);
+        SoundBuffer(const std::string& filename, std::list<std::shared_ptr<SoundBuffer>>::iterator poolIterator);
+        void loadStandard(const std::shared_ptr<ResourceInfo>& fileInfo, DataStreamPtr dataStream);
+        void loadOgg(const std::shared_ptr<ResourceInfo>& fileInfo, DataStreamPtr dataStream);
 
         std::string filename_;
         ALuint audioBuffer_;
-        std::list<shared_ptr<SoundBuffer> >::iterator poolIterator_;
+        std::list<std::shared_ptr<SoundBuffer>>::iterator poolIterator_;
     };
 }
Index: code/trunk/src/orxonox/sound/SoundManager.cc
===================================================================
--- code/trunk/src/orxonox/sound/SoundManager.cc	(revision 10624)
+++ code/trunk/src/orxonox/sound/SoundManager.cc	(revision 11071)
@@ -83,5 +83,5 @@
             ThrowException(InitialisationAborted, "Sound: Not loading at all");
 #if !defined(ORXONOX_PLATFORM_APPLE)
-        if (!alutInitWithoutContext(NULL, NULL))
+        if (!alutInitWithoutContext(nullptr, nullptr))
             ThrowException(InitialisationFailed, "Sound Error: ALUT initialisation failed: " << alutGetErrorString(alutGetError()));
         Loki::ScopeGuard alutExitGuard = Loki::MakeGuard(&alutExit);
@@ -90,5 +90,5 @@
 /*
         // Get list of available sound devices and display them
-        const char* devices = alcGetString(NULL, ALC_DEVICE_SPECIFIER);
+        const char* devices = alcGetString(nullptr, ALC_DEVICE_SPECIFIER);
         char* device = new char[strlen(devices)+1];
         strcpy(device, devices);
@@ -110,12 +110,12 @@
         this->device_ = alcOpenDevice(renderDevice.c_str());
 */
-        this->device_ = alcOpenDevice(NULL);
-        if (this->device_ == NULL)
+        this->device_ = alcOpenDevice(nullptr);
+        if (this->device_ == nullptr)
             ThrowException(InitialisationFailed, "Sound Error: Could not open sound device.");
         Loki::ScopeGuard closeDeviceGuard = Loki::MakeGuard(&alcCloseDevice, this->device_);
 
         // Create sound context and make it the currently used one
-        this->context_ = alcCreateContext(this->device_, NULL);
-        if (this->context_ == NULL)
+        this->context_ = alcCreateContext(this->device_, nullptr);
+        if (this->context_ == nullptr)
             ThrowException(InitialisationFailed, "Sound Error: Could not create ALC context");
         Loki::ScopeGuard desroyContextGuard = Loki::MakeGuard(&alcDestroyContext, this->context_);
@@ -189,5 +189,5 @@
 
         // Relieve context to destroy it
-        if (!alcMakeContextCurrent(NULL))
+        if (!alcMakeContextCurrent(nullptr))
             orxout(internal_error, context::sound) << "Could not unset ALC context" << endl;
         alcDestroyContext(this->context_);
@@ -294,14 +294,14 @@
         {
         case SoundType::All:
-            for (ObjectList<BaseSound>::iterator it = ObjectList<BaseSound>::begin(); it != ObjectList<BaseSound>::end(); ++it)
-                (*it)->updateVolume();
+            for (BaseSound* sound : ObjectList<BaseSound>())
+                sound->updateVolume();
             break;
         case SoundType::Music:
-            for (ObjectList<AmbientSound>::iterator it = ObjectList<AmbientSound>::begin(); it != ObjectList<AmbientSound>::end(); ++it)
-                (*it)->updateVolume();
+            for (AmbientSound* sound : ObjectList<AmbientSound>())
+                sound->updateVolume();
             break;
         case SoundType::Effects:
-            for (ObjectList<WorldSound>::iterator it = ObjectList<WorldSound>::begin(); it != ObjectList<WorldSound>::end(); ++it)
-                (*it)->updateVolume();
+            for (WorldSound* sound : ObjectList<WorldSound>())
+                sound->updateVolume();
             break;
         default:
@@ -350,5 +350,5 @@
     void SoundManager::registerAmbientSound(AmbientSound* newAmbient)
     {
-        if (newAmbient != NULL && !this->bDestructorCalled_)
+        if (newAmbient != nullptr && !this->bDestructorCalled_)
         {
             for (AmbientList::const_iterator it = this->ambientSounds_.begin(); it != this->ambientSounds_.end(); ++it)
@@ -373,5 +373,5 @@
     void SoundManager::unregisterAmbientSound(AmbientSound* oldAmbient)
     {
-        if (oldAmbient == NULL || ambientSounds_.empty() || this->bDestructorCalled_)
+        if (oldAmbient == nullptr || ambientSounds_.empty() || this->bDestructorCalled_)
             return;
 
@@ -405,12 +405,12 @@
     void SoundManager::pauseAmbientSound(AmbientSound* ambient)
     {
-        if (ambient != NULL)
-        {
-            for (AmbientList::iterator it = this->ambientSounds_.begin(); it != this->ambientSounds_.end(); ++it)
-            {
-                if (it->first == ambient)
+        if (ambient != nullptr)
+        {
+            for (std::pair<AmbientSound*, bool>& pair : this->ambientSounds_)
+            {
+                if (pair.first == ambient)
                 {
-                    it->second = true;
-                    this->fadeOut(it->first);
+                    pair.second = true;
+                    this->fadeOut(pair.first);
                     return;
                 }
@@ -422,5 +422,5 @@
     {
         // If we're already fading out --> remove that
-        for (std::list<StrongPtr<AmbientSound> >::iterator it = this->fadeOutList_.begin(); it != this->fadeOutList_.end(); it++)
+        for (std::list<StrongPtr<AmbientSound>>::iterator it = this->fadeOutList_.begin(); it != this->fadeOutList_.end(); it++)
         {
             if (*it == sound)
@@ -438,5 +438,5 @@
     {
         // If we're already fading in --> remove that
-        for (std::list<StrongPtr<AmbientSound> >::iterator it = this->fadeInList_.begin(); it != this->fadeInList_.end(); it++)
+        for (std::list<StrongPtr<AmbientSound>>::iterator it = this->fadeInList_.begin(); it != this->fadeInList_.end(); it++)
         {
             if (*it == sound)
@@ -461,5 +461,5 @@
 
         // FADE IN
-        for (std::list<StrongPtr<AmbientSound> >::iterator it= this->fadeInList_.begin(); it != this->fadeInList_.end(); )
+        for (std::list<StrongPtr<AmbientSound>>::iterator it= this->fadeInList_.begin(); it != this->fadeInList_.end(); )
         {
             if ((*it)->getVolume() + this->crossFadeStep_*dt > 1.0f)
@@ -476,5 +476,5 @@
 
         // FADE OUT
-        for (std::list<StrongPtr<AmbientSound> >::iterator it = this->fadeOutList_.begin(); it != this->fadeOutList_.end(); )
+        for (std::list<StrongPtr<AmbientSound>>::iterator it = this->fadeOutList_.begin(); it != this->fadeOutList_.end(); )
         {
             if ((*it)->getVolume() - this->crossFadeStep_*dt < 0.0f)
@@ -505,7 +505,7 @@
     }
 
-    shared_ptr<SoundBuffer> SoundManager::getSoundBuffer(const std::string& filename)
-    {
-        shared_ptr<SoundBuffer> buffer;
+    std::shared_ptr<SoundBuffer> SoundManager::getSoundBuffer(const std::string& filename)
+    {
+        std::shared_ptr<SoundBuffer> buffer;
         // Check active or pooled buffers
         SoundBufferMap::const_iterator it = this->soundBuffers_.find(filename);
@@ -538,5 +538,5 @@
     }
 
-    void SoundManager::releaseSoundBuffer(const shared_ptr<SoundBuffer>& buffer, bool bPoolBuffer)
+    void SoundManager::releaseSoundBuffer(const std::shared_ptr<SoundBuffer>& buffer, bool bPoolBuffer)
     {
         // Check if others are still using the buffer
@@ -551,5 +551,5 @@
                 while (this->effectsPoolSize_ + it->second->getSize() > this->maxEffectsPoolSize_s && !this->effectsPool_.empty())
                 {
-                    shared_ptr<SoundBuffer> bufferDel = this->effectsPool_.back();
+                    std::shared_ptr<SoundBuffer> bufferDel = this->effectsPool_.back();
                     this->effectsPoolSize_ -= bufferDel->getSize();
                     bufferDel->poolIterator_ = this->effectsPool_.end();
@@ -576,5 +576,5 @@
             ALuint source = this->availableSoundSources_.back();
             this->availableSoundSources_.pop_back();
-            this->usedSoundSources_.push_back(std::make_pair(source, object));
+            this->usedSoundSources_.emplace_back(source, object);
             return source;
         }
@@ -588,5 +588,5 @@
                 if (alIsSource(source) && !alGetError())
                 {
-                    this->usedSoundSources_.push_back(std::make_pair(source, object));
+                    this->usedSoundSources_.emplace_back(source, object);
                     return source;
                 }
@@ -606,5 +606,5 @@
 #endif
         this->availableSoundSources_.push_back(source);
-        for (std::vector<std::pair<ALuint, BaseSound*> >::iterator it = this->usedSoundSources_.begin();
+        for (std::vector<std::pair<ALuint, BaseSound*>>::iterator it = this->usedSoundSources_.begin();
             it != this->usedSoundSources_.end(); ++it)
         {
Index: code/trunk/src/orxonox/sound/SoundManager.h
===================================================================
--- code/trunk/src/orxonox/sound/SoundManager.h	(revision 10624)
+++ code/trunk/src/orxonox/sound/SoundManager.h	(revision 11071)
@@ -36,5 +36,5 @@
 #include <map>
 #include <string>
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 #include "util/Singleton.h"
@@ -68,6 +68,6 @@
         ~SoundManager();
 
-        void preUpdate(const Clock& time);
-        void postUpdate(const Clock& time) { /*no action*/ }
+        virtual void preUpdate(const Clock& time) override;
+        virtual void postUpdate(const Clock& time) override { /*no action*/ }
         void setConfigValues();
 
@@ -96,6 +96,6 @@
         // tolua_end
 
-        shared_ptr<SoundBuffer> getSoundBuffer(const std::string& filename);
-        void releaseSoundBuffer(const shared_ptr<SoundBuffer>& buffer, bool bPoolBuffer);
+        std::shared_ptr<SoundBuffer> getSoundBuffer(const std::string& filename);
+        void releaseSoundBuffer(const std::shared_ptr<SoundBuffer>& buffer, bool bPoolBuffer);
 
         ALuint getSoundSource(BaseSound* object);
@@ -125,10 +125,10 @@
 
         // Ambient sound related
-        typedef std::list<std::pair<AmbientSound*, bool> > AmbientList;
+        typedef std::list<std::pair<AmbientSound*, bool>> AmbientList;
         AmbientList                        ambientSounds_;
         //! Absolute change per second (0.1 means 10% of the nominal volume) for cross fading
         float                              crossFadeStep_;
-        std::list<StrongPtr<AmbientSound> > fadeInList_;
-        std::list<StrongPtr<AmbientSound> > fadeOutList_;
+        std::list<StrongPtr<AmbientSound>> fadeInList_;
+        std::list<StrongPtr<AmbientSound>> fadeOutList_;
 
         // Volume related
@@ -139,7 +139,7 @@
         static const unsigned int maxEffectsPoolSize_s = 40 * 1024 * 1024;
         unsigned int effectsPoolSize_;
-        typedef std::list<shared_ptr<SoundBuffer> > EffectsPoolList;
+        typedef std::list<std::shared_ptr<SoundBuffer>> EffectsPoolList;
         EffectsPoolList effectsPool_;
-        typedef std::map<std::string, shared_ptr<SoundBuffer> > SoundBufferMap;
+        typedef std::map<std::string, std::shared_ptr<SoundBuffer>> SoundBufferMap;
         SoundBufferMap soundBuffers_;
 
@@ -148,5 +148,5 @@
         unsigned int maxSources_;
         std::vector<ALuint> availableSoundSources_;
-        std::vector<std::pair<ALuint, BaseSound*> > usedSoundSources_;
+        std::vector<std::pair<ALuint, BaseSound*>> usedSoundSources_;
 
         bool bDestructorCalled_; ///< Becomes true if the destructor is called - used to prevent ambient sounds from registering after the lists were cleared
Index: code/trunk/src/orxonox/sound/SoundStreamer.cc
===================================================================
--- code/trunk/src/orxonox/sound/SoundStreamer.cc	(revision 10624)
+++ code/trunk/src/orxonox/sound/SoundStreamer.cc	(revision 11071)
@@ -45,8 +45,8 @@
         vorbisCallbacks.seek_func  = &seekVorbis;
         vorbisCallbacks.tell_func  = &tellVorbis;
-        vorbisCallbacks.close_func = NULL;
+        vorbisCallbacks.close_func = nullptr;
 
         OggVorbis_File vf;
-        int ret = ov_open_callbacks(dataStream.get(), &vf, NULL, 0, vorbisCallbacks);
+        int ret = ov_open_callbacks(dataStream.get(), &vf, nullptr, 0, vorbisCallbacks);
         if (ret < 0)
         {
@@ -68,5 +68,5 @@
         int current_section;
 
-        for(int i = 0; i < 4; i++)
+        for(ALuint& initbuffer : initbuffers)
         {
             long ret = ov_read(&vf, inbuffer, sizeof(inbuffer), 0, 2, 1, &current_section);
@@ -82,5 +82,5 @@
             }
 
-            alBufferData(initbuffers[i], format, &inbuffer, ret, vorbisInfo->rate);
+            alBufferData(initbuffer, format, &inbuffer, ret, vorbisInfo->rate);
         }
         alSourceQueueBuffers(audioSource, 4, initbuffers);
Index: code/trunk/src/orxonox/sound/WorldAmbientSound.cc
===================================================================
--- code/trunk/src/orxonox/sound/WorldAmbientSound.cc	(revision 10624)
+++ code/trunk/src/orxonox/sound/WorldAmbientSound.cc	(revision 11071)
@@ -49,13 +49,13 @@
         this->ambientSound_ = new AmbientSound();
         this->registerVariables();
-        soundList_.push_back("Earth.ogg");
-        soundList_.push_back("Jupiter.ogg");
-        soundList_.push_back("Mars.ogg");
-        soundList_.push_back("allgorythm-lift_up.ogg");
-        soundList_.push_back("allgorythm-resonance_blaster.ogg");
-        soundList_.push_back("AlphaCentauri.ogg");
-        soundList_.push_back("Asteroid_rocks.ogg");
-        soundList_.push_back("Ganymede.ogg");
-        soundList_.push_back("luke_grey_-_hypermode.ogg");
+        soundList_.emplace_back("Earth.ogg");
+        soundList_.emplace_back("Jupiter.ogg");
+        soundList_.emplace_back("Mars.ogg");
+        soundList_.emplace_back("allgorythm-lift_up.ogg");
+        soundList_.emplace_back("allgorythm-resonance_blaster.ogg");
+        soundList_.emplace_back("AlphaCentauri.ogg");
+        soundList_.emplace_back("Asteroid_rocks.ogg");
+        soundList_.emplace_back("Ganymede.ogg");
+        soundList_.emplace_back("luke_grey_-_hypermode.ogg");
 
     }
@@ -114,8 +114,7 @@
 
         //HACK: Assuption - there is only one WorldAmbientSound in a level and only one level is used.
-        for (ObjectList<WorldAmbientSound>::iterator it = ObjectList<WorldAmbientSound>::begin();
-             it != ObjectList<WorldAmbientSound>::end(); ++it)
+        for (WorldAmbientSound* sound : ObjectList<WorldAmbientSound>())
         {
-            while(it->ambientSound_->setAmbientSource(WorldAmbientSound::soundList_[WorldAmbientSound::soundNumber_]) == false){
+            while(sound->ambientSound_->setAmbientSource(WorldAmbientSound::soundList_[WorldAmbientSound::soundNumber_]) == false){
                 WorldAmbientSound::soundNumber_ = (WorldAmbientSound::soundNumber_ + 1) % WorldAmbientSound::soundList_.size();
             }
Index: code/trunk/src/orxonox/sound/WorldAmbientSound.h
===================================================================
--- code/trunk/src/orxonox/sound/WorldAmbientSound.h	(revision 10624)
+++ code/trunk/src/orxonox/sound/WorldAmbientSound.h	(revision 11071)
@@ -50,8 +50,8 @@
             virtual ~WorldAmbientSound();
 
-            void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-            void XMLEventPort(Element& xmlelement, XMLPort::Mode mode);
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+            virtual void XMLEventPort(Element& xmlelement, XMLPort::Mode mode) override;
 
-            virtual void changedActivity();
+            virtual void changedActivity() override;
 
             void play();
Index: code/trunk/src/orxonox/sound/WorldSound.cc
===================================================================
--- code/trunk/src/orxonox/sound/WorldSound.cc	(revision 10624)
+++ code/trunk/src/orxonox/sound/WorldSound.cc	(revision 11071)
@@ -58,5 +58,5 @@
         registerVariable(bLooping_, ObjectDirection::ToClient, new NetworkCallback<WorldSound>(this, &WorldSound::loopingChanged));
         registerVariable(pitch_,    ObjectDirection::ToClient, new NetworkCallback<WorldSound>(this, &WorldSound::pitchChanged));
-        registerVariable((uint8_t&)(BaseSound::state_), ObjectDirection::ToClient, new NetworkCallback<WorldSound>(this, &WorldSound::stateChanged));
+        registerVariable(BaseSound::state_, ObjectDirection::ToClient, new NetworkCallback<WorldSound>(this, &WorldSound::stateChanged));
     }
 
Index: code/trunk/src/orxonox/sound/WorldSound.h
===================================================================
--- code/trunk/src/orxonox/sound/WorldSound.h	(revision 10624)
+++ code/trunk/src/orxonox/sound/WorldSound.h	(revision 11071)
@@ -47,9 +47,9 @@
         WorldSound(Context* context);
 
-        void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-        void XMLEventPort(Element& xmlelement, XMLPort::Mode mode);
-        void changedActivity();
+        virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override;
+        virtual void XMLEventPort(Element& xmlelement, XMLPort::Mode mode) override;
+        virtual void changedActivity() override;
 
-        void tick(float dt);
+        virtual void tick(float dt) override;
 
     protected:
@@ -58,6 +58,6 @@
     private:
         void registerVariables();
-        void initialiseSource();
-        float getRealVolume();
+        virtual void initialiseSource() override;
+        virtual float getRealVolume() override;
     };
 }
