リージョンも保存するように

バージョンの不一致をエラー表示するように

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@707 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
N2614 2012-05-01 01:54:26 +00:00
parent 13a8ad5f28
commit 2f46b6b89a
4 changed files with 18 additions and 6 deletions

View File

@ -395,15 +395,17 @@ nn::Result CfgChanger::RestoreCfgDataFromBackup()
nn::Result CfgChanger::CheckSystemVersion(VerDef* currentVersion, VerDef* savedVersion) nn::Result CfgChanger::CheckSystemVersion(VerDef* currentVersion, VerDef* savedVersion)
{ {
if(currentVersion->cup.majorVersion == savedVersion->cup.majorVersion && if (currentVersion->region == savedVersion->region
currentVersion->cup.minorVersion == savedVersion->cup.minorVersion && && currentVersion->cup.majorVersion == savedVersion->cup.majorVersion
currentVersion->cup.microVersion == savedVersion->cup.microVersion && && currentVersion->cup.minorVersion == savedVersion->cup.minorVersion
currentVersion->nup.majorVersion == savedVersion->nup.majorVersion) && currentVersion->cup.microVersion == savedVersion->cup.microVersion
&& currentVersion->nup.majorVersion == savedVersion->nup.majorVersion)
{ {
return nn::ResultSuccess(); return nn::ResultSuccess();
} }
else else
{ {
return nn::MakePermanentResult(nn::Result::SUMMARY_INVALID_STATE, nn::Result::MODULE_APPLICATION, nn::Result::DESCRIPTION_OUT_OF_RANGE); return nn::MakePermanentResult(nn::Result::SUMMARY_INVALID_STATE, nn::Result::MODULE_APPLICATION,
nn::Result::DESCRIPTION_OUT_OF_RANGE);
} }
} }

View File

@ -154,7 +154,14 @@ bool StateManager::Exec(bool goNext, scene::TextWriter* pTextWriter)
case STATE_ERROR: case STATE_ERROR:
{ {
pTextWriter->Printf(0, 22, L"Error Occurred: %08X", s_Result.GetPrintableBits()); if(s_Result == nn::MakePermanentResult(nn::Result::SUMMARY_INVALID_STATE, nn::Result::MODULE_APPLICATION, nn::Result::DESCRIPTION_OUT_OF_RANGE))
{
pTextWriter->Printf(0, 22, L"Version Mismatch");
}
else
{
pTextWriter->Printf(0, 22, L"Error Occurred: %08X", s_Result.GetPrintableBits());
}
} }
break; break;
} }

View File

@ -129,6 +129,8 @@ nn::Result GetNupVersion(nn::pl::CTR::NetworkUpdateVersion* nup, nn::cfg::CTR::C
nn::Result GetSystemVersion(VerDef* mVerData, nn::cfg::CTR::CfgRegionCode region) nn::Result GetSystemVersion(VerDef* mVerData, nn::cfg::CTR::CfgRegionCode region)
{ {
mVerData->region = region;
NN_UTIL_RETURN_IF_FAILED( NN_UTIL_RETURN_IF_FAILED(
GetCupVersion(&mVerData->cup, region) GetCupVersion(&mVerData->cup, region)
); );

View File

@ -26,6 +26,7 @@ struct VerDef
{ {
nn::pl::CTR::CardUpdateVersion cup; nn::pl::CTR::CardUpdateVersion cup;
nn::pl::CTR::NetworkUpdateVersion nup; nn::pl::CTR::NetworkUpdateVersion nup;
nn::cfg::CTR::CfgRegionCode region;
}; };
// リージョンコードに基づいてバージョン情報を取得する // リージョンコードに基づいてバージョン情報を取得する