瀏覽代碼

kNet replaced with SLikeNet (RakNet fork).

Arnis Lielturks 7 年之前
父節點
當前提交
e363036036
共有 100 個文件被更改,包括 2084 次插入3 次删除
  1. 1 1
      Source/CMakeLists.txt
  2. 2 2
      Source/Samples/16_Chat/Chat.cpp
  3. 37 0
      Source/Samples/52_NATPunchtrough/CMakeLists.txt
  4. 291 0
      Source/Samples/52_NATPunchtrough/NATPunchtrough.cpp
  5. 123 0
      Source/Samples/52_NATPunchtrough/NATPunchtrough.h
  6. 37 0
      Source/Samples/53_LANDiscovery/CMakeLists.txt
  7. 184 0
      Source/Samples/53_LANDiscovery/LANDiscovery.cpp
  8. 93 0
      Source/Samples/53_LANDiscovery/LANDiscovery.h
  9. 42 0
      Source/ThirdParty/SLikeNet/CMakeLists.txt
  10. 110 0
      Source/ThirdParty/SLikeNet/CmakeIncludes/CmakeMacros.txt
  11. 218 0
      Source/ThirdParty/SLikeNet/CmakeIncludes/FindMacros.txt
  12. 66 0
      Source/ThirdParty/SLikeNet/License.txt
  13. 10 0
      Source/ThirdParty/SLikeNet/src/AutopatcherPatchContext.h
  14. 10 0
      Source/ThirdParty/SLikeNet/src/AutopatcherRepositoryInterface.h
  15. 10 0
      Source/ThirdParty/SLikeNet/src/Base64Encoder.h
  16. 10 0
      Source/ThirdParty/SLikeNet/src/BitStream.h
  17. 10 0
      Source/ThirdParty/SLikeNet/src/CCRakNetSlidingWindow.h
  18. 10 0
      Source/ThirdParty/SLikeNet/src/CCRakNetUDT.h
  19. 10 0
      Source/ThirdParty/SLikeNet/src/CheckSum.h
  20. 10 0
      Source/ThirdParty/SLikeNet/src/CloudClient.h
  21. 10 0
      Source/ThirdParty/SLikeNet/src/CloudCommon.h
  22. 10 0
      Source/ThirdParty/SLikeNet/src/CloudServer.h
  23. 10 0
      Source/ThirdParty/SLikeNet/src/CommandParserInterface.h
  24. 10 0
      Source/ThirdParty/SLikeNet/src/ConnectionGraph2.h
  25. 10 0
      Source/ThirdParty/SLikeNet/src/ConsoleServer.h
  26. 10 0
      Source/ThirdParty/SLikeNet/src/DR_SHA1.h
  27. 10 0
      Source/ThirdParty/SLikeNet/src/DS_BPlusTree.h
  28. 10 0
      Source/ThirdParty/SLikeNet/src/DS_BinarySearchTree.h
  29. 10 0
      Source/ThirdParty/SLikeNet/src/DS_BytePool.h
  30. 10 0
      Source/ThirdParty/SLikeNet/src/DS_ByteQueue.h
  31. 10 0
      Source/ThirdParty/SLikeNet/src/DS_Hash.h
  32. 10 0
      Source/ThirdParty/SLikeNet/src/DS_Heap.h
  33. 10 0
      Source/ThirdParty/SLikeNet/src/DS_HuffmanEncodingTree.h
  34. 10 0
      Source/ThirdParty/SLikeNet/src/DS_HuffmanEncodingTreeFactory.h
  35. 10 0
      Source/ThirdParty/SLikeNet/src/DS_HuffmanEncodingTreeNode.h
  36. 10 0
      Source/ThirdParty/SLikeNet/src/DS_LinkedList.h
  37. 10 0
      Source/ThirdParty/SLikeNet/src/DS_List.h
  38. 10 0
      Source/ThirdParty/SLikeNet/src/DS_Map.h
  39. 10 0
      Source/ThirdParty/SLikeNet/src/DS_MemoryPool.h
  40. 10 0
      Source/ThirdParty/SLikeNet/src/DS_Multilist.h
  41. 10 0
      Source/ThirdParty/SLikeNet/src/DS_OrderedChannelHeap.h
  42. 10 0
      Source/ThirdParty/SLikeNet/src/DS_OrderedList.h
  43. 10 0
      Source/ThirdParty/SLikeNet/src/DS_Queue.h
  44. 10 0
      Source/ThirdParty/SLikeNet/src/DS_QueueLinkedList.h
  45. 10 0
      Source/ThirdParty/SLikeNet/src/DS_RangeList.h
  46. 10 0
      Source/ThirdParty/SLikeNet/src/DS_Table.h
  47. 10 0
      Source/ThirdParty/SLikeNet/src/DS_ThreadsafeAllocatingQueue.h
  48. 10 0
      Source/ThirdParty/SLikeNet/src/DS_Tree.h
  49. 10 0
      Source/ThirdParty/SLikeNet/src/DS_WeightedGraph.h
  50. 10 0
      Source/ThirdParty/SLikeNet/src/DataCompressor.h
  51. 10 0
      Source/ThirdParty/SLikeNet/src/DirectoryDeltaTransfer.h
  52. 10 0
      Source/ThirdParty/SLikeNet/src/DynDNS.h
  53. 10 0
      Source/ThirdParty/SLikeNet/src/EmailSender.h
  54. 10 0
      Source/ThirdParty/SLikeNet/src/EmptyHeader.h
  55. 10 0
      Source/ThirdParty/SLikeNet/src/EpochTimeToString.h
  56. 10 0
      Source/ThirdParty/SLikeNet/src/Export.h
  57. 10 0
      Source/ThirdParty/SLikeNet/src/FileList.h
  58. 10 0
      Source/ThirdParty/SLikeNet/src/FileListNodeContext.h
  59. 10 0
      Source/ThirdParty/SLikeNet/src/FileListTransfer.h
  60. 10 0
      Source/ThirdParty/SLikeNet/src/FileListTransferCBInterface.h
  61. 10 0
      Source/ThirdParty/SLikeNet/src/FileOperations.h
  62. 10 0
      Source/ThirdParty/SLikeNet/src/FormatString.h
  63. 10 0
      Source/ThirdParty/SLikeNet/src/FullyConnectedMesh2.h
  64. 10 0
      Source/ThirdParty/SLikeNet/src/GetTime.h
  65. 10 0
      Source/ThirdParty/SLikeNet/src/Getche.h
  66. 10 0
      Source/ThirdParty/SLikeNet/src/Gets.h
  67. 10 0
      Source/ThirdParty/SLikeNet/src/GridSectorizer.h
  68. 10 0
      Source/ThirdParty/SLikeNet/src/HTTPConnection.h
  69. 10 0
      Source/ThirdParty/SLikeNet/src/HTTPConnection2.h
  70. 10 0
      Source/ThirdParty/SLikeNet/src/IncrementalReadInterface.h
  71. 10 0
      Source/ThirdParty/SLikeNet/src/InternalPacket.h
  72. 10 0
      Source/ThirdParty/SLikeNet/src/Itoa.h
  73. 10 0
      Source/ThirdParty/SLikeNet/src/Kbhit.h
  74. 10 0
      Source/ThirdParty/SLikeNet/src/LinuxStrings.h
  75. 10 0
      Source/ThirdParty/SLikeNet/src/LocklessTypes.h
  76. 10 0
      Source/ThirdParty/SLikeNet/src/LogCommandParser.h
  77. 10 0
      Source/ThirdParty/SLikeNet/src/MTUSize.h
  78. 10 0
      Source/ThirdParty/SLikeNet/src/MessageFilter.h
  79. 10 0
      Source/ThirdParty/SLikeNet/src/MessageIdentifiers.h
  80. 10 0
      Source/ThirdParty/SLikeNet/src/NatPunchthroughClient.h
  81. 10 0
      Source/ThirdParty/SLikeNet/src/NatPunchthroughServer.h
  82. 10 0
      Source/ThirdParty/SLikeNet/src/NatTypeDetectionClient.h
  83. 10 0
      Source/ThirdParty/SLikeNet/src/NatTypeDetectionCommon.h
  84. 10 0
      Source/ThirdParty/SLikeNet/src/NatTypeDetectionServer.h
  85. 10 0
      Source/ThirdParty/SLikeNet/src/NativeFeatureIncludes.h
  86. 10 0
      Source/ThirdParty/SLikeNet/src/NativeFeatureIncludesOverrides.h
  87. 10 0
      Source/ThirdParty/SLikeNet/src/NativeTypes.h
  88. 10 0
      Source/ThirdParty/SLikeNet/src/NetworkIDManager.h
  89. 10 0
      Source/ThirdParty/SLikeNet/src/NetworkIDObject.h
  90. 10 0
      Source/ThirdParty/SLikeNet/src/PS3Includes.h
  91. 10 0
      Source/ThirdParty/SLikeNet/src/PS4Includes.h
  92. 10 0
      Source/ThirdParty/SLikeNet/src/PacketConsoleLogger.h
  93. 10 0
      Source/ThirdParty/SLikeNet/src/PacketFileLogger.h
  94. 10 0
      Source/ThirdParty/SLikeNet/src/PacketLogger.h
  95. 10 0
      Source/ThirdParty/SLikeNet/src/PacketOutputWindowLogger.h
  96. 10 0
      Source/ThirdParty/SLikeNet/src/PacketPool.h
  97. 10 0
      Source/ThirdParty/SLikeNet/src/PacketPriority.h
  98. 10 0
      Source/ThirdParty/SLikeNet/src/PacketizedTCP.h
  99. 10 0
      Source/ThirdParty/SLikeNet/src/PluginInterface2.h
  100. 10 0
      Source/ThirdParty/SLikeNet/src/RPC4Plugin.h

+ 1 - 1
Source/CMakeLists.txt

@@ -82,7 +82,7 @@ endif ()
 
 if (URHO3D_NETWORK)
     add_subdirectory (ThirdParty/Civetweb)
-    add_subdirectory (ThirdParty/kNet)
+    add_subdirectory (ThirdParty/SLikeNet)
 endif ()
 
 if (URHO3D_DATABASE_ODBC)

+ 2 - 2
Source/Samples/16_Chat/Chat.cpp

@@ -51,7 +51,7 @@
 #endif
 
 // Identifier for the chat network messages
-const int MSG_CHAT = 32;
+const int MSG_CHAT = 153;
 // UDP port we will use
 const unsigned short CHAT_SERVER_PORT = 2345;
 
@@ -114,7 +114,7 @@ void Chat::CreateUI()
     // Row height would be zero if the font failed to load
     if (rowHeight)
     {
-        float numberOfRows = (graphics->GetHeight() - 20) / rowHeight;
+        float numberOfRows = (graphics->GetHeight() - 100) / rowHeight;
         chatHistory_.Resize(static_cast<unsigned int>(numberOfRows));
     }
 

+ 37 - 0
Source/Samples/52_NATPunchtrough/CMakeLists.txt

@@ -0,0 +1,37 @@
+#
+# Copyright (c) 2008-2018 the Urho3D project.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+
+if (NOT URHO3D_NETWORK)
+    return ()
+endif ()
+
+# Define target name
+set (TARGET_NAME 52_NATPunchtrough)
+
+# Define source files
+define_source_files (EXTRA_H_FILES ${COMMON_SAMPLE_H_FILES})
+
+# Setup target with resource copying
+setup_main_executable ()
+
+# Setup test cases
+setup_test ()

+ 291 - 0
Source/Samples/52_NATPunchtrough/NATPunchtrough.cpp

@@ -0,0 +1,291 @@
+//
+// Copyright (c) 2008-2018 the Urho3D project.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+//
+
+#include <Urho3D/Audio/Audio.h>
+#include <Urho3D/Audio/Sound.h>
+#include <Urho3D/Engine/Engine.h>
+#include <Urho3D/Graphics/Graphics.h>
+#include <Urho3D/Graphics/Zone.h>
+#include <Urho3D/Input/Input.h>
+#include <Urho3D/IO/IOEvents.h>
+#include <Urho3D/IO/Log.h>
+#include <Urho3D/IO/MemoryBuffer.h>
+#include <Urho3D/IO/VectorBuffer.h>
+#include <Urho3D/Network/Network.h>
+#include <Urho3D/Network/NetworkEvents.h>
+#include <Urho3D/Resource/ResourceCache.h>
+#include <Urho3D/Scene/Scene.h>
+#include <Urho3D/UI/Button.h>
+#include <Urho3D/UI/Font.h>
+#include <Urho3D/UI/LineEdit.h>
+#include <Urho3D/UI/Text.h>
+#include <Urho3D/UI/UI.h>
+#include <Urho3D/UI/UIEvents.h>
+
+#include "NATPunchtrough.h"
+
+#include <Urho3D/DebugNew.h>
+
+// Undefine Windows macro, as our Connection class has a function called SendMessage
+#ifdef SendMessage
+#undef SendMessage
+#endif
+
+URHO3D_DEFINE_APPLICATION_MAIN(NATPunchtrough)
+
+NATPunchtrough::NATPunchtrough(Context* context) :
+    Sample(context)
+{
+}
+
+void NATPunchtrough::Start()
+{
+    // Execute base class startup
+    Sample::Start();
+
+    // Enable OS cursor
+    GetSubsystem<Input>()->SetMouseVisible(true);
+
+    // Create the user interface
+    CreateUI();
+
+    // Subscribe to UI and network events
+    SubscribeToEvents();
+
+    // Set the mouse mode to use in the sample
+    Sample::InitMouseMode(MM_FREE);
+}
+
+void NATPunchtrough::CreateUI()
+{
+    SetLogoVisible(true); // We need the full rendering window
+
+    // logHistory.Resize(20);
+
+    // // Create NAT server config fields
+    // int marginTop = 40;
+    // CreateLabel("1. Run NAT server somewhere, enter NAT server info and press 'Save NAT settings'", IntVector2(20, marginTop-20));
+    // natServerAddress = CreateLineEdit("127.0.0.1", 200, IntVector2(20, marginTop));
+    // natServerPort = CreateLineEdit("61111", 100, IntVector2(240, marginTop));
+    // saveNatSettingsButton = CreateButton("Save NAT settings", 160, IntVector2(360, marginTop));
+
+    // // Create server start button
+    // marginTop = 120;
+    // CreateLabel("2. Create server and give others your server GUID", IntVector2(20, marginTop-20));
+    // guid = CreateLineEdit("Your server GUID", 200, IntVector2(20, marginTop));
+    // startServerButton = CreateButton("Start server", 160, IntVector2(240, marginTop));
+
+    // // Create client connection related fields
+    // marginTop = 200;
+    // CreateLabel("3. Input local or remote server GUID", IntVector2(20, marginTop-20));
+    // serverGuid = CreateLineEdit("Remote server GUID", 200, IntVector2(20, marginTop));
+    // connectButton = CreateButton("Connect", 160, IntVector2(240, marginTop));
+
+    auto* graphics = GetSubsystem<Graphics>();
+    UIElement* root = GetSubsystem<UI>()->GetRoot();
+    auto* cache = GetSubsystem<ResourceCache>();
+    auto* uiStyle = cache->GetResource<XMLFile>("UI/DefaultStyle.xml");
+    // Set style to the UI root so that elements will inherit it
+    root->SetDefaultStyle(uiStyle);
+
+    auto* font = cache->GetResource<Font>("Fonts/Anonymous Pro.ttf");
+    logHistoryText_ = root->CreateChild<Text>();
+    logHistoryText_->SetFont(font, 12);
+    logHistoryText_->SetPosition(20, 200);
+    logHistory_.Resize(20);
+
+    // Create NAT server config fields
+    int marginTop = 40;
+    CreateLabel("1. Run NAT server somewhere, enter NAT server info and press 'Save NAT settings'", IntVector2(20, marginTop-20));
+    natServerAddress_ = CreateLineEdit("127.0.0.1", 200, IntVector2(20, marginTop));
+    natServerPort_ = CreateLineEdit("61111", 100, IntVector2(240, marginTop));
+    saveNatSettingsButton_ = CreateButton("Save NAT settings", 160, IntVector2(360, marginTop));
+
+    // Create server start button
+    marginTop = 120;
+    CreateLabel("2. Create server and give others your server GUID", IntVector2(20, marginTop-20));
+    guid_ = CreateLineEdit("Your server GUID", 200, IntVector2(20, marginTop));
+    startServerButton_ = CreateButton("Start server", 160, IntVector2(240, marginTop));
+
+    // Create client connection related fields
+    marginTop = 200;
+    CreateLabel("3. Input local or remote server GUID", IntVector2(20, marginTop-20));
+    serverGuid_ = CreateLineEdit("Remote server GUID", 200, IntVector2(20, marginTop));
+    connectButton_ = CreateButton("Connect", 160, IntVector2(240, marginTop));
+
+    // No viewports or scene is defined. However, the default zone's fog color controls the fill color
+    GetSubsystem<Renderer>()->GetDefaultZone()->SetFogColor(Color(0.0f, 0.0f, 0.1f));
+}
+
+void NATPunchtrough::SubscribeToEvents()
+{
+    // Subscribe HandleUpdate() function for processing update events
+    // SubscribeToEvent(E_NETWORKMESSAGE, URHO3D_HANDLER(Chat, HandleNetworkMessage));
+    SubscribeToEvent(E_SERVERCONNECTED, URHO3D_HANDLER(NATPunchtrough, HandleServerConnected));
+    SubscribeToEvent(E_SERVERDISCONNECTED, URHO3D_HANDLER(NATPunchtrough, HandleServerDisconnected));
+    SubscribeToEvent(E_CONNECTFAILED, URHO3D_HANDLER(NATPunchtrough, HandleConnectFailed));
+
+    // NAT server connection related events
+    SubscribeToEvent(E_NATMASTERCONNECTIONFAILED, URHO3D_HANDLER(NATPunchtrough, HandleNatConnectionFailed));
+    SubscribeToEvent(E_NATMASTERCONNECTIONSUCCEEDED, URHO3D_HANDLER(NATPunchtrough, HandleNatConnectionSucceeded));
+
+    // NAT punchtrough request events
+    SubscribeToEvent(E_NETWORKNATPUNCHTROUGHSUCCEEDED, URHO3D_HANDLER(NATPunchtrough, HandleNatPunchtroughSucceeded));
+    SubscribeToEvent(E_NETWORKNATPUNCHTROUGHFAILED, URHO3D_HANDLER(NATPunchtrough, HandleNatPunchtroughFailed));
+
+    SubscribeToEvent(E_CLIENTCONNECTED, URHO3D_HANDLER(NATPunchtrough, HandleClientConnected));
+    SubscribeToEvent(E_CLIENTDISCONNECTED, URHO3D_HANDLER(NATPunchtrough, HandleClientDisconnected));
+
+    SubscribeToEvent(saveNatSettingsButton_, "Released", URHO3D_HANDLER(NATPunchtrough, HandleSaveNatSettings));
+    SubscribeToEvent(startServerButton_, "Released", URHO3D_HANDLER(NATPunchtrough, HandleStartServer));
+    SubscribeToEvent(connectButton_, "Released", URHO3D_HANDLER(NATPunchtrough, HandleConnect));
+}
+
+Button* NATPunchtrough::CreateButton(const String& text, int width, IntVector2 position)
+{
+    auto* cache = GetSubsystem<ResourceCache>();
+    auto* font = cache->GetResource<Font>("Fonts/Anonymous Pro.ttf");
+
+    auto* button = GetSubsystem<UI>()->GetRoot()->CreateChild<Button>();
+    button->SetStyleAuto();
+    button->SetFixedWidth(width);
+    button->SetFixedHeight(30);
+    button->SetPosition(position);
+
+    auto* buttonText = button->CreateChild<Text>();
+    buttonText->SetFont(font, 12);
+    buttonText->SetAlignment(HA_CENTER, VA_CENTER);
+    buttonText->SetText(text);
+
+    return button;
+}
+
+LineEdit* NATPunchtrough::CreateLineEdit(const String& placeholder, int width, IntVector2 pos)
+{
+    auto* textEdit = GetSubsystem<UI>()->GetRoot()->CreateChild<LineEdit>("");
+    textEdit->SetStyleAuto();
+    textEdit->SetFixedWidth(width);
+    textEdit->SetFixedHeight(30);
+    textEdit->SetText(placeholder);
+    textEdit->SetPosition(pos);
+    return textEdit;
+}
+
+void NATPunchtrough::CreateLabel(const String& text, IntVector2 pos)
+{
+    auto* cache = GetSubsystem<ResourceCache>();
+    // Create log element to view latest logs from the system
+    auto* font = cache->GetResource<Font>("Fonts/Anonymous Pro.ttf");
+    auto* label = GetSubsystem<UI>()->GetRoot()->CreateChild<Text>();
+    label->SetFont(font, 12);
+    label->SetColor(Color(0.0f, 1.0f, 0.0f));
+    label->SetPosition(pos);
+    label->SetText(text);
+}
+
+void NATPunchtrough::ShowLogMessage(const String& row)
+{
+    logHistory_.Erase(0);
+    logHistory_.Push(row);
+
+    // Concatenate all the rows in history
+    String allRows;
+    for (unsigned i = 0; i < logHistory_.Size(); ++i)
+        allRows += logHistory_[i] + "\n";
+
+    logHistoryText_->SetText(allRows);
+}
+
+void NATPunchtrough::HandleSaveNatSettings(StringHash eventType, VariantMap& eventData)
+{
+    // Save NAT server configuration
+    GetSubsystem<Network>()->SetNATServerInfo(natServerAddress_->GetText(), ToInt(natServerPort_->GetText()));
+    ShowLogMessage("Saving NAT settings: " + natServerAddress_->GetText() + ":" + natServerPort_->GetText());
+}
+
+void NATPunchtrough::HandleServerConnected(StringHash eventType, VariantMap& eventData)
+{
+    ShowLogMessage("Client: Server connected!");
+}
+
+void NATPunchtrough::HandleServerDisconnected(StringHash eventType, VariantMap& eventData)
+{
+    ShowLogMessage("Client: Server disconnected!");
+}
+
+void NATPunchtrough::HandleConnectFailed(StringHash eventType, VariantMap& eventData)
+{
+    ShowLogMessage("Client: Connection failed!");
+}
+
+void NATPunchtrough::HandleStartServer(StringHash eventType, VariantMap& eventData)
+{
+    GetSubsystem<Network>()->StartServer(SERVER_PORT);
+    ShowLogMessage("Server: Server started on port: " + String(SERVER_PORT));
+
+    // Connect to the NAT server
+    GetSubsystem<Network>()->StartNATClient();
+    ShowLogMessage("Server: Starting NAT client for server...");
+
+    // Output our assigned GUID which others will use to connect to our server
+    guid_->SetText(GetSubsystem<Network>()->GetGUID());
+}
+
+void NATPunchtrough::HandleConnect(StringHash eventType, VariantMap& eventData)
+{
+    VariantMap userData;
+    userData["Name"] = "Urho3D";
+
+    // Attempt connecting to server using custom GUID, Scene = null as a second parameter and user identity is passed as third parameter
+    GetSubsystem<Network>()->AttemptNATPunchtrough(serverGuid_->GetText(), nullptr, userData);
+    ShowLogMessage("Client: Attempting NAT punchtrough to guid: " + serverGuid_->GetText());
+}
+
+void NATPunchtrough::HandleNatConnectionFailed(StringHash eventType, VariantMap& eventData)
+{
+    ShowLogMessage("Connection to NAT master server failed!");
+}
+
+void NATPunchtrough::HandleNatConnectionSucceeded(StringHash eventType, VariantMap& eventData)
+{
+    ShowLogMessage("Connection to NAT master server succeeded!");
+}
+
+void NATPunchtrough::HandleNatPunchtroughSucceeded(StringHash eventType, VariantMap& eventData)
+{
+    ShowLogMessage("NAT punchtrough succeeded!");
+}
+
+void NATPunchtrough::HandleNatPunchtroughFailed(StringHash eventType, VariantMap& eventData)
+{
+    ShowLogMessage("NAT punchtrough failed!");
+}
+
+void NATPunchtrough::HandleClientConnected(StringHash eventType, VariantMap& eventData)
+{
+    ShowLogMessage("Server: Client connected!");
+}
+
+void NATPunchtrough::HandleClientDisconnected(StringHash eventType, VariantMap& eventData)
+{
+    ShowLogMessage("Server: Client disconnected!");
+}

+ 123 - 0
Source/Samples/52_NATPunchtrough/NATPunchtrough.h

@@ -0,0 +1,123 @@
+//
+// Copyright (c) 2008-2018 the Urho3D project.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+//
+
+#pragma once
+
+#include "Sample.h"
+
+namespace Urho3D
+{
+
+class Button;
+class LineEdit;
+class Text;
+class UIElement;
+
+}
+
+const int SERVER_PORT = 54654;
+
+/// Chat example
+/// This sample demonstrates:
+///     - Starting up a network server or connecting to it
+///     - Implementing simple chat functionality with network messages
+class NATPunchtrough : public Sample
+{
+    URHO3D_OBJECT(NATPunchtrough, Sample);
+
+public:
+    /// Construct.
+    explicit NATPunchtrough(Context* context);
+
+    /// Setup after engine initialization and before running the main loop.
+    void Start() override;
+
+protected:
+    /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
+    String GetScreenJoystickPatchString() const override { return
+        "<patch>"
+        "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Button2']]\">"
+        "        <attribute name=\"Is Visible\" value=\"false\" />"
+        "    </add>"
+        "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
+        "        <attribute name=\"Is Visible\" value=\"false\" />"
+        "    </add>"
+        "</patch>";
+    }
+
+private:
+    /// Create the UI.
+    void CreateUI();
+    /// Subscribe to log message, UI and network events.
+    void SubscribeToEvents();
+    /// Create a button to the button container.
+    Button* CreateButton(const String& text, int width, IntVector2 position);
+    /// Create label
+    void CreateLabel(const String& text, IntVector2 pos);
+    /// Create input field
+    LineEdit* CreateLineEdit(const String& placeholder, int width, IntVector2 pos);
+    /// Print log message.
+    void ShowLogMessage(const String& row);
+    /// Save NAT server config
+    void HandleSaveNatSettings(StringHash eventType, VariantMap& eventData);
+    /// Handle server connection message
+    void HandleServerConnected(StringHash eventType, VariantMap& eventData);
+    /// Handle server disconnect message
+    void HandleServerDisconnected(StringHash eventType, VariantMap& eventData);
+    /// Handle failed connection
+    void HandleConnectFailed(StringHash eventType, VariantMap& eventData);
+    /// Start server
+    void HandleStartServer(StringHash eventType, VariantMap& eventData);
+    /// Attempt connecting using NAT punchtrough
+    void HandleConnect(StringHash eventType, VariantMap& eventData);
+    /// Handle NAT master server failed connection
+    void HandleNatConnectionFailed(StringHash eventType, VariantMap& eventData);
+    /// Handle NAT master server succesfull connection
+    void HandleNatConnectionSucceeded(StringHash eventType, VariantMap& eventData);
+    /// Handle NAT punchtrough success message
+    void HandleNatPunchtroughSucceeded(StringHash eventType, VariantMap& eventData);
+    /// Handle failed NAT punchtrough message
+    void HandleNatPunchtroughFailed(StringHash eventType, VariantMap& eventData);
+    /// Handle client connecting
+    void HandleClientConnected(StringHash eventType, VariantMap& eventData);
+    /// Handle client disconnecting
+    void HandleClientDisconnected(StringHash eventType, VariantMap& eventData);
+
+    /// NAT master server address
+    SharedPtr<LineEdit> natServerAddress_;
+    /// NAT master server port
+    SharedPtr<LineEdit> natServerPort_;
+    /// Save NAT settings button
+    SharedPtr<Button> saveNatSettingsButton_;
+    /// Start server button
+    SharedPtr<Button> startServerButton_;
+    /// Remote server GUID input field
+    SharedPtr<LineEdit> serverGuid_;
+    /// Connect button
+    SharedPtr<Button> connectButton_;
+    /// Log history text element
+    SharedPtr<Text> logHistoryText_;
+    /// Log messages
+    Vector<String> logHistory_;
+    /// Created server GUID field
+    SharedPtr<LineEdit> guid_;
+};

+ 37 - 0
Source/Samples/53_LANDiscovery/CMakeLists.txt

@@ -0,0 +1,37 @@
+#
+# Copyright (c) 2008-2018 the Urho3D project.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+
+if (NOT URHO3D_NETWORK)
+    return ()
+endif ()
+
+# Define target name
+set (TARGET_NAME 53_LANDiscovery)
+
+# Define source files
+define_source_files (EXTRA_H_FILES ${COMMON_SAMPLE_H_FILES})
+
+# Setup target with resource copying
+setup_main_executable ()
+
+# Setup test cases
+setup_test ()

+ 184 - 0
Source/Samples/53_LANDiscovery/LANDiscovery.cpp

@@ -0,0 +1,184 @@
+//
+// Copyright (c) 2008-2018 the Urho3D project.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+//
+
+#include <Urho3D/Audio/Audio.h>
+#include <Urho3D/Audio/Sound.h>
+#include <Urho3D/Engine/Engine.h>
+#include <Urho3D/Graphics/Graphics.h>
+#include <Urho3D/Graphics/Zone.h>
+#include <Urho3D/Input/Input.h>
+#include <Urho3D/IO/IOEvents.h>
+#include <Urho3D/IO/Log.h>
+#include <Urho3D/IO/MemoryBuffer.h>
+#include <Urho3D/IO/VectorBuffer.h>
+#include <Urho3D/Network/Network.h>
+#include <Urho3D/Network/NetworkEvents.h>
+#include <Urho3D/Resource/ResourceCache.h>
+#include <Urho3D/Scene/Scene.h>
+#include <Urho3D/UI/Button.h>
+#include <Urho3D/UI/Font.h>
+#include <Urho3D/UI/LineEdit.h>
+#include <Urho3D/UI/Text.h>
+#include <Urho3D/UI/UI.h>
+#include <Urho3D/UI/UIEvents.h>
+
+#include "LANDiscovery.h"
+
+#include <Urho3D/DebugNew.h>
+
+// Undefine Windows macro, as our Connection class has a function called SendMessage
+#ifdef SendMessage
+#undef SendMessage
+#endif
+
+URHO3D_DEFINE_APPLICATION_MAIN(LANDiscovery)
+
+LANDiscovery::LANDiscovery(Context* context) :
+    Sample(context)
+{
+}
+
+void LANDiscovery::Start()
+{
+    // Execute base class startup
+    Sample::Start();
+
+    // Enable OS cursor
+    GetSubsystem<Input>()->SetMouseVisible(true);
+
+    // Create the user interface
+    CreateUI();
+
+    // Subscribe to UI and network events
+    SubscribeToEvents();
+
+    // Set the mouse mode to use in the sample
+    Sample::InitMouseMode(MM_FREE);
+}
+
+void LANDiscovery::CreateUI()
+{
+    SetLogoVisible(true); // We need the full rendering window
+
+    auto* graphics = GetSubsystem<Graphics>();
+    UIElement* root = GetSubsystem<UI>()->GetRoot();
+    auto* cache = GetSubsystem<ResourceCache>();
+    auto* uiStyle = cache->GetResource<XMLFile>("UI/DefaultStyle.xml");
+    // Set style to the UI root so that elements will inherit it
+    root->SetDefaultStyle(uiStyle);
+
+    int marginTop = 20;
+    CreateLabel("1. Start server", IntVector2(20, marginTop-20));
+    startServer_ = CreateButton("Start server", 160, IntVector2(20, marginTop));
+    stopServer_ = CreateButton("Stop server", 160, IntVector2(20, marginTop));
+	stopServer_->SetVisible(false);
+
+    // Create client connection related fields
+    marginTop += 80;
+    CreateLabel("2. Discover LAN servers", IntVector2(20, marginTop-20));
+    refreshServerList_ = CreateButton("Search...", 160, IntVector2(20, marginTop));
+
+	marginTop += 80;
+	CreateLabel("Local servers:", IntVector2(20, marginTop - 20));
+	serverList_ = CreateLabel("", IntVector2(20, marginTop));
+
+    // No viewports or scene is defined. However, the default zone's fog color controls the fill color
+    GetSubsystem<Renderer>()->GetDefaultZone()->SetFogColor(Color(0.0f, 0.0f, 0.1f));
+}
+
+void LANDiscovery::SubscribeToEvents()
+{
+    SubscribeToEvent(E_NETWORKHOSTDISCOVERED, URHO3D_HANDLER(LANDiscovery, HandleNetworkHostDiscovered));
+
+    SubscribeToEvent(startServer_, "Released", URHO3D_HANDLER(LANDiscovery, HandleStartServer));
+    SubscribeToEvent(stopServer_, "Released", URHO3D_HANDLER(LANDiscovery, HandleStopServer));
+    SubscribeToEvent(refreshServerList_, "Released", URHO3D_HANDLER(LANDiscovery, HandleDoNetworkDiscovery));
+}
+
+Button* LANDiscovery::CreateButton(const String& text, int width, IntVector2 position)
+{
+    auto* cache = GetSubsystem<ResourceCache>();
+    auto* font = cache->GetResource<Font>("Fonts/Anonymous Pro.ttf");
+
+    auto* button = GetSubsystem<UI>()->GetRoot()->CreateChild<Button>();
+    button->SetStyleAuto();
+    button->SetFixedWidth(width);
+    button->SetFixedHeight(30);
+    button->SetPosition(position);
+
+    auto* buttonText = button->CreateChild<Text>();
+    buttonText->SetFont(font, 12);
+    buttonText->SetAlignment(HA_CENTER, VA_CENTER);
+    buttonText->SetText(text);
+
+    return button;
+}
+
+Text* LANDiscovery::CreateLabel(const String& text, IntVector2 pos)
+{
+    auto* cache = GetSubsystem<ResourceCache>();
+    // Create log element to view latest logs from the system
+    auto* font = cache->GetResource<Font>("Fonts/Anonymous Pro.ttf");
+    auto* label = GetSubsystem<UI>()->GetRoot()->CreateChild<Text>();
+    label->SetFont(font, 12);
+    label->SetColor(Color(0.0f, 1.0f, 0.0f));
+    label->SetPosition(pos);
+    label->SetText(text);
+	return label;
+}
+
+void LANDiscovery::HandleNetworkHostDiscovered(StringHash eventType, VariantMap& eventData)
+{
+	using namespace NetworkHostDiscovered;
+	URHO3D_LOGINFO("Server discovered!");
+	String text = serverList_->GetText();
+	VariantMap data = eventData[P_BEACON].GetVariantMap();
+	text += "\n" + data["Name"].GetString() + "(" + String(data["Players"].GetInt()) + ")" + eventData[P_ADDRESS].GetString() + ":" + String(eventData[P_PORT].GetInt());
+	serverList_->SetText(text);
+}
+
+void LANDiscovery::HandleStartServer(StringHash eventType, VariantMap& eventData)
+{
+	if (GetSubsystem<Network>()->StartServer(SERVER_PORT)) {
+		VariantMap data;
+		data["Name"] = "Test server";
+		data["Players"] = 100;
+		/// Set data which will be sent to all who requests LAN network discovery
+		GetSubsystem<Network>()->SetDiscoveryBeacon(data);
+		startServer_->SetVisible(false);
+		stopServer_->SetVisible(true);
+	}
+}
+
+void LANDiscovery::HandleStopServer(StringHash eventType, VariantMap& eventData)
+{
+	GetSubsystem<Network>()->StopServer();
+	startServer_->SetVisible(true);
+	stopServer_->SetVisible(false);
+}
+
+void LANDiscovery::HandleDoNetworkDiscovery(StringHash eventType, VariantMap& eventData)
+{
+	/// Pass in the port that should be checked
+	GetSubsystem<Network>()->DiscoverHosts(SERVER_PORT);
+	serverList_->SetText("");
+}

+ 93 - 0
Source/Samples/53_LANDiscovery/LANDiscovery.h

@@ -0,0 +1,93 @@
+//
+// Copyright (c) 2008-2018 the Urho3D project.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+//
+
+#pragma once
+
+#include "Sample.h"
+
+namespace Urho3D
+{
+
+class Button;
+class LineEdit;
+class Text;
+class UIElement;
+
+}
+
+const int SERVER_PORT = 54654;
+
+/// Chat example
+/// This sample demonstrates:
+///     - Starting up a network server or connecting to it
+///     - Implementing simple chat functionality with network messages
+class LANDiscovery : public Sample
+{
+    URHO3D_OBJECT(LANDiscovery, Sample);
+
+public:
+    /// Construct.
+    explicit LANDiscovery(Context* context);
+
+    /// Setup after engine initialization and before running the main loop.
+    void Start() override;
+
+protected:
+    /// Return XML patch instructions for screen joystick layout for a specific sample app, if any.
+    String GetScreenJoystickPatchString() const override { return
+        "<patch>"
+        "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Button2']]\">"
+        "        <attribute name=\"Is Visible\" value=\"false\" />"
+        "    </add>"
+        "    <add sel=\"/element/element[./attribute[@name='Name' and @value='Hat0']]\">"
+        "        <attribute name=\"Is Visible\" value=\"false\" />"
+        "    </add>"
+        "</patch>";
+    }
+
+private:
+    /// Create the UI.
+    void CreateUI();
+    /// Subscribe to log message, UI and network events.
+    void SubscribeToEvents();
+    /// Create a button to the button container.
+    Button* CreateButton(const String& text, int width, IntVector2 position);
+    /// Create label
+    Text* CreateLabel(const String& text, IntVector2 pos);
+    
+    /// Handle found LAN server
+    void HandleNetworkHostDiscovered(StringHash eventType, VariantMap& eventData);
+    /// Start server
+    void HandleStartServer(StringHash eventType, VariantMap& eventData);
+    /// Stop server
+	void HandleStopServer(StringHash eventType, VariantMap& eventData);
+	/// Start network discovery
+	void HandleDoNetworkDiscovery(StringHash eventType, VariantMap& eventData);
+    /// Start server
+    SharedPtr<Button> startServer_;
+    /// Stop server
+    SharedPtr<Button> stopServer_;
+    /// Redo LAN discovery
+    SharedPtr<Button> refreshServerList_;
+    /// Found server list
+	SharedPtr<Text> serverList_;
+};

+ 42 - 0
Source/ThirdParty/SLikeNet/CMakeLists.txt

@@ -0,0 +1,42 @@
+#
+# This file was taken from RakNet 4.082.
+# Please see licenses/RakNet license.txt for the underlying license and related copyright.
+#
+#
+#
+# Modified work: Copyright (c) 2016, SLikeSoft UG (haftungsbeschränkt)
+#
+# This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style
+# license found in the license.txt file in the root directory of this source tree.
+#
+
+# Define target name
+set (TARGET_NAME SLikeNet)
+
+add_definitions (-DRAKNET_ENABLE_STATIC -D_RAKNET_SUPPORT_NatTypeDetectionServer=0 -D_RAKNET_SUPPORT_UDPForwarder=0 -D_RAKNET_SUPPORT_TwoWayAuthentication=0)
+add_definitions (-D_RAKNET_SUPPORT_CloudClient=0 -D_RAKNET_SUPPORT_CloudServer=0 -D_RAKNET_SUPPORT_ConnectionGraph2=0 -D_RAKNET_SUPPORT_NatPunchthroughServer=0)
+add_definitions (-D_RAKNET_SUPPORT_RelayPlugin=0 -D_RAKNET_SUPPORT_LibVoice=0 -D_RAKNET_SUPPORT_DynDNS=0 -D_RAKNET_SUPPORT_HTTPConnection2=0 -D_RAKNET_SUPPORT_HTTPConnection=0)
+add_definitions (-D_RAKNET_SUPPORT_EmailSender=0 -D_RAKNET_SUPPORT_UDPProxyClient=0 -D_RAKNET_SUPPORT_UDPProxyCoordinator=0 -D_RAKNET_SUPPORT_TeamManager=0 -D_RAKNET_SUPPORT_TeamBalancer=0)
+add_definitions (-D_RAKNET_SUPPORT_NatTypeDetectionClient=0 -D_RAKNET_SUPPORT_FullyConnectedMesh2=0 -D_RAKNET_SUPPORT_ConnectionGraph2=0 -D_RAKNET_SUPPORT_FullyConnectedMesh=0 -D_RAKNET_SUPPORT_TelnetTransport=0)
+add_definitions (-D_RAKNET_SUPPORT_PacketLogger=0 -D_RAKNET_SUPPORT_DirectoryDeltaTransfer=0 -D_RAKNET_SUPPORT_FileOperations=0 -D_RAKNET_SUPPORT_UDPProxyServer=0)
+add_definitions (-D_RAKNET_SUPPORT_ConsoleServer=0 -D_RAKNET_SUPPORT_RakNetTransport=0 -D_RAKNET_SUPPORT_TCPInterface=0 -D_RAKNET_SUPPORT_LogCommandParser=0 -D_RAKNET_SUPPORT_RakNetCommandParser=0)
+add_definitions (-D_RAKNET_SUPPORT_Rackspace=0 -D_RAKNET_SUPPORT_PacketizedTCP=0 -D_RAKNET_SUPPORT_RPC4Plugin=0 -D_RAKNET_SUPPORT_Router2=0 -D_RAKNET_SUPPORT_ReplicaManager3=0)
+add_definitions (-D_RAKNET_SUPPORT_ReadyEvent=0 -D_RAKNET_SUPPORT_MessageFilter=0 -D_RAKNET_SUPPORT_FileListTransfer=0)
+
+if (URHO3D_LIB_TYPE STREQUAL SHARED)
+    add_definitions(-D_RAKNET_DLL=1)
+endif ()
+
+# Define source files
+file (GLOB_RECURSE CPP_FILES *.cpp source)
+file (GLOB_RECURSE H_FILES *.h include)
+set (SOURCE_FILES ${CPP_FILES} ${H_FILES})
+
+# Define dependency libs
+set (INCLUDE_DIRS src/include)
+
+# Setup target
+setup_library ()
+
+# Install headers for building and using the Urho3D library (install dependency for Urho3D)
+install_header_files (DIRECTORY src/ DESTINATION ${DEST_INCLUDE_DIR}/ThirdParty/SLikeNet FILES_MATCHING PATTERN *.h USE_FILE_SYMLINK)

+ 110 - 0
Source/ThirdParty/SLikeNet/CmakeIncludes/CmakeMacros.txt

@@ -0,0 +1,110 @@
+#This file includes the global macros for the RakNet CMake files
+
+#
+# This file was taken from RakNet 4.082.
+# Please see licenses/RakNet license.txt for the underlying license and related copyright.
+#
+#
+# Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+#
+# This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style
+# license found in the license.txt file in the root directory of this source tree.
+#
+
+MACRO(STANDARDSUBPROJECT PROJECTNAME)#Many of the projects just need the cpp files compiled and the header added to the project, this avoids repeating code
+	project(${PROJECTNAME})
+	FILE(GLOB ALL_CPP_SRCS *.cpp)
+	FILE(GLOB ALL_HEADER_SRCS *.h)
+	include_directories(${RAKNETHEADERFILES} ./) 
+	FIXCOMPILEOPTIONS()
+	add_executable(${PROJECTNAME} ${ALL_CPP_SRCS} ${ALL_HEADER_SRCS})
+	target_link_libraries(${PROJECTNAME} ${RAKNET_COMMON_LIBS})
+	set_target_properties(${PROJECTNAME} PROPERTIES PROJECT_GROUP Samples)
+ENDMACRO(STANDARDSUBPROJECT)
+
+MACRO(STANDARDSUBPROJECTWITHOPTIONS PROJECTNAME EXTRAINCLUDES EXTRASOURCES EXTRALIBS)#Same as STANDARDSUBPROJECT but allows options changing
+	project(${PROJECTNAME})
+	FILE(GLOB ALL_CPP_SRCS *.cpp)
+	FILE(GLOB ALL_HEADER_SRCS *.h)
+	FIXCOMPILEOPTIONS()
+	include_directories(${RAKNETHEADERFILES} ./ ${EXTRAINCLUDES}) 
+	add_executable(${PROJECTNAME} ${ALL_CPP_SRCS} ${ALL_HEADER_SRCS} ${EXTRASOURCES})
+	target_link_libraries(${PROJECTNAME} ${RAKNET_COMMON_LIBS} ${EXTRALIBS})
+	set_target_properties(${PROJECTNAME} PROPERTIES PROJECT_GROUP Samples)
+ENDMACRO(STANDARDSUBPROJECTWITHOPTIONS)
+
+MACRO(STANDARDSUBPROJECTWITHOPTIONSSET PROJECTNAME)#Same as STANDARDSUBPROJECT but allows options changing, Items are passed by setting them for times when passing variable to the macro doesn't work
+	project(${PROJECTNAME})
+	FILE(GLOB ALL_CPP_SRCS *.cpp)
+	FILE(GLOB ALL_HEADER_SRCS *.h)
+	FIXCOMPILEOPTIONS()
+	include_directories(${RAKNETHEADERFILES} ./ ${EXTRAINCLUDES}) 
+	add_executable(${PROJECTNAME} ${ALL_CPP_SRCS} ${ALL_HEADER_SRCS} ${EXTRASOURCES})
+	target_link_libraries(${PROJECTNAME} ${RAKNET_COMMON_LIBS} ${EXTRALIBS})
+	set_target_properties(${PROJECTNAME} PROPERTIES PROJECT_GROUP Samples)
+ENDMACRO(STANDARDSUBPROJECTWITHOPTIONSSET) 
+
+MACRO(STANDARDCSUBPROJECT PROJECTNAME)#Same as STANDARDSUBPROJECT but for C files
+	project(${PROJECTNAME})
+	FILE(GLOB ALL_C_SRCS *.c)
+	FILE(GLOB ALL_HEADER_SRCS *.h)
+	include_directories(${RAKNETHEADERFILES} ./) 
+	FIXCOMPILEOPTIONS()
+	add_executable(${PROJECTNAME} ${ALL_C_SRCS} ${ALL_HEADER_SRCS})
+	target_link_libraries(${PROJECTNAME} ${RAKNET_COMMON_LIBS})
+	set_target_properties(${PROJECTNAME} PROPERTIES PROJECT_GROUP Samples)
+ENDMACRO(STANDARDCSUBPROJECT)
+
+MACRO(GETCURRENTFOLDER)#Gets the current foldername without the path
+	string(REGEX REPLACE
+	  ".+/(.?)"
+	  "\\1"
+	  current_folder "${CMAKE_CURRENT_SOURCE_DIR}")
+ENDMACRO(GETCURRENTFOLDER)
+
+MACRO(VSUBFOLDER PROJECTNAME FOLDERNAME)#A macro interface for adding solution folders with a patched cmake
+	set_target_properties(${PROJECTNAME} PROPERTIES PROJECT_GROUP ${FOLDERNAME})
+ENDMACRO(VSUBFOLDER)
+
+MACRO(STANDARDNOTFOUNDMESSAGE NAME PLIBRARIES PINCLUDES EXTRA_INFORMATION)#If the libraries are not found, what to display
+	message(STATUS "${NAME} was not found, paths were set to:\nLibrary: ${PLIBRARIES}\nInclude: ${PINCLUDES}\n${EXTRA_INFORMATION}The project will not compile unless installed to those locations.\nAs an alternative you can install the libraries and rerun cmake\n and see if the autosearch finds them")
+ENDMACRO(STANDARDNOTFOUNDMESSAGE)
+
+MACRO(ADDCPPDEF DEF)#Currently replaces CXX flags with a define for WIN32 projects, may be changed
+	IF(WIN32)
+		SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D ${DEF}")
+	ENDIF()
+ENDMACRO(ADDCPPDEF)
+
+MACRO(FIXCOMPILEOPTIONS)#Fix added compile options that may cause problems, also fix warnings
+
+	IF(NOT ${CMAKE_GENERATOR} STREQUAL "MSYS Makefiles")
+		IF(WIN32 AND NOT UNIX)
+			STRING(REGEX REPLACE "/Z[0-9a-zA-Z]+" ""  CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+			STRING(REGEX REPLACE "/Z[0-9a-zA-Z]+" ""  CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+		ADDCPPDEF(_CRT_SECURE_NO_DEPRECATE)
+		ADDCPPDEF(_CRT_NONSTDC_NO_DEPRECATE)
+		SET(CMAKE_CXX_WARNING_LEVEL 0)
+		IF(CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
+			STRING(REGEX REPLACE "/W[0-4]" "/W0" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+		ELSE(CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
+			SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W0")
+		ENDIF(CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
+
+	SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")# -nowarn 4018 -nowarn 4305 -nowarn 4244")
+		ENDIF(WIN32 AND NOT UNIX)
+	ENDIF(NOT ${CMAKE_GENERATOR} STREQUAL "MSYS Makefiles")
+ENDMACRO(FIXCOMPILEOPTIONS)
+
+MACRO(FIXLINKOPTIONS)#Fix added link options that may cause problems
+	IF(WIN32 AND NOT UNIX)
+		IF(NOT ${CMAKE_GENERATOR} STREQUAL "MSYS Makefiles")
+			STRING(REGEX REPLACE "/STACK:[0-9]+" ""  CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
+			STRING(REGEX REPLACE "/STACK:[0-9]+" ""  CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
+			STRING(REGEX REPLACE "/machine:[0-9a-zA-Z]+" ""  CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
+			STRING(REGEX REPLACE "/machine:[0-9a-zA-Z]+" ""  CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
+		ENDIF(NOT ${CMAKE_GENERATOR} STREQUAL "MSYS Makefiles")
+	ENDIF(WIN32 AND NOT UNIX)
+ENDMACRO(FIXLINKOPTIONS)
+
+#include(${RakNet_SOURCE_DIR}/CmakeIncludes/FindMacros.txt)#The macros for setting variables and performing finds

+ 218 - 0
Source/ThirdParty/SLikeNet/CmakeIncludes/FindMacros.txt

@@ -0,0 +1,218 @@
+#
+# This file was taken from RakNet 4.082 without any modifications.
+# Please see licenses/RakNet license.txt for the underlying license and related copyright.
+#
+
+MACRO(FINDMYSQL)#A macro interface for finding a dependency
+	include(${RakNet_SOURCE_DIR}/CmakeIncludes/FindMySQL.cmake)
+	IF(NOT MYSQL_FOUND)
+		IF(WIN32)
+			set(MYSQL_LIBRARIES "${PROGRAMFILESX86}/MySQL/MySQL Server 5.1/lib/opt/libmysql.lib")
+			set(MYSQL_INCLUDE_DIR "${PROGRAMFILESX86}/MySQL/MySQL Server 5.1/include")
+			STANDARDNOTFOUNDMESSAGE("MySQL" "${MYSQL_LIBRARIES}" "${MYSQL_INCLUDE_DIR}" "Assuming 5.1 install\n" "USEMYSQL")
+		ELSE(WIN32)
+			set(MYSQL_LIBRARIES "/usr/lib/libmysqlclient.so")
+			set(MYSQL_INCLUDE_DIR "/usr/include/mysql")
+			STANDARDNOTFOUNDMESSAGE("MySQL" "${MYSQL_LIBRARIES}" "${MYSQL_INCLUDE_DIR}" "" "USEMYSQL")
+		ENDIF(WIN32)
+	ENDIF(NOT MYSQL_FOUND)
+ENDMACRO(FINDMYSQL)
+
+MACRO(FINDPOSTGRE)#A macro interface for finding a dependency
+	IF (WIN32)
+		set(CUSTOMPROGRAMFILES "D:/Program Files")
+	ELSE(WIN32)
+		set(CUSTOMPROGRAMFILES "")
+	ENDIF(WIN32)
+	include(${RakNet_SOURCE_DIR}/CmakeIncludes/FindPostgreSQL.cmake)
+	IF(NOT POSTGRESQL_FOUND)
+		IF(WIN32)
+			set(POSTGRESQL_LIBRARIES "${PROGRAMFILESX86}/PostgreSQL/8.4/lib/libpq.lib")
+			set(POSTGRESQL_INCLUDE_DIR "${PROGRAMFILESX86}/PostgreSQL/8.4/include")
+			STANDARDNOTFOUNDMESSAGE("PostgreSQL" "${POSTGRESQL_LIBRARIES}" "${POSTGRESQL_INCLUDE_DIR}" "Assuming 8.4 install\n" "USEPOSTGRESQL")
+		ELSE(WIN32)
+			set(POSTGRESQL_LIBRARIES "/usr/lib/libpq.so")
+			set(POSTGRESQL_INCLUDE_DIR "/usr/include/postgresql")
+			STANDARDNOTFOUNDMESSAGE("PostgreSQL" "${POSTGRESQL_LIBRARIES}" "${POSTGRESQL_INCLUDE_DIR}" "" "USEPOSTGRESQL")
+		ENDIF(WIN32)
+	ENDIF(NOT POSTGRESQL_FOUND)
+ENDMACRO(FINDPOSTGRE)
+
+MACRO(FINDPORTAUDIO)#A macro interface for finding a dependency
+	IF(WIN32)
+		set(PORTAUDIO_INCLUDE_DIR ${portaudio_SOURCE_DIR}/pa_common)
+		set(PORTAUDIO_LIBRARIES LibPortAudioV18_1)
+		set(PORTAUDIO_FOUND TRUE)
+	ELSE(WIN32)
+		include(${RakNet_SOURCE_DIR}/CmakeIncludes/FindPortAudio.cmake)
+	ENDIF(WIN32)
+	IF(NOT PORTAUDIO_FOUND)
+		IF(NOT WIN32)
+			set(PORTAUDIO_INCLUDE_DIR "/usr/include")
+			set(PORTAUDIO_LIBRARIES "/usr/lib/libportaudio.so")
+		ENDIF(NOT WIN32)
+		STANDARDNOTFOUNDMESSAGE("PortAudio" "${PORTAUDIO_LIBRARIES}" "${PORTAUDIO_INCLUDE_DIR}" "" "USEPORTAUDIO")
+	ENDIF(NOT PORTAUDIO_FOUND)
+ENDMACRO(FINDPORTAUDIO)
+
+MACRO(FINDSPEEX)#A macro interface for finding a dependency
+	IF(WIN32)
+		set(SPEEX_INCLUDE_DIRS ${speex_SOURCE_DIR}/include)
+		set(SPEEX_LIBRARIES LibSpeex)
+		set(SPEEX_FOUND TRUE)
+	ELSE(WIN32)
+		include(${RakNet_SOURCE_DIR}/CmakeIncludes/FindSpeex.cmake)
+		FINDSPEEXDSP()
+	ENDIF(WIN32)
+	IF(NOT SPEEX_FOUND)
+		IF(NOT WIN32)
+			set(SPEEX_INCLUDE_DIRS "/usr/include")
+			set(SPEEX_LIBRARIES "/usr/lib/libspeex.so")
+		ENDIF(NOT WIN32)
+		STANDARDNOTFOUNDMESSAGE("Speex" "${SPEEX_LIBRARIES}" "${SPEEX_INCLUDE_DIRS}" "" "USESPEEX")
+	ELSE(NOT SPEEX_FOUND)
+		set(SPEEX_INCLUDE_DIRS ${SPEEX_INCLUDE_DIRS} ${SPEEXDSP_INCLUDE_DIRS})
+		set(SPEEX_LIBRARIES    ${SPEEX_LIBRARIES} ${SPEEXDSP_LIBRARIES})
+	ENDIF(NOT SPEEX_FOUND)
+ENDMACRO(FINDSPEEX)
+
+MACRO(FINDBOOST)#A macro interface for finding a dependency
+	include(${RakNet_SOURCE_DIR}/CmakeIncludes/FindBoost.cmake)
+	IF(NOT Boost_FOUND)
+		IF(WIN32)
+			set(Boost_INCLUDE_DIRS "${PROGRAMFILESX86}/boost/boost_1_35")
+			set(Boost_LIBRARIES "")
+			STANDARDNOTFOUNDMESSAGE("BOOST" "${Boost_LIBRARIES}" "${Boost_INCLUDE_DIRS}" "Assuming 1.35 install" "USEBOOST")
+		ELSE(WIN32)
+			set(Boost_INCLUDE_DIRS "/usr/include")
+			set(Boost_LIBRARIES "")
+			STANDARDNOTFOUNDMESSAGE("BOOST" "${Boost_LIBRARIES}" "${Boost_INCLUDE_DIRS}" "" "USEBOOST")
+		ENDIF(WIN32)
+	ENDIF(NOT Boost_FOUND)
+ENDMACRO(FINDBOOST)
+
+MACRO(FINDSPEEXDSP)#A macro interface for finding a dependency
+	include(${RakNet_SOURCE_DIR}/CmakeIncludes/FindSpeexDSP.cmake)
+	IF(NOT SPEEXDSP_FOUND)
+		set(SPEEXDSP_INCLUDE_DIRS "/usr/include")
+		set(SPEEXDSP_LIBRARIES "/usr/lib/libspeexdsp.so")
+		STANDARDNOTFOUNDMESSAGE("SpeexDSP" "${SPEEXDSP_LIBRARIES}" "${SPEEXDSP_INCLUDE_DIRS}" "" "USESPEEX")
+	ENDIF(NOT SPEEXDSP_FOUND)
+ENDMACRO(FINDSPEEXDSP)
+
+MACRO(FINDDSOUND)
+	IF(WIN32 AND NOT UNIX)
+		IF("$ENV{DXSDK_DIR}" STREQUAL "")
+			set (DSOUND_INCLUDE_DIR "C:/Program Files/Microsoft DirectX SDK (November 2008)/")
+			set (DSOUND_LIBRARIES "C:/Program Files/Microsoft DirectX SDK (November 2008)/Dsound.lib" "C:/Program Files/Microsoft DirectX SDK (November 2008)/Dxguid.lib" "C:/Program Files/Microsoft DirectX SDK (November 2008)/Dxerr.lib")
+			message(STATUS "*You need to install the Direct X 9 SDK")
+			STANDARDNOTFOUNDMESSAGE("Direct Sound SDK" "${DSOUND_LIBRARIES}" "${DSOUND_INCLUDE_DIR}" "" "USEDSOUND")
+		ELSE("$ENV{DXSDK_DIR}" STREQUAL "")
+			set (DSOUND_INCLUDE_DIR $ENV{DXSDK_DIR}include)
+			set (DSOUND_LIBRARIES $ENV{DXSDK_DIR}lib/x86/Dsound.lib $ENV{DXSDK_DIR}lib/x86/Dxguid.lib $ENV{DXSDK_DIR}lib/x86/Dxerr.lib)
+		ENDIF("$ENV{DXSDK_DIR}" STREQUAL "")
+	ENDIF(WIN32 AND NOT UNIX)
+ENDMACRO(FINDDSOUND)
+
+MACRO(FINDD3D)
+	IF(WIN32 AND NOT UNIX)
+		IF("$ENV{DXSDK_DIR}" STREQUAL "")
+			set (D3D_INCLUDE_DIR "C:/Program Files/Microsoft DirectX SDK (November 2008)/")
+			set (D3D_LIBRARIES "C:/Program Files/Microsoft DirectX SDK (November 2008)/d3d9.lib" "C:/Program Files/Microsoft DirectX SDK (November 2008)/d3dx9.lib")
+			message(STATUS "*You need to install the Direct X 9 SDK")
+			STANDARDNOTFOUNDMESSAGE("Direct X 9 SDK" "${D3D_LIBRARIES}" "${D3D_INCLUDE_DIR}" "" "USEDX3D9")
+		ELSE("$ENV{DXSDK_DIR}" STREQUAL "")
+			set (D3D_INCLUDE_DIR $ENV{DXSDK_DIR}include)
+			set (D3D_LIBRARIES "$ENV{DXSDK_DIR}lib/x86/d3d9.lib" "$ENV{DXSDK_DIR}lib/x86/d3dx9.lib")
+		ENDIF("$ENV{DXSDK_DIR}" STREQUAL "")
+	ENDIF(WIN32 AND NOT UNIX)
+ENDMACRO(FINDD3D)
+
+MACRO(FINDSCALEGFX)
+	IF(WIN32 AND NOT UNIX)
+		set (SCALEGFX_INCLUDE_DIR "$ENV{GFXSDK}/Include" "$ENV{GFXSDK}/Src/GRenderer" "$ENV{GFXSDK}/Src/GKernel" "$ENV{GFXSDK}/Src/GFxXML")
+		set (SCALEGFX_LIBRARIES optimized "$ENV{GFXSDK}/Lib/Win32/Msvc80/Release/libgrenderer_d3d9.lib" optimized "$ENV{GFXSDK}/Lib/Win32/Msvc80/Release/libgfx.lib" optimized "$ENV{GFXSDK}/3rdParty/jpeg-6b/Lib/Win32/Msvc80/Release/libjpeg.lib" optimized "$ENV{GFXSDK}/3rdParty/zlib-1.2.3/Lib/Win32/Msvc80/Release/zlib.lib")
+		set (SCALEGFX_DEBUG_LIBRARIES debug "$ENV{GFXSDK}/Lib/Win32/Msvc80/Debug/libgrenderer_d3d9.lib" debug "$ENV{GFXSDK}/Lib/Win32/Msvc80/Debug/libgfx.lib" debug "$ENV{GFXSDK}/3rdParty/jpeg-6b/Lib/Win32/Msvc80/Debug/libjpeg.lib" debug "$ENV{GFXSDK}/3rdParty/zlib-1.2.3/Lib/Win32/Msvc80/Debug/zlib.lib")
+	ELSE(WIN32 AND NOT UNIX)
+		message(STATUS "Scaleform is not supported for the linux build, please do not enable it\n")
+	ENDIF(WIN32 AND NOT UNIX)
+	
+ENDMACRO(FINDSCALEGFX)
+
+MACRO(FINDFMODEX)#A macro interface for finding a dependency
+	include(${RakNet_SOURCE_DIR}/CmakeIncludes/FindFMODEx.cmake)
+	IF(NOT FMODEX_FOUND)
+		IF(WIN32)
+			set(FMODEX_LIBRARY "${PROGRAMFILESX86}/FMOD SoundSystem/FMOD Programmers API Win32/api/lib/${WINLIBNAME}.${WINLIBEXT}")
+			set(FMODEX_INCLUDE_DIR "${PROGRAMFILESX86}/FMOD SoundSystem/FMOD Programmers API Win32/api/inc")
+		ELSE(WIN32)
+			set(FMODEX_LIBRARY "/usr/local/lib/libfmodex-4.28.08.so")
+			set(FMODEX_INCLUDE_DIR "/usr/local/include/fmodex")
+		ENDIF(WIN32)
+	STANDARDNOTFOUNDMESSAGE("FMOD EX" "${FMODEX_LIBRARY}" "${FMODEX_INCLUDE_DIR}" "" "USEFMOD")
+	ENDIF(NOT FMODEX_FOUND)
+ENDMACRO(FINDFMODEX)
+
+MACRO(FINDIRRLICHT)
+	IF(WIN32 AND NOT UNIX)
+		message(STATUS "You are building with the Irrlicht option enabled,\n if irrlicht include location is not C:/irrlicht-1.6/include\n change IRRLICHT_INCLUDE_DIR with the GUI or -D command line option.\n NOTE: YOU MUST USE VERSION 1.6 for this demo.")
+		set(IRRLICHT_INCLUDE_DIR "C:/irrlicht-1.6/include" CACHE PATH "The Irrlicht unzip location")
+	ELSE(WIN32 AND NOT UNIX)
+		include(${RakNet_SOURCE_DIR}/CmakeIncludes/FindIrrlicht.cmake)
+		IF(NOT IRRLICHT_FOUND)
+			set(IRRLICHT_INCLUDE_DIR "/usr/include/irrlicht")
+			set(IRRLICHT_LIBRARIES "/usr/local/lib/libIrrlicht.so")
+			STANDARDNOTFOUNDMESSAGE("Irrlicht" "${IRRLICHT_LIBRARIES}" "${IRRLICHT_INCLUDE_DIR}" "" "USEIRRLICHT")
+		ENDIF(NOT IRRLICHT_FOUND)
+	ENDIF(WIN32 AND NOT UNIX)
+ENDMACRO(FINDIRRLICHT)
+
+MACRO(FINDIRRKLANG)
+	IF(WIN32 AND NOT UNIX)
+		#currently not needed a space is here for future use
+	ELSE(WIN32 AND NOT UNIX)
+		include(${RakNet_SOURCE_DIR}/CmakeIncludes/FindIrrKlang.cmake)
+		IF(NOT IRRKLANG_FOUND)
+			set(IRRKLANG_INCLUDE_DIR "/usr/include/irrklang")
+			set(IRRKLANG_LIBRARIES "/usr/local/lib/libIrrKlang.so")
+			STANDARDNOTFOUNDMESSAGE("irrKlang" "${IRRKLANG_LIBRARIES}" "${IRRKLANG_INCLUDE_DIR}" "" "USEIRRKLANG")
+		ENDIF(NOT IRRKLANG_FOUND)
+	ENDIF(WIN32 AND NOT UNIX)
+ENDMACRO(FINDIRRKLANG)
+
+MACRO(FINDOGRE3D)#A macro interface for finding a dependency
+	include(${RakNet_SOURCE_DIR}/CmakeIncludes/Ogre3D/FindOGRE.cmake)
+	IF(NOT OGRE_FOUND)
+		IF(WIN32)
+			FILE(GLOB OGRE_LIBRARIES "C:/OgreSDK/lib/*.lib")
+			set(OGRE_INCLUDE_DIR "C:/OgreSDK/include")
+			#set(OGRE_LIB_DIR "C:/OgreSDK/lib/")
+		ELSE(WIN32)
+			set(OGRE_LIBRARIES "/usr/lib/libOgreMain.so")
+			set(OGRE_INCLUDE_DIR "/usr/include/OGRE/")
+		ENDIF(WIN32)
+	STANDARDNOTFOUNDMESSAGE("Ogre 3d" "${OGRE_LIBRARIES}" "${OGRE_INCLUDE_DIR}" "" "USEOGRE3D")
+	ENDIF(NOT OGRE_FOUND)
+ENDMACRO(FINDOGRE3D)
+
+MACRO(FINDOIS)#A macro interface for finding a dependency
+	include(${RakNet_SOURCE_DIR}/CmakeIncludes/Ogre3D/FindOIS.cmake)
+	IF(NOT OIS_FOUND)
+		IF(WIN32)
+			set(OIS_LIBRARIES "")
+			set(OIS_INCLUDE_DIR "")
+		ELSE(WIN32)
+			set(OIS_LIBRARIES "/usr/lib/libOIS.so")
+			set(OIS_INCLUDE_DIR "/usr/include/OIS")
+		ENDIF(WIN32)
+	STANDARDNOTFOUNDMESSAGE("OIS" "${OIS_LIBRARIES}" "${OIS_INCLUDE_DIR}" "" "USEIOS")
+	ENDIF(NOT OIS_FOUND)
+ENDMACRO(FINDOIS)
+
+MACRO(STANDARDNOTFOUNDMESSAGE NAME PLIBRARIES PINCLUDES EXTRA_INFORMATION DISABLENAME)#If the libraries are not found, what to display
+	IF (WIN32)
+		message(STATUS "${NAME} was not found, paths were set to:\nLibrary: ${PLIBRARIES}\nInclude: ${PINCLUDES}\n${EXTRA_INFORMATION}Some projects will not compile unless installed to those locations.\nAs an alternative you can install the libraries and rerun cmake and see if the autosearch finds them.\nYou may disable any or all dependencies by setting the proper variable.\nThis dependency can be disabled with -D${DISABLENAME}=FALSE.\nAll dependencies can be disabled by the command line option -DDISABLEDEPENDENCIES=TRUE or setting it in the GUI.")
+	ELSE(WIN32)
+		message(STATUS "${NAME} was not found, paths were set to:\nLibrary: ${PLIBRARIES}\nInclude: ${PINCLUDES}\n${EXTRA_INFORMATION}\nSome projects will not compile unless installed to those locations. As an alternative you can install the libraries and rerun cmake and see if the autosearch finds them. You may disable any or all dependencies by setting the proper variable. This dependency can be disabled with -D${DISABLENAME}=FALSE. All dependencies can be disabled by the command line option -DDISABLEDEPENDENCIES=TRUE or setting it in the GUI.")
+	ENDIF(WIN32)
+ENDMACRO(STANDARDNOTFOUNDMESSAGE)

+ 66 - 0
Source/ThirdParty/SLikeNet/License.txt

@@ -0,0 +1,66 @@
+MIT License
+Copyright © 2016-2017 SLikeSoft™ UG (haftungsbeschränkt)
+
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+-----------------------------------------------------
+END OF LICENSE
+
+Since we provide this library completely free of charge, we'd appreciate any
+donation you'd like to grant us (check out our web page for details at
+https://www.slikesoft.com/?page_id=1437&lang=en).
+With your donation you directly support the future development of the library.
+
+For further information regarding licensing please refer to chapter 7 in the
+readme.txt file alongside this license.txt file.
+
+In case a future version of SLikeNet is distributed under different license
+terms, you may alternatively choose to use this version of SLikeNet under those
+later license terms.
+
+If you are distributing the SLikeNet source, we also explicitly permit you to
+rename (and move) the license.txt file to a different location within the
+package without having to update all the references to the location of the
+license.txt file, as long as you make it clear in any accompanying
+documentation where to locate the license terms and clarify that the source
+code references outdated locations.
+
+Also we'd like to state that you are not allowed (without prior written
+permission from SLikeSoft) to suggest that you, your company, and/or your
+product is affiliated with SLikeSoft.
+
+Please see chapter 7.2 and chapter 2.4 in the readme.txt file for information
+about licensed 3rd-party software/code SLikeNet is based on. We'd especially
+like to point out the RakNet License (see chapter 7.2.1 in readme.txt,
+licenses/RakNet License.txt, and licenses/RakNet Patents.txt) since SLikeNet is
+derived from RakNet.
+
+In addition to the licensing requirements, we'd appreciate if you are
+considering the following legally NON binding requests:
+- send us a short mail ([email protected]) to let us know that you are using
+our library in your product
+- mention in your product / on your webpage that you are using SLikeNet
+(provide a link to https://www.slikenet.com/ on your webpage)
+- allow us to put your product/company name on our webpage as a reference that
+you are using SLikeNet
+
+As mentioned: None of these optional requests are binding. If you don't feel
+like following any of these requests, we are still glad you decided to use our
+network library, nevertheless.

+ 10 - 0
Source/ThirdParty/SLikeNet/src/AutopatcherPatchContext.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/AutopatcherPatchContext.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/AutopatcherRepositoryInterface.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/AutopatcherRepositoryInterface.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/Base64Encoder.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/Base64Encoder.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/BitStream.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/BitStream.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/CCRakNetSlidingWindow.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/CCRakNetSlidingWindow.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/CCRakNetUDT.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/CCRakNetUDT.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/CheckSum.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/CheckSum.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/CloudClient.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/CloudClient.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/CloudCommon.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/CloudCommon.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/CloudServer.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/CloudServer.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/CommandParserInterface.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/CommandParserInterface.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/ConnectionGraph2.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/ConnectionGraph2.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/ConsoleServer.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/ConsoleServer.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DR_SHA1.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DR_SHA1.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_BPlusTree.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_BPlusTree.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_BinarySearchTree.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_BinarySearchTree.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_BytePool.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_BytePool.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_ByteQueue.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_ByteQueue.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_Hash.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_Hash.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_Heap.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_Heap.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_HuffmanEncodingTree.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_HuffmanEncodingTree.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_HuffmanEncodingTreeFactory.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_HuffmanEncodingTreeFactory.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_HuffmanEncodingTreeNode.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_HuffmanEncodingTreeNode.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_LinkedList.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_LinkedList.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_List.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_List.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_Map.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_Map.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_MemoryPool.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_MemoryPool.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_Multilist.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_Multilist.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_OrderedChannelHeap.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_OrderedChannelHeap.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_OrderedList.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_OrderedList.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_Queue.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_Queue.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_QueueLinkedList.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_QueueLinkedList.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_RangeList.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_RangeList.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_Table.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_Table.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_ThreadsafeAllocatingQueue.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_ThreadsafeAllocatingQueue.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_Tree.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_Tree.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DS_WeightedGraph.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DS_WeightedGraph.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DataCompressor.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DataCompressor.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DirectoryDeltaTransfer.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DirectoryDeltaTransfer.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/DynDNS.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/DynDNS.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/EmailSender.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/EmailSender.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/EmptyHeader.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/EmptyHeader.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/EpochTimeToString.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/EpochTimeToString.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/Export.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/Export.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/FileList.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/FileList.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/FileListNodeContext.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/FileListNodeContext.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/FileListTransfer.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/FileListTransfer.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/FileListTransferCBInterface.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/FileListTransferCBInterface.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/FileOperations.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/FileOperations.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/FormatString.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/FormatString.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/FullyConnectedMesh2.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/FullyConnectedMesh2.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/GetTime.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/GetTime.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/Getche.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/Getche.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/Gets.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/Gets.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/GridSectorizer.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/GridSectorizer.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/HTTPConnection.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/HTTPConnection.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/HTTPConnection2.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/HTTPConnection2.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/IncrementalReadInterface.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/IncrementalReadInterface.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/InternalPacket.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/InternalPacket.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/Itoa.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/Itoa.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/Kbhit.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/Kbhit.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/LinuxStrings.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/LinuxStrings.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/LocklessTypes.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/LocklessTypes.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/LogCommandParser.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/LogCommandParser.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/MTUSize.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/MTUSize.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/MessageFilter.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/MessageFilter.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/MessageIdentifiers.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/MessageIdentifiers.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/NatPunchthroughClient.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/NatPunchthroughClient.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/NatPunchthroughServer.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/NatPunchthroughServer.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/NatTypeDetectionClient.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/NatTypeDetectionClient.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/NatTypeDetectionCommon.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/NatTypeDetectionCommon.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/NatTypeDetectionServer.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/NatTypeDetectionServer.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/NativeFeatureIncludes.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/NativeFeatureIncludes.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/NativeFeatureIncludesOverrides.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/NativeFeatureIncludesOverrides.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/NativeTypes.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/NativeTypes.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/NetworkIDManager.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/NetworkIDManager.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/NetworkIDObject.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/NetowkrIDObject.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/PS3Includes.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/PS3Includes.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/PS4Includes.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/PS4Includes.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/PacketConsoleLogger.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/PacketConsoleLogger.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/PacketFileLogger.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/PacketFileLogger.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/PacketLogger.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/PacketLogger.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/PacketOutputWindowLogger.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/PacketOutputWindowLogger.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/PacketPool.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/PacketPool.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/PacketPriority.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/PacketPriority.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/PacketizedTCP.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/PacketizedTCP.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/PluginInterface2.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/PluginInterface2.h"

+ 10 - 0
Source/ThirdParty/SLikeNet/src/RPC4Plugin.h

@@ -0,0 +1,10 @@
+/*
+ *  Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
+ *
+ *  This source code is licensed under the MIT-style license found in the
+ *  license.txt file in the root directory of this source tree.
+ *
+ *
+ *  Header file redirection to keep source compatibility with RakNet 4.082.
+ */
+#include "include/slikenet/RPC4Plugin.h"

部分文件因文件數量過多而無法顯示