ほぼ日のBGDL中に実行した場合アプリが存在すると判定されてしまうのでam::GetProgramInfosでアプリの存在を確認するように

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_Repair@686 385bec56-5757-e545-9c3a-d8741f4650f1
This commit is contained in:
N2614 2012-04-10 02:58:30 +00:00
parent e5d5e566aa
commit bd9814674d

View File

@ -51,7 +51,6 @@
namespace {
const char* const NAND_TWL_ARCHIVE_NAME = "twln:";
const char* const NAND_TWL_KENJ_DIR_PATHNAME = "twln:/title/00030004/4b454e4a";
const char* const NAND_TWL_KENJ_SAVE_DATA_PATHNAME = "twln:/title/00030004/4b454e4a/data/Public.sav";
const nn::ProgramId NAND_TWL_KENJ_PROGRAM_ID = 0x000480044b454e4aULL;
@ -187,6 +186,11 @@ namespace {
{
nn::Result result;
// アプリが存在するかどうか確かめる
nn::am::ProgramInfo info;
result = nn::am::GetProgramInfos(&info, nn::fs::MEDIA_TYPE_NAND, &NAND_TWL_KENJ_PROGRAM_ID, 1);
NN_UTIL_RETURN_IF_FAILED(result);
// TWl領域をマウントする
result = nn::fs::MountSpecialArchive( NAND_TWL_ARCHIVE_NAME, nn::fs::CTR::ARCHIVE_TYPE_TWL_NAND );
if( result.IsFailure() )
@ -195,20 +199,9 @@ namespace {
return result;
}
// アプリが存在するかどうか確かめる
nn::fs::Directory dir;
if( dir.TryInitialize(NAND_TWL_KENJ_DIR_PATHNAME).IsFailure() )
{
dir.Finalize();
}
else
{
// アプリ存在フラグを上げる
s_IsAppExist = true;
// ここでfinalizeしておかないと、DeleteProgramでフェータルになる。
dir.Finalize();
// ほぼ日健康手帳のセーブデータを乱数で埋める
result = FillRandamDataToKENJSaveData();
if (result.IsFailure())
@ -229,7 +222,6 @@ namespace {
}
UTIL_RETURN_IF_NOT_AM_NOT_FOUND(result);
}
nn::fs::Unmount( "twln:" );