mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
・ショップを含めていなかったので修正
・複数ページになる場合にキー操作が不具合があったので修正 ・予約アプリ以外のアプリを昇順に並ぶように修正 git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2908 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
6164849472
commit
234f2a5e43
@ -56,7 +56,7 @@
|
||||
#define TITLE_ID_DATA_ONLY_MASK 0x00000008
|
||||
#define TITLE_ID_GAMECODE_MASK 0xFFFFFF00
|
||||
|
||||
#define OUTPUT_SORT_TITLE_NUM 14
|
||||
#define OUTPUT_SORT_TITLE_NUM 15
|
||||
|
||||
#define OUTPUT_NAND_FIRM_IDX 10
|
||||
#define OUTPUT_SHARED_FONT_IDX 12
|
||||
@ -114,21 +114,22 @@ static DataStruct gDataList[TITLE_NUM_PAGE];
|
||||
|
||||
static u16 crc_table[0x100];
|
||||
|
||||
static const u32 TitleIDTable[14] = {
|
||||
static const u32 TitleIDTable[OUTPUT_SORT_TITLE_NUM] = {
|
||||
0x484e4100, // 0.HNA* ランチャ
|
||||
0x484e4200, // 1.HNB* 本体設定
|
||||
0x484e4300, // 2.HNC* 無線ファーム
|
||||
0x484e4400, // 3.HND* DLプレイ
|
||||
0x484e4500, // 4.HNE* ピクトチャット
|
||||
0x484e4800, // 5.HNH* ホワイトリスト
|
||||
0x484e4900, // 6.HNI* カメラ
|
||||
0x484e4a00, // 7.HNJ* Nintendoゾーン
|
||||
0x484e4b00, // 8.HNK* サウンド
|
||||
0x484e4c00, // 9.HNL* バージョンデータ
|
||||
NAND_FIRM_MAGIC_CODE, //10.---- NANDファーム
|
||||
0x344e4641, //11.4NFA Nand Filer
|
||||
SHARED_FONT_MAGIC_CODE, //12.---- フォント
|
||||
0x34544e41 //13.4TNA TwlNmenu
|
||||
0x484e4600, // 5.HNF* ショップ
|
||||
0x484e4800, // 6.HNH* ホワイトリスト
|
||||
0x484e4900, // 7.HNI* カメラ
|
||||
0x484e4a00, // 8.HNJ* Nintendoゾーン
|
||||
0x484e4b00, // 9.HNK* サウンド
|
||||
0x484e4c00, //10.HNL* バージョンデータ
|
||||
NAND_FIRM_MAGIC_CODE, //11.---- NANDファーム
|
||||
0x344e4641, //12.4NFA Nand Filer
|
||||
SHARED_FONT_MAGIC_CODE, //13.---- フォント
|
||||
0x34544e41 //14.4TNA TwlNmenu
|
||||
};
|
||||
/*---------------------------------------------------------------------------*
|
||||
Prototype
|
||||
@ -490,6 +491,9 @@ BOOL ProcessTitleHashCheck( void )
|
||||
// SharedフォントとNandファームの値用の2つ
|
||||
gNandAppNum += 2;
|
||||
|
||||
// 表示ページ数を求める
|
||||
gMaxPage = (u32)((gNandAppNum & 0xf0) >> 4);
|
||||
|
||||
// SharedフォントのSha1値を求める
|
||||
CulcuFontDataHash(gDataList);
|
||||
|
||||
@ -1049,10 +1053,11 @@ BOOL CulcuNandFirmHash(DataStruct* list)
|
||||
*---------------------------------------------------------------------------*/
|
||||
static void SortList( DataStruct* list )
|
||||
{
|
||||
u32 i,j,count=0;
|
||||
|
||||
u32 i,j,sort_count,count=0;
|
||||
|
||||
u8* tmpList;
|
||||
DataStruct* p;
|
||||
DataStruct *p;
|
||||
DataStruct buf;
|
||||
|
||||
tmpList = spAllocFunc( sizeof(DataStruct) * TITLE_NUM_PAGE );
|
||||
if ( tmpList == NULL )
|
||||
@ -1064,7 +1069,7 @@ static void SortList( DataStruct* list )
|
||||
for(i=0; i<OUTPUT_SORT_TITLE_NUM; i++)
|
||||
{
|
||||
p = list;
|
||||
|
||||
|
||||
// ファーム
|
||||
if( TitleIDTable[i] == NAND_FIRM_MAGIC_CODE )
|
||||
{
|
||||
@ -1094,9 +1099,10 @@ static void SortList( DataStruct* list )
|
||||
}
|
||||
}
|
||||
|
||||
p = list;
|
||||
sort_count = count;
|
||||
|
||||
// 残りファイルの書き出し
|
||||
p = list;
|
||||
for(i=0; i<gNandAppNum; i++, p++)
|
||||
{
|
||||
if(!p->sort)
|
||||
@ -1105,6 +1111,22 @@ static void SortList( DataStruct* list )
|
||||
count++;
|
||||
}
|
||||
}
|
||||
|
||||
// 降順に並び替え
|
||||
p = (DataStruct *)tmpList;
|
||||
|
||||
for(i=sort_count; i<gNandAppNum-1; i++)
|
||||
{
|
||||
for(j=(u32)(gNandAppNum-1); j>=i; j--)
|
||||
{
|
||||
if( (u32)p[j].id > (u32)p[j+1].id )
|
||||
{
|
||||
MI_CpuCopy8( &p[j], &buf, sizeof(DataStruct) );
|
||||
MI_CpuCopy8( &p[j+1], &p[j], sizeof(DataStruct) );
|
||||
MI_CpuCopy8( &buf, &p[j+1], sizeof(DataStruct) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ソートが済んだデータを反映する
|
||||
MI_CpuCopy8(tmpList, list, sizeof(DataStruct) * TITLE_NUM_PAGE);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user