Index: code/branches/FICN/src/audio/_AudioObject.cc
===================================================================
--- code/branches/FICN/src/audio/_AudioObject.cc	(revision 781)
+++ code/branches/FICN/src/audio/_AudioObject.cc	(revision 782)
@@ -1,142 +1,142 @@
 /*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it 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.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      ...
- *   Co-authors:
- *      ...
- *
- */
+*   ORXONOX - the hottest 3D action shooter ever to exist
+*
+*
+*   License notice:
+*
+*   This program is free software; you can redistribute it 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.
+*
+*   This program is distributed in the hope that it will be useful,
+*   but WITHOUT ANY WARRANTY; without even the implied warranty of
+*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*   GNU General Public License for more details.
+*
+*   You should have received a copy of the GNU General Public License
+*   along with this program; if not, write to the Free Software
+*   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+*
+*   Author:
+*      ...
+*   Co-authors:
+*      ...
+*
+*/
 
 
 #include <iostream>
 #include <string>
+
+#include "core/Debug.h"
 #include "AudioObject.h"
-#include "../orxonox/core/Debug.h"
 
 namespace audio
 {
-	AudioObject::AudioObject(std::string audioFile)
-	{
-		audioFile_ = audioFile;
-		SourcePos[0]=0;
-		SourcePos[1]=0;
-		SourcePos[2]=0;
+  AudioObject::AudioObject(std::string audioFile)
+  {
+    audioFile_ = audioFile;
+    SourcePos[0]=0;
+    SourcePos[1]=0;
+    SourcePos[2]=0;
 
-		 SourceVel[0]=0;
-		 SourceVel[1]=0;
-		 SourceVel[2]=0;
+    SourceVel[0]=0;
+    SourceVel[1]=0;
+    SourceVel[2]=0;
 
-		 ListenerPos[0]=0;
-		 ListenerPos[1]=0;
-		 ListenerPos[2]=0;
+    ListenerPos[0]=0;
+    ListenerPos[1]=0;
+    ListenerPos[2]=0;
 
-		 ListenerVel[0]=0;
-		 ListenerVel[1]=0;
-		 ListenerVel[2]=0;
+    ListenerVel[0]=0;
+    ListenerVel[1]=0;
+    ListenerVel[2]=0;
 
-		 ListenerOri[0]=0;
-		 ListenerOri[1]=0;
-		 ListenerOri[2]=-1;
-		 ListenerOri[3]=0;
-		 ListenerOri[4]=1;
-		 ListenerOri[5]=0;
+    ListenerOri[0]=0;
+    ListenerOri[1]=0;
+    ListenerOri[2]=-1;
+    ListenerOri[3]=0;
+    ListenerOri[4]=1;
+    ListenerOri[5]=0;
 
 
-		// Initialize OpenAL and clear the error bit.
+    // Initialize OpenAL and clear the error bit.
 
-		alutInit(NULL, 0);
-		alGetError();
+    alutInit(NULL, 0);
+    alGetError();
 
-		// Load the wav data.
+    // Load the wav data.
 
-		if(LoadALData() == AL_FALSE)
-		{
-		    printf("Error loading sound data.");
+    if(LoadALData() == AL_FALSE)
+    {
+      printf("Error loading sound data.");
 
-		}
+    }
 
-		SetListenerValues();
-		COUT(3) << "Info: Play sone ambient background sound";
-	}
+    SetListenerValues();
+    COUT(3) << "Info: Play sone ambient background sound";
+  }
 
-	AudioObject::~AudioObject()
-	{
-		KillALData();
-	}
+  AudioObject::~AudioObject()
+  {
+    KillALData();
+  }
 
-	ALboolean AudioObject::LoadALData()
-	{
-		ALenum format;
-		ALsizei size;
-		ALvoid* data;
-		ALsizei freq;
-		ALboolean loop;
+  ALboolean AudioObject::LoadALData()
+  {
+    ALenum format;
+    ALsizei size;
+    ALvoid* data;
+    ALsizei freq;
+    ALboolean loop;
 
 
-		alGenBuffers(1, &Buffer);
+    alGenBuffers(1, &Buffer);
 
-		if(alGetError() != AL_NO_ERROR)
-			return AL_FALSE;
+    if(alGetError() != AL_NO_ERROR)
+      return AL_FALSE;
 
-		alutLoadWAVFile((ALbyte*)audioFile_.c_str(), &format, &data, &size, &freq, &loop);
-		alBufferData(Buffer, format, data, size, freq);
-		alutUnloadWAV(format, data, size, freq);
+    alutLoadWAVFile((ALbyte*)audioFile_.c_str(), &format, &data, &size, &freq, &loop);
+    alBufferData(Buffer, format, data, size, freq);
+    alutUnloadWAV(format, data, size, freq);
 
-		alGenSources(1, &Source);
+    alGenSources(1, &Source);
 
-		if(alGetError() != AL_NO_ERROR)
-			return AL_FALSE;
+    if(alGetError() != AL_NO_ERROR)
+      return AL_FALSE;
 
-		alSourcei (Source, AL_BUFFER,   Buffer   );
-		alSourcef (Source, AL_PITCH,    1.0      );
-		alSourcef (Source, AL_GAIN,     1.0      );
-		alSourcefv(Source, AL_POSITION, SourcePos);
-		alSourcefv(Source, AL_VELOCITY, SourceVel);
-		alSourcei (Source, AL_LOOPING,  loop     );
+    alSourcei (Source, AL_BUFFER,   Buffer   );
+    alSourcef (Source, AL_PITCH,    1.0      );
+    alSourcef (Source, AL_GAIN,     1.0      );
+    alSourcefv(Source, AL_POSITION, SourcePos);
+    alSourcefv(Source, AL_VELOCITY, SourceVel);
+    alSourcei (Source, AL_LOOPING,  loop     );
 
-		if(alGetError() == AL_NO_ERROR)
-			return AL_TRUE;
+    if(alGetError() == AL_NO_ERROR)
+      return AL_TRUE;
 
 
-		return AL_FALSE;
-	}
+    return AL_FALSE;
+  }
 
-	void AudioObject::SetListenerValues()
-	{
-		alListenerfv(AL_POSITION,    ListenerPos);
-		alListenerfv(AL_VELOCITY,    ListenerVel);
-		alListenerfv(AL_ORIENTATION, ListenerOri);
-	}
+  void AudioObject::SetListenerValues()
+  {
+    alListenerfv(AL_POSITION,    ListenerPos);
+    alListenerfv(AL_VELOCITY,    ListenerVel);
+    alListenerfv(AL_ORIENTATION, ListenerOri);
+  }
 
-	void AudioObject::KillALData()
-	{
-		alDeleteBuffers(1, &Buffer);
-		alDeleteSources(1, &Source);
-		alutExit();
-	}
+  void AudioObject::KillALData()
+  {
+    alDeleteBuffers(1, &Buffer);
+    alDeleteSources(1, &Source);
+    alutExit();
+  }
 
-	void AudioObject::play()
-	{
-		alSourcePlay(Source);
+  void AudioObject::play()
+  {
+    alSourcePlay(Source);
+  }
 
-	}
 }
-
Index: code/branches/FICN/src/loader/LoaderPrereqs.h
===================================================================
--- code/branches/FICN/src/loader/LoaderPrereqs.h	(revision 781)
+++ code/branches/FICN/src/loader/LoaderPrereqs.h	(revision 782)
@@ -36,4 +36,9 @@
 #include "orxonox/OrxonoxPlatform.h"
 
+// Compile loader directly in orxonox executable, if on Visual Studio platform
+#if ORXONOX_COMPILER == ORXONOX_COMPILER_MSVC && defined(ORXONOX_SHARED_BUILD)
+#  define LOADER_SHARED_BUILD
+#endif
+
 //-----------------------------------------------------------------------
 // Shared library settings
Index: code/branches/FICN/src/network/GameStateClient.cc
===================================================================
--- code/branches/FICN/src/network/GameStateClient.cc	(revision 781)
+++ code/branches/FICN/src/network/GameStateClient.cc	(revision 782)
@@ -136,5 +136,6 @@
     }
     // should be finished now
-    GameState r = {b.id, dest_length, dp};
+    // FIXME: is it true or false now? (struct has changed, producing warnings)
+    GameState r = {b.id, dest_length, true, dp};
     return r;
   }
Index: code/branches/FICN/src/network/GameStateManager.cc
===================================================================
--- code/branches/FICN/src/network/GameStateManager.cc	(revision 781)
+++ code/branches/FICN/src/network/GameStateManager.cc	(revision 782)
@@ -182,5 +182,6 @@
     }
     // should be finished now
-    GameState r = {b->id, dest_length, dp};
+    // FIXME: is it true or false now? (struct has changed, producing warnings)
+    GameState r = {b->id, dest_length, true, dp};
     return r;
   }
Index: code/branches/FICN/src/orxonox/Orxonox.cc
===================================================================
--- code/branches/FICN/src/orxonox/Orxonox.cc	(revision 781)
+++ code/branches/FICN/src/orxonox/Orxonox.cc	(revision 782)
@@ -282,5 +282,5 @@
       COUT(3) << "Info: network framelistener added" << std::endl;
     }
-    catch(std::exception &e)
+    catch(...)
     {
       COUT(1) << "Error: There was a problem initialising the server :(" << std::endl;
Index: code/branches/FICN/src/orxonox/OrxonoxPlatform.h
===================================================================
--- code/branches/FICN/src/orxonox/OrxonoxPlatform.h	(revision 781)
+++ code/branches/FICN/src/orxonox/OrxonoxPlatform.h	(revision 782)
@@ -211,8 +211,8 @@
 
 // disable: "conversion from 'double' to 'float', possible loss of data
-#   pragma warning (disable : 4244)
+//#   pragma warning (disable : 4244)
 
 // disable: "conversion from 'size_t' to 'unsigned int', possible loss of data
-#   pragma warning (disable : 4267)
+//#   pragma warning (disable : 4267)
 
 // disable: "truncation from 'double' to 'float'
@@ -221,5 +221,5 @@
 // disable: "<type> needs to have dll-interface to be used by clients'
 // Happens on STL member variables which are not public therefore is ok
-#   pragma warning (disable : 4251)
+//#   pragma warning (disable : 4251)
 
 // disable: "non dll-interface class used as base for dll-interface class"
Index: code/branches/FICN/src/orxonox/core/Language.cc
===================================================================
--- code/branches/FICN/src/orxonox/core/Language.cc	(revision 781)
+++ code/branches/FICN/src/orxonox/core/Language.cc	(revision 782)
@@ -245,5 +245,5 @@
             if (lineString.compare("") != 0)
             {
-                unsigned int pos = (unsigned int)lineString.find('=');
+                unsigned int pos = lineString.find('=');
 
                 // Check if the length is at least 3 and if there's an entry before and behind the =
@@ -288,5 +288,5 @@
             if (lineString.compare("") != 0)
             {
-                unsigned int pos = (unsigned int)lineString.find('=');
+                unsigned int pos = lineString.find('=');
 
                 // Check if the length is at least 3 and if there's an entry before and behind the =
Index: code/branches/FICN/src/orxonox/objects/Model.cc
===================================================================
--- code/branches/FICN/src/orxonox/objects/Model.cc	(revision 781)
+++ code/branches/FICN/src/orxonox/objects/Model.cc	(revision 782)
@@ -69,5 +69,5 @@
 
     void Model::registerAllVariables(){
-      registerVar(&meshSrc_, (int)meshSrc_.length() + 1, network::STRING);
+      registerVar(&meshSrc_, meshSrc_.length() + 1, network::STRING);
     }
 }
Index: code/branches/FICN/visual_studio/FICN.sln
===================================================================
--- code/branches/FICN/visual_studio/FICN.sln	(revision 781)
+++ code/branches/FICN/visual_studio/FICN.sln	(revision 782)
@@ -26,9 +26,8 @@
 	EndProjectSection
 	ProjectSection(ProjectDependencies) = postProject
+		{2240ECD7-2F48-4431-8E1B-25466A384CCC} = {2240ECD7-2F48-4431-8E1B-25466A384CCC}
+		{271715F3-5B90-4110-A552-70C788084A86} = {271715F3-5B90-4110-A552-70C788084A86}
+		{4733BD1A-E04C-458D-8BFB-5010250EA497} = {4733BD1A-E04C-458D-8BFB-5010250EA497}
 		{35575B59-E1AE-40E8-89C4-2862B5B09B68} = {35575B59-E1AE-40E8-89C4-2862B5B09B68}
-		{E283910F-F911-40FB-A09D-D025CA821912} = {E283910F-F911-40FB-A09D-D025CA821912}
-		{4733BD1A-E04C-458D-8BFB-5010250EA497} = {4733BD1A-E04C-458D-8BFB-5010250EA497}
-		{271715F3-5B90-4110-A552-70C788084A86} = {271715F3-5B90-4110-A552-70C788084A86}
-		{2240ECD7-2F48-4431-8E1B-25466A384CCC} = {2240ECD7-2F48-4431-8E1B-25466A384CCC}
 	EndProjectSection
 EndProject
@@ -48,7 +47,7 @@
 	EndProjectSection
 	ProjectSection(ProjectDependencies) = postProject
+		{4733BD1A-E04C-458D-8BFB-5010250EA497} = {4733BD1A-E04C-458D-8BFB-5010250EA497}
+		{2240ECD7-2F48-4431-8E1B-25466A384CCC} = {2240ECD7-2F48-4431-8E1B-25466A384CCC}
 		{271715F3-5B90-4110-A552-70C788084A86} = {271715F3-5B90-4110-A552-70C788084A86}
-		{2240ECD7-2F48-4431-8E1B-25466A384CCC} = {2240ECD7-2F48-4431-8E1B-25466A384CCC}
-		{4733BD1A-E04C-458D-8BFB-5010250EA497} = {4733BD1A-E04C-458D-8BFB-5010250EA497}
 	EndProjectSection
 EndProject
@@ -65,26 +64,24 @@
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{35575B59-E1AE-40E8-89C4-2862B5B09B68}.Debug|Win32.ActiveCfg = Debug|Win32
-		{35575B59-E1AE-40E8-89C4-2862B5B09B68}.Debug|Win32.Build.0 = Debug|Win32
+		{35575B59-E1AE-40E8-89C4-2862B5B09B68}.Debug|Win32.ActiveCfg = Release|Win32
+		{35575B59-E1AE-40E8-89C4-2862B5B09B68}.Debug|Win32.Build.0 = Release|Win32
 		{35575B59-E1AE-40E8-89C4-2862B5B09B68}.Release|Win32.ActiveCfg = Release|Win32
 		{35575B59-E1AE-40E8-89C4-2862B5B09B68}.Release|Win32.Build.0 = Release|Win32
-		{271715F3-5B90-4110-A552-70C788084A86}.Debug|Win32.ActiveCfg = Debug|Win32
-		{271715F3-5B90-4110-A552-70C788084A86}.Debug|Win32.Build.0 = Debug|Win32
+		{271715F3-5B90-4110-A552-70C788084A86}.Debug|Win32.ActiveCfg = Release|Win32
+		{271715F3-5B90-4110-A552-70C788084A86}.Debug|Win32.Build.0 = Release|Win32
 		{271715F3-5B90-4110-A552-70C788084A86}.Release|Win32.ActiveCfg = Release|Win32
 		{271715F3-5B90-4110-A552-70C788084A86}.Release|Win32.Build.0 = Release|Win32
-		{0B6C5CFD-F91B-432A-80A3-2610F61E060B}.Debug|Win32.ActiveCfg = Debug|Win32
-		{0B6C5CFD-F91B-432A-80A3-2610F61E060B}.Debug|Win32.Build.0 = Debug|Win32
+		{0B6C5CFD-F91B-432A-80A3-2610F61E060B}.Debug|Win32.ActiveCfg = Release|Win32
+		{0B6C5CFD-F91B-432A-80A3-2610F61E060B}.Debug|Win32.Build.0 = Release|Win32
 		{0B6C5CFD-F91B-432A-80A3-2610F61E060B}.Release|Win32.ActiveCfg = Release|Win32
 		{0B6C5CFD-F91B-432A-80A3-2610F61E060B}.Release|Win32.Build.0 = Release|Win32
-		{4733BD1A-E04C-458D-8BFB-5010250EA497}.Debug|Win32.ActiveCfg = Debug|Win32
-		{4733BD1A-E04C-458D-8BFB-5010250EA497}.Debug|Win32.Build.0 = Debug|Win32
+		{4733BD1A-E04C-458D-8BFB-5010250EA497}.Debug|Win32.ActiveCfg = Release|Win32
+		{4733BD1A-E04C-458D-8BFB-5010250EA497}.Debug|Win32.Build.0 = Release|Win32
 		{4733BD1A-E04C-458D-8BFB-5010250EA497}.Release|Win32.ActiveCfg = Release|Win32
 		{4733BD1A-E04C-458D-8BFB-5010250EA497}.Release|Win32.Build.0 = Release|Win32
-		{E283910F-F911-40FB-A09D-D025CA821912}.Debug|Win32.ActiveCfg = Debug|Win32
-		{E283910F-F911-40FB-A09D-D025CA821912}.Debug|Win32.Build.0 = Debug|Win32
+		{E283910F-F911-40FB-A09D-D025CA821912}.Debug|Win32.ActiveCfg = Release|Win32
 		{E283910F-F911-40FB-A09D-D025CA821912}.Release|Win32.ActiveCfg = Release|Win32
-		{E283910F-F911-40FB-A09D-D025CA821912}.Release|Win32.Build.0 = Release|Win32
-		{2240ECD7-2F48-4431-8E1B-25466A384CCC}.Debug|Win32.ActiveCfg = Debug|Win32
-		{2240ECD7-2F48-4431-8E1B-25466A384CCC}.Debug|Win32.Build.0 = Debug|Win32
+		{2240ECD7-2F48-4431-8E1B-25466A384CCC}.Debug|Win32.ActiveCfg = Release|Win32
+		{2240ECD7-2F48-4431-8E1B-25466A384CCC}.Debug|Win32.Build.0 = Release|Win32
 		{2240ECD7-2F48-4431-8E1B-25466A384CCC}.Release|Win32.ActiveCfg = Release|Win32
 		{2240ECD7-2F48-4431-8E1B-25466A384CCC}.Release|Win32.Build.0 = Release|Win32
Index: code/branches/FICN/visual_studio/base_properties.vsprops
===================================================================
--- code/branches/FICN/visual_studio/base_properties.vsprops	(revision 781)
+++ code/branches/FICN/visual_studio/base_properties.vsprops	(revision 782)
@@ -14,4 +14,5 @@
 		Detect64BitPortabilityProblems="true"
 		DebugInformationFormat="3"
+		DisableSpecificWarnings="4267; 4244; 4251"
 	/>
 	<Tool
Index: code/branches/FICN/visual_studio/benixonox.vcproj
===================================================================
--- code/branches/FICN/visual_studio/benixonox.vcproj	(revision 781)
+++ code/branches/FICN/visual_studio/benixonox.vcproj	(revision 782)
@@ -40,5 +40,5 @@
 				Name="VCCLCompilerTool"
 				AdditionalIncludeDirectories=""
-				PreprocessorDefinitions="ORXONOX_SHARED_BUILD"
+				PreprocessorDefinitions="ORXONOX_SHARED_BUILD; LOADER_STATIC_BUILD"
 				PrecompiledHeaderThrough=""
 			/>
@@ -109,5 +109,5 @@
 				Name="VCCLCompilerTool"
 				AdditionalIncludeDirectories=""
-				PreprocessorDefinitions="LOADER_STATIC_BUILD; ORXONOX_SHARED_BUILD"
+				PreprocessorDefinitions="ORXONOX_SHARED_BUILD; LOADER_STATIC_BUILD"
 			/>
 			<Tool
@@ -317,4 +317,12 @@
 				</File>
 			</Filter>
+			<Filter
+				Name="loader"
+				>
+				<File
+					RelativePath="..\src\loader\LevelLoader.cc"
+					>
+				</File>
+			</Filter>
 		</Filter>
 		<Filter
@@ -479,4 +487,16 @@
 				</File>
 			</Filter>
+			<Filter
+				Name="loader"
+				>
+				<File
+					RelativePath="..\src\loader\LevelLoader.h"
+					>
+				</File>
+				<File
+					RelativePath="..\src\loader\LoaderPrereqs.h"
+					>
+				</File>
+			</Filter>
 		</Filter>
 		<Filter
Index: code/branches/FICN/visual_studio/loader.vcproj
===================================================================
--- code/branches/FICN/visual_studio/loader.vcproj	(revision 781)
+++ code/branches/FICN/visual_studio/loader.vcproj	(revision 782)
@@ -53,5 +53,5 @@
 			<Tool
 				Name="VCLinkerTool"
-				AdditionalDependencies="OgreMain_d.lib Orxonox_d.lib"
+				AdditionalDependencies="OgreMain_d.lib"
 				OutputFile="$(OutDir)\$(ProjectName)_d.dll"
 				AdditionalLibraryDirectories="$(OutDir)"
@@ -120,5 +120,5 @@
 			<Tool
 				Name="VCLinkerTool"
-				AdditionalDependencies="OgreMain.lib Orxonox.lib"
+				AdditionalDependencies="OgreMain.lib"
 				AdditionalLibraryDirectories="$(OutDir)"
 			/>
