diff options
| author | Pierre Bourdon <delroth@gmail.com> | 2016-03-14 01:42:37 +0100 |
|---|---|---|
| committer | Pierre Bourdon <delroth@gmail.com> | 2016-03-14 01:42:37 +0100 |
| commit | f0e25b84777fa1090ff53d0844a982bb44a83435 (patch) | |
| tree | b86c390081c5b8c6c745c7b3d12074fc3563610d /Source | |
| parent | 53815961fdf4b805a26a3872f51455485ea3c733 (diff) | |
| parent | b1c8198cecbd3aeeccdd5096049f3a453ba411dd (diff) | |
Merge pull request #3668 from RisingFog/wii_movie_sysconf
Apply Wii Settings on Movie Recording/Playback
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/Common/SysConf.cpp | 9 | ||||
| -rw-r--r-- | Source/Core/Core/Movie.cpp | 9 | ||||
| -rw-r--r-- | Source/Core/Core/Movie.h | 4 |
3 files changed, 21 insertions, 1 deletions
diff --git a/Source/Core/Common/SysConf.cpp b/Source/Core/Common/SysConf.cpp index 23a49412c8..a50efeb71b 100644 --- a/Source/Core/Common/SysConf.cpp +++ b/Source/Core/Common/SysConf.cpp @@ -15,6 +15,8 @@ #include "Common/SysConf.h" #include "Common/Logging/Log.h" +#include "Core/Movie.h" + SysConf::SysConf() : m_IsValid(false) { @@ -74,6 +76,13 @@ bool SysConf::LoadFromFile(const std::string& filename) { m_Filename = filename; m_IsValid = true; + // Apply Wii settings from normal SYSCONF on Movie recording/playback + if (Movie::IsRecordingInput() || Movie::IsPlayingInput()) + { + SetData("IPL.LNG", Movie::GetLanguage()); + SetData("IPL.E60", Movie::IsPAL60()); + SetData("IPL.PGS", Movie::IsProgressive()); + } return true; } } diff --git a/Source/Core/Core/Movie.cpp b/Source/Core/Core/Movie.cpp index 91ace55535..825d15e4ce 100644 --- a/Source/Core/Core/Movie.cpp +++ b/Source/Core/Core/Movie.cpp @@ -80,6 +80,7 @@ static u8 s_bongos, s_memcards; static u8 s_revision[20]; static u32 s_DSPiromHash = 0; static u32 s_DSPcoefHash = 0; +static u8 s_language = 10; //Set to unknown until language is known static bool s_bRecordingFromSaveState = false; static bool s_bPolled = false; @@ -385,6 +386,11 @@ int GetCPUMode() return s_iCPUCore; } +u8 GetLanguage() +{ + return s_language; +} + bool IsStartingFromClearSave() { return g_bClearSave; @@ -810,6 +816,7 @@ void ReadHeader() s_bongos = tmpHeader.bongos; s_bSyncGPU = tmpHeader.bSyncGPU; s_bNetPlay = tmpHeader.bNetPlay; + s_language = tmpHeader.language; memcpy(s_revision, tmpHeader.revision, ArraySize(s_revision)); } else @@ -1254,6 +1261,7 @@ void SaveRecording(const std::string& filename) header.DSPiromHash = s_DSPiromHash; header.DSPcoefHash = s_DSPcoefHash; header.tickCount = s_totalTickCount; + header.language = s_language; // TODO header.uniqueID = 0; @@ -1317,6 +1325,7 @@ void GetSettings() s_bSyncGPU = SConfig::GetInstance().bSyncGPU; s_iCPUCore = SConfig::GetInstance().iCPUCore; s_bNetPlay = NetPlay::IsNetPlayRunning(); + s_language = SConfig::GetInstance().m_SYSCONF->GetData<u8>("IPL.LNG"); if (!SConfig::GetInstance().bWii) g_bClearSave = !File::Exists(SConfig::GetInstance().m_strMemoryCardA); s_memcards |= (SConfig::GetInstance().m_EXIDevice[0] == EXIDEVICE_MEMORYCARD) << 0; diff --git a/Source/Core/Core/Movie.h b/Source/Core/Core/Movie.h index c7fe7e630c..7fa19d22f5 100644 --- a/Source/Core/Core/Movie.h +++ b/Source/Core/Core/Movie.h @@ -102,7 +102,8 @@ struct DTMHeader bool bSyncGPU; bool bNetPlay; bool bPAL60; - u8 reserved[12]; // Padding for any new config options + u8 language; + u8 reserved[11]; // Padding for any new config options u8 discChange[40]; // Name of iso file to switch to, for two disc games. u8 revision[20]; // Git hash u32 DSPiromHash; @@ -137,6 +138,7 @@ bool IsSkipIdle(); bool IsDSPHLE(); bool IsFastDiscSpeed(); int GetCPUMode(); +u8 GetLanguage(); bool IsStartingFromClearSave(); bool IsUsingMemcard(int memcard); bool IsSyncGPU(); |
