QR表示を右ボタンに変更

SDチェック前にボタンを入力させるように
SD抜け後にプリインストールアプリのダウンロードがリトライできるように

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@662 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
N2614 2012-03-13 07:37:15 +00:00
parent 707ab24a28
commit 5898911f72
5 changed files with 74 additions and 38 deletions

View File

@ -199,17 +199,6 @@ extern "C" void nnMain(void)
common::Logger::GetLoggerInstance()->ScrollDown();
}
if(padStatus.hold & nn::hid::BUTTON_LEFT)
{
common::Logger::GetLoggerInstance()->ScrollToBegin();
}
if(padStatus.hold & nn::hid::BUTTON_RIGHT)
{
common::Logger::GetLoggerInstance()->ScrollToEnd();
}
// 情報更新
// ACアダプタ
std::string adapterState;

View File

@ -212,8 +212,8 @@ extern "C" void nnMain(void)
flip = !flip;
}
// Xボタンでモード切替
if(padStatus.trigger & nn::hid::BUTTON_X)
// 左ボタンでQR切替
if(padStatus.trigger & nn::hid::BUTTON_RIGHT)
{
qr = !qr;
}
@ -230,16 +230,6 @@ extern "C" void nnMain(void)
common::Logger::GetLoggerInstance()->ScrollDown();
}
if(padStatus.hold & nn::hid::BUTTON_LEFT)
{
common::Logger::GetLoggerInstance()->ScrollToBegin();
}
if(padStatus.hold & nn::hid::BUTTON_RIGHT)
{
common::Logger::GetLoggerInstance()->ScrollToEnd();
}
// 情報更新
// ACアダプタ
std::string adapterState;

View File

@ -149,9 +149,11 @@ typedef enum RestoreState
FAIL, // 失敗
// プリインストールダウンロードモード
PREINSTALL_WAIT_START_UPDATE, // NUP開始待ち
PREINSTALL_WAIT_SYNC_TICKET, // 開始ボタン待ち
PREINSTALL_DELETE_PERSONALIZED_TICKET, // Personalized eTicketの削除
PREINSTALL_WAIT_USER_SD_INSERT, // ユーザSD挿入待ち
PREINSTALL_WAIT_USER_SD_INSERT_WAIT_NEXT, // ユーザSD挿入後Aボタン待ち
PREINSTALL_CHECK_USER_SD_INSERT, // ユーザSDの挿入チェック
PREINSTALL_CHECK_USER_SD, // ユーザSDのチェック
PREINSTALL_CHECK_USER_SD_ALREADY_INITIALIZED, // ユーザSDのチェック、既に初期化済み
@ -160,6 +162,7 @@ typedef enum RestoreState
PREINSTALL_DOWNLOAD_APP, // アプリダウンロード
PREINSTALL_DOWNLOAD_APP_NOT_ENOUGH_SPACE, // アプリダウンロード失敗、空き容量不足
PREINSTALL_WAIT_USER_SD_EJECT, // ユーザSD抜き出し待ち
PREINSTALL_CHECK_REPAIR_SD_WAIT_NEXT, // 修理用SDのチェック・Aボタン待ち
PREINSTALL_CHECK_REPAIR_SD, // 修理用SDのチェック
RESTORE_STATE_MAX
@ -321,8 +324,15 @@ void CheckNupExecuted(common::HardwareStateManager& manager, common::OperationMe
{
if (nn::nwm::CTR::IsWifiOn())
{
// ネットワークアップデートを行う
s_RestoreState = WAIT_START_UPDATE;
if(s_DownloadPreinstallMode)
{
s_RestoreState = PREINSTALL_WAIT_START_UPDATE;
}
else
{
// ネットワークアップデートを行う
s_RestoreState = WAIT_START_UPDATE;
}
}
else
{
@ -1592,6 +1602,20 @@ void ControlState(common::HardwareStateManager& manager, common::OperationMessag
}
break;
case PREINSTALL_WAIT_START_UPDATE:
{
operationMessage.Add("Operate BMS to Transfer PreInstalled Application");
operationMessage.Add("Press Y Button to Continue.", nn::util::Color8(0, 255, 255, 255));
PlayCursorSound(PREINSTALL_WAIT_START_UPDATE);
if (operateBmsDone)
{
s_RestoreState = WAIT_START_UPDATE;
}
}
break;
case PREINSTALL_WAIT_SYNC_TICKET:
{
operationMessage.Add("Press A or START Button to Continue.");
@ -1607,6 +1631,19 @@ void ControlState(common::HardwareStateManager& manager, common::OperationMessag
{
PlayCursorSound(PREINSTALL_WAIT_USER_SD_INSERT);
operationMessage.Add("Insert User's SD Card");
operationMessage.Add("and Press A or START Button.");
}
break;
case PREINSTALL_WAIT_USER_SD_INSERT_WAIT_NEXT:
{
operationMessage.Add("Insert User's SD Card");
operationMessage.Add("and Press A or START Button.");
if(nextStep)
{
s_RestoreState = PREINSTALL_CHECK_USER_SD_INSERT;
}
}
break;
@ -1732,6 +1769,12 @@ void ControlState(common::HardwareStateManager& manager, common::OperationMessag
case PREINSTALL_FAIL_CHECK_REPAIR_SD:
{
operationMessage.Add("Press A or START Button to Continue.");
if(!nextStep)
{
break;
}
RestoreState saved = PREINSTALL_FAIL_CHECK_REPAIR_SD;
if (nn::fs::IsSdmcInserted())
{
@ -1827,6 +1870,12 @@ void ControlState(common::HardwareStateManager& manager, common::OperationMessag
case PREINSTALL_CHECK_REPAIR_SD:
{
operationMessage.Add("Press A or START Button to Continue.");
if(!nextStep)
{
break;
}
RestoreState saved = PREINSTALL_CHECK_REPAIR_SD;
if (nn::fs::IsSdmcInserted())
{
@ -1894,16 +1943,6 @@ void OnSdEjected()
{
s_RestoreState = FAIL;
}
// FAILのときは一旦電源を切らないと動かないようにしておく
// IVSチェック時はユーザのSDカードを挿入してもらうため
// プリインストール時はユーザのSDカードを挿入してもらうため
else if (s_RestoreState != FAIL && s_RestoreState != CHECK_IVS && s_RestoreState != PREINSTALL_WAIT_USER_SD_INSERT
&& s_RestoreState != PREINSTALL_WAIT_USER_SD_EJECT && s_RestoreState != PREINSTALL_CHECK_SD_FAIL &&
s_RestoreState != PREINSTALL_DOWNLOAD_APP_NOT_ENOUGH_SPACE)
{
InitializeState();
ClearFileReadResult();
}
else if(s_RestoreState == PREINSTALL_CHECK_USER_SD_INSERT)
{
s_RestoreState = PREINSTALL_WAIT_USER_SD_INSERT;
@ -1912,6 +1951,20 @@ void OnSdEjected()
{
s_RestoreState = PREINSTALL_WAIT_USER_SD_EJECT;
}
else if(s_RestoreState == PREINSTALL_FAIL_CHECK_REPAIR_SD)
{
s_RestoreState = PREINSTALL_CHECK_SD_FAIL;
}
// FAILのときは一旦電源を切らないと動かないようにしておく
// IVSチェック時はユーザのSDカードを挿入してもらうため
// プリインストール時はユーザのSDカードを挿入してもらうため
else if (s_RestoreState != FAIL && s_RestoreState != CHECK_IVS && s_RestoreState != PREINSTALL_WAIT_USER_SD_INSERT
&& s_RestoreState != PREINSTALL_WAIT_USER_SD_EJECT && s_RestoreState != PREINSTALL_CHECK_SD_FAIL &&
s_RestoreState != PREINSTALL_DOWNLOAD_APP_NOT_ENOUGH_SPACE && s_RestoreState != PREINSTALL_WAIT_USER_SD_INSERT_WAIT_NEXT)
{
InitializeState();
ClearFileReadResult();
}
}
void OnSdInserted()
@ -1926,7 +1979,7 @@ void OnSdInserted()
{
// SDカードが変わるのでファイルチェックは初期化する
common::InitializeFileCheck();
s_RestoreState = PREINSTALL_CHECK_USER_SD_INSERT;
s_RestoreState = PREINSTALL_WAIT_USER_SD_INSERT_WAIT_NEXT;
}
else if(s_RestoreState == PREINSTALL_WAIT_USER_SD_EJECT)
{
@ -1974,6 +2027,9 @@ void InitializeState()
s_GetIvsOnlyMode = false;
s_CheckSdOnlyMode = false;
s_SkipNupMode = false;
s_ExecutePreparePreinstallTitleDownload = false;
s_ExecutePreinstallTitleDownload = false;
s_PreinstallTitleDownloadSuccess = false;
}
u32 GetProgress()

View File

@ -144,6 +144,7 @@ void PreinstallTitleDownloaderThreadFunc()
TitleDownloader PreinstallTitleDownloader;
s_Progress = 0;
s_FinishedTitleNum = 0;
PreinstallTitleDownloader.SetupTitleList(s_ProgramIdList, s_ProgramIdNum, s_FinishedTitleNum);
PreinstallTitleDownloader.Start();
s_FinishedTitleNum = PreinstallTitleDownloader.GetFinishedTitleNum();

View File

@ -54,7 +54,7 @@ void QrImage::Draw(demo::RenderSystemDrawing& renderSystem, bit64 deviceId, bool
/* 作成するQRコードの情報を設定 */
EncodeData info;
/* バージョンは15とする */
// バージョン2で数字34文字OK
info.version = 12;
/* 誤り訂正レベルH */
info.ecc_level = ECC_LEVEL_H;
@ -65,7 +65,7 @@ void QrImage::Draw(demo::RenderSystemDrawing& renderSystem, bit64 deviceId, bool
*
*
*/
info.total = 0;
info.total = 1;
/* セルのサイズ設定 */
info.cell_size = 3;