mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
タイトルをインポートする前に NAM_DeleteTitleCompletely でタイトルを完全消去するように変更。
古いe-ticketが存在している状態で新しいESを使ってインポートしようとすると失敗する問題を回避するため。 git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1203 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
6d59270df5
commit
90f3506aa6
@ -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;
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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の状態に合わせて更新します。
|
||||
|
||||
Loading…
Reference in New Issue
Block a user