アカウント削除後再起動しないように

アカウント転送前に入力を待つように
同一本体書き戻しの場合アカウント転送処理をスキップするように

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@263 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
N2614 2011-05-20 11:36:09 +00:00
parent 8d20911cbc
commit 598bcca47c

View File

@ -106,6 +106,7 @@ typedef enum RestoreState
UPDATE_DONE, // アップデート完了
NUP_ONLY_WAIT_SD_EJECT, // NUP_ONLYモードでSDカード抜き待ち
NUP_ONLY_WAIT_NEXT, // NUP_ONLYモードでキー入力待ち
WAIT_START_TRANSFER_ACCOUNT, // アカウント転送開始入力まち
TRANSFER_ACCOUNT, // アカウント転送を完了させる
TRANSFER_ACCOUNT_DONE, // アカウント転送完了
DOWNLOAD_IVS, // インフラからIVSを取得する
@ -304,11 +305,18 @@ void CheckAccountDeleted(common::HardwareStateManager& manager, ::std::vector<st
if(EqualsDeviceIdFileandDeviceId(manager).IsSuccess())
{
CreateDeleteAccountFinishedFile();
CheckAccountTransfered(manager, message, goNextStep);
// IVS専用モードならばIVSを取得させる
if(s_GetIvsOnlyMode)
{
CheckDownloadIvs(manager, message, goNextStep);
}
else
{
CheckWriteFinished(manager, message, goNextStep);
}
}
else
{
COMMON_LOGGER("Delete Account\n");
s_RestoreState = WAIT_START_DELETE_ACCOUNT;
}
}
@ -325,7 +333,7 @@ void CheckAccountTransfered(common::HardwareStateManager& manager, ::std::vector
else
{
COMMON_LOGGER("Transfer Account\n");
s_RestoreState = TRANSFER_ACCOUNT;
s_RestoreState = WAIT_START_TRANSFER_ACCOUNT;
}
}
@ -543,7 +551,10 @@ void ShopOperationSingleTemplate(
}
// IVSがアップロードされていない場合もあるため
// IVSを取得できない状況も成功として扱う
else if(op == SHOP_OPERATION_GET_IVS && GetShopOperationSingleResult() == nn::nim::ResultCannotGetIvs())
// IVSサイズが違う場合も成功として扱う
else if(op == SHOP_OPERATION_GET_IVS && ( GetShopOperationSingleResult() == nn::nim::ResultCannotGetIvs() ||
GetShopOperationSingleResult() == nn::nim::ResultInvalidData()
))
{
ShopOperationSuccess(op, logMessage, nextState);
}
@ -972,6 +983,24 @@ void ControlState(common::HardwareStateManager& manager, ::std::vector<std::stri
}
break;
case WAIT_START_TRANSFER_ACCOUNT:
{
operationMessage.push_back(::std::string("Push A or START Button"));
operationMessage.push_back(::std::string("Transfer Account Mode"));
if (!s_PlayedStartCursor)
{
PlaySound(SOUND_CURSOR);
s_PlayedStartCursor = true;
}
if (nextStep)
{
COMMON_LOGGER("Transfer Account\n");
s_RestoreState = TRANSFER_ACCOUNT;
}
}
break;
case TRANSFER_ACCOUNT:
{
ShopOperationSingleTemplate(manager, operationMessage, SHOP_OPERATION_CONNECT, "Transfer Account",
@ -1025,7 +1054,7 @@ void ControlState(common::HardwareStateManager& manager, ::std::vector<std::stri
operationMessage.push_back(::std::string("Delete Account Done."));
operationMessage.push_back(::std::string("Operate BMS."));
operationMessage.push_back(::std::string(""));
operationMessage.push_back(::std::string("Press A or START Button to Reboot"));
operationMessage.push_back(::std::string("Press A or START Button to Continue"));
if (!s_PlayedRebootCursor)
{
@ -1035,7 +1064,7 @@ void ControlState(common::HardwareStateManager& manager, ::std::vector<std::stri
if (nextStep)
{
s_RestoreState = REBOOTING;
s_RestoreState = STARTUP;
}
}
}
@ -1076,6 +1105,8 @@ void ControlState(common::HardwareStateManager& manager, ::std::vector<std::stri
init = false;
}
PutAliveMessage(operationMessage, "Importing TWL Sound Data");
// 処理が完了した
if (IsImportThreadFinished())
{
@ -1096,6 +1127,8 @@ void ControlState(common::HardwareStateManager& manager, ::std::vector<std::stri
init = false;
}
PutAliveMessage(operationMessage, "Importing TWL Photo Data");
// 処理が完了した
if (IsImportThreadFinished())
{
@ -1120,6 +1153,8 @@ void ControlState(common::HardwareStateManager& manager, ::std::vector<std::stri
s_RestoreState = FAIL;
}
PutAliveMessage(operationMessage, "Importing Nand Data");
// 処理が完了した
if (!NeedsAcAdater(manager) && IsImportThreadFinished())
{
@ -1289,6 +1324,8 @@ void ControlState(common::HardwareStateManager& manager, ::std::vector<std::stri
init = false;
}
PutAliveMessage(operationMessage, "Importing TWL SaveData");
// 処理が完了した
if (IsImportThreadFinished())
{