menuAppManager でバナー表示のためのタイトル情報を読み込む時、重要な順にソートするよう変更。

HNB* -> システムアプリ -> ユーザアプリ
の順序。それ以外についてはケアせず。

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2200 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yoshida_teruhisa 2008-08-20 06:34:25 +00:00
parent 64d7ca14ec
commit 1ba33924c5

View File

@ -612,6 +612,7 @@ static void AMN_initNandTitleList_()
s32 l; s32 l;
NAMTitleId* pNandAllTitleIDList = NULL; NAMTitleId* pNandAllTitleIDList = NULL;
u8 count_valid_app_for_launcher = 0; u8 count_valid_app_for_launcher = 0;
int finger = 0;
// インポートされているタイトルの取得 // インポートされているタイトルの取得
sNandAllTitleListLength = NAM_GetNumTitles(); sNandAllTitleListLength = NAM_GetNumTitles();
@ -639,6 +640,39 @@ static void AMN_initNandTitleList_()
} }
} }
// まず、タイトルを重要な順に選択ソートする。
// HNB*を先頭に、システムアプリ、ユーザアプリの順序
// 非表示タイトルも移動してしまっているが、あまり関係ない
for( l = 0; l < sNandAllTitleListLength; l++ )
{
// HNB*
char *code = ((char *)&pNandAllTitleIDList[l]) + 1;
if( 0 == STD_CompareNString( code, "BNH", 3 ) )
{
if( l != finger)
{
NAMTitleId temp = pNandAllTitleIDList[finger];
pNandAllTitleIDList[finger] = pNandAllTitleIDList[l];
pNandAllTitleIDList[l] = temp;
}
finger++;
}
}
for( l = finger; l < sNandAllTitleListLength; l++ )
{
// システムアプリ
if( pNandAllTitleIDList[l] & TITLE_ID_APP_TYPE_MASK )
{
if( l != finger)
{
NAMTitleId temp = pNandAllTitleIDList[finger];
pNandAllTitleIDList[finger] = pNandAllTitleIDList[l];
pNandAllTitleIDList[l] = temp;
}
finger++;
}
}
// メモリの確保と解放を同じ関数内で行いたいので、 // メモリの確保と解放を同じ関数内で行いたいので、
// 取得したタイトルがローンチ対象かどうかをチェック // 取得したタイトルがローンチ対象かどうかをチェック
// を、ここで行う。 // を、ここで行う。