mirror of
https://github.com/rvtr/ctr_Repair.git
synced 2025-10-31 13:51:08 -04:00
TWLタイトルダウンロードの進捗を表示するように
Updater、Shopのエラーをログ出力するように git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@289 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
parent
af27b44ed1
commit
d1c5bd626c
@ -1589,6 +1589,10 @@ u32 GetProgress()
|
||||
{
|
||||
return GetUpdateProgress();
|
||||
}
|
||||
else if(s_RestoreState == DOWNLOAD_TWL)
|
||||
{
|
||||
return GetTitleDownloadProgress();
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
|
||||
@ -34,11 +34,12 @@ do { \
|
||||
if (result.IsFailure()) \
|
||||
{ \
|
||||
ECCustomerSupportCode csc; \
|
||||
nn::nim::Shop::GetCustomerSupportCode(&csc); \
|
||||
COMMON_LOGGER("CSCode: %d\n", csc); \
|
||||
nn::nim::Shop::GetCustomerSupportCode(&csc); \
|
||||
COMMON_LOGGER("CSCode: %d\n", csc); \
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); \
|
||||
nn::dbg::PrintResult(result); \
|
||||
s_ShopResult = result; \
|
||||
return; \
|
||||
s_ShopResult = result; \
|
||||
return; \
|
||||
} \
|
||||
} while(0)
|
||||
namespace
|
||||
|
||||
@ -34,6 +34,7 @@ bit8 s_buffer1[400 * 1024];
|
||||
const size_t TITLE_DOWNLOADER_STACK_SIZE = 0x1000;
|
||||
nn::os::Thread s_TitleDownloaderThread;
|
||||
nn::os::StackBuffer<TITLE_DOWNLOADER_STACK_SIZE> s_TitleDownloaderThreadStack;
|
||||
u64 s_Progress;
|
||||
|
||||
nn::fs::MediaType GetMediaType(const ES_NAMESPACE::ESTitleId titleId)
|
||||
{
|
||||
@ -117,6 +118,7 @@ void TitleDownloaderThreadFunc()
|
||||
{
|
||||
TitleDownloader TwlTitleDownloader;
|
||||
|
||||
s_Progress = 0;
|
||||
TwlTitleDownloader.Start();
|
||||
}
|
||||
|
||||
@ -135,6 +137,10 @@ bool DownloadTitleSucceeded()
|
||||
return TitleDownloader::m_Result.IsSuccess() && GetShopOperationSingleResult().IsSuccess();
|
||||
}
|
||||
|
||||
u32 GetTitleDownloadProgress()
|
||||
{
|
||||
return s_Progress;
|
||||
}
|
||||
|
||||
|
||||
TitleDownloader::TitleDownloader() : m_TwlTiteNum(0)
|
||||
@ -190,6 +196,7 @@ void TitleDownloader::Start()
|
||||
|
||||
for(u8 i = 0; i < m_TwlTiteNum; i++)
|
||||
{
|
||||
s_Progress = i * 100 / m_TwlTiteNum;
|
||||
StartShopOperationSingle(SHOP_OPERATION_CONNECT_WITHOUT_CLOSE);
|
||||
WaitShopOperationAndFinalize();
|
||||
|
||||
|
||||
@ -30,6 +30,9 @@ bool DownloadTitleFinished();
|
||||
// タイトルのダウンロードスレッドが成功したかどうか
|
||||
bool DownloadTitleSucceeded();
|
||||
|
||||
// タイトルダウンロードの進捗を取得する
|
||||
u32 GetTitleDownloadProgress();
|
||||
|
||||
// ショップからタイトルをダウンロードするためのクラス
|
||||
class TitleDownloader
|
||||
{
|
||||
|
||||
@ -41,6 +41,7 @@ do { \
|
||||
NN_UTIL_PANIC_IF_FAILED( \
|
||||
nn::nim::Updater::GetCustomerSupportCode(&csc)); \
|
||||
COMMON_LOGGER("CSCode: %d\n", csc); \
|
||||
COMMON_LOGGER_RESULT_IF_FAILED_WITH_LINE(result); \
|
||||
nn::dbg::PrintResult(result); \
|
||||
s_Result = result; \
|
||||
goto LABEL_FINALIZE; \
|
||||
|
||||
Loading…
Reference in New Issue
Block a user