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);
|
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);
|
OS_TPrintf("%d Fail! FS_OpenDirectory(%s)\n", __LINE__, sCurrentFullPath);
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -16,9 +16,6 @@
|
|||||||
# $Author$
|
# $Author$
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
SUBDIRS = $(ROOT)/build/demos/gx/UnitTours/DEMOLib
|
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
#============================================================================
|
#============================================================================
|
||||||
@ -92,7 +89,6 @@ LLIBRARIES += libes$(TWL_LIBSUFFIX).a \
|
|||||||
libnamut$(TWL_LIBSUFFIX).a
|
libnamut$(TWL_LIBSUFFIX).a
|
||||||
|
|
||||||
include $(TWL_IPL_RED_ROOT)/build/buildtools/commondefs
|
include $(TWL_IPL_RED_ROOT)/build/buildtools/commondefs
|
||||||
include $(TWLSDK_ROOT)/build/buildtools/commondefs.gx.demolib
|
|
||||||
|
|
||||||
MAKEROM = $(TWL_TOOLSDIR)/bin/makerom.TWL.secure.exe
|
MAKEROM = $(TWL_TOOLSDIR)/bin/makerom.TWL.secure.exe
|
||||||
|
|
||||||
|
|||||||
@ -625,7 +625,7 @@ void* ImportIndividuallyProcess2(void)
|
|||||||
static BOOL ImportTad(char* file_name, TadWriteOption option)
|
static BOOL ImportTad(char* file_name, TadWriteOption option)
|
||||||
{
|
{
|
||||||
NAMTadInfo tadInfo;
|
NAMTadInfo tadInfo;
|
||||||
NAMTitleInfo titleInfo;
|
NAMTitleInfo titleInfoTmp;
|
||||||
char full_path[FS_ENTRY_LONGNAME_MAX+6];
|
char full_path[FS_ENTRY_LONGNAME_MAX+6];
|
||||||
OSThread thread;
|
OSThread thread;
|
||||||
BOOL ret = FALSE;
|
BOOL ret = FALSE;
|
||||||
@ -641,17 +641,17 @@ static BOOL ImportTad(char* file_name, TadWriteOption option)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NANDの情報を取得
|
// 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に既にインストールされているかどうか確認する
|
// NANDに既にインストールされているかどうか確認する
|
||||||
if (tadInfo.titleInfo.titleId == titleInfo.titleId)
|
if (tadInfo.titleInfo.titleId == titleInfoTmp.titleId)
|
||||||
{
|
{
|
||||||
switch (option)
|
switch (option)
|
||||||
{
|
{
|
||||||
case TAD_WRITE_OPTION_NONEXISTENT:
|
case TAD_WRITE_OPTION_NONEXISTENT:
|
||||||
return TRUE;
|
return TRUE;
|
||||||
case TAD_WRITE_OPTION_USER:
|
case TAD_WRITE_OPTION_USER:
|
||||||
ShowTitleinfoDifference(&titleInfo, &tadInfo.titleInfo);
|
ShowTitleinfoDifference(&titleInfoTmp, &tadInfo.titleInfo);
|
||||||
|
|
||||||
kamiFontPrintfConsole(1, "The program has already existed.");
|
kamiFontPrintfConsole(1, "The program has already existed.");
|
||||||
kamiFontPrintfConsole(1, "Do you overwrite ?\n");
|
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;
|
sNowImport = TRUE;
|
||||||
|
|
||||||
@ -717,7 +726,7 @@ static BOOL ImportTad(char* file_name, TadWriteOption option)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
kamiFontPrintfConsole(CONSOLE_RED, "Fail!\n");
|
kamiFontPrintfConsole(CONSOLE_RED, "Fail! RetCode=%x\n", nam_result);
|
||||||
}
|
}
|
||||||
|
|
||||||
// InstalledSoftBoxCount, FreeSoftBoxCount の値を現在のNANDの状態に合わせて更新します。
|
// InstalledSoftBoxCount, FreeSoftBoxCount の値を現在のNANDの状態に合わせて更新します。
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user