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);
|
CheckAndReadVersionData(operationMessage);
|
||||||
validApSetting = CheckAndReadAPSetting(operationMessage);
|
validApSetting = CheckAndReadAPSetting(operationMessage);
|
||||||
|
if (!validApSetting)
|
||||||
// NUPが必要か?
|
|
||||||
if (!NeedsNup())
|
|
||||||
{
|
{
|
||||||
if (s_NupOnlyMode)
|
error = true;
|
||||||
{
|
|
||||||
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
|
else
|
||||||
{
|
{
|
||||||
if (validApSetting)
|
// NUPが必要か?
|
||||||
|
if (!NeedsNup())
|
||||||
{
|
{
|
||||||
// ネットワークアップデートを行う
|
if (s_NupOnlyMode)
|
||||||
needsUpdate = true;
|
{
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
error = true;
|
if (validApSetting)
|
||||||
|
{
|
||||||
|
// ネットワークアップデートを行う
|
||||||
|
needsUpdate = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
error = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user