mirror of
https://github.com/rvtr/ctr_Repair.git
synced 2025-10-31 13:51:08 -04:00
国設定ファイルがない場合はリージョンに合わせたデフォルト国で動作するように
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@46 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
eaa3853461
commit
27290b0227
@ -45,6 +45,7 @@
|
|||||||
#include "Aes_define.h"
|
#include "Aes_define.h"
|
||||||
#include "configLoader.h"
|
#include "configLoader.h"
|
||||||
#include "PlayHistoryManager.h"
|
#include "PlayHistoryManager.h"
|
||||||
|
#include "FileChecker.h"
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
@ -323,26 +324,81 @@ void ImportCountryLanguageData()
|
|||||||
{
|
{
|
||||||
nn::Result result;
|
nn::Result result;
|
||||||
|
|
||||||
size_t bufSize = common::HeapManager::GetHeap()->GetAllocatableSize();
|
if (common::ExistsCountryLanguageFile())
|
||||||
void* buf = common::HeapManager::GetHeap()->Allocate(bufSize);
|
|
||||||
if (buf != NULL)
|
|
||||||
{
|
{
|
||||||
common::SdReaderWriter sdReader;
|
size_t bufSize = common::HeapManager::GetHeap()->GetAllocatableSize();
|
||||||
|
void* buf = common::HeapManager::GetHeap()->Allocate(bufSize);
|
||||||
size_t readSize;
|
if (buf != NULL)
|
||||||
result = sdReader.ReadBuf(common::COUNTRY_SETTING_PATHNAME, buf, bufSize, &readSize);
|
|
||||||
if(result.IsSuccess())
|
|
||||||
{
|
{
|
||||||
// SDから読み出し成功
|
common::SdReaderWriter sdReader;
|
||||||
SetCountry(reinterpret_cast<common::CfgCountryLanguage*>(buf)->country);
|
|
||||||
|
|
||||||
SetLanguage(reinterpret_cast<common::CfgCountryLanguage*>(buf)->language);
|
size_t readSize;
|
||||||
|
result = sdReader.ReadBuf(common::COUNTRY_SETTING_PATHNAME, buf, bufSize, &readSize);
|
||||||
|
if (result.IsSuccess())
|
||||||
|
{
|
||||||
|
// SDから読み出し成功
|
||||||
|
SetCountry(reinterpret_cast<common::CfgCountryLanguage*> (buf)->country);
|
||||||
|
|
||||||
|
SetLanguage(reinterpret_cast<common::CfgCountryLanguage*> (buf)->language);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
||||||
|
}
|
||||||
|
common::HeapManager::GetHeap()->Free(buf);
|
||||||
}
|
}
|
||||||
else
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// リージョンから適当な国を指定する
|
||||||
|
nn::cfg::CTR::CfgRegionCode region;
|
||||||
|
region = nn::cfg::CTR::GetRegion();
|
||||||
|
NN_LOG("Country Setting does not exist. Use Default Setting\n");
|
||||||
|
switch(region)
|
||||||
{
|
{
|
||||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result);
|
case nn::cfg::CTR::CFG_REGION_JAPAN:
|
||||||
|
{
|
||||||
|
SetCountry(nn::cfg::CTR::CFG_COUNTRY_JAPAN);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case nn::cfg::CTR::CFG_REGION_AMERICA:
|
||||||
|
{
|
||||||
|
SetCountry(nn::cfg::CTR::CFG_COUNTRY_UNITED_STATES);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case nn::cfg::CTR::CFG_REGION_EUROPE:
|
||||||
|
{
|
||||||
|
SetCountry(nn::cfg::CTR::CFG_COUNTRY_FRANCE);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case nn::cfg::CTR::CFG_REGION_AUSTRALIA:
|
||||||
|
{
|
||||||
|
SetCountry(nn::cfg::CTR::CFG_COUNTRY_AUSTRALIA);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case nn::cfg::CTR::CFG_REGION_CHINA:
|
||||||
|
{
|
||||||
|
SetCountry(nn::cfg::CTR::CFG_COUNTRY_CHINA);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case nn::cfg::CTR::CFG_REGION_KOREA:
|
||||||
|
{
|
||||||
|
SetCountry(nn::cfg::CTR::CFG_COUNTRY_SOUTH_KOREA);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case nn::cfg::CTR::CFG_REGION_TAIWAN:
|
||||||
|
{
|
||||||
|
SetCountry(nn::cfg::CTR::CFG_COUNTRY_TAIWAN);
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
common::HeapManager::GetHeap()->Free(buf);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -100,6 +100,10 @@ bool ExistsRtcSyncFinishedFile()
|
|||||||
return ExistsFile(EXISTS_RTC_SYNC_FINISHED);
|
return ExistsFile(EXISTS_RTC_SYNC_FINISHED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ExistsCountryLanguageFile()
|
||||||
|
{
|
||||||
|
return ExistsFile(EXISTS_COUNTRY_LANGUAGE);
|
||||||
|
}
|
||||||
|
|
||||||
void InitializeFileCheck()
|
void InitializeFileCheck()
|
||||||
{
|
{
|
||||||
|
|||||||
@ -30,6 +30,7 @@ typedef enum FILE_EXISTS_CHECK
|
|||||||
EXISTS_WRITE_FINISHED,
|
EXISTS_WRITE_FINISHED,
|
||||||
EXISTS_AP_SETTING,
|
EXISTS_AP_SETTING,
|
||||||
EXISTS_RTC_SYNC_FINISHED,
|
EXISTS_RTC_SYNC_FINISHED,
|
||||||
|
EXISTS_COUNTRY_LANGUAGE,
|
||||||
EXISTS_MAX
|
EXISTS_MAX
|
||||||
} FileExistsCheck;
|
} FileExistsCheck;
|
||||||
|
|
||||||
@ -41,7 +42,8 @@ const wchar_t* const FILENAME_TABLE[EXISTS_MAX] =
|
|||||||
common::INITIALIZED_CHECK_PATHNAME,
|
common::INITIALIZED_CHECK_PATHNAME,
|
||||||
common::WRITE_FINISHED_CHECK_PATHNAME,
|
common::WRITE_FINISHED_CHECK_PATHNAME,
|
||||||
common::AP_SETTING_PATHNAME,
|
common::AP_SETTING_PATHNAME,
|
||||||
common::RTC_SYNC_CHECK_PATHNAME
|
common::RTC_SYNC_CHECK_PATHNAME,
|
||||||
|
common::COUNTRY_SETTING_PATHNAME
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -52,6 +54,7 @@ bool ExistsConsoleInitializedFile();
|
|||||||
bool ExistsWriteFinishedFile();
|
bool ExistsWriteFinishedFile();
|
||||||
bool ExistsAPSetting();
|
bool ExistsAPSetting();
|
||||||
bool ExistsRtcSyncFinishedFile();
|
bool ExistsRtcSyncFinishedFile();
|
||||||
|
bool ExistsCountryLanguageFile();
|
||||||
|
|
||||||
void InitializeFileCheck();
|
void InitializeFileCheck();
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user