diff --git a/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreorderTitleRestorer.cpp b/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreorderTitleRestorer.cpp index bdef00c..2df7543 100644 --- a/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreorderTitleRestorer.cpp +++ b/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreorderTitleRestorer.cpp @@ -72,7 +72,7 @@ nn::Result PreorderTitleRestorer::Execute(nn::ProgramId list[], size_t size, nn: for(s32 i = 0; i < size; ++i) { - m_Progress = i * 100 / size; + NN_LOG("progress=%llu\n", m_Progress); std::string xml; nn::cfg::CfgCountryCode deliveredCountry; COMMON_LOGGER_RETURN_RESULT_IF_FAILED( @@ -80,6 +80,7 @@ nn::Result PreorderTitleRestorer::Execute(nn::ProgramId list[], size_t size, nn: COMMON_LOGGER_RETURN_RESULT_IF_FAILED( SetExternalSeedOrPlayableDate(list[i], deliveredCountry, xml)); + m_Progress = (i + 1) * 100 / size; } COMMON_LOGGER_RETURN_RESULT_IF_FAILED( diff --git a/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreorderTitleRestorerManager.cpp b/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreorderTitleRestorerManager.cpp index 95cc4ac..86f39e1 100644 --- a/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreorderTitleRestorerManager.cpp +++ b/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreorderTitleRestorerManager.cpp @@ -22,7 +22,6 @@ const size_t PreorderTitleRestorerManager::STACK_SIZE; nn::Result PreorderTitleRestorerManager::s_Result; nn::os::Thread PreorderTitleRestorerManager::s_Thread; nn::os::StackBuffer PreorderTitleRestorerManager::s_ThreadStack; -bool PreorderTitleRestorerManager::s_Started = false; PreorderTitleRestorer* PreorderTitleRestorerManager::m_Restorer = NULL; nn::ProgramId* PreorderTitleRestorerManager::s_List; size_t PreorderTitleRestorerManager::s_Size; @@ -44,20 +43,16 @@ PreorderTitleRestorerManager::~PreorderTitleRestorerManager() void PreorderTitleRestorerManager::Start(nn::ProgramId list[], size_t size, nn::cfg::CTR::CfgCountryCode country, nn::cfg::CTR::CfgRegionCode region) { - if(!s_Started) - { - s_List = list; - s_Size = size; - s_Country = country; - s_Region = region; - s_Thread.Start(ThreadFunc, s_ThreadStack); - s_Started = true; - } + s_List = list; + s_Size = size; + s_Country = country; + s_Region = region; + s_Thread.Start(ThreadFunc, s_ThreadStack); } bool PreorderTitleRestorerManager::IsFinished() { - return s_Thread.IsAlive(); + return s_Thread.IsValid() && !s_Thread.IsAlive(); } nn::Result PreorderTitleRestorerManager::GetResult() @@ -67,7 +62,7 @@ nn::Result PreorderTitleRestorerManager::GetResult() void PreorderTitleRestorerManager::End() { - if(s_Started) + if(s_Thread.IsValid()) { s_Thread.Join(); s_Thread.Finalize(); @@ -75,7 +70,6 @@ void PreorderTitleRestorerManager::End() { delete m_Restorer; } - s_Started = false; } } diff --git a/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreorderTitleRestorerManager.h b/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreorderTitleRestorerManager.h index 8312761..a4c99d3 100644 --- a/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreorderTitleRestorerManager.h +++ b/trunk/ConsoleDataMigration/sources/ConsoleRestore/PreorderTitleRestorerManager.h @@ -49,7 +49,6 @@ private: static const size_t STACK_SIZE = 12 * 1024; static nn::os::StackBuffer s_ThreadStack; static PreorderTitleRestorer* m_Restorer; - static bool s_Started; }; } /* namespace ConsoleRestore */