diff --git a/trunk/ConsoleDataMigration/sources/ConsoleRestore/Controller.cpp b/trunk/ConsoleDataMigration/sources/ConsoleRestore/Controller.cpp index 8a08223..69f775c 100644 --- a/trunk/ConsoleDataMigration/sources/ConsoleRestore/Controller.cpp +++ b/trunk/ConsoleDataMigration/sources/ConsoleRestore/Controller.cpp @@ -149,6 +149,7 @@ typedef enum RestoreState INITIALIZE_AND_SHUTDOWN, // 本体初期化後にシャットダウン中 FAIL, // 失敗 + PREINSTALL_WAIT_SYNC_TICKET, //プリインストールダウンロードモード・Aボタン待ち PREINSTALL_WAIT_USER_SD_INSERT, // プリインストールダウンロードモード・ユーザSD挿入待ち PREINSTALL_CHECK_SD, // プリインストールダウンロードモード・ユーザSDのチェック PREINSTALL_CHECK_SD_FAIL, // プリインストールダウンロードモード・ユーザSDのチェック失敗 @@ -156,8 +157,22 @@ typedef enum RestoreState PREINSTALL_WAIT_USER_SD_EJECT // プリインストールダウンロードモード・ユーザSD抜き出し待ち } RestoreState; +#define BREAK_IF_STATE_CHANGED(saved, current) \ + if(saved != current) \ + {\ + break;\ + }\ +// SD挿抜が起こらなかった時のみ次の状態に遷移する +void ChangeState(RestoreState saved, RestoreState& current, RestoreState next) +{ + if(saved == current) + { + current = next; + } +} + // Restore状態管理 RestoreState s_RestoreState = STARTUP; // Restoreモード管理 @@ -255,7 +270,7 @@ void CheckNupExecuted(common::HardwareStateManager& manager, ::std::vector