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

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

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)
{
if(currentVersion->cup.majorVersion == savedVersion->cup.majorVersion &&
currentVersion->cup.minorVersion == savedVersion->cup.minorVersion &&
currentVersion->cup.microVersion == savedVersion->cup.microVersion &&
currentVersion->nup.majorVersion == savedVersion->nup.majorVersion)
if (currentVersion->region == savedVersion->region
&& currentVersion->cup.majorVersion == savedVersion->cup.majorVersion
&& currentVersion->cup.minorVersion == savedVersion->cup.minorVersion
&& currentVersion->cup.microVersion == savedVersion->cup.microVersion
&& currentVersion->nup.majorVersion == savedVersion->nup.majorVersion)
{
return nn::ResultSuccess();
}
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:
{
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;
}

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)
{
mVerData->region = region;
NN_UTIL_RETURN_IF_FAILED(
GetCupVersion(&mVerData->cup, region)
);

View File

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