summaryrefslogtreecommitdiff
path: root/Source/Core/Common
diff options
context:
space:
mode:
authorspycrab <spycrab@users.noreply.github.com>2018-07-21 02:09:02 +0200
committerGitHub <noreply@github.com>2018-07-21 02:09:02 +0200
commitc141511c87a8edfa1f273e8fdb13609def89efa8 (patch)
treebc5e0c9ab8db9b31101fc69dfaa88abce3043207 /Source/Core/Common
parentbcd2a76f2b19c3f091a91201c39fe6839a416970 (diff)
parent4407854e9cbffeb8da1d7a8e70186b6d7498bccb (diff)
Merge pull request #7222 from Techjar/netplay-sync-saves
NetPlay save data synchronization
Diffstat (limited to 'Source/Core/Common')
-rw-r--r--Source/Core/Common/CMakeLists.txt1
-rw-r--r--Source/Core/Common/Common.vcxproj2
-rw-r--r--Source/Core/Common/Common.vcxproj.filters2
-rw-r--r--Source/Core/Common/CommonPaths.h1
-rw-r--r--Source/Core/Common/SFMLHelper.cpp38
-rw-r--r--Source/Core/Common/SFMLHelper.h23
6 files changed, 67 insertions, 0 deletions
diff --git a/Source/Core/Common/CMakeLists.txt b/Source/Core/Common/CMakeLists.txt
index f93bd67efb..d7327a2a47 100644
--- a/Source/Core/Common/CMakeLists.txt
+++ b/Source/Core/Common/CMakeLists.txt
@@ -36,6 +36,7 @@ add_library(common
QoSSession.cpp
Random.cpp
SDCardUtil.cpp
+ SFMLHelper.cpp
SettingsHandler.cpp
StringUtil.cpp
SymbolDB.cpp
diff --git a/Source/Core/Common/Common.vcxproj b/Source/Core/Common/Common.vcxproj
index 2a38dd721c..9939e0ccd3 100644
--- a/Source/Core/Common/Common.vcxproj
+++ b/Source/Core/Common/Common.vcxproj
@@ -147,6 +147,7 @@
<ClInclude Include="Result.h" />
<ClInclude Include="ScopeGuard.h" />
<ClInclude Include="SDCardUtil.h" />
+ <ClInclude Include="SFMLHelper.h" />
<ClInclude Include="Semaphore.h" />
<ClInclude Include="SettingsHandler.h" />
<ClInclude Include="SPSCQueue.h" />
@@ -210,6 +211,7 @@
<ClCompile Include="QoSSession.cpp" />
<ClCompile Include="Random.cpp" />
<ClCompile Include="SDCardUtil.cpp" />
+ <ClCompile Include="SFMLHelper.cpp" />
<ClCompile Include="SettingsHandler.cpp" />
<ClCompile Include="StringUtil.cpp" />
<ClCompile Include="SymbolDB.cpp" />
diff --git a/Source/Core/Common/Common.vcxproj.filters b/Source/Core/Common/Common.vcxproj.filters
index 76793bd9ae..3737a5a1ff 100644
--- a/Source/Core/Common/Common.vcxproj.filters
+++ b/Source/Core/Common/Common.vcxproj.filters
@@ -68,6 +68,7 @@
<ClInclude Include="Result.h" />
<ClInclude Include="ScopeGuard.h" />
<ClInclude Include="SDCardUtil.h" />
+ <ClInclude Include="SFMLHelper.h" />
<ClInclude Include="SettingsHandler.h" />
<ClInclude Include="SPSCQueue.h" />
<ClInclude Include="StringUtil.h" />
@@ -299,6 +300,7 @@
<ClCompile Include="Profiler.cpp" />
<ClCompile Include="Random.cpp" />
<ClCompile Include="SDCardUtil.cpp" />
+ <ClCompile Include="SFMLHelper.cpp" />
<ClCompile Include="SettingsHandler.cpp" />
<ClCompile Include="StringUtil.cpp" />
<ClCompile Include="SymbolDB.cpp" />
diff --git a/Source/Core/Common/CommonPaths.h b/Source/Core/Common/CommonPaths.h
index 2255b594f5..3022e7c5b6 100644
--- a/Source/Core/Common/CommonPaths.h
+++ b/Source/Core/Common/CommonPaths.h
@@ -109,6 +109,7 @@
#define GC_SRAM "SRAM.raw"
#define GC_MEMCARDA "MemoryCardA"
#define GC_MEMCARDB "MemoryCardB"
+#define GC_MEMCARD_NETPLAY "NetPlayTemp"
#define WII_STATE "state.dat"
diff --git a/Source/Core/Common/SFMLHelper.cpp b/Source/Core/Common/SFMLHelper.cpp
new file mode 100644
index 0000000000..367bd93a9e
--- /dev/null
+++ b/Source/Core/Common/SFMLHelper.cpp
@@ -0,0 +1,38 @@
+// Copyright 2018 Dolphin Emulator Project
+// Licensed under GPLv2+
+// Refer to the license.txt file included.
+
+#include "Common/SFMLHelper.h"
+
+#include <SFML/Network/Packet.hpp>
+
+namespace Common
+{
+// This only exists as a helper for BigEndianValue
+u16 PacketReadU16(sf::Packet& packet)
+{
+ u16 tmp;
+ packet >> tmp;
+ return tmp;
+}
+
+// This only exists as a helper for BigEndianValue
+u32 PacketReadU32(sf::Packet& packet)
+{
+ u32 tmp;
+ packet >> tmp;
+ return tmp;
+}
+
+u64 PacketReadU64(sf::Packet& packet)
+{
+ u32 low, high;
+ packet >> low >> high;
+ return low | (static_cast<u64>(high) << 32);
+}
+
+void PacketWriteU64(sf::Packet& packet, const u64 value)
+{
+ packet << static_cast<u32>(value) << static_cast<u32>(value >> 32);
+}
+} // namespace Common
diff --git a/Source/Core/Common/SFMLHelper.h b/Source/Core/Common/SFMLHelper.h
new file mode 100644
index 0000000000..459af6203b
--- /dev/null
+++ b/Source/Core/Common/SFMLHelper.h
@@ -0,0 +1,23 @@
+// Copyright 2018 Dolphin Emulator Project
+// Licensed under GPLv2+
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "Common/CommonTypes.h"
+
+namespace sf
+{
+class Packet;
+}
+
+namespace Common
+{
+template <typename value_type>
+struct BigEndianValue;
+
+u16 PacketReadU16(sf::Packet& packet);
+u32 PacketReadU32(sf::Packet& packet);
+u64 PacketReadU64(sf::Packet& packet);
+void PacketWriteU64(sf::Packet& packet, u64 value);
+} // namespace Common