diff options
| author | spycrab <spycrab@users.noreply.github.com> | 2018-07-21 02:09:02 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-07-21 02:09:02 +0200 |
| commit | c141511c87a8edfa1f273e8fdb13609def89efa8 (patch) | |
| tree | bc5e0c9ab8db9b31101fc69dfaa88abce3043207 /Source/Core/Common | |
| parent | bcd2a76f2b19c3f091a91201c39fe6839a416970 (diff) | |
| parent | 4407854e9cbffeb8da1d7a8e70186b6d7498bccb (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.txt | 1 | ||||
| -rw-r--r-- | Source/Core/Common/Common.vcxproj | 2 | ||||
| -rw-r--r-- | Source/Core/Common/Common.vcxproj.filters | 2 | ||||
| -rw-r--r-- | Source/Core/Common/CommonPaths.h | 1 | ||||
| -rw-r--r-- | Source/Core/Common/SFMLHelper.cpp | 38 | ||||
| -rw-r--r-- | Source/Core/Common/SFMLHelper.h | 23 |
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 |
