diff --git a/Champions Reborn Server.vcxproj b/Champions Reborn Server.vcxproj
index 5253e0c..9f5fefa 100644
--- a/Champions Reborn Server.vcxproj
+++ b/Champions Reborn Server.vcxproj
@@ -30,26 +30,26 @@
Application
true
- v143
+ v145
Unicode
Application
false
- v143
+ v145
true
Unicode
Application
true
- v143
+ v145
Unicode
Application
false
- v143
+ v145
true
Unicode
@@ -81,7 +81,7 @@
true
.\bin\
- Server_64
+ Server_64_dbg
true
$(SolutionDir)obj\$(Configuration)\
@@ -129,7 +129,7 @@
Level3
Disabled
_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
- .\Dependency\sqlite\;%(AdditionalIncludeDirectories)
+ .\Include;.\Dependency\sqlite\;%(AdditionalIncludeDirectories)
true
stdcpp20
/utf-8 %(AdditionalOptions)
@@ -138,7 +138,7 @@
Console
ws2_32.lib;%(AdditionalDependencies)
.\lib
- .\bin\Server_64.exe
+ .\bin\Server_64_dbg.exe
@@ -177,13 +177,15 @@
true
true
NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
- .\Dependency\sqlite\;%(AdditionalIncludeDirectories)
+ .\Include;.\Dependency\sqlite\;%(AdditionalIncludeDirectories)
stdcpp20
Console
true
true
+ .\bin\Server_64.exe
+ ws2_32.lib;%(AdditionalDependencies)
@@ -191,166 +193,166 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Create
Create
Create
@@ -358,10 +360,10 @@
-
+
-
+
diff --git a/Champions Reborn Server.vcxproj.filters b/Champions Reborn Server.vcxproj.filters
index f177e99..6f10c2f 100644
--- a/Champions Reborn Server.vcxproj.filters
+++ b/Champions Reborn Server.vcxproj.filters
@@ -9,543 +9,545 @@
{93995380-89BD-4b04-88EB-625FBE52EBFB}
h;hh;hpp;hxx;hm;inl;inc;xsd
-
- {0ecae2be-b6b6-4ee2-bcb2-9252f189acca}
-
-
- {8b5e9b37-079d-4c08-99b0-c05b88543b70}
-
-
- {d2399894-b1e4-4a31-86ac-a4fa3a1b7e76}
-
-
- {d03ff7f7-63d1-43a7-b2cc-4b585130f545}
-
-
- {92e2e64a-8125-49a7-8eb0-5e96f8d7d7d0}
-
-
- {5f4b890f-79df-40dc-971a-5463a861107f}
-
-
- {39350066-8ddc-4899-8102-5f346667aa37}
-
-
- {3b0176b6-97aa-4e67-ab27-60626f71b573}
-
-
- {a8fcffaa-8fc1-4dbc-a005-b5ddb78ee586}
-
-
- {845ad25e-a3d9-42ac-826b-43ddeb655c25}
-
-
- {d2bb2db4-f015-43f6-a014-6c5d3d620ba4}
-
-
- {76928587-566c-4842-9fa3-1a5baec12238}
-
-
- {a72820fb-0d67-45e0-91f3-b7d7b6b61465}
-
-
- {48da1e06-b5a7-49cd-b264-12389d181a65}
-
{f3eef755-c7e8-4aa0-9b12-18defb183e51}
-
- {72ca5d8f-75d7-45b0-92fe-890fe17b53e8}
-
-
- {2de5b54c-130c-46a4-a16b-ee1c841c7b48}
-
{9a0761e6-3beb-491a-9c4c-8e8fc3c8baf5}
+
+ {063cb58b-e668-48a9-9c3f-fb44f71b57e6}
+
+
+ {2abd7d8e-f708-4a9a-9726-3bb582488763}
+
+
+ {1bbaf738-26ca-440a-9d0f-ce07ff2801aa}
+
+
+ {648a32e7-5066-45fe-979d-3fc1bcc71c67}
+
+
+ {d9b65336-539d-432d-a1f6-11e3cdee0a78}
+
+
+ {ac7f2fd7-6501-4861-9496-409f8739b5c0}
+
+
+ {de141e10-da1b-442f-af53-aac4823bbcb2}
+
+
+ {152e75b3-9e4f-48f9-94af-e6445bd95a2a}
+
+
+ {689703c8-2c84-4df1-ae2a-b92b97b284eb}
+
+
+ {4542ab93-2480-4511-9fd3-47c68efacf36}
+
+
+ {5d02896b-cb14-440b-a343-afb26f950a93}
+
+
+ {1942a77d-99be-4355-8be4-98b8a44699dc}
+
+
+ {c586cc40-8e55-44ed-a2cf-f8f7c9f54fed}
+
+
+ {ccf4baac-dc6b-41c5-a457-396f48d2d7ba}
+
+
+ {c71d0612-a064-46e1-9c9d-9e62b77f955d}
+
+
+ {684875a5-dd7b-47b4-b957-1505401424d9}
+
-
+
Header Files
-
+
Header Files
-
+
Header Files\Network
-
- Header Files
-
-
- Header Files
-
-
+
Header Files\Network
-
+
Header Files\Network
-
- Header Files\Lobby Server
+
+ Header Files\Network
-
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
Header Files\Game
-
+
Header Files\Game
-
- Header Files\Crypto
+
+ Header Files\Game
-
+
+ Header Files\Game
+
+
Header Files\Discovery Server
-
+
Header Files\Game
-
+
Header Files\Game
-
+
+ Header Files\Lobby Server
+
+
+ Header Files\Crypto
+
+
+ Header Files\Crypto
+
+
+ Header Files\Game
+
+
+ Header Files\Game
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Network\Events
+
+
+ Header Files\Database
+
+
+ Header Files\Game
+
+
+ Header Files\Game
+
+
+ Header Files\Crypto
+
+
+ Header Files\Database
+
+
+ Header Files\Crypto
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
Header Files\Network
-
+
+ Header Files\Common
+
+
+ Header Files\Common
+
+
Header Files
-
- Header Files\Crypto
+
+ Header Files
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Game
-
-
- Header Files\Game
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Database
-
-
- Header Files\Game
-
-
- Header Files\Game
-
-
- Header Files\Common
-
-
- Header Files\Common
-
-
- Header Files\Common
-
-
- Header Files\Crypto
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Common
-
-
- Header Files\Network\Event
-
-
- Header Files\Common
-
-
- Header Files\Game
-
-
- Header Files\Game
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Common
-
-
- Header Files\Network\Event
-
-
- Header Files\Database
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
-
-
- Header Files\Network\Event
+
+ Header Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
+ Source Files
+
+
+ Source Files
+
+
Source Files\Network
-
+
+ Source Files\Network
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Network\Event
+
+
+ Source Files\Common
+
+
Source Files\Lobby Server
-
+
Source Files\Game
-
+
Source Files\Game
-
- Source Files\Crypto
+
+ Source Files\Game
-
+
+ Source Files\Game
+
+
+ Source Files\Game
+
+
+ Source Files\Game
+
+
Source Files\Discovery Server
-
+
Source Files\Game
-
+
Source Files\Game
-
- Source Files
+
+ Source Files\Game
-
+
Source Files\Crypto
-
- Source Files\Network\Event
+
+ Source Files\Crypto
-
- Source Files\Network\Event
+
+ Source Files\Crypto
-
- Source Files\Network\Event
+
+ Source Files\Common
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Game
-
-
- Source Files\Game
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
+
Source Files\Database
Dependency\sqlite3
-
- Source Files\Game
-
-
- Source Files\Game
-
-
- Source Files\Common
-
-
- Source Files\Common
-
-
- Source Files\Crypto
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Game
-
-
- Source Files\Game
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
- Source Files\Network\Event
-
-
+
-
+
+ Header Files
+
\ No newline at end of file
diff --git a/Champions Server.rc b/Include/Champions Server.rc
similarity index 100%
rename from Champions Server.rc
rename to Include/Champions Server.rc
diff --git a/Common/ByteBufferReader.hpp b/Include/Common/ByteBufferReader.hpp
similarity index 100%
rename from Common/ByteBufferReader.hpp
rename to Include/Common/ByteBufferReader.hpp
diff --git a/Common/ByteStream.h b/Include/Common/ByteStream.hpp
similarity index 97%
rename from Common/ByteStream.h
rename to Include/Common/ByteStream.hpp
index 1057f8c..f0b410d 100644
--- a/Common/ByteStream.h
+++ b/Include/Common/ByteStream.hpp
@@ -6,8 +6,8 @@
#include
#include
-#include "Utility.h"
-#include "../Crypto/RealmCrypt.h"
+#include "Utility.hpp"
+#include "../Crypto/RealmCrypt.hpp"
class ByteBuffer {
public:
diff --git a/Common/Constant.h b/Include/Common/Constant.hpp
similarity index 100%
rename from Common/Constant.h
rename to Include/Common/Constant.hpp
diff --git a/Common/ForwardDecl.h b/Include/Common/ForwardDecl.hpp
similarity index 100%
rename from Common/ForwardDecl.h
rename to Include/Common/ForwardDecl.hpp
diff --git a/Common/RLEZ.hpp b/Include/Common/RLEZ.hpp
similarity index 100%
rename from Common/RLEZ.hpp
rename to Include/Common/RLEZ.hpp
diff --git a/Common/Utility.h b/Include/Common/Utility.hpp
similarity index 100%
rename from Common/Utility.h
rename to Include/Common/Utility.hpp
diff --git a/Crypto/PasswordHash.h b/Include/Crypto/PasswordHash.hpp
similarity index 100%
rename from Crypto/PasswordHash.h
rename to Include/Crypto/PasswordHash.hpp
diff --git a/Crypto/RealmCrypt.h b/Include/Crypto/RealmCrypt.hpp
similarity index 98%
rename from Crypto/RealmCrypt.h
rename to Include/Crypto/RealmCrypt.hpp
index 090447f..d61fb99 100644
--- a/Crypto/RealmCrypt.h
+++ b/Include/Crypto/RealmCrypt.hpp
@@ -4,7 +4,7 @@
#include
#include
-#include "rijndael.h"
+#include "rijndael.hpp"
// This class is based on the games Encryptor class,
// and is a wrapper around the rijndael ECB implementation.
diff --git a/Crypto/rijndael.h b/Include/Crypto/rijndael.hpp
similarity index 100%
rename from Crypto/rijndael.h
rename to Include/Crypto/rijndael.hpp
diff --git a/Database/Database.h b/Include/Database/Database.hpp
similarity index 91%
rename from Database/Database.h
rename to Include/Database/Database.hpp
index c2579e5..25f3de6 100644
--- a/Database/Database.h
+++ b/Include/Database/Database.hpp
@@ -8,9 +8,9 @@
#include