From 90f3506aa605c96f9d716d7df975d5efbc3b695d Mon Sep 17 00:00:00 2001 From: kamikawa Date: Mon, 21 Apr 2008 12:22:12 +0000 Subject: [PATCH] =?UTF-8?q?=E3=82=BF=E3=82=A4=E3=83=88=E3=83=AB=E3=82=92?= =?UTF-8?q?=E3=82=A4=E3=83=B3=E3=83=9D=E3=83=BC=E3=83=88=E3=81=99=E3=82=8B?= =?UTF-8?q?=E5=89=8D=E3=81=AB=20NAM=5FDeleteTitleCompletely=20=E3=81=A7?= =?UTF-8?q?=E3=82=BF=E3=82=A4=E3=83=88=E3=83=AB=E3=82=92=E5=AE=8C=E5=85=A8?= =?UTF-8?q?=E6=B6=88=E5=8E=BB=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= =?UTF-8?q?=E5=A4=89=E6=9B=B4=E3=80=82=20=E5=8F=A4=E3=81=84e-ticket?= =?UTF-8?q?=E3=81=8C=E5=AD=98=E5=9C=A8=E3=81=97=E3=81=A6=E3=81=84=E3=82=8B?= =?UTF-8?q?=E7=8A=B6=E6=85=8B=E3=81=A7=E6=96=B0=E3=81=97=E3=81=84ES?= =?UTF-8?q?=E3=82=92=E4=BD=BF=E3=81=A3=E3=81=A6=E3=82=A4=E3=83=B3=E3=83=9D?= =?UTF-8?q?=E3=83=BC=E3=83=88=E3=81=97=E3=82=88=E3=81=86=E3=81=A8=E3=81=99?= =?UTF-8?q?=E3=82=8B=E3=81=A8=E5=A4=B1=E6=95=97=E3=81=99=E3=82=8B=E5=95=8F?= =?UTF-8?q?=E9=A1=8C=E3=82=92=E5=9B=9E=E9=81=BF=E3=81=99=E3=82=8B=E3=81=9F?= =?UTF-8?q?=E3=82=81=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1203 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../libraries_sysmenu/namut/ARM9/src/namut.c | 2 +- .../NandInitializerRed/ARM9.TWL/Makefile | 4 ---- .../ARM9.TWL/src/process_import.c | 19 ++++++++++++++----- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/build/libraries_sysmenu/namut/ARM9/src/namut.c b/build/libraries_sysmenu/namut/ARM9/src/namut.c index c3a04be0..65c86d70 100644 --- a/build/libraries_sysmenu/namut/ARM9/src/namut.c +++ b/build/libraries_sysmenu/namut/ARM9/src/namut.c @@ -659,7 +659,7 @@ static void NAMUTi_DrawNandTree(s32 depth, const char *path) FS_InitFile(&dir); // 引数で指定されたディレクトリを開く - if (!FS_OpenDirectory(&dir, sCurrentFullPath, (FS_FILEMODE_R|FS_FILEMODE_W))) + if (!FS_OpenDirectory(&dir, sCurrentFullPath, (FS_FILEMODE_R))) { OS_TPrintf("%d Fail! FS_OpenDirectory(%s)\n", __LINE__, sCurrentFullPath); return; diff --git a/build/systemMenu_RED/NandInitializerRed/ARM9.TWL/Makefile b/build/systemMenu_RED/NandInitializerRed/ARM9.TWL/Makefile index c7d56059..8146a5a6 100644 --- a/build/systemMenu_RED/NandInitializerRed/ARM9.TWL/Makefile +++ b/build/systemMenu_RED/NandInitializerRed/ARM9.TWL/Makefile @@ -16,9 +16,6 @@ # $Author$ #---------------------------------------------------------------------------- -SUBDIRS = $(ROOT)/build/demos/gx/UnitTours/DEMOLib - - #---------------------------------------------------------------------------- #============================================================================ @@ -92,7 +89,6 @@ LLIBRARIES += libes$(TWL_LIBSUFFIX).a \ libnamut$(TWL_LIBSUFFIX).a include $(TWL_IPL_RED_ROOT)/build/buildtools/commondefs -include $(TWLSDK_ROOT)/build/buildtools/commondefs.gx.demolib MAKEROM = $(TWL_TOOLSDIR)/bin/makerom.TWL.secure.exe diff --git a/build/systemMenu_RED/NandInitializerRed/ARM9.TWL/src/process_import.c b/build/systemMenu_RED/NandInitializerRed/ARM9.TWL/src/process_import.c index 931b928d..10f4ad47 100644 --- a/build/systemMenu_RED/NandInitializerRed/ARM9.TWL/src/process_import.c +++ b/build/systemMenu_RED/NandInitializerRed/ARM9.TWL/src/process_import.c @@ -625,7 +625,7 @@ void* ImportIndividuallyProcess2(void) static BOOL ImportTad(char* file_name, TadWriteOption option) { NAMTadInfo tadInfo; - NAMTitleInfo titleInfo; + NAMTitleInfo titleInfoTmp; char full_path[FS_ENTRY_LONGNAME_MAX+6]; OSThread thread; BOOL ret = FALSE; @@ -641,17 +641,17 @@ static BOOL ImportTad(char* file_name, TadWriteOption option) } // NANDの情報を取得 - if ( option != TAD_WRITE_OPTION_OVERWRITE && NAM_ReadTitleInfo(&titleInfo, tadInfo.titleInfo.titleId) == NAM_OK) + if ( option != TAD_WRITE_OPTION_OVERWRITE && NAM_ReadTitleInfo(&titleInfoTmp, tadInfo.titleInfo.titleId) == NAM_OK) { // NANDに既にインストールされているかどうか確認する - if (tadInfo.titleInfo.titleId == titleInfo.titleId) + if (tadInfo.titleInfo.titleId == titleInfoTmp.titleId) { switch (option) { case TAD_WRITE_OPTION_NONEXISTENT: return TRUE; case TAD_WRITE_OPTION_USER: - ShowTitleinfoDifference(&titleInfo, &tadInfo.titleInfo); + ShowTitleinfoDifference(&titleInfoTmp, &tadInfo.titleInfo); kamiFontPrintfConsole(1, "The program has already existed."); kamiFontPrintfConsole(1, "Do you overwrite ?\n"); @@ -689,6 +689,15 @@ static BOOL ImportTad(char* file_name, TadWriteOption option) } } + // ESの仕様で古い e-ticket があると新しい e-ticket を使ったインポートができない + // 暫定対応として該当タイトルを完全削除してからインポートする + nam_result = NAM_DeleteTitleCompletely(tadInfo.titleInfo.titleId); + if ( nam_result != NAM_OK ) + { + kamiFontPrintfConsole(CONSOLE_RED, "Fail! RetCode=%x\n", nam_result); + return FALSE; + } + // インポート開始フラグを立てる sNowImport = TRUE; @@ -717,7 +726,7 @@ static BOOL ImportTad(char* file_name, TadWriteOption option) } else { - kamiFontPrintfConsole(CONSOLE_RED, "Fail!\n"); + kamiFontPrintfConsole(CONSOLE_RED, "Fail! RetCode=%x\n", nam_result); } // InstalledSoftBoxCount, FreeSoftBoxCount の値を現在のNANDの状態に合わせて更新します。