diff --git a/SRB2_Release.props b/SRB2_Release.props
index 720c3969e32048856e73d1e2392c5a2ef9f53e83..a216ea45a9835d20421748384755c99658178fbd 100644
--- a/SRB2_Release.props
+++ b/SRB2_Release.props
@@ -3,8 +3,6 @@
   <ImportGroup Label="PropertySheets" />
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
-    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
-    <RunCodeAnalysis>true</RunCodeAnalysis>
     <LinkIncremental>false</LinkIncremental>
   </PropertyGroup>
   <ItemDefinitionGroup>
diff --git a/SRB2_common.props b/SRB2_common.props
index d8bbf5ab2112eee09629440f226d9262e17c6c2a..2fb2eb8c6c3bb6187e769c67d0224e8462d16ef9 100644
--- a/SRB2_common.props
+++ b/SRB2_common.props
@@ -3,7 +3,6 @@
   <ImportGroup Label="PropertySheets" />
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
-    <CodeAnalysisRuleSet>MixedMinimumRules.ruleset</CodeAnalysisRuleSet>
     <OutDir>$(SolutionDir)bin\VC10\$(Platform)\$(Configuration)\</OutDir>
     <IntDir>$(SolutionDir)objs\VC10\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
   </PropertyGroup>
@@ -25,5 +24,23 @@
       <GenerateDebugInformation>true</GenerateDebugInformation>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(PlatformTarget)'=='x86'">
+    <ClCompile>
+      <PreprocessorDefinitions>USEASM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+    </Link>
+    <CustomBuild>
+      <Command>nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)"</Command>
+      <Message>Compiling %(Filename).nas with NASM...</Message>
+      <Outputs>$(IntDir)%(Filename).obj;%(Outputs)</Outputs>
+    </CustomBuild>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(PlatformTarget)'!='x86'">
+    <CustomBuild>
+      <LinkObjects>false</LinkObjects>
+    </CustomBuild>
+  </ItemDefinitionGroup>
   <ItemGroup />
 </Project>
\ No newline at end of file
diff --git a/SRB2_x86.props b/SRB2_x86.props
deleted file mode 100644
index 0ba9d607849270ef9365e850d9c6428ba41d56f4..0000000000000000000000000000000000000000
--- a/SRB2_x86.props
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ImportGroup Label="PropertySheets" />
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup />
-  <ItemDefinitionGroup>
-    <ClCompile>
-      <PreprocessorDefinitions>USEASM;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup />
-</Project>
\ No newline at end of file
diff --git a/libs/FMOD_common.props b/libs/FMOD.props
similarity index 52%
rename from libs/FMOD_common.props
rename to libs/FMOD.props
index 1522adfdc348c675fd9ec1de95b09e8264112e0e..785f11ce1705ed34942718eb999abb1026b7809e 100644
--- a/libs/FMOD_common.props
+++ b/libs/FMOD.props
@@ -7,5 +7,15 @@
     <LibraryPath>$(SolutionDir)libs\fmodex\lib;$(LibraryPath)</LibraryPath>
   </PropertyGroup>
   <ItemDefinitionGroup />
+  <ItemDefinitionGroup Condition="'$(PlatformTarget)'=='x64'">
+    <Link>
+      <AdditionalDependencies>fmodexL64_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(PlatformTarget)'=='x86'">
+    <Link>
+      <AdditionalDependencies>fmodexL_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup />
 </Project>
\ No newline at end of file
diff --git a/libs/FMOD_x64.props b/libs/FMOD_x64.props
deleted file mode 100644
index 80d00d211326b3bd0ed1ce8501b3c45b5dfda151..0000000000000000000000000000000000000000
--- a/libs/FMOD_x64.props
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ImportGroup Label="PropertySheets" />
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup />
-  <ItemDefinitionGroup>
-    <Link>
-      <AdditionalDependencies>fmodexL64_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup />
-</Project>
\ No newline at end of file
diff --git a/libs/FMOD_x86.props b/libs/FMOD_x86.props
deleted file mode 100644
index 39e46be4d8e10a58684c1d3b1910a2bd1579e555..0000000000000000000000000000000000000000
--- a/libs/FMOD_x86.props
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ImportGroup Label="PropertySheets" />
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup />
-  <ItemDefinitionGroup>
-    <Link>
-      <AdditionalDependencies>fmodexL_vc.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup />
-</Project>
\ No newline at end of file
diff --git a/libs/SDL2_common.props b/libs/SDL2.props
similarity index 100%
rename from libs/SDL2_common.props
rename to libs/SDL2.props
diff --git a/libs/SDL_mixer_common.props b/libs/SDL_mixer.props
similarity index 100%
rename from libs/SDL_mixer_common.props
rename to libs/SDL_mixer.props
diff --git a/libs/libpng_common.props b/libs/libpng.props
similarity index 100%
rename from libs/libpng_common.props
rename to libs/libpng.props
diff --git a/libs/zlib_common.props b/libs/zlib.props
similarity index 100%
rename from libs/zlib_common.props
rename to libs/zlib.props
diff --git a/src/sdl/Srb2SDL-vc10.vcxproj b/src/sdl/Srb2SDL-vc10.vcxproj
index 452b47ed1d6598f38873598751aecbd73eb097a3..d12a7efbf86acf4ae461b101c4024ab13708e88b 100644
--- a/src/sdl/Srb2SDL-vc10.vcxproj
+++ b/src/sdl/Srb2SDL-vc10.vcxproj
@@ -50,21 +50,19 @@
   <ImportGroup Label="Shared">
     <Import Project="..\..\SRB2_common.props" />
     <Import Project="..\..\comptime.props" />
-    <Import Project="..\..\libs\zlib_common.props" />
-    <Import Project="..\..\libs\libpng_common.props" />
-    <Import Project="..\..\libs\SDL2_common.props" />
-    <Import Project="..\..\libs\SDL_mixer_common.props" />
-    <Import Project="SRB2SDL_common.props" />
+    <Import Project="..\..\libs\zlib.props" />
+    <Import Project="..\..\libs\libpng.props" />
+    <Import Project="..\..\libs\SDL2.props" />
+    <Import Project="..\..\libs\SDL_mixer.props" />
+    <Import Project="Srb2SDL.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\SRB2_Debug.props" />
-    <Import Project="..\..\SRB2_x86.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\SRB2_Release.props" />
-    <Import Project="..\..\SRB2_x86.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -222,31 +220,16 @@
   <ItemGroup>
     <CustomBuild Include="..\tmap.nas">
       <FileType>Document</FileType>
-      <Command>nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)"</Command>
-      <Message>Compiling %(Filename).nas with NASM...</Message>
-      <Outputs>$(IntDir)%(Filename).obj;%(Outputs)</Outputs>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
     </CustomBuild>
   </ItemGroup>
   <ItemGroup>
     <CustomBuild Include="..\tmap_mmx.nas">
       <FileType>Document</FileType>
-      <Command>nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)"</Command>
-      <Message>Compiling %(Filename).nas with NASM...</Message>
-      <Outputs>$(IntDir)%(Filename).obj;%(Outputs)</Outputs>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
     </CustomBuild>
   </ItemGroup>
   <ItemGroup>
     <CustomBuild Include="..\tmap_vc.nas">
       <FileType>Document</FileType>
-      <Command>nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)"</Command>
-      <Message>Compiling %(Filename).nas with NASM...</Message>
-      <Outputs>$(IntDir)%(Filename).obj;%(Outputs)</Outputs>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
     </CustomBuild>
   </ItemGroup>
   <ItemGroup>
diff --git a/src/sdl/SRB2SDL_common.props b/src/sdl/Srb2SDL.props
similarity index 100%
rename from src/sdl/SRB2SDL_common.props
rename to src/sdl/Srb2SDL.props
diff --git a/src/win32/Srb2win-vc10.vcxproj b/src/win32/Srb2win-vc10.vcxproj
index c57c305a4694aec76cbb0e9169c22b0c88adb075..1e9d8241ede783576e7463246d5730164f54b836 100644
--- a/src/win32/Srb2win-vc10.vcxproj
+++ b/src/win32/Srb2win-vc10.vcxproj
@@ -49,32 +49,26 @@
   <ImportGroup Label="Shared">
     <Import Project="..\..\SRB2_common.props" />
     <Import Project="..\..\comptime.props" />
-    <Import Project="..\..\libs\FMOD_common.props" />
-    <Import Project="..\..\libs\zlib_common.props" />
-    <Import Project="..\..\libs\libpng_common.props" />
-    <Import Project="SRB2Win_common.props" />
+    <Import Project="..\..\libs\FMOD.props" />
+    <Import Project="..\..\libs\zlib.props" />
+    <Import Project="..\..\libs\libpng.props" />
+    <Import Project="SRB2Win.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\SRB2_Debug.props" />
-    <Import Project="..\..\SRB2_x86.props" />
-    <Import Project="..\..\libs\FMOD_x86.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\SRB2_Release.props" />
-    <Import Project="..\..\SRB2_x86.props" />
-    <Import Project="..\..\libs\FMOD_x86.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\SRB2_Debug.props" />
-    <Import Project="..\..\libs\FMOD_x64.props" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\SRB2_Release.props" />
-    <Import Project="..\..\libs\FMOD_x64.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup>
@@ -377,27 +371,12 @@
     <None Include="..\config.h.in" />
     <CustomBuild Include="..\tmap.nas">
       <FileType>Document</FileType>
-      <Command>nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)"</Command>
-      <Message>Compiling %(Filename).nas with NASM...</Message>
-      <Outputs>$(IntDir)%(Filename).obj;%(Outputs)</Outputs>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
     </CustomBuild>
     <CustomBuild Include="..\tmap_mmx.nas">
       <FileType>Document</FileType>
-      <Command>nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)"</Command>
-      <Message>Compiling %(Filename).nas with NASM...</Message>
-      <Outputs>$(IntDir)%(Filename).obj;%(Outputs)</Outputs>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
     </CustomBuild>
     <CustomBuild Include="..\tmap_vc.nas">
       <FileType>Document</FileType>
-      <Command>nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)"</Command>
-      <Message>Compiling %(Filename).nas with NASM...</Message>
-      <Outputs>$(IntDir)%(Filename).obj;%(Outputs)</Outputs>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
     </CustomBuild>
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/src/win32/SRB2Win_common.props b/src/win32/Srb2win.props
similarity index 100%
rename from src/win32/SRB2Win_common.props
rename to src/win32/Srb2win.props