From 1ba33924c53505dd056cc6514c4eeb6223c242ba Mon Sep 17 00:00:00 2001 From: yoshida_teruhisa Date: Wed, 20 Aug 2008 06:34:25 +0000 Subject: [PATCH] =?UTF-8?q?menuAppManager=20=E3=81=A7=E3=83=90=E3=83=8A?= =?UTF-8?q?=E3=83=BC=E8=A1=A8=E7=A4=BA=E3=81=AE=E3=81=9F=E3=82=81=E3=81=AE?= =?UTF-8?q?=E3=82=BF=E3=82=A4=E3=83=88=E3=83=AB=E6=83=85=E5=A0=B1=E3=82=92?= =?UTF-8?q?=E8=AA=AD=E3=81=BF=E8=BE=BC=E3=82=80=E6=99=82=E3=80=81=E9=87=8D?= =?UTF-8?q?=E8=A6=81=E3=81=AA=E9=A0=86=E3=81=AB=E3=82=BD=E3=83=BC=E3=83=88?= =?UTF-8?q?=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E5=A4=89=E6=9B=B4=E3=80=82?= =?UTF-8?q?=20=E3=80=80HNB*=20->=20=E3=82=B7=E3=82=B9=E3=83=86=E3=83=A0?= =?UTF-8?q?=E3=82=A2=E3=83=97=E3=83=AA=20->=20=E3=83=A6=E3=83=BC=E3=82=B6?= =?UTF-8?q?=E3=82=A2=E3=83=97=E3=83=AA=20=E3=81=AE=E9=A0=86=E5=BA=8F?= =?UTF-8?q?=E3=80=82=E3=81=9D=E3=82=8C=E4=BB=A5=E5=A4=96=E3=81=AB=E3=81=A4?= =?UTF-8?q?=E3=81=84=E3=81=A6=E3=81=AF=E3=82=B1=E3=82=A2=E3=81=9B=E3=81=9A?= =?UTF-8?q?=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@2200 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../util/ARM9/src/util_menuAppManager.c | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/build/libraries_sysmenu/util/ARM9/src/util_menuAppManager.c b/build/libraries_sysmenu/util/ARM9/src/util_menuAppManager.c index 95d2bb74..3abce8ce 100644 --- a/build/libraries_sysmenu/util/ARM9/src/util_menuAppManager.c +++ b/build/libraries_sysmenu/util/ARM9/src/util_menuAppManager.c @@ -612,6 +612,7 @@ static void AMN_initNandTitleList_() s32 l; NAMTitleId* pNandAllTitleIDList = NULL; u8 count_valid_app_for_launcher = 0; + int finger = 0; // インポートされているタイトルの取得 sNandAllTitleListLength = NAM_GetNumTitles(); @@ -638,6 +639,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++; + } + } // メモリの確保と解放を同じ関数内で行いたいので、 // 取得したタイトルがローンチ対象かどうかをチェック