From f320af204990d1c31de0b01f42dba5160da348da Mon Sep 17 00:00:00 2001
From: Ian Curtis <i.curtis@gmail.com>
Date: Mon, 27 Mar 2017 22:01:31 +0000
Subject: [PATCH] fix project files

---
 Src/OSD/SDL/Main.cpp              |  1 +
 Src/Util/GenericValue.h           |  2 +-
 VS2008/Supermodel.vcxproj         | 11 +++++++++--
 VS2008/Supermodel.vcxproj.filters | 33 +++++++++++++++++++++++++------
 4 files changed, 38 insertions(+), 9 deletions(-)

diff --git a/Src/OSD/SDL/Main.cpp b/Src/OSD/SDL/Main.cpp
index 2d5c33e..88524cf 100644
--- a/Src/OSD/SDL/Main.cpp
+++ b/Src/OSD/SDL/Main.cpp
@@ -56,6 +56,7 @@
 #include <cstdarg>
 #include <memory>
 #include <vector>
+#include <algorithm>
 #include "Pkgs/glew.h"
 #ifdef SUPERMODEL_OSX
 #include <SDL/SDL.h>
diff --git a/Src/Util/GenericValue.h b/Src/Util/GenericValue.h
index a3eeeb2..aa57e0d 100644
--- a/Src/Util/GenericValue.h
+++ b/Src/Util/GenericValue.h
@@ -29,7 +29,7 @@ namespace Util
     template <typename T>
     struct IntegerEncodableAsHex
     {
-      static constexpr const bool value = std::is_integral<T>::value && sizeof(T) >= 2 && sizeof(T) <= 8;
+      static const bool value = std::is_integral<T>::value && sizeof(T) >= 2 && sizeof(T) <= 8;
     };
 
     // This case should never actually be called
diff --git a/VS2008/Supermodel.vcxproj b/VS2008/Supermodel.vcxproj
index 72e50e9..c2f5801 100644
--- a/VS2008/Supermodel.vcxproj
+++ b/VS2008/Supermodel.vcxproj
@@ -244,7 +244,6 @@ xcopy /D /Y "$(ProjectDir)\SDL\$(Platform)\$(Configuration)\SDL.dll" "$(TargetDi
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="..\Src\BlockFile.cpp" />
-    <ClCompile Include="..\Src\Config.cpp" />
     <ClCompile Include="..\Src\CPU\68K\68K.cpp" />
     <ClCompile Include="..\Src\CPU\68K\Musashi\m68kcpu.c" />
     <ClCompile Include="..\Src\CPU\68K\Musashi\m68kdasm.c">
@@ -307,6 +306,7 @@ xcopy /D /Y "$(ProjectDir)\SDL\$(Platform)\$(Configuration)\SDL.dll" "$(TargetDi
     <ClCompile Include="..\Src\Debugger\Register.cpp" />
     <ClCompile Include="..\Src\Debugger\SupermodelDebugger.cpp" />
     <ClCompile Include="..\Src\Debugger\Watch.cpp" />
+    <ClCompile Include="..\Src\GameLoader.cpp" />
     <ClCompile Include="..\Src\Games.cpp" />
     <ClCompile Include="..\Src\Graphics\Legacy3D\Error.cpp" />
     <ClCompile Include="..\Src\Graphics\Legacy3D\Legacy3D.cpp" />
@@ -448,7 +448,10 @@ xcopy /D /Y "$(ProjectDir)\SDL\$(Platform)\$(Configuration)\SDL.dll" "$(TargetDi
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
     </ClCompile>
+    <ClCompile Include="..\Src\Util\ByteSwap.cpp" />
+    <ClCompile Include="..\Src\Util\ConfigBuilders.cpp" />
     <ClCompile Include="..\Src\Util\Format.cpp" />
+    <ClCompile Include="..\Src\Util\NewConfig.cpp" />
   </ItemGroup>
   <ItemGroup>
     <MASM Include="..\Src\CPU\68K\Turbo68K\Turbo68K.asm">
@@ -501,7 +504,6 @@ xcopy /D /Y "$(ProjectDir)\SDL\$(Platform)\$(Configuration)\SDL.dll" "$(TargetDi
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\Src\BlockFile.h" />
-    <ClInclude Include="..\Src\Config.h" />
     <ClInclude Include="..\Src\CPU\68K\68K.h" />
     <ClInclude Include="..\Src\CPU\68K\Musashi\m68k.h" />
     <ClInclude Include="..\Src\CPU\68K\Musashi\m68kconf.h" />
@@ -531,6 +533,7 @@ xcopy /D /Y "$(ProjectDir)\SDL\$(Platform)\$(Configuration)\SDL.dll" "$(TargetDi
     <ClInclude Include="..\Src\Debugger\Register.h" />
     <ClInclude Include="..\Src\Debugger\SupermodelDebugger.h" />
     <ClInclude Include="..\Src\Debugger\Watch.h" />
+    <ClInclude Include="..\Src\GameLoader.h" />
     <ClInclude Include="..\Src\Games.h" />
     <ClInclude Include="..\Src\Graphics\IRender3D.h" />
     <ClInclude Include="..\Src\Graphics\Legacy3D\Legacy3D.h" />
@@ -609,7 +612,11 @@ xcopy /D /Y "$(ProjectDir)\SDL\$(Platform)\$(Configuration)\SDL.dll" "$(TargetDi
     <ClInclude Include="..\Src\Sound\SCSPDSP.h" />
     <ClInclude Include="..\Src\Supermodel.h" />
     <ClInclude Include="..\Src\Util\BMPFile.h" />
+    <ClInclude Include="..\Src\Util\ByteSwap.h" />
+    <ClInclude Include="..\Src\Util\ConfigBuilders.h" />
     <ClInclude Include="..\Src\Util\Format.h" />
+    <ClInclude Include="..\Src\Util\GenericValue.h" />
+    <ClInclude Include="..\Src\Util\NewConfig.h" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff --git a/VS2008/Supermodel.vcxproj.filters b/VS2008/Supermodel.vcxproj.filters
index 17ec876..64c2836 100644
--- a/VS2008/Supermodel.vcxproj.filters
+++ b/VS2008/Supermodel.vcxproj.filters
@@ -137,9 +137,6 @@
     <ClCompile Include="..\Src\BlockFile.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\Src\Config.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="..\Src\Games.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
@@ -437,6 +434,18 @@
     <ClCompile Include="..\Src\Graphics\New3D\R3DScrollFog.cpp">
       <Filter>Source Files\Graphics\New</Filter>
     </ClCompile>
+    <ClCompile Include="..\Src\Util\NewConfig.cpp">
+      <Filter>Source Files\Util</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Src\Util\ConfigBuilders.cpp">
+      <Filter>Source Files\Util</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Src\Util\ByteSwap.cpp">
+      <Filter>Source Files\Util</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Src\GameLoader.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <MASM Include="..\Src\CPU\68K\Turbo68K\Turbo68K.asm">
@@ -481,9 +490,6 @@
     <ClInclude Include="..\Src\BlockFile.h">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\Src\Config.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
     <ClInclude Include="..\Src\Games.h">
       <Filter>Header Files</Filter>
     </ClInclude>
@@ -808,6 +814,21 @@
     <ClInclude Include="..\Src\Graphics\New3D\R3DScrollFog.h">
       <Filter>Source Files\Graphics\New</Filter>
     </ClInclude>
+    <ClInclude Include="..\Src\Util\NewConfig.h">
+      <Filter>Header Files\Util</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Src\Util\GenericValue.h">
+      <Filter>Header Files\Util</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Src\Util\ByteSwap.h">
+      <Filter>Header Files\Util</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Src\Util\ConfigBuilders.h">
+      <Filter>Header Files\Util</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Src\GameLoader.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <CustomBuild Include="..\Src\Debugger\ReadMe.txt">