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@780 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
5eae609069
commit
21d6a5a1a0
@ -34,6 +34,7 @@ nn::os::Event ActCompleter::s_BeginEvent;
|
|||||||
nn::os::Event ActCompleter::s_EndEvent;
|
nn::os::Event ActCompleter::s_EndEvent;
|
||||||
u32 ActCompleter::s_ApprovalId;
|
u32 ActCompleter::s_ApprovalId;
|
||||||
ActCompleter::CompleteMode ActCompleter::s_Mode;
|
ActCompleter::CompleteMode ActCompleter::s_Mode;
|
||||||
|
ActCompleter::SalvageCheck ActCompleter::s_SalvageCheck;
|
||||||
|
|
||||||
|
|
||||||
ActCompleter::ActCompleter()
|
ActCompleter::ActCompleter()
|
||||||
@ -49,9 +50,10 @@ nn::Result ActCompleter::GetResult()
|
|||||||
return s_Result;
|
return s_Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ActCompleter::Start(CompleteMode mode)
|
void ActCompleter::Start(CompleteMode mode, SalvageCheck check)
|
||||||
{
|
{
|
||||||
s_Mode = mode;
|
s_Mode = mode;
|
||||||
|
s_SalvageCheck = check;
|
||||||
s_ApprovalId = 0;
|
s_ApprovalId = 0;
|
||||||
if(s_Mode == ACT_COMPLETE_TRANSFER_WITH_SALVEGE)
|
if(s_Mode == ACT_COMPLETE_TRANSFER_WITH_SALVEGE)
|
||||||
{
|
{
|
||||||
@ -117,9 +119,9 @@ nn::Result ActCompleter::ExecImpl()
|
|||||||
nn::Result result = nn::act::SalvageAccounts();
|
nn::Result result = nn::act::SalvageAccounts();
|
||||||
if(result.IsFailure())
|
if(result.IsFailure())
|
||||||
{
|
{
|
||||||
if(nn::act::ResultRequestNotFound().Includes(result))
|
if(nn::act::ResultRequestNotFound().Includes(result) && s_SalvageCheck == ACT_SALVAGE_WITHOUT_CHECK)
|
||||||
{
|
{
|
||||||
//NNAが無い場合に起こるので無視
|
//サルベージ結果を無視するモードなので無視
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -29,11 +29,16 @@ public:
|
|||||||
ACT_COMPLETE_TRANSFER_WITH_SALVEGE
|
ACT_COMPLETE_TRANSFER_WITH_SALVEGE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum SalvageCheck{
|
||||||
|
ACT_SALVAGE_WITHOUT_CHECK,
|
||||||
|
ACT_SALVAGE_WITH_CHECK
|
||||||
|
};
|
||||||
|
|
||||||
ActCompleter();
|
ActCompleter();
|
||||||
virtual ~ActCompleter();
|
virtual ~ActCompleter();
|
||||||
|
|
||||||
static nn::Result GetResult();
|
static nn::Result GetResult();
|
||||||
static void Start(CompleteMode mode);
|
static void Start(CompleteMode mode, SalvageCheck check);
|
||||||
static bool IsFinished();
|
static bool IsFinished();
|
||||||
static void Finish();
|
static void Finish();
|
||||||
|
|
||||||
@ -52,6 +57,7 @@ private:
|
|||||||
static nn::os::Event s_EndEvent;
|
static nn::os::Event s_EndEvent;
|
||||||
static u32 s_ApprovalId;
|
static u32 s_ApprovalId;
|
||||||
static CompleteMode s_Mode;
|
static CompleteMode s_Mode;
|
||||||
|
static SalvageCheck s_SalvageCheck;
|
||||||
};
|
};
|
||||||
|
|
||||||
} /* namespace ConsoleRestore */
|
} /* namespace ConsoleRestore */
|
||||||
|
|||||||
@ -58,6 +58,8 @@ bool s_SkipNupMode = false;
|
|||||||
bool s_DownloadPreinstallMode = false;
|
bool s_DownloadPreinstallMode = false;
|
||||||
// 強制プリインストール書き込みモードかどうか
|
// 強制プリインストール書き込みモードかどうか
|
||||||
bool s_ForceDownloadPreinstall = false;
|
bool s_ForceDownloadPreinstall = false;
|
||||||
|
// アカウントサルベージの結果を確認するかどうか
|
||||||
|
bool s_CheckAccountSalvageResult = false;
|
||||||
|
|
||||||
// 失敗サウンドを鳴らしたかどうか
|
// 失敗サウンドを鳴らしたかどうか
|
||||||
bool s_PlayedFailSound = false;
|
bool s_PlayedFailSound = false;
|
||||||
@ -778,7 +780,7 @@ bool CheckAndReadAPSetting(common::OperationMessage& operationMessage)
|
|||||||
if (!s_ReadSettingDone)
|
if (!s_ReadSettingDone)
|
||||||
{
|
{
|
||||||
s_ReadSettingDone = true;
|
s_ReadSettingDone = true;
|
||||||
s_ReadSettingIsSuccess = ReadSetting(&s_NupOnlyMode, &s_GetIvsOnlyMode, &s_CheckSdOnlyMode, &s_SkipNupMode, &s_DownloadPreinstallMode);
|
s_ReadSettingIsSuccess = ReadSetting(&s_NupOnlyMode, &s_GetIvsOnlyMode, &s_CheckSdOnlyMode, &s_SkipNupMode, &s_DownloadPreinstallMode, &s_CheckAccountSalvageResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s_NupOnlyMode && s_GetIvsOnlyMode
|
if (s_NupOnlyMode && s_GetIvsOnlyMode
|
||||||
@ -1413,7 +1415,16 @@ void ControlState(common::HardwareStateManager& manager, common::OperationMessag
|
|||||||
COMMON_LOGGER("Complete NNA Transfer\n");
|
COMMON_LOGGER("Complete NNA Transfer\n");
|
||||||
if (ImportCountryLanguageData().IsSuccess())
|
if (ImportCountryLanguageData().IsSuccess())
|
||||||
{
|
{
|
||||||
ActCompleter::Start(s_ActCompleteMode);
|
ActCompleter::SalvageCheck check;
|
||||||
|
if(s_CheckAccountSalvageResult)
|
||||||
|
{
|
||||||
|
check = ActCompleter::ACT_SALVAGE_WITH_CHECK;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
check = ActCompleter::ACT_SALVAGE_WITHOUT_CHECK;
|
||||||
|
}
|
||||||
|
ActCompleter::Start(s_ActCompleteMode, check);
|
||||||
s_RestoreState = COMPLETE_ACT_WAIT;
|
s_RestoreState = COMPLETE_ACT_WAIT;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -1141,7 +1141,7 @@ void ReadSettingFlag(common::ConfigFileLoader* loader, const wchar_t* paramName,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ReadSetting(bool* nupOnly, bool* getIvs, bool* checkSd, bool* skipNup, bool* dlPreinstall)
|
bool ReadSetting(bool* nupOnly, bool* getIvs, bool* checkSd, bool* skipNup, bool* dlPreinstall, bool* checkSalvage)
|
||||||
{
|
{
|
||||||
nn::Result result;
|
nn::Result result;
|
||||||
bool retval = true;
|
bool retval = true;
|
||||||
@ -1448,6 +1448,7 @@ bool ReadSetting(bool* nupOnly, bool* getIvs, bool* checkSd, bool* skipNup, bool
|
|||||||
ReadSettingFlag(&configfileLoader, L"CHECK_SD", checkSd, "CHECK SD Mode.\n");
|
ReadSettingFlag(&configfileLoader, L"CHECK_SD", checkSd, "CHECK SD Mode.\n");
|
||||||
ReadSettingFlag(&configfileLoader, L"SKIP_NUP", skipNup, "Skip NUP Mode.\n");
|
ReadSettingFlag(&configfileLoader, L"SKIP_NUP", skipNup, "Skip NUP Mode.\n");
|
||||||
ReadSettingFlag(&configfileLoader, L"DL_PREINSTALL", dlPreinstall, "Download PreInstall Application Mode.\n");
|
ReadSettingFlag(&configfileLoader, L"DL_PREINSTALL", dlPreinstall, "Download PreInstall Application Mode.\n");
|
||||||
|
ReadSettingFlag(&configfileLoader, L"CHECK_SALVAGE", checkSalvage, "Check Account Salvage Result Mode.\n");
|
||||||
|
|
||||||
configfileLoader.Finalize();
|
configfileLoader.Finalize();
|
||||||
|
|
||||||
|
|||||||
@ -114,7 +114,7 @@ struct TimeZone
|
|||||||
};
|
};
|
||||||
|
|
||||||
// ネットワーク設定ファイルを読み込む
|
// ネットワーク設定ファイルを読み込む
|
||||||
bool ReadSetting(bool* nupOnly, bool* getIvs, bool* checkSd, bool* skipNup, bool* dlPreinstall);
|
bool ReadSetting(bool* nupOnly, bool* getIvs, bool* checkSd, bool* skipNup, bool* dlPreinstall, bool* checkSalvage);
|
||||||
|
|
||||||
// ネットワーク設定ファイルからNTPサーバの名前を取得する
|
// ネットワーク設定ファイルからNTPサーバの名前を取得する
|
||||||
// 先にReadSettingが成功している必要がある
|
// 先にReadSettingが成功している必要がある
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user