mirror of
https://gitlab.com/Theopse/fbi-i18n-zh.git
synced 2025-08-23 23:09:46 +08:00
Improve title destination detection.
This commit is contained in:
parent
d0ea37d0e0
commit
81cb06aad7
@ -133,7 +133,7 @@ static Result action_install_cdn_close_dst(void* data, u32 index, bool succeeded
|
||||
} else {
|
||||
Result res = 0;
|
||||
if(R_SUCCEEDED(res = AM_InstallContentFinish(handle)) && index == 1 && installData->contentCount > 1 && ((installData->ticket->titleId >> 48) & 0x4) != 0 && ((installData->ticket->titleId >> 32) & 0x4) != 0) {
|
||||
FS_MediaType dest = ((installData->ticket->titleId >> 32) & 0x8010) != 0 ? MEDIATYPE_NAND : MEDIATYPE_SD;
|
||||
FS_MediaType dest = (installData->ticket->titleId & 0x0000801000000002) != 0 ? MEDIATYPE_NAND : MEDIATYPE_SD;
|
||||
if(R_SUCCEEDED(res = AM_InstallTitleFinish())
|
||||
&& R_SUCCEEDED(res = AM_CommitImportTitles(dest, 1, false, &installData->ticket->titleId))
|
||||
&& R_SUCCEEDED(res = AM_InstallTitleBegin(dest, installData->ticket->titleId, false))) {
|
||||
@ -181,7 +181,7 @@ static Result action_install_cdn_suspend(void* data, u32 index) {
|
||||
static Result action_install_cdn_restore(void* data, u32 index) {
|
||||
install_cdn_data* installData = (install_cdn_data*) data;
|
||||
|
||||
return AM_InstallTitleResume(((installData->ticket->titleId >> 32) & 0x8010) != 0 ? MEDIATYPE_NAND : MEDIATYPE_SD, installData->ticket->titleId);
|
||||
return AM_InstallTitleResume((installData->ticket->titleId & 0x0000801000000002) != 0 ? MEDIATYPE_NAND : MEDIATYPE_SD, installData->ticket->titleId);
|
||||
}
|
||||
|
||||
bool action_install_cdn_error(void* data, u32 index, Result res) {
|
||||
@ -221,7 +221,7 @@ static void action_install_cdn_update(ui_view* view, void* data, float* progress
|
||||
|
||||
if(R_SUCCEEDED(installData->installInfo.result)) {
|
||||
if(R_SUCCEEDED(res = AM_InstallTitleFinish())
|
||||
&& R_SUCCEEDED(res = AM_CommitImportTitles(((installData->ticket->titleId >> 32) & 0x8010) != 0 ? MEDIATYPE_NAND : MEDIATYPE_SD, 1, false, &installData->ticket->titleId))) {
|
||||
&& R_SUCCEEDED(res = AM_CommitImportTitles((installData->ticket->titleId & 0x0000801000000002) != 0 ? MEDIATYPE_NAND : MEDIATYPE_SD, 1, false, &installData->ticket->titleId))) {
|
||||
util_import_seed(installData->ticket->titleId);
|
||||
|
||||
if(installData->ticket->titleId == 0x0004013800000002 || installData->ticket->titleId == 0x0004013820000002) {
|
||||
@ -256,7 +256,7 @@ static void action_install_cdn_update(ui_view* view, void* data, float* progress
|
||||
}
|
||||
|
||||
static void action_install_cdn_start(install_cdn_data* data) {
|
||||
FS_MediaType dest = ((data->ticket->titleId >> 32) & 0x8010) != 0 ? MEDIATYPE_NAND : MEDIATYPE_SD;
|
||||
FS_MediaType dest = (data->ticket->titleId & 0x0000801000000002) != 0 ? MEDIATYPE_NAND : MEDIATYPE_SD;
|
||||
|
||||
AM_DeleteTitle(dest, data->ticket->titleId);
|
||||
if(dest == MEDIATYPE_SD) {
|
||||
|
@ -122,7 +122,7 @@ static Result action_install_cias_open_dst(void* data, u32 index, void* initialR
|
||||
|
||||
u64 titleId = util_get_cia_title_id((u8*) initialReadBlock);
|
||||
|
||||
FS_MediaType dest = ((titleId >> 32) & 0x8010) != 0 ? MEDIATYPE_NAND : MEDIATYPE_SD;
|
||||
FS_MediaType dest = (titleId & 0x0000801000000002) != 0 ? MEDIATYPE_NAND : MEDIATYPE_SD;
|
||||
|
||||
bool n3ds = false;
|
||||
if(R_SUCCEEDED(APT_CheckNew3DS(&n3ds)) && !n3ds && ((titleId >> 28) & 0xF) == 2) {
|
||||
|
@ -137,7 +137,7 @@ static Result action_url_install_open_dst(void* data, u32 index, void* initialRe
|
||||
} else if(*(u16*) initialReadBlock == 0x2020) {
|
||||
u64 titleId = util_get_cia_title_id((u8*) initialReadBlock);
|
||||
|
||||
FS_MediaType dest = ((titleId >> 32) & 0x8010) != 0 ? MEDIATYPE_NAND : MEDIATYPE_SD;
|
||||
FS_MediaType dest = (titleId & 0x0000801000000002) != 0 ? MEDIATYPE_NAND : MEDIATYPE_SD;
|
||||
|
||||
bool n3ds = false;
|
||||
if(R_SUCCEEDED(APT_CheckNew3DS(&n3ds)) && !n3ds && ((titleId >> 28) & 0xF) == 2) {
|
||||
|
@ -142,7 +142,7 @@ static Result networkinstall_open_dst(void* data, u32 index, void* initialReadBl
|
||||
} else if(*(u16*) initialReadBlock == 0x2020) {
|
||||
u64 titleId = util_get_cia_title_id((u8*) initialReadBlock);
|
||||
|
||||
FS_MediaType dest = ((titleId >> 32) & 0x8010) != 0 ? MEDIATYPE_NAND : MEDIATYPE_SD;
|
||||
FS_MediaType dest = (titleId & 0x0000801000000002) != 0 ? MEDIATYPE_NAND : MEDIATYPE_SD;
|
||||
|
||||
bool n3ds = false;
|
||||
if(R_SUCCEEDED(APT_CheckNew3DS(&n3ds)) && !n3ds && ((titleId >> 28) & 0xF) == 2) {
|
||||
|
@ -63,7 +63,7 @@ Result task_create_file_item(list_item** out, FS_Archive archive, const char* pa
|
||||
fileInfo->ciaInfo.installedSize = titleEntry.size;
|
||||
fileInfo->ciaInfo.hasMeta = false;
|
||||
|
||||
if(((titleEntry.titleID >> 32) & 0x8010) != 0 && R_SUCCEEDED(AM_GetCiaFileInfo(MEDIATYPE_NAND, &titleEntry, fileHandle))) {
|
||||
if((titleEntry.titleID & 0x0000801000000002) != 0 && R_SUCCEEDED(AM_GetCiaFileInfo(MEDIATYPE_NAND, &titleEntry, fileHandle))) {
|
||||
fileInfo->ciaInfo.installedSize = titleEntry.size;
|
||||
}
|
||||
|
||||
|
@ -106,7 +106,7 @@ static void task_populate_titledb_thread(void* arg) {
|
||||
}
|
||||
|
||||
AM_TitleEntry entry;
|
||||
if(R_SUCCEEDED(AM_GetTitleInfo(((titledbInfo->titleId >> 32) & 0x8010) != 0 ? MEDIATYPE_NAND : MEDIATYPE_SD, 1, &titledbInfo->titleId, &entry))) {
|
||||
if(R_SUCCEEDED(AM_GetTitleInfo((titledbInfo->titleId & 0x0000801000000002) != 0 ? MEDIATYPE_NAND : MEDIATYPE_SD, 1, &titledbInfo->titleId, &entry))) {
|
||||
item->color = COLOR_INSTALLED;
|
||||
} else {
|
||||
item->color = COLOR_NOT_INSTALLED;
|
||||
|
Loading…
x
Reference in New Issue
Block a user