diff --git a/OpenDiablo2.Common.UT/OpenDiablo2.Common.UT.csproj b/OpenDiablo2.Common.UT/OpenDiablo2.Common.UT.csproj
index 66aecd00..4fa42fd1 100644
--- a/OpenDiablo2.Common.UT/OpenDiablo2.Common.UT.csproj
+++ b/OpenDiablo2.Common.UT/OpenDiablo2.Common.UT.csproj
@@ -1,6 +1,6 @@
-
+
Debug
AnyCPU
@@ -40,10 +40,10 @@
- ..\packages\MSTest.TestFramework.1.2.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll
+ ..\packages\MSTest.TestFramework.1.4.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll
- ..\packages\MSTest.TestFramework.1.2.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll
+ ..\packages\MSTest.TestFramework.1.4.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll
@@ -54,23 +54,23 @@
-
-
-
{B743160E-A0BB-45DC-9998-967A85E50562}
OpenDiablo2.Common
+
+
+
This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
-
-
+
+
-
+
\ No newline at end of file
diff --git a/OpenDiablo2.Common.UT/packages.config b/OpenDiablo2.Common.UT/packages.config
index cf2d094f..e17ebefc 100644
--- a/OpenDiablo2.Common.UT/packages.config
+++ b/OpenDiablo2.Common.UT/packages.config
@@ -1,5 +1,5 @@
-
-
+
+
\ No newline at end of file
diff --git a/OpenDiablo2.Common/Interfaces/IMPQProvider.cs b/OpenDiablo2.Common/Interfaces/Data/IMPQProvider.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/IMPQProvider.cs
rename to OpenDiablo2.Common/Interfaces/Data/IMPQProvider.cs
diff --git a/OpenDiablo2.Common/Interfaces/IMusicProvider.cs b/OpenDiablo2.Common/Interfaces/Data/IMusicProvider.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/IMusicProvider.cs
rename to OpenDiablo2.Common/Interfaces/Data/IMusicProvider.cs
diff --git a/OpenDiablo2.Common/Interfaces/IPaletteProvider.cs b/OpenDiablo2.Common/Interfaces/Data/IPaletteProvider.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/IPaletteProvider.cs
rename to OpenDiablo2.Common/Interfaces/Data/IPaletteProvider.cs
diff --git a/OpenDiablo2.Common/Interfaces/IResourceManager.cs b/OpenDiablo2.Common/Interfaces/Data/IResourceManager.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/IResourceManager.cs
rename to OpenDiablo2.Common/Interfaces/Data/IResourceManager.cs
diff --git a/OpenDiablo2.Common/Interfaces/ITextDictionary.cs b/OpenDiablo2.Common/Interfaces/Data/ITextDictionary.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/ITextDictionary.cs
rename to OpenDiablo2.Common/Interfaces/Data/ITextDictionary.cs
diff --git a/OpenDiablo2.Common/Interfaces/IRenderWindow.cs b/OpenDiablo2.Common/Interfaces/Drawing/IRenderWindow.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/IRenderWindow.cs
rename to OpenDiablo2.Common/Interfaces/Drawing/IRenderWindow.cs
diff --git a/OpenDiablo2.Common/Interfaces/ISprite.cs b/OpenDiablo2.Common/Interfaces/Drawing/ISprite.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/ISprite.cs
rename to OpenDiablo2.Common/Interfaces/Drawing/ISprite.cs
diff --git a/OpenDiablo2.Common/Interfaces/ITexture.cs b/OpenDiablo2.Common/Interfaces/Drawing/ITexture.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/ITexture.cs
rename to OpenDiablo2.Common/Interfaces/Drawing/ITexture.cs
diff --git a/OpenDiablo2.Common/Interfaces/IKeyboardInfoProvider.cs b/OpenDiablo2.Common/Interfaces/System/IKeyboardInfoProvider.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/IKeyboardInfoProvider.cs
rename to OpenDiablo2.Common/Interfaces/System/IKeyboardInfoProvider.cs
diff --git a/OpenDiablo2.Common/Interfaces/IMouseCursor.cs b/OpenDiablo2.Common/Interfaces/System/IMouseCursor.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/IMouseCursor.cs
rename to OpenDiablo2.Common/Interfaces/System/IMouseCursor.cs
diff --git a/OpenDiablo2.Common/Interfaces/IMouseInfoProvider.cs b/OpenDiablo2.Common/Interfaces/System/IMouseInfoProvider.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/IMouseInfoProvider.cs
rename to OpenDiablo2.Common/Interfaces/System/IMouseInfoProvider.cs
diff --git a/OpenDiablo2.Common/Interfaces/IButton.cs b/OpenDiablo2.Common/Interfaces/UI/IButton.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/IButton.cs
rename to OpenDiablo2.Common/Interfaces/UI/IButton.cs
diff --git a/OpenDiablo2.Common/Interfaces/ICharacterPanel.cs b/OpenDiablo2.Common/Interfaces/UI/ICharacterPanel.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/ICharacterPanel.cs
rename to OpenDiablo2.Common/Interfaces/UI/ICharacterPanel.cs
diff --git a/OpenDiablo2.Common/Interfaces/IFont.cs b/OpenDiablo2.Common/Interfaces/UI/IFont.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/IFont.cs
rename to OpenDiablo2.Common/Interfaces/UI/IFont.cs
diff --git a/OpenDiablo2.Common/Interfaces/IInventoryPanel.cs b/OpenDiablo2.Common/Interfaces/UI/IInventoryPanel.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/IInventoryPanel.cs
rename to OpenDiablo2.Common/Interfaces/UI/IInventoryPanel.cs
diff --git a/OpenDiablo2.Common/Interfaces/ILabel.cs b/OpenDiablo2.Common/Interfaces/UI/ILabel.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/ILabel.cs
rename to OpenDiablo2.Common/Interfaces/UI/ILabel.cs
diff --git a/OpenDiablo2.Common/Interfaces/IMiniPanel.cs b/OpenDiablo2.Common/Interfaces/UI/IMiniPanel.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/IMiniPanel.cs
rename to OpenDiablo2.Common/Interfaces/UI/IMiniPanel.cs
diff --git a/OpenDiablo2.Common/Interfaces/IPanelFrame.cs b/OpenDiablo2.Common/Interfaces/UI/IPanelFrame.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/IPanelFrame.cs
rename to OpenDiablo2.Common/Interfaces/UI/IPanelFrame.cs
diff --git a/OpenDiablo2.Common/Interfaces/ITextBox.cs b/OpenDiablo2.Common/Interfaces/UI/ITextBox.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/ITextBox.cs
rename to OpenDiablo2.Common/Interfaces/UI/ITextBox.cs
diff --git a/OpenDiablo2.Common/Interfaces/ITextLabel.cs b/OpenDiablo2.Common/Interfaces/UI/ITextLabel.cs
similarity index 100%
rename from OpenDiablo2.Common/Interfaces/ITextLabel.cs
rename to OpenDiablo2.Common/Interfaces/UI/ITextLabel.cs
diff --git a/OpenDiablo2.Common/OpenDiablo2.Common.csproj b/OpenDiablo2.Common/OpenDiablo2.Common.csproj
index c4f490ed..58a815c1 100644
--- a/OpenDiablo2.Common/OpenDiablo2.Common.csproj
+++ b/OpenDiablo2.Common/OpenDiablo2.Common.csproj
@@ -66,32 +66,32 @@
-
-
-
+
+
+
-
+
-
-
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/OpenDiablo2.Core.UT/OpenDiablo2.Core.UT.csproj b/OpenDiablo2.Core.UT/OpenDiablo2.Core.UT.csproj
index 3b6f8bda..764f8dc5 100644
--- a/OpenDiablo2.Core.UT/OpenDiablo2.Core.UT.csproj
+++ b/OpenDiablo2.Core.UT/OpenDiablo2.Core.UT.csproj
@@ -1,6 +1,6 @@
-
+
Debug
x64
@@ -40,10 +40,10 @@
- ..\packages\MSTest.TestFramework.1.2.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll
+ ..\packages\MSTest.TestFramework.1.4.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll
- ..\packages\MSTest.TestFramework.1.2.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll
+ ..\packages\MSTest.TestFramework.1.4.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll
@@ -52,9 +52,6 @@
-
-
-
{b743160e-a0bb-45dc-9998-967a85e50562}
@@ -65,14 +62,18 @@
OpenDiablo2.Core
+
+
+
+
This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
-
-
+
+
-
+
\ No newline at end of file
diff --git a/OpenDiablo2.Core.UT/app.config b/OpenDiablo2.Core.UT/app.config
new file mode 100644
index 00000000..e936cc13
--- /dev/null
+++ b/OpenDiablo2.Core.UT/app.config
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OpenDiablo2.Core.UT/packages.config b/OpenDiablo2.Core.UT/packages.config
index cf2d094f..e17ebefc 100644
--- a/OpenDiablo2.Core.UT/packages.config
+++ b/OpenDiablo2.Core.UT/packages.config
@@ -1,5 +1,5 @@
-
-
+
+
\ No newline at end of file
diff --git a/OpenDiablo2.Core/OpenDiablo2.Core.csproj b/OpenDiablo2.Core/OpenDiablo2.Core.csproj
index f9f023fd..f8b2fa72 100644
--- a/OpenDiablo2.Core/OpenDiablo2.Core.csproj
+++ b/OpenDiablo2.Core/OpenDiablo2.Core.csproj
@@ -38,8 +38,8 @@
..\packages\log4net.2.0.8\lib\net45-full\log4net.dll
-
- ..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll
+
+ ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll
@@ -80,6 +80,7 @@
+
diff --git a/OpenDiablo2.Core/app.config b/OpenDiablo2.Core/app.config
new file mode 100644
index 00000000..e936cc13
--- /dev/null
+++ b/OpenDiablo2.Core/app.config
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OpenDiablo2.Core/packages.config b/OpenDiablo2.Core/packages.config
index d6d64ebf..d0b0cbed 100644
--- a/OpenDiablo2.Core/packages.config
+++ b/OpenDiablo2.Core/packages.config
@@ -2,6 +2,6 @@
-
+
\ No newline at end of file
diff --git a/OpenDiablo2.ServiceBus/AutofacModule.cs b/OpenDiablo2.ServiceBus/AutofacModule.cs
new file mode 100644
index 00000000..5cc073f6
--- /dev/null
+++ b/OpenDiablo2.ServiceBus/AutofacModule.cs
@@ -0,0 +1,12 @@
+using Autofac;
+
+namespace OpenDiablo2.ServiceBus
+{
+ public sealed class AutofacModule : Module
+ {
+ protected override void Load(ContainerBuilder builder)
+ {
+
+ }
+ }
+}
diff --git a/OpenDiablo2.ServiceBus/OpenDiablo2.ServiceBus.csproj b/OpenDiablo2.ServiceBus/OpenDiablo2.ServiceBus.csproj
new file mode 100644
index 00000000..d0689a45
--- /dev/null
+++ b/OpenDiablo2.ServiceBus/OpenDiablo2.ServiceBus.csproj
@@ -0,0 +1,72 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {D3F0F44F-2AB4-4342-A684-53193032A621}
+ Library
+ Properties
+ OpenDiablo2.ServiceBus
+ OpenDiablo2.ServiceBus
+ v4.6.1
+ 512
+ true
+
+
+ true
+ bin\x64\Debug\
+ DEBUG;TRACE
+ full
+ x64
+ prompt
+ MinimumRecommendedRules.ruleset
+
+
+ bin\x64\Release\
+ TRACE
+ true
+ pdbonly
+ x64
+ prompt
+ MinimumRecommendedRules.ruleset
+
+
+
+ ..\packages\AsyncIO.0.1.61\lib\net40\AsyncIO.dll
+
+
+ ..\packages\Autofac.4.8.1\lib\net45\Autofac.dll
+
+
+ ..\packages\log4net.2.0.8\lib\net45-full\log4net.dll
+
+
+ ..\packages\NetMQ.4.0.0.1\lib\net40\NetMQ.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {b743160e-a0bb-45dc-9998-967a85e50562}
+ OpenDiablo2.Common
+
+
+
+
\ No newline at end of file
diff --git a/OpenDiablo2.ServiceBus/Properties/AssemblyInfo.cs b/OpenDiablo2.ServiceBus/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..4d05f1a5
--- /dev/null
+++ b/OpenDiablo2.ServiceBus/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("OpenDiablo2.ServiceBus")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OpenDiablo2.ServiceBus")]
+[assembly: AssemblyCopyright("Copyright © 2018")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("d3f0f44f-2ab4-4342-a684-53193032a621")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenDiablo2.ServiceBus/app.config b/OpenDiablo2.ServiceBus/app.config
new file mode 100644
index 00000000..a6985837
--- /dev/null
+++ b/OpenDiablo2.ServiceBus/app.config
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OpenDiablo2.ServiceBus/packages.config b/OpenDiablo2.ServiceBus/packages.config
new file mode 100644
index 00000000..2fb006f6
--- /dev/null
+++ b/OpenDiablo2.ServiceBus/packages.config
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OpenDiablo2.TestConsole/App.config b/OpenDiablo2.TestConsole/App.config
index 731f6de6..d39488da 100644
--- a/OpenDiablo2.TestConsole/App.config
+++ b/OpenDiablo2.TestConsole/App.config
@@ -1,6 +1,14 @@
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OpenDiablo2.sln b/OpenDiablo2.sln
index 2063fdaf..d240598c 100644
--- a/OpenDiablo2.sln
+++ b/OpenDiablo2.sln
@@ -23,6 +23,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utilities", "Utilities", "{
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{1FAD6E2F-6535-4AAB-82DC-7CEEC38B3F00}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenDiablo2.ServiceBus", "OpenDiablo2.ServiceBus\OpenDiablo2.ServiceBus.csproj", "{D3F0F44F-2AB4-4342-A684-53193032A621}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
@@ -61,6 +63,10 @@ Global
{F187FACE-CBA2-4012-8308-06CCDC9D6AB1}.Debug|x64.Build.0 = Debug|x64
{F187FACE-CBA2-4012-8308-06CCDC9D6AB1}.Release|x64.ActiveCfg = Release|x64
{F187FACE-CBA2-4012-8308-06CCDC9D6AB1}.Release|x64.Build.0 = Release|x64
+ {D3F0F44F-2AB4-4342-A684-53193032A621}.Debug|x64.ActiveCfg = Debug|x64
+ {D3F0F44F-2AB4-4342-A684-53193032A621}.Debug|x64.Build.0 = Debug|x64
+ {D3F0F44F-2AB4-4342-A684-53193032A621}.Release|x64.ActiveCfg = Release|x64
+ {D3F0F44F-2AB4-4342-A684-53193032A621}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/OpenDiablo2/App.config b/OpenDiablo2/App.config
index 731f6de6..5472be61 100644
--- a/OpenDiablo2/App.config
+++ b/OpenDiablo2/App.config
@@ -1,6 +1,18 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OpenDiablo2/OpenDiablo2.csproj b/OpenDiablo2/OpenDiablo2.csproj
index 8ff3c26c..e6ada74e 100644
--- a/OpenDiablo2/OpenDiablo2.csproj
+++ b/OpenDiablo2/OpenDiablo2.csproj
@@ -107,6 +107,10 @@
{1f8731d5-393b-4561-9cea-887a2f466576}
OpenDiablo2.SDL2
+
+ {d3f0f44f-2ab4-4342-a684-53193032a621}
+ OpenDiablo2.ServiceBus
+