mirror of
https://github.com/rvtr/ctr_Repair.git
synced 2025-10-31 13:51:08 -04:00
サルベージ失敗時にもサルベージ後に呼ぶべきAPIを呼び出していたのを修正
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@793 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
547ed73c72
commit
dd108a5a7d
@ -122,6 +122,9 @@ nn::Result ActCompleter::ExecImpl()
|
||||
|
||||
// アンマウントできたのでアカウントサルベージを実行
|
||||
nn::Result result = nn::act::SalvageAccounts();
|
||||
// サルベージ終了をシステムに通知
|
||||
s_EndEvent.Signal();
|
||||
|
||||
if(result.IsFailure())
|
||||
{
|
||||
if(nn::act::ResultRequestNotFound().Includes(result) && s_SalvageCheck == ACT_SALVAGE_WITHOUT_CHECK)
|
||||
@ -130,7 +133,6 @@ nn::Result ActCompleter::ExecImpl()
|
||||
}
|
||||
else
|
||||
{
|
||||
s_EndEvent.Signal();
|
||||
NN_UTIL_RETURN_IF_FAILED_1(
|
||||
nn::act::FinalizeAdmin(),
|
||||
common::FinalizeNetwork());
|
||||
@ -141,52 +143,52 @@ nn::Result ActCompleter::ExecImpl()
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
// サルベージ終了をシステムに通知
|
||||
s_EndEvent.Signal();
|
||||
|
||||
// COPPA判定とPIN判定の準備
|
||||
nn::cfg::CfgRegionCode region = nn::cfg::GetRegion();
|
||||
u8 age = nn::act::GetAgeAtSalvage();
|
||||
nn::cfg::CfgCountryCode country;
|
||||
|
||||
NN_UTIL_RETURN_IF_FAILED_2(
|
||||
nn::act::GetCountryCodeAtSalvage(reinterpret_cast<u32*>(&country)),
|
||||
nn::act::FinalizeAdmin(),
|
||||
common::FinalizeNetwork());
|
||||
|
||||
AgeChecker ageChecker;
|
||||
|
||||
if(region == nn::cfg::CFG_REGION_AMERICA)
|
||||
else
|
||||
{
|
||||
// COPPA判定とPIN判定の準備
|
||||
nn::cfg::CfgRegionCode region = nn::cfg::GetRegion();
|
||||
u8 age = nn::act::GetAgeAtSalvage();
|
||||
nn::cfg::CfgCountryCode country;
|
||||
|
||||
if(ageChecker.IsCoppaRequired(age, region, country))
|
||||
NN_UTIL_RETURN_IF_FAILED_2(
|
||||
nn::act::GetCountryCodeAtSalvage(reinterpret_cast<u32*>(&country)),
|
||||
nn::act::FinalizeAdmin(),
|
||||
common::FinalizeNetwork());
|
||||
|
||||
AgeChecker ageChecker;
|
||||
|
||||
if (region == nn::cfg::CFG_REGION_AMERICA)
|
||||
{
|
||||
|
||||
if (ageChecker.IsCoppaRequired(age, region, country))
|
||||
{
|
||||
// COPPA対象の年齢なら復元する
|
||||
s_ApprovalId = nn::act::GetSalvagedApprovalId();
|
||||
NN_UTIL_RETURN_IF_FAILED_2(
|
||||
SaveApprovalId(),
|
||||
nn::act::FinalizeAdmin(),
|
||||
common::FinalizeNetwork());
|
||||
}
|
||||
}
|
||||
|
||||
// PIN必須ならフラグを立てる
|
||||
if (ageChecker.IsPinRestrictionRequired(age, region, country))
|
||||
{
|
||||
// COPPA対象の年齢なら復元する
|
||||
s_ApprovalId = nn::act::GetSalvagedApprovalId();
|
||||
NN_UTIL_RETURN_IF_FAILED_2(
|
||||
SaveApprovalId(),
|
||||
nn::cfg::CTR::system::SetForceParentalControlFlag(true),
|
||||
nn::act::FinalizeAdmin(),
|
||||
common::FinalizeNetwork());
|
||||
|
||||
NN_UTIL_RETURN_IF_FAILED_2(
|
||||
nn::cfg::CTR::system::FlushConfig(),
|
||||
nn::act::FinalizeAdmin(),
|
||||
common::FinalizeNetwork());
|
||||
}
|
||||
}
|
||||
|
||||
// PIN必須ならフラグを立てる
|
||||
if(ageChecker.IsPinRestrictionRequired(age, region, country))
|
||||
{
|
||||
NN_UTIL_RETURN_IF_FAILED_2(
|
||||
nn::cfg::CTR::system::SetForceParentalControlFlag(true),
|
||||
nn::act::FinalizeAdmin(),
|
||||
common::FinalizeNetwork());
|
||||
|
||||
NN_UTIL_RETURN_IF_FAILED_2(
|
||||
nn::cfg::CTR::system::FlushConfig(),
|
||||
nn::act::FinalizeAdmin(),
|
||||
common::FinalizeNetwork());
|
||||
}
|
||||
}
|
||||
|
||||
// 移行完了
|
||||
// サルベージの有無に関わらず呼び出す
|
||||
NN_UTIL_RETURN_IF_FAILED_2(
|
||||
nn::act::CompleteTransfer(),
|
||||
nn::act::FinalizeAdmin(),
|
||||
|
||||
Loading…
Reference in New Issue
Block a user