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@90 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
e82097d992
commit
908a485786
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user