diff --git a/Source/Core/Core/ConfigLoaders/NetPlayConfigLoader.cpp b/Source/Core/Core/ConfigLoaders/NetPlayConfigLoader.cpp index 75b1bda45419..d084ff877074 100644 --- a/Source/Core/Core/ConfigLoaders/NetPlayConfigLoader.cpp +++ b/Source/Core/Core/ConfigLoaders/NetPlayConfigLoader.cpp @@ -11,6 +11,8 @@ #include "Common/Config/Config.h" #include "Common/FileUtil.h" +#include "Core/AchievementManager.h" +#include "Core/Config/AchievementSettings.h" #include "Core/Config/GraphicsSettings.h" #include "Core/Config/MainSettings.h" #include "Core/Config/SYSCONFSettings.h" @@ -146,6 +148,9 @@ class NetPlayConfigLayerLoader final : public Config::ConfigLayerLoader } #endif + Config::SetBaseOrCurrent(Config::RA_HARDCORE_ENABLED, m_settings.enable_hardcore); + AchievementManager::GetInstance().SetHardcoreMode(); + // Check To Override Client's Cheat Codes if (m_settings.sync_codes && !m_settings.is_hosting) { diff --git a/Source/Core/Core/NetPlayClient.cpp b/Source/Core/Core/NetPlayClient.cpp index 43701c75efc2..82c594dff6cd 100644 --- a/Source/Core/Core/NetPlayClient.cpp +++ b/Source/Core/Core/NetPlayClient.cpp @@ -848,6 +848,7 @@ void NetPlayClient::OnStartGame(sf::Packet& packet) packet >> m_net_settings.cpu_thread; packet >> m_net_settings.cpu_core; packet >> m_net_settings.enable_cheats; + packet >> m_net_settings.enable_hardcore; packet >> m_net_settings.selected_language; packet >> m_net_settings.override_region_settings; packet >> m_net_settings.dsp_enable_jit; diff --git a/Source/Core/Core/NetPlayProto.h b/Source/Core/Core/NetPlayProto.h index a20aee39ce5e..86f54d458dae 100644 --- a/Source/Core/Core/NetPlayProto.h +++ b/Source/Core/Core/NetPlayProto.h @@ -35,6 +35,7 @@ struct NetSettings bool cpu_thread = false; PowerPC::CPUCore cpu_core{}; bool enable_cheats = false; + bool enable_hardcore = false; int selected_language = 0; bool override_region_settings = false; bool dsp_hle = false; diff --git a/Source/Core/Core/NetPlayServer.cpp b/Source/Core/Core/NetPlayServer.cpp index 0044ce903e91..267aef59a89c 100644 --- a/Source/Core/Core/NetPlayServer.cpp +++ b/Source/Core/Core/NetPlayServer.cpp @@ -33,6 +33,7 @@ #include "Core/ActionReplay.h" #include "Core/Boot/Boot.h" +#include "Core/Config/AchievementSettings.h" #include "Core/Config/GraphicsSettings.h" #include "Core/Config/MainSettings.h" #include "Core/Config/NetplaySettings.h" @@ -1358,6 +1359,7 @@ bool NetPlayServer::SetupNetSettings() settings.cpu_thread = Config::Get(Config::MAIN_CPU_THREAD); settings.cpu_core = Config::Get(Config::MAIN_CPU_CORE); settings.enable_cheats = Config::AreCheatsEnabled(); + settings.enable_hardcore = Config::Get(Config::RA_HARDCORE_ENABLED); settings.selected_language = Config::Get(Config::MAIN_GC_LANGUAGE); settings.override_region_settings = Config::Get(Config::MAIN_OVERRIDE_REGION_SETTINGS); settings.dsp_hle = Config::Get(Config::MAIN_DSP_HLE); @@ -1586,6 +1588,7 @@ bool NetPlayServer::StartGame() spac << m_settings.cpu_thread; spac << m_settings.cpu_core; spac << m_settings.enable_cheats; + spac << m_settings.enable_hardcore; spac << m_settings.selected_language; spac << m_settings.override_region_settings; spac << m_settings.dsp_enable_jit;