diff --git a/trunk/SkipFirstLaunch/CfgChanger.cpp b/trunk/SkipFirstLaunch/CfgChanger.cpp index 4b179de..5b0583f 100644 --- a/trunk/SkipFirstLaunch/CfgChanger.cpp +++ b/trunk/SkipFirstLaunch/CfgChanger.cpp @@ -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); } } diff --git a/trunk/SkipFirstLaunch/StateManager.cpp b/trunk/SkipFirstLaunch/StateManager.cpp index 10e7731..22a612c 100644 --- a/trunk/SkipFirstLaunch/StateManager.cpp +++ b/trunk/SkipFirstLaunch/StateManager.cpp @@ -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; } diff --git a/trunk/SkipFirstLaunch/VersionDetect.cpp b/trunk/SkipFirstLaunch/VersionDetect.cpp index a917df0..7ef149d 100644 --- a/trunk/SkipFirstLaunch/VersionDetect.cpp +++ b/trunk/SkipFirstLaunch/VersionDetect.cpp @@ -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) ); diff --git a/trunk/SkipFirstLaunch/VersionDetect.h b/trunk/SkipFirstLaunch/VersionDetect.h index 5dfa588..699e343 100644 --- a/trunk/SkipFirstLaunch/VersionDetect.h +++ b/trunk/SkipFirstLaunch/VersionDetect.h @@ -26,6 +26,7 @@ struct VerDef { nn::pl::CTR::CardUpdateVersion cup; nn::pl::CTR::NetworkUpdateVersion nup; + nn::cfg::CTR::CfgRegionCode region; }; // リージョンコードに基づいてバージョン情報を取得する