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@47 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
27290b0227
commit
3eaa0b3f59
@ -304,6 +304,8 @@ extern "C" void nnMain(void)
|
|||||||
for(;;)
|
for(;;)
|
||||||
{
|
{
|
||||||
bool nextStep = false;
|
bool nextStep = false;
|
||||||
|
bool specialKey = false;
|
||||||
|
|
||||||
s_PadReader.ReadLatest(&padStatus);
|
s_PadReader.ReadLatest(&padStatus);
|
||||||
|
|
||||||
// AまたはSTARTボタンで進行
|
// AまたはSTARTボタンで進行
|
||||||
@ -342,6 +344,13 @@ extern "C" void nnMain(void)
|
|||||||
common::Logger::GetLoggerInstance()->ScrollToEnd();
|
common::Logger::GetLoggerInstance()->ScrollToEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 特殊入力
|
||||||
|
if(padStatus.hold & nn::hid::BUTTON_R &&
|
||||||
|
padStatus.hold & nn::hid::BUTTON_L &&
|
||||||
|
padStatus.hold & nn::hid::BUTTON_B)
|
||||||
|
{
|
||||||
|
specialKey = true;
|
||||||
|
}
|
||||||
|
|
||||||
// 情報更新
|
// 情報更新
|
||||||
// バッテリ
|
// バッテリ
|
||||||
@ -361,7 +370,7 @@ extern "C" void nnMain(void)
|
|||||||
// 進捗確認メッセージを兼ねる?
|
// 進捗確認メッセージを兼ねる?
|
||||||
::std::vector<std::string> operationMessage;
|
::std::vector<std::string> operationMessage;
|
||||||
|
|
||||||
ControlState(operationMessage, nextStep, continueRestore);
|
ControlState(operationMessage, nextStep, continueRestore, specialKey);
|
||||||
|
|
||||||
nn::util::FloatColor titleColor;
|
nn::util::FloatColor titleColor;
|
||||||
|
|
||||||
|
|||||||
@ -18,6 +18,8 @@
|
|||||||
#include <nn/CTR/CTR_DeliverArg.h>
|
#include <nn/CTR/CTR_DeliverArg.h>
|
||||||
#include <nn/fs/CTR/MPCore/fs_FileSystemBasePrivate.h>
|
#include <nn/fs/CTR/MPCore/fs_FileSystemBasePrivate.h>
|
||||||
#include <nn/ptm/CTR/ptm_ApiSysmenu.h>
|
#include <nn/ptm/CTR/ptm_ApiSysmenu.h>
|
||||||
|
#include <nn/ptm/CTR/ptm_ApiSystem.h>
|
||||||
|
#include <nn/pl/CTR/pl_PlayHistoryApiSysmenu.h>
|
||||||
|
|
||||||
#include "Controller.h"
|
#include "Controller.h"
|
||||||
#include "FileChecker.h"
|
#include "FileChecker.h"
|
||||||
@ -52,6 +54,7 @@ typedef enum RestoreState
|
|||||||
TIME_ADJUST, // 時計あわせを行う
|
TIME_ADJUST, // 時計あわせを行う
|
||||||
WAIT_SD_EJECT, // SDカードぬき待ち
|
WAIT_SD_EJECT, // SDカードぬき待ち
|
||||||
ALL_DONE, // すべて完了
|
ALL_DONE, // すべて完了
|
||||||
|
SHUTDOWN, // シャットダウン中
|
||||||
FAIL // 失敗
|
FAIL // 失敗
|
||||||
} RestoreState;
|
} RestoreState;
|
||||||
|
|
||||||
@ -161,7 +164,7 @@ void ExecSyncMcuRtc()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ControlState(::std::vector<std::string>& operationMessage, bool& nextStep, bool& continueRestore)
|
void ControlState(::std::vector<std::string>& operationMessage, bool& nextStep, bool& continueRestore, bool specialKey)
|
||||||
{
|
{
|
||||||
using namespace common;
|
using namespace common;
|
||||||
|
|
||||||
@ -313,7 +316,12 @@ void ControlState(::std::vector<std::string>& operationMessage, bool& nextStep,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nextStep && !error)
|
if(specialKey)
|
||||||
|
{
|
||||||
|
s_RestoreState = SHUTDOWN;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nextStep && !error && !specialKey)
|
||||||
{
|
{
|
||||||
if (needsUpdate)
|
if (needsUpdate)
|
||||||
{
|
{
|
||||||
@ -353,7 +361,12 @@ void ControlState(::std::vector<std::string>& operationMessage, bool& nextStep,
|
|||||||
PlaySound(SOUND_ANNOTATION);
|
PlaySound(SOUND_ANNOTATION);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nextStep)
|
if(specialKey)
|
||||||
|
{
|
||||||
|
s_RestoreState = SHUTDOWN;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nextStep && !specialKey)
|
||||||
{
|
{
|
||||||
s_RestoreState = RESTORE_TWL_SOUND;
|
s_RestoreState = RESTORE_TWL_SOUND;
|
||||||
}
|
}
|
||||||
@ -682,6 +695,15 @@ void ControlState(::std::vector<std::string>& operationMessage, bool& nextStep,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case SHUTDOWN:
|
||||||
|
{
|
||||||
|
// 本体初期化を行う
|
||||||
|
InitializeFileSystem();
|
||||||
|
|
||||||
|
// シャットダウンする
|
||||||
|
nn::ptm::CTR::ShutdownAsync(0, nn::fnd::TimeSpan::FromSeconds(0));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -25,7 +25,7 @@ namespace ConsoleRestore
|
|||||||
|
|
||||||
const u32 RETRY_MAX = 3;
|
const u32 RETRY_MAX = 3;
|
||||||
|
|
||||||
void ControlState(::std::vector<std::string>& operationMessage, bool& nextStep, bool& continueRestore);
|
void ControlState(::std::vector<std::string>& operationMessage, bool& nextStep, bool& continueRestore, bool specialKey);
|
||||||
bool InProgress();
|
bool InProgress();
|
||||||
bool IsRestoreSucceeded();
|
bool IsRestoreSucceeded();
|
||||||
bool IsRestoreFailed();
|
bool IsRestoreFailed();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user