diff --git a/.gitignore b/.gitignore
index 4b20b092a..872ea99f2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -32,6 +32,8 @@ bld/
[Bb]in/
[Oo]bj/
[Ll]og/
+WinDebug/
+WinRel/
# Visual Studio 2015/2017 cache/options directory
.vs/
diff --git a/3rdParty/Storm/Source/Storm.vcxproj b/3rdParty/Storm/Source/Storm.vcxproj
new file mode 100644
index 000000000..51be2f53c
--- /dev/null
+++ b/3rdParty/Storm/Source/Storm.vcxproj
@@ -0,0 +1,146 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+
+
+ {B28F69CE-15A1-424D-BBB5-2727258D675B}
+
+
+
+ DynamicLibrary
+ v141
+ false
+
+
+ DynamicLibrary
+ v141
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .\WinRel\
+ .\WinRel\
+ false
+
+
+ .\WinDebug\
+ .\WinDebug\
+ true
+
+
+
+ MultiThreaded
+ Default
+ true
+ true
+ MaxSpeed
+ true
+ Level3
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ .\WinRel\
+ .\WinRel\Storm.pch
+ .\WinRel\
+ .\WinRel\
+
+
+ true
+ NDEBUG;%(PreprocessorDefinitions)
+ .\WinRel\Storm.tlb
+ true
+ NUL
+ Win32
+
+
+ 0x0409
+ NDEBUG;%(PreprocessorDefinitions)
+
+
+ true
+ .\WinRel\Storm.bsc
+
+
+ true
+ true
+ Windows
+ storm.def
+ .\WinRel\Storm.dll
+ .\WinRel\Storm.lib
+ odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+
+
+ MultiThreadedDebug
+ Default
+ Disabled
+ true
+ Level3
+ true
+ EditAndContinue
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ .\WinDebug\
+ .\WinDebug\Storm.pch
+ .\WinDebug\
+ .\WinDebug\
+
+
+ true
+ _DEBUG;%(PreprocessorDefinitions)
+ .\WinDebug\Storm.tlb
+ true
+ NUL
+ Win32
+
+
+ 0x0409
+ _DEBUG;%(PreprocessorDefinitions)
+
+
+ true
+ .\WinDebug\Storm.bsc
+
+
+ true
+ true
+ true
+ Windows
+ storm.def
+ .\WinDebug\Storm.dll
+ .\WinDebug\Storm.lib
+ odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Diablo.sln b/Diablo.sln
new file mode 100644
index 000000000..72ba556b8
--- /dev/null
+++ b/Diablo.sln
@@ -0,0 +1,37 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.27703.2035
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Diablo", "Diablo.vcxproj", "{23114A83-7D81-4F17-A6B8-2FC51F3D72F2}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DiabloUI", "DiabloUI\DiabloUI.vcxproj", "{8408E35E-3CF5-4D4E-B873-AF3952CDABD4}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Storm", "3rdParty\Storm\Source\Storm.vcxproj", "{B28F69CE-15A1-424D-BBB5-2727258D675B}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {23114A83-7D81-4F17-A6B8-2FC51F3D72F2}.Debug|x86.ActiveCfg = Debug|Win32
+ {23114A83-7D81-4F17-A6B8-2FC51F3D72F2}.Debug|x86.Build.0 = Debug|Win32
+ {23114A83-7D81-4F17-A6B8-2FC51F3D72F2}.Release|x86.ActiveCfg = Release|Win32
+ {23114A83-7D81-4F17-A6B8-2FC51F3D72F2}.Release|x86.Build.0 = Release|Win32
+ {8408E35E-3CF5-4D4E-B873-AF3952CDABD4}.Debug|x86.ActiveCfg = Debug|Win32
+ {8408E35E-3CF5-4D4E-B873-AF3952CDABD4}.Debug|x86.Build.0 = Debug|Win32
+ {8408E35E-3CF5-4D4E-B873-AF3952CDABD4}.Release|x86.ActiveCfg = Release|Win32
+ {8408E35E-3CF5-4D4E-B873-AF3952CDABD4}.Release|x86.Build.0 = Release|Win32
+ {B28F69CE-15A1-424D-BBB5-2727258D675B}.Debug|x86.ActiveCfg = Debug|Win32
+ {B28F69CE-15A1-424D-BBB5-2727258D675B}.Debug|x86.Build.0 = Debug|Win32
+ {B28F69CE-15A1-424D-BBB5-2727258D675B}.Release|x86.ActiveCfg = Release|Win32
+ {B28F69CE-15A1-424D-BBB5-2727258D675B}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {6252549D-BED6-405B-9D6D-42C9074D0684}
+ EndGlobalSection
+EndGlobal
diff --git a/Diablo.vcxproj b/Diablo.vcxproj
new file mode 100644
index 000000000..5c8043519
--- /dev/null
+++ b/Diablo.vcxproj
@@ -0,0 +1,290 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+
+
+ {23114A83-7D81-4F17-A6B8-2FC51F3D72F2}
+ 8.1
+
+
+
+ Application
+ v141
+
+
+ Application
+ v141
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .\Source/WinRel\
+ .\Source/WinRel\
+
+
+ .\Source/WinDebug\
+ .\Source/WinDebug\
+
+
+
+ MultiThreaded
+ Default
+ true
+ MaxSpeed
+ true
+ Level3
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ .\Source/WinRel\
+ .\Source/WinRel\
+ .\Source/WinRel\
+ 4996
+ true
+
+
+ true
+ NDEBUG;%(PreprocessorDefinitions)
+ .\Source/WinRel\Diablo.tlb
+ true
+ NUL
+ Win32
+
+
+ 0x0409
+ NDEBUG;%(PreprocessorDefinitions)
+
+
+ .\Source/WinRel\Diablo.bsc
+
+
+ Windows
+ .\Source/WinRel\Diablo.exe
+ DiabloUI/WinRel/DiabloUI.lib;3rdParty/Storm/Source/WinRel/Storm.lib;version.lib;%(AdditionalDependencies)
+ false
+
+
+
+
+ MultiThreadedDebug
+ Disabled
+ Disabled
+ true
+ Level3
+ true
+ EditAndContinue
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ .\Source/WinDebug\
+ .\Source/WinDebug\
+ .\Source/WinDebug\
+ 4996
+
+
+ true
+ _DEBUG;%(PreprocessorDefinitions)
+ .\Source/WinDebug\Diablo.tlb
+ true
+ NUL
+ Win32
+
+
+ 0x0409
+ _DEBUG;%(PreprocessorDefinitions)
+
+
+ .\Source/WinDebug\Diablo.bsc
+
+
+ true
+ Windows
+ .\Source/WinDebug\Diablo.exe
+ DiabloUI/WinDebug/DiabloUI.lib;3rdParty/Storm/Source/WinDebug/Storm.lib;version.lib;%(AdditionalDependencies)
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {b28f69ce-15a1-424d-bbb5-2727258d675b}
+ false
+
+
+ {8408e35e-3cf5-4d4e-b873-af3952cdabd4}
+ false
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Diablo.vcxproj.filters b/Diablo.vcxproj.filters
new file mode 100644
index 000000000..1e55ea38d
--- /dev/null
+++ b/Diablo.vcxproj.filters
@@ -0,0 +1,467 @@
+
+
+
+
+ {0fb229f0-d459-4ec9-b897-317b016e0a57}
+ cpp;c;cxx;rc;def;r;odl;idl;hpj;bat
+
+
+ {52f34be1-947a-42ee-b303-4a46566a14a7}
+ ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe
+
+
+ {8003aed2-27a6-444b-8fb0-bb8a59530005}
+ h;hpp;hxx;hm;inl
+
+
+ {5dbacde9-4fc8-4776-ba59-92912e0c8ab5}
+ cpp;c;cxx;rc;def;r;odl;idl;hpj;bat
+
+
+
+
+ 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
+
+
+ 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
+
+
+ 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
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ PKWare
+
+
+ PKWare
+
+
+
+
+ Resource Files
+
+
+
+
+ Resource 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
+
+
+ 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
+
+
+ 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
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ PKWare
+
+
+
\ No newline at end of file
diff --git a/DiabloUI/DiabloUI.vcxproj b/DiabloUI/DiabloUI.vcxproj
new file mode 100644
index 000000000..e40bf9ddf
--- /dev/null
+++ b/DiabloUI/DiabloUI.vcxproj
@@ -0,0 +1,146 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+
+
+ {8408E35E-3CF5-4D4E-B873-AF3952CDABD4}
+
+
+
+ DynamicLibrary
+ v141
+ false
+
+
+ DynamicLibrary
+ v141
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .\WinRel\
+ .\WinRel\
+ false
+
+
+ .\WinDebug\
+ .\WinDebug\
+ true
+
+
+
+ MultiThreaded
+ Default
+ true
+ true
+ MaxSpeed
+ true
+ Level3
+ WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ .\WinRel\
+ .\WinRel\DiabloUI.pch
+ .\WinRel\
+ .\WinRel\
+
+
+ true
+ NDEBUG;%(PreprocessorDefinitions)
+ .\WinRel\DiabloUI.tlb
+ true
+ NUL
+ Win32
+
+
+ 0x0409
+ NDEBUG;%(PreprocessorDefinitions)
+
+
+ true
+ .\WinRel\DiabloUI.bsc
+
+
+ true
+ true
+ Windows
+ diabloui.def
+ .\WinRel\DiabloUI.dll
+ .\WinRel\DiabloUI.lib
+ odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+
+
+ MultiThreadedDebug
+ Default
+ Disabled
+ true
+ Level3
+ true
+ EditAndContinue
+ WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ .\WinDebug\
+ .\WinDebug\DiabloUI.pch
+ .\WinDebug\
+ .\WinDebug\
+
+
+ true
+ _DEBUG;%(PreprocessorDefinitions)
+ .\WinDebug\DiabloUI.tlb
+ true
+ NUL
+ Win32
+
+
+ 0x0409
+ _DEBUG;%(PreprocessorDefinitions)
+
+
+ true
+ .\WinDebug\DiabloUI.bsc
+
+
+ true
+ true
+ true
+ Windows
+ diabloui.def
+ .\WinDebug\DiabloUI.dll
+ .\WinDebug\DiabloUI.lib
+ odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file