diff --git a/Source/Core/Common/Version.cpp b/Source/Core/Common/Version.cpp index 372eb3204d..c44e894b6c 100644 --- a/Source/Core/Common/Version.cpp +++ b/Source/Core/Common/Version.cpp @@ -18,7 +18,11 @@ namespace Common #define BUILD_TYPE_STR "" #endif -const std::string scm_rev_str = "Dolphin " +#define SLIPPI_REV_STR "2.1.1" + +const std::string scm_rev_str = "Faster Melee - Slippi (" SLIPPI_REV_STR ")"; +const std::string scm_slippi_semver_str = SLIPPI_REV_STR; + #if !SCM_IS_MASTER "[" SCM_BRANCH_STR "] " #endif @@ -35,10 +39,10 @@ const std::string scm_branch_str = SCM_BRANCH_STR; const std::string scm_distributor_str = SCM_DISTRIBUTOR_STR; #ifdef _WIN32 -const std::string netplay_dolphin_ver = SCM_DESC_STR " Win"; +const std::string netplay_dolphin_ver = "Slippi-" SLIPPI_REV_STR " Win"; #elif __APPLE__ -const std::string netplay_dolphin_ver = SCM_DESC_STR " Mac"; +const std::string netplay_dolphin_ver = "Slippi-" SLIPPI_REV_STR " Mac"; #else -const std::string netplay_dolphin_ver = SCM_DESC_STR " Lin"; +const std::string netplay_dolphin_ver = "Slippi-" SLIPPI_REV_STR " Lin"; #endif } // namespace Common diff --git a/Source/Core/Core/ConfigManager.cpp b/Source/Core/Core/ConfigManager.cpp index c85d8a296c..bd5c0246b6 100644 --- a/Source/Core/Core/ConfigManager.cpp +++ b/Source/Core/Core/ConfigManager.cpp @@ -493,8 +493,8 @@ void SConfig::LoadCoreSettings(IniFile& ini) core->Get("AudioStretchMaxLatency", &m_audio_stretch_max_latency, 80); core->Get("AgpCartAPath", &m_strGbaCartA); core->Get("AgpCartBPath", &m_strGbaCartB); - core->Get("SlotA", (int*)&m_EXIDevice[0], ExpansionInterface::EXIDEVICE_MEMORYCARDFOLDER); - core->Get("SlotB", (int*)&m_EXIDevice[1], ExpansionInterface::EXIDEVICE_NONE); + core->Get("SlotA", (int*)&m_EXIDevice[0], ExpansionInterface::EXIDEVICE_NONE); + core->Get("SlotB", (int*)&m_EXIDevice[1], ExpansionInterface::EXIDEVICE_SLIPPI); core->Get("SerialPort1", (int*)&m_EXIDevice[2], ExpansionInterface::EXIDEVICE_NONE); core->Get("BBA_MAC", &m_bba_mac); core->Get("BBA_XLINK_IP", &m_bba_xlink_ip, "127.0.0.1"); diff --git a/Source/Core/Core/ConfigManager.h b/Source/Core/Core/ConfigManager.h index c5e1c2ccca..f97e96bc90 100644 --- a/Source/Core/Core/ConfigManager.h +++ b/Source/Core/Core/ConfigManager.h @@ -146,6 +146,15 @@ struct SConfig bool bWii = false; bool m_is_mios = false; + // Slippi + std::string m_strSlippiInput; + int m_slippiOnlineDelay = 2; + bool m_slippiSaveReplays = true; + bool m_slippiReplayMonthFolders = false; + std::string m_strSlippiReplayDir; + bool bBootDefaultISO = false; //move maybe + bool m_InterfaceSeekbar; // move maybe + // Interface settings bool bConfirmStop = false; bool bHideCursor = false; @@ -157,7 +166,7 @@ struct SConfig std::string m_analytics_id; bool m_analytics_enabled = false; bool m_analytics_permission_asked = false; - + bool m_analytics_will_prompt = false; // Bluetooth passthrough mode settings bool m_bt_passthrough_enabled = false; int m_bt_passthrough_pid = -1; diff --git a/Source/Core/Core/GeckoCode.cpp b/Source/Core/Core/GeckoCode.cpp index 35f4f11f84..867e80c794 100644 --- a/Source/Core/Core/GeckoCode.cpp +++ b/Source/Core/Core/GeckoCode.cpp @@ -152,9 +152,27 @@ static Installation InstallCodeHandlerLocked() } } - const u32 codelist_base_address = - INSTALLER_BASE_ADDRESS + static_cast(data.size()) - CODE_SIZE; - const u32 codelist_end_address = INSTALLER_END_ADDRESS; + u32 codelist_base_address; + u32 codelist_end_address; + // Let the Gecko codehandler use free space from Melee's tournament mode region + if (SConfig::GetInstance().GetGameID() == "GALE01") + { + INFO_LOG(ACTIONREPLAY, + "Detected GALE01 - using tournament mode region for Gecko codelist"); + + // Set codelist base to the tournament mode region + codelist_base_address = 0x801910E0; + codelist_end_address = 0x8019AF4C; + + // Patch codehandler to use tournament mode region + PowerPC::HostWrite_U32(0x3DE08019, 0x80001904); // lis r15, 0x8019 + PowerPC::HostWrite_U32(0x61EF10E0, 0x80001908); // ori r15, r15, 0x10e0 + } + else + { + codelist_base_address = INSTALLER_BASE_ADDRESS + static_cast(data.size()) - CODE_SIZE; + codelist_end_address = INSTALLER_END_ADDRESS; + } // Write a magic value to 'gameid' (codehandleronly does not actually read this). // This value will be read back and modified over time by HLE_Misc::GeckoCodeHandlerICacheFlush. diff --git a/Source/Core/Core/HW/EXI/EXI_Device.h b/Source/Core/Core/HW/EXI/EXI_Device.h index cf3476c15b..61e4bed4b8 100644 --- a/Source/Core/Core/HW/EXI/EXI_Device.h +++ b/Source/Core/Core/HW/EXI/EXI_Device.h @@ -33,6 +33,7 @@ enum TEXIDevices : int EXIDEVICE_MEMORYCARDFOLDER, EXIDEVICE_AGP, EXIDEVICE_ETHXLINK, + EXIDEVICE_SLIPPI, EXIDEVICE_NONE = 0xFF };