まず無線設定の確認を行うように

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@90 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
N2614 2011-02-24 05:52:34 +00:00
parent e82097d992
commit 908a485786

View File

@ -236,134 +236,141 @@ void ControlState(::std::vector<std::string>& operationMessage, bool& nextStep,
{
CheckAndReadVersionData(operationMessage);
validApSetting = CheckAndReadAPSetting(operationMessage);
// NUPが必要か
if (!NeedsNup())
if (!validApSetting)
{
if (s_NupOnlyMode)
{
s_RestoreState = NUP_ONLY_WAIT_SD_EJECT;
// リストア状態チェックファイルをすべて削除
DeleteAllCheckFiles();
break;
}
// SDカードに書き込み完了ファイルがあるか
if (!ExistsWriteFinishedFile())
{
// IVSを読めるか
if (CanReadIVS())
{
// 本体初期化完了ファイルがあるか?
if (ExistsConsoleInitializedFile())
{
// SDカードにシリアルナンバーがあるか
if (!ExistsSerialNumberFile())
{
COMMON_LOGGER("Can't Read Serial Number in SD Card!!\n");
error = true;
s_RestoreState = SERIAL_IS_NOT_IN_SD;
}
else
{
::std::string serial(reinterpret_cast<char*> (ReadSerialNumber()));
operationMessage.push_back(::std::string("Serial Number in SD : ") + serial);
}
// SDカードに書き込みできるか
if (nextStep && !nn::fs::IsSdmcWritable())
{
error = true;
PlaySound(SOUND_ANNOTATION);
COMMON_LOGGER("Can't Write SD Card!!\n");
}
// SDカードにリージョンデータがあるか
if(ExistsRegionData())
{
// リージョンデータは一致しているか?
if(!EqualsRegionDataandRegion())
{
COMMON_LOGGER("Current Region and Region in SD differ!!\n");
error = true;
s_RestoreState = FAIL;
}
}
else
{
// 移行不能なのでFAIL
COMMON_LOGGER("Can't Read Region in SD Card!!\n");
error = true;
s_RestoreState = FAIL;
}
}
else
{
if (!ExistsIVSFile())
{
// 移行不能なのでFAIL
COMMON_LOGGER("Can't Read IVS in SD Card!!\n");
error = true;
s_RestoreState = FAIL;
}
else
{
COMMON_LOGGER("Initialize Console\n");
// SDカードのIVSと本体のIVSは異なるか
if (EqualsIVSFileandIVS())
{
// 同一本体に書き戻そうとしたファイルを作る
COMMON_LOGGER("Restore to the same console. Initialize.\n");
CreateTryRestoreSameConsoleFile();
}
else
{
// 本体初期化完了ファイルを作る
CreateConsoleInitializedFile();
}
// ファイルシステムの初期化を行う
InitializeFileSystem();
error = true;
s_RestoreState = REBOOTING;
}
}
}
else
{
error = true;
operationMessage.push_back(::std::string("Can't Read IVS!!"));
}
}
else
{
if(validApSetting)
{
// 削除処理を行う
needsErase = true;
}
else
{
error = true;
}
}
error = true;
}
else
{
if (validApSetting)
// NUPが必要か
if (!NeedsNup())
{
// ネットワークアップデートを行う
needsUpdate = true;
if (s_NupOnlyMode)
{
s_RestoreState = NUP_ONLY_WAIT_SD_EJECT;
// リストア状態チェックファイルをすべて削除
DeleteAllCheckFiles();
break;
}
// SDカードに書き込み完了ファイルがあるか
if (!ExistsWriteFinishedFile())
{
// IVSを読めるか
if (CanReadIVS())
{
// 本体初期化完了ファイルがあるか?
if (ExistsConsoleInitializedFile())
{
// SDカードにシリアルナンバーがあるか
if (!ExistsSerialNumberFile())
{
COMMON_LOGGER("Can't Read Serial Number in SD Card!!\n");
error = true;
s_RestoreState = SERIAL_IS_NOT_IN_SD;
}
else
{
::std::string serial(reinterpret_cast<char*> (ReadSerialNumber()));
operationMessage.push_back(::std::string("Serial Number in SD : ") + serial);
}
// SDカードに書き込みできるか
if (nextStep && !nn::fs::IsSdmcWritable())
{
error = true;
PlaySound(SOUND_ANNOTATION);
COMMON_LOGGER("Can't Write SD Card!!\n");
}
// SDカードにリージョンデータがあるか
if (ExistsRegionData())
{
// リージョンデータは一致しているか?
if (!EqualsRegionDataandRegion())
{
COMMON_LOGGER("Current Region and Region in SD differ!!\n");
error = true;
s_RestoreState = FAIL;
}
}
else
{
// 移行不能なのでFAIL
COMMON_LOGGER("Can't Read Region in SD Card!!\n");
error = true;
s_RestoreState = FAIL;
}
}
else
{
if (!ExistsIVSFile())
{
// 移行不能なのでFAIL
COMMON_LOGGER("Can't Read IVS in SD Card!!\n");
error = true;
s_RestoreState = FAIL;
}
else
{
COMMON_LOGGER("Initialize Console\n");
// SDカードのIVSと本体のIVSは異なるか
if (EqualsIVSFileandIVS())
{
// 同一本体に書き戻そうとしたファイルを作る
COMMON_LOGGER("Restore to the same console. Initialize.\n");
CreateTryRestoreSameConsoleFile();
}
else
{
// 本体初期化完了ファイルを作る
CreateConsoleInitializedFile();
}
// ファイルシステムの初期化を行う
InitializeFileSystem();
error = true;
s_RestoreState = REBOOTING;
}
}
}
else
{
error = true;
operationMessage.push_back(::std::string("Can't Read IVS!!"));
}
}
else
{
if (validApSetting)
{
// 削除処理を行う
needsErase = true;
}
else
{
error = true;
}
}
}
else
{
error = true;
if (validApSetting)
{
// ネットワークアップデートを行う
needsUpdate = true;
}
else
{
error = true;
}
}
}
}
else