diff --git a/.gitignore b/.gitignore
index b35e1969..c2b14e19 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,6 +34,18 @@ src/*.xcodeproj/*.xcworkspace/xcuserdata
src/*.xcodeproj/*.mode*
src/*.xcodeproj/*.pbxuser
+# Visual Studio Junk Files
+src/*.vsproj/*sdf
+src/*.vsproj/*/*.user
+src/*.vsproj/*.suo
+src/*.vsproj/*.aps
+src/*.vsproj/*/*.aps
+src/*.vsproj/*/Debug/
+src/*.vsproj/*/Release/
+src/*.vsproj/Debug/
+src/*.vsproj/Release/
+src/*.vsproj/*/ipch/
+
# Shader Builder projects
# It's an sqlite3 database and not particularly important, so exclude it
src/tools/*.sbproj
diff --git a/src/BoE.vsproj/Blades of Exile.sln b/src/BoE.vsproj/Blades of Exile.sln
new file mode 100644
index 00000000..d27b876d
--- /dev/null
+++ b/src/BoE.vsproj/Blades of Exile.sln
@@ -0,0 +1,49 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.21005.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Game\Blades of Exile", "Game\Blades of Exile.vcxproj", "{A0C19353-478B-4F21-9FE3-FA8EE4D15147}"
+ ProjectSection(ProjectDependencies) = postProject
+ {1347FE79-73BD-4176-9280-0FE39E3534E2} = {1347FE79-73BD-4176-9280-0FE39E3534E2}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common\Common", "Common\Common.vcxproj", "{1347FE79-73BD-4176-9280-0FE39E3534E2}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PcEdit\Char Editor", "PcEdit\Char Editor.vcxproj", "{3A6D88AD-45CD-4736-85F7-5E602ECB3D3C}"
+ ProjectSection(ProjectDependencies) = postProject
+ {1347FE79-73BD-4176-9280-0FE39E3534E2} = {1347FE79-73BD-4176-9280-0FE39E3534E2}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ScenEdit\Scen Editor", "ScenEdit\Scen Editor.vcxproj", "{87C53CC0-ED7A-4BF8-8844-FCA34401C1CA}"
+ ProjectSection(ProjectDependencies) = postProject
+ {1347FE79-73BD-4176-9280-0FE39E3534E2} = {1347FE79-73BD-4176-9280-0FE39E3534E2}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {A0C19353-478B-4F21-9FE3-FA8EE4D15147}.Debug|Win32.ActiveCfg = Debug|Win32
+ {A0C19353-478B-4F21-9FE3-FA8EE4D15147}.Debug|Win32.Build.0 = Debug|Win32
+ {A0C19353-478B-4F21-9FE3-FA8EE4D15147}.Release|Win32.ActiveCfg = Release|Win32
+ {A0C19353-478B-4F21-9FE3-FA8EE4D15147}.Release|Win32.Build.0 = Release|Win32
+ {1347FE79-73BD-4176-9280-0FE39E3534E2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1347FE79-73BD-4176-9280-0FE39E3534E2}.Debug|Win32.Build.0 = Debug|Win32
+ {1347FE79-73BD-4176-9280-0FE39E3534E2}.Release|Win32.ActiveCfg = Release|Win32
+ {1347FE79-73BD-4176-9280-0FE39E3534E2}.Release|Win32.Build.0 = Release|Win32
+ {3A6D88AD-45CD-4736-85F7-5E602ECB3D3C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3A6D88AD-45CD-4736-85F7-5E602ECB3D3C}.Debug|Win32.Build.0 = Debug|Win32
+ {3A6D88AD-45CD-4736-85F7-5E602ECB3D3C}.Release|Win32.ActiveCfg = Release|Win32
+ {3A6D88AD-45CD-4736-85F7-5E602ECB3D3C}.Release|Win32.Build.0 = Release|Win32
+ {87C53CC0-ED7A-4BF8-8844-FCA34401C1CA}.Debug|Win32.ActiveCfg = Debug|Win32
+ {87C53CC0-ED7A-4BF8-8844-FCA34401C1CA}.Debug|Win32.Build.0 = Debug|Win32
+ {87C53CC0-ED7A-4BF8-8844-FCA34401C1CA}.Release|Win32.ActiveCfg = Release|Win32
+ {87C53CC0-ED7A-4BF8-8844-FCA34401C1CA}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/src/BoE.vsproj/Common/Common.vcxproj b/src/BoE.vsproj/Common/Common.vcxproj
new file mode 100644
index 00000000..4a856cce
--- /dev/null
+++ b/src/BoE.vsproj/Common/Common.vcxproj
@@ -0,0 +1,177 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {1347FE79-73BD-4176-9280-0FE39E3534E2}
+ Common
+
+
+
+ StaticLibrary
+ true
+ v120
+ MultiByte
+
+
+ Application
+ false
+ v120
+ true
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_WINDOWS;TIXML_USE_TICPP;%(PreprocessorDefinitions)
+ ..\..\tools\resmgr;..\..\tools\gzstream;..\..\tools;..\..\dialogxml\xml-parser;..\..\dialogxml;..\..\classes;..\..;%(AdditionalIncludeDirectories)
+ false
+ /FS %(AdditionalOptions)
+
+
+ Windows
+ true
+ opengl32.lib;sfml-system.lib;sfml-window.lib;sfml-graphics.lib;sfml-audio.lib;zlib.lib;%(AdditionalDependencies)
+ false
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/BoE.vsproj/Common/Common.vcxproj.filters b/src/BoE.vsproj/Common/Common.vcxproj.filters
new file mode 100644
index 00000000..6af471e9
--- /dev/null
+++ b/src/BoE.vsproj/Common/Common.vcxproj.filters
@@ -0,0 +1,326 @@
+
+
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+ {243e7be1-5ae2-447e-a151-1f024281fc3e}
+
+
+ {e57ca16d-7be8-4847-8a66-2255b728c9ac}
+
+
+ {f35d1cde-8f80-49ab-8f96-3fa8a44ce491}
+
+
+ {606f67f8-5f1e-4b19-b417-0757fa8544ef}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {71426284-8f6d-42cb-8685-4d92d8e96879}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {f41285d1-bf7b-4650-b2e5-0f816e52bac2}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {28d415a1-e037-4a8b-bbdb-a6553b192bc3}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {17e8463f-156d-44db-9607-b2b5b0c426bb}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {a6d8701d-a0e3-4429-8eec-3d0bad13c3f5}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {b705522f-daf8-4db2-9cec-f5ae249e595e}
+
+
+
+
+ Classes\Header Files
+
+
+ Classes\Header Files
+
+
+ Classes\Header Files
+
+
+ Classes\Header Files
+
+
+ Classes\Header Files
+
+
+ Classes\Header Files
+
+
+ Classes\Header Files
+
+
+ Classes\Header Files
+
+
+ Classes\Header Files
+
+
+ Classes\Header Files
+
+
+ Classes\Header Files
+
+
+ Classes\Header Files
+
+
+ Classes\Header Files
+
+
+ Classes\Header Files
+
+
+ Classes\Header Files
+
+
+ Classes\Header Files
+
+
+ Classes\Header Files
+
+
+ Classes\Header Files
+
+
+ Classes\Header Files
+
+
+ DialogXML\TinyXML
+
+
+ DialogXML\TinyXML
+
+
+ DialogXML\TinyXML
+
+
+ DialogXML\TinyXML
+
+
+ DialogXML\Header Files
+
+
+ DialogXML\Header Files
+
+
+ DialogXML\Header Files
+
+
+ DialogXML\Header Files
+
+
+ DialogXML\Header Files
+
+
+ DialogXML\Header Files
+
+
+ DialogXML\Header Files
+
+
+ DialogXML\Header Files
+
+
+ DialogXML\Header Files
+
+
+ DialogXML\Header Files
+
+
+ DialogXML\Header Files
+
+
+ Tools\Header Files
+
+
+ Tools\Header Files
+
+
+ Tools\Header Files
+
+
+ Tools\Header Files
+
+
+ Tools\Header Files
+
+
+ Tools\Header Files
+
+
+ Tools\Header Files
+
+
+ Tools\Header Files
+
+
+ Tools\Header Files
+
+
+ Tools\Header Files
+
+
+ Tools\Header Files
+
+
+ Tools\Header Files
+
+
+ Tools\Header Files
+
+
+ Tools\Header Files
+
+
+ Tools\Header Files
+
+
+ Tools\Header Files
+
+
+
+
+
+ Classes\Source Files
+
+
+ Classes\Source Files
+
+
+ Classes\Source Files
+
+
+ Classes\Source Files
+
+
+ Classes\Source Files
+
+
+ Classes\Source Files
+
+
+ Classes\Source Files
+
+
+ Classes\Source Files
+
+
+ Classes\Source Files
+
+
+ Classes\Source Files
+
+
+ Classes\Source Files
+
+
+ Classes\Source Files
+
+
+ Classes\Source Files
+
+
+ Classes\Source Files
+
+
+ Classes\Source Files
+
+
+ Classes\Source Files
+
+
+ Classes\Source Files
+
+
+ Classes\Source Files
+
+
+ DialogXML\TinyXML
+
+
+ DialogXML\TinyXML
+
+
+ DialogXML\TinyXML
+
+
+ DialogXML\TinyXML
+
+
+ DialogXML\TinyXML
+
+
+ DialogXML\Source Files
+
+
+ DialogXML\Source Files
+
+
+ DialogXML\Source Files
+
+
+ DialogXML\Source Files
+
+
+ DialogXML\Source Files
+
+
+ DialogXML\Source Files
+
+
+ DialogXML\Source Files
+
+
+ DialogXML\Source Files
+
+
+ DialogXML\Source Files
+
+
+ Tools\Source Files
+
+
+ Tools\Source Files
+
+
+ Tools\Source Files
+
+
+ Tools\Source Files
+
+
+ Tools\Source Files
+
+
+ Tools\Source Files
+
+
+ Tools\Source Files
+
+
+ Tools\Source Files
+
+
+ Tools\Source Files
+
+
+ Tools\Source Files
+
+
+
\ No newline at end of file
diff --git a/src/BoE.vsproj/Game/Blades of Exile.rc b/src/BoE.vsproj/Game/Blades of Exile.rc
new file mode 100644
index 00000000..02a7f919
Binary files /dev/null and b/src/BoE.vsproj/Game/Blades of Exile.rc differ
diff --git a/src/BoE.vsproj/Game/Blades of Exile.vcxproj b/src/BoE.vsproj/Game/Blades of Exile.vcxproj
new file mode 100644
index 00000000..225e595e
--- /dev/null
+++ b/src/BoE.vsproj/Game/Blades of Exile.vcxproj
@@ -0,0 +1,150 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {A0C19353-478B-4F21-9FE3-FA8EE4D15147}
+ Win32Proj
+ BladesofExile
+
+
+
+ Application
+ true
+ v120
+ Unicode
+
+
+ Application
+ false
+ v120
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ false
+
+
+
+ NotUsing
+ Level3
+ Disabled
+ WIN32;_DEBUG;_WINDOWS;TIXML_USE_TICPP;%(PreprocessorDefinitions)
+
+
+ ..\..\tools\resmgr;..\..\tools\gzstream;..\..\tools;..\..\dialogxml\xml-parser;..\..\dialogxml;..\..\classes;..\..;%(AdditionalIncludeDirectories)
+
+
+ Windows
+ true
+ opengl32.lib;sfml-system.lib;sfml-window.lib;sfml-graphics.lib;sfml-audio.lib;zlib.lib;%(AdditionalDependencies)
+ mainCRTStartup
+
+
+
+
+ Level3
+ Use
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {1347fe79-73bd-4176-9280-0fe39e3534e2}
+ false
+ true
+ false
+ true
+ true
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/BoE.vsproj/Game/Blades of Exile.vcxproj.filters b/src/BoE.vsproj/Game/Blades of Exile.vcxproj.filters
new file mode 100644
index 00000000..7f56b160
--- /dev/null
+++ b/src/BoE.vsproj/Game/Blades of Exile.vcxproj.filters
@@ -0,0 +1,163 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+
+
+ Resource Files
+
+
+
+
+ Resource Files
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
\ No newline at end of file
diff --git a/src/BoE.vsproj/Game/Resource.h b/src/BoE.vsproj/Game/Resource.h
new file mode 100644
index 00000000..56170d5c
--- /dev/null
+++ b/src/BoE.vsproj/Game/Resource.h
@@ -0,0 +1,31 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by Blades of Exile.rc
+//
+
+#define IDS_APP_TITLE 103
+
+#define IDR_MAINFRAME 128
+#define IDD_BLADESOFEXILE_DIALOG 102
+#define IDD_ABOUTBOX 103
+#define IDM_ABOUT 104
+#define IDM_EXIT 105
+#define IDI_BLADESOFEXILE 107
+#define IDI_SMALL 108
+#define IDC_BLADESOFEXILE 109
+#define IDC_MYICON 2
+#ifndef IDC_STATIC
+#define IDC_STATIC -1
+#endif
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+
+#define _APS_NO_MFC 130
+#define _APS_NEXT_RESOURCE_VALUE 129
+#define _APS_NEXT_COMMAND_VALUE 32771
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 110
+#endif
+#endif
diff --git a/src/BoE.vsproj/PcEdit/Char Editor.rc b/src/BoE.vsproj/PcEdit/Char Editor.rc
new file mode 100644
index 00000000..c9df6392
Binary files /dev/null and b/src/BoE.vsproj/PcEdit/Char Editor.rc differ
diff --git a/src/BoE.vsproj/PcEdit/Char Editor.vcxproj b/src/BoE.vsproj/PcEdit/Char Editor.vcxproj
new file mode 100644
index 00000000..cc54f084
--- /dev/null
+++ b/src/BoE.vsproj/PcEdit/Char Editor.vcxproj
@@ -0,0 +1,116 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {3A6D88AD-45CD-4736-85F7-5E602ECB3D3C}
+ Win32Proj
+ CharEditor
+
+
+
+ Application
+ true
+ v120
+ Unicode
+
+
+ Application
+ false
+ v120
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ false
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_WINDOWS;TIXML_USE_TICPP;%(PreprocessorDefinitions)
+ ..\..\tools\resmgr;..\..\tools\gzstream;..\..\tools;..\..\dialogxml\xml-parser;..\..\dialogxml;..\..\classes;..\..;%(AdditionalIncludeDirectories)
+
+
+ Windows
+ true
+ opengl32.lib;sfml-system.lib;sfml-window.lib;sfml-graphics.lib;sfml-audio.lib;zlib.lib;%(AdditionalDependencies)
+ mainCRTStartup
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {1347fe79-73bd-4176-9280-0fe39e3534e2}
+ false
+ true
+ false
+ true
+ true
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/BoE.vsproj/PcEdit/Char Editor.vcxproj.filters b/src/BoE.vsproj/PcEdit/Char Editor.vcxproj.filters
new file mode 100644
index 00000000..0402c0a4
--- /dev/null
+++ b/src/BoE.vsproj/PcEdit/Char Editor.vcxproj.filters
@@ -0,0 +1,67 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+
+
+ Resource Files
+
+
+
+
+ Resource Files
+
+
+
\ No newline at end of file
diff --git a/src/BoE.vsproj/PcEdit/resource.h b/src/BoE.vsproj/PcEdit/resource.h
new file mode 100644
index 00000000..cb01612f
Binary files /dev/null and b/src/BoE.vsproj/PcEdit/resource.h differ
diff --git a/src/BoE.vsproj/ScenEdit/Scen Editor.rc b/src/BoE.vsproj/ScenEdit/Scen Editor.rc
new file mode 100644
index 00000000..d0dfe5f8
Binary files /dev/null and b/src/BoE.vsproj/ScenEdit/Scen Editor.rc differ
diff --git a/src/BoE.vsproj/ScenEdit/Scen Editor.vcxproj b/src/BoE.vsproj/ScenEdit/Scen Editor.vcxproj
new file mode 100644
index 00000000..b3ef575e
--- /dev/null
+++ b/src/BoE.vsproj/ScenEdit/Scen Editor.vcxproj
@@ -0,0 +1,122 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {87C53CC0-ED7A-4BF8-8844-FCA34401C1CA}
+ Win32Proj
+ ScenEditor
+
+
+
+ Application
+ true
+ v120
+ Unicode
+
+
+ Application
+ false
+ v120
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ false
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_WINDOWS;TIXML_USE_TICPP;%(PreprocessorDefinitions)
+ ..\..\tools\resmgr;..\..\tools\gzstream;..\..\tools;..\..\dialogxml\xml-parser;..\..\dialogxml;..\..\classes;..\..;%(AdditionalIncludeDirectories)
+
+
+ Windows
+ true
+ opengl32.lib;sfml-system.lib;sfml-window.lib;sfml-graphics.lib;sfml-audio.lib;zlib.lib;%(AdditionalDependencies)
+ mainCRTStartup
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+
+
+ Windows
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {1347fe79-73bd-4176-9280-0fe39e3534e2}
+ false
+ true
+ false
+ true
+ true
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/BoE.vsproj/ScenEdit/Scen Editor.vcxproj.filters b/src/BoE.vsproj/ScenEdit/Scen Editor.vcxproj.filters
new file mode 100644
index 00000000..b9437549
--- /dev/null
+++ b/src/BoE.vsproj/ScenEdit/Scen Editor.vcxproj.filters
@@ -0,0 +1,85 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Resource Files
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+
+
+ Resource Files
+
+
+
\ No newline at end of file
diff --git a/src/BoE.vsproj/ScenEdit/resource.h b/src/BoE.vsproj/ScenEdit/resource.h
new file mode 100644
index 00000000..21698fb9
Binary files /dev/null and b/src/BoE.vsproj/ScenEdit/resource.h differ
diff --git a/src/BoE.vsproj/targetver.h b/src/BoE.vsproj/targetver.h
new file mode 100644
index 00000000..36a3cc0e
--- /dev/null
+++ b/src/BoE.vsproj/targetver.h
@@ -0,0 +1,6 @@
+#pragma once
+
+// This ensures functions unavailable in Windows XP will not be available at compile time
+
+#define _WIN32_WINNT 0x0601
+#include
diff --git a/src/boe.dlgutil.cpp b/src/boe.dlgutil.cpp
index 524444fb..7a9fcc4b 100644
--- a/src/boe.dlgutil.cpp
+++ b/src/boe.dlgutil.cpp
@@ -1292,7 +1292,7 @@ static void put_scen_info(cDialog& me) {
}
}
-static static bool pick_a_scen_event_filter(cDialog& me, std::string item_hit, eKeyMod) {
+static bool pick_a_scen_event_filter(cDialog& me, std::string item_hit, eKeyMod) {
if(item_hit == "cancel") {
me.setResult(-1);
me.toast(false);
diff --git a/src/boe.fileio.cpp b/src/boe.fileio.cpp
index 21c3d79d..e8e95b7a 100644
--- a/src/boe.fileio.cpp
+++ b/src/boe.fileio.cpp
@@ -147,7 +147,7 @@ void finish_load_party(){
loaded_yet = true;
// TODO: Why is this still a C-string?
- strcpy (last_load_file, file_to_load.filename().c_str());
+ strcpy (last_load_file, file_to_load.filename().string().c_str());
store_file_reply = file_to_load;
add_string_to_buf("Load: Game loaded. ");
@@ -500,7 +500,7 @@ bool load_scenario_header(fs::path file/*,short header_entry*/){
bool mac_header = true;
// TODO: Rewrite using ifstream, or maybe ifstream_buf
- FILE* file_id = fopen(file.c_str(), "rb");
+ FILE* file_id = fopen(file.string().c_str(), "rb");
if(file_id == NULL) {
return false;
}
diff --git a/src/boe.graphics.cpp b/src/boe.graphics.cpp
index 0ee25c7a..59805cff 100644
--- a/src/boe.graphics.cpp
+++ b/src/boe.graphics.cpp
@@ -172,7 +172,7 @@ void adjust_window_mode() {
if(display_mode == 5) {
ul.x = 14; ul.y = 2;
mainPtr.create(sf::VideoMode(605,430,32), "Blades of Exile", sf::Style::Titlebar | sf::Style::Close, winSettings);
- mainPtr.setPosition({(desktop.width - 605) / 2, (desktop.height - 430) / 2});
+ mainPtr.setPosition({static_cast((desktop.width - 605) / 2), static_cast((desktop.height - 430) / 2)});
r = rectangle(mainPtr);
}
else {
diff --git a/src/boe.infodlg.cpp b/src/boe.infodlg.cpp
index 18f3cfb8..7e30de37 100644
--- a/src/boe.infodlg.cpp
+++ b/src/boe.infodlg.cpp
@@ -1,5 +1,6 @@
#include
+#include