From a383dda74e9defe7d3f12ba65bc983673e406438 Mon Sep 17 00:00:00 2001 From: kamikawa Date: Mon, 6 Apr 2009 05:23:01 +0000 Subject: [PATCH] =?UTF-8?q?SystemUpdaterRegionSelect=20=E4=B8=AD=E9=9F=93?= =?UTF-8?q?=E5=AF=BE=E5=BF=9C=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@2789 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../ARM9.TWL/include/kami_global.h | 2 +- .../src/process_delete_other_region_sysmenu.c | 17 ++++++++++- .../ARM9.TWL/src/process_import.c | 4 ++- .../ARM9.TWL/src/process_select_region.c | 28 +++++++++++-------- .../ARM9.TWL/src/process_write_font.c | 27 ++++++++++++++++-- .../SystemUpdaterRegionSelect/readme.txt | 15 ++++++++++ 6 files changed, 76 insertions(+), 17 deletions(-) diff --git a/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/include/kami_global.h b/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/include/kami_global.h index 5fd17548..423a0429 100644 --- a/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/include/kami_global.h +++ b/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/include/kami_global.h @@ -58,7 +58,7 @@ typedef enum extern const char *g_strIPLSvnRevision; extern const char *g_strSDKSvnRevision; extern s32 gLockId; -extern const u16* sRegionStringArray[4]; +extern const u16* sRegionStringArray[OS_TWL_REGION_MAX]; extern OSTWLRegion gRegion; /*---------------------------------------------------------------------------* diff --git a/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_delete_other_region_sysmenu.c b/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_delete_other_region_sysmenu.c index 6d8f757c..eb7f85aa 100644 --- a/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_delete_other_region_sysmenu.c +++ b/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_delete_other_region_sysmenu.c @@ -37,7 +37,7 @@ 定数定義 *---------------------------------------------------------------------------*/ #define TITLE_ID_MUST_ERASE_NUM 3 -#define TITLE_ID_LIST_NUM 4 +#define TITLE_ID_LIST_NUM OS_TWL_REGION_MAX /*---------------------------------------------------------------------------* 内部変数定義 @@ -56,6 +56,9 @@ static const u64 sTitleIdListHNA[TITLE_ID_LIST_NUM] = 0x00030017484e4145, // America HNAE 0x00030017484e4150, // Europe HNAP 0x00030017484e4155, // Australia HNAU + 0x00030017484e4143, // China HNAC + 0x00030017484e414B, // Korea HNAK + }; static const u64 sTitleIdListHNB[TITLE_ID_LIST_NUM] = @@ -64,6 +67,8 @@ static const u64 sTitleIdListHNB[TITLE_ID_LIST_NUM] = 0x00030015484e4245, // America HNBE 0x00030015484e4250, // Europe HNBP 0x00030015484e4255, // Australia HNBU + 0x00030015484e4243, // China HNBC + 0x00030015484e424B, // Korea HNBK }; static const u64 sTitleIdListHNL[TITLE_ID_LIST_NUM] = @@ -72,6 +77,8 @@ static const u64 sTitleIdListHNL[TITLE_ID_LIST_NUM] = 0x0003000f484e4c45, // America HNLE 0x0003000f484e4c50, // Europe HNLP 0x0003000f484e4c55, // Australia HNLU + 0x0003000f484e4c43, // China HNLC + 0x0003000f484e4c4B, // Korea HNLK }; static const u64 sTitleIdListHNI[TITLE_ID_LIST_NUM] = @@ -80,6 +87,8 @@ static const u64 sTitleIdListHNI[TITLE_ID_LIST_NUM] = 0x00030005484e4945, // America HNIE 0x00030005484e4950, // Europe HNIP 0x00030005484e4955, // Australia HNIU + 0x00030005484e4943, // China HNIC + 0x00030005484e494B, // Korea HNIK }; static const u64 sTitleIdListHNK[TITLE_ID_LIST_NUM] = @@ -88,6 +97,8 @@ static const u64 sTitleIdListHNK[TITLE_ID_LIST_NUM] = 0x00030005484e4B45, // America HNKE 0x00030005484e4B50, // Europe HNKP 0x00030005484e4B55, // Australia HNKU + 0x00030005484e4B43, // China HNKC + 0x00030005484e4B4B, // Korea HNKK }; @@ -97,6 +108,8 @@ static const u64 sTitleIdListHNF[TITLE_ID_LIST_NUM] = 0x00030015484E4645, // America HNFE 0x00030015484E4650, // Europe HNFP 0x00030015484E4655, // Australia HNFU + 0x00030015484E4643, // China HNFC + 0x00030015484E464B, // Korea HNFK }; static const u64 sTitleIdListHNJ[TITLE_ID_LIST_NUM] = @@ -105,6 +118,8 @@ static const u64 sTitleIdListHNJ[TITLE_ID_LIST_NUM] = 0x00030005484E4A45, // America HNJE 0x00030005484E4A50, // Europe HNJP 0x00030005484E4A55, // Australia HNJU + 0x00030005484E4A43, // China HNJC + 0x00030005484E4A4B, // Korea HNJK }; diff --git a/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_import.c b/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_import.c index 6ac91a59..f40f6560 100644 --- a/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_import.c +++ b/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_import.c @@ -48,7 +48,9 @@ static const char* sDirectoryNameRegion[] = "japan", "america", "europe", - "australia" + "australia", + "china", + "korea" }; static const char* sDirectoryNameConsole[] = diff --git a/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_select_region.c b/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_select_region.c index 7b0fe053..06e8cc8d 100644 --- a/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_select_region.c +++ b/build/systemMenu_tools/SystemUpdaterRegionSelect/ARM9.TWL/src/process_select_region.c @@ -37,29 +37,35 @@ OSTWLRegion gRegion = OS_TWL_REGION_JAPAN; 内部定数定義 *---------------------------------------------------------------------------*/ -static const u16 POS_Y_JAPAN = 52; -static const u16 POS_Y_AMERICA = 66; -static const u16 POS_Y_EUROPE = 80; -static const u16 POS_Y_AUSTRALIA = 94; +static const u16 POS_Y_JAPAN = 44; +static const u16 POS_Y_AMERICA = 56; +static const u16 POS_Y_EUROPE = 68; +static const u16 POS_Y_AUSTRALIA = 80; +static const u16 POS_Y_CHINA = 92; +static const u16 POS_Y_KOREA = 104; /*---------------------------------------------------------------------------* 内部変数定義 *---------------------------------------------------------------------------*/ -static const u16 sPosArray[4] = +static const u16 sPosArray[OS_TWL_REGION_MAX] = { POS_Y_JAPAN, POS_Y_AMERICA, POS_Y_EUROPE, - POS_Y_AUSTRALIA + POS_Y_AUSTRALIA, + POS_Y_CHINA, + POS_Y_KOREA }; -const u16* sRegionStringArray[4] = +const u16* sRegionStringArray[OS_TWL_REGION_MAX] = { L"region Japan", L"region America", L"region Europe", - L"region Australia" + L"region Australia", + L"region China", + L"region Korea" }; /*---------------------------------------------------------------------------* @@ -134,7 +140,7 @@ void ProcessSelectRegion(void) #ifndef JP_REGION_ONLY if (kamiPadIsRepeatTrigger(PAD_KEY_DOWN)) { - if (++gRegion > OS_TWL_REGION_AUSTRALIA) + if (++gRegion >= OS_TWL_REGION_MAX) { gRegion = OS_TWL_REGION_JAPAN; } @@ -143,7 +149,7 @@ void ProcessSelectRegion(void) { if (--gRegion < OS_TWL_REGION_JAPAN) { - gRegion = OS_TWL_REGION_AUSTRALIA; + gRegion = (OSTWLRegion)(OS_TWL_REGION_MAX-1); } } #endif // JP_REGION_ONLY @@ -164,7 +170,7 @@ void ProcessSelectRegion(void) #endif #ifndef JP_REGION_ONLY - for (i=0;ilongname); - find = TRUE; - break; + // 日米欧豪 + if (gRegion < OS_TWL_REGION_CHINA && + !STD_SearchString( info->longname, "_CN_" ) && + !STD_SearchString( info->longname, "_KR_" )) + { + STD_TSNPrintf(full_path, sizeof(full_path), "rom:/data/common/%s", info->longname); + find = TRUE; + break; + } + // 中 + else if (gRegion == OS_TWL_REGION_CHINA && STD_SearchString( info->longname, "_CN_" )) + { + STD_TSNPrintf(full_path, sizeof(full_path), "rom:/data/common/%s", info->longname); + find = TRUE; + break; + } + // 韓 + else if (gRegion == OS_TWL_REGION_KOREA && STD_SearchString( info->longname, "_KR_" )) + { + STD_TSNPrintf(full_path, sizeof(full_path), "rom:/data/common/%s", info->longname); + find = TRUE; + break; + } + } } } diff --git a/build/systemMenu_tools/SystemUpdaterRegionSelect/readme.txt b/build/systemMenu_tools/SystemUpdaterRegionSelect/readme.txt index f23d3f76..66c363b0 100644 --- a/build/systemMenu_tools/SystemUpdaterRegionSelect/readme.txt +++ b/build/systemMenu_tools/SystemUpdaterRegionSelect/readme.txt @@ -18,19 +18,26 @@ xxxxx l +$ l +america/* l +australia/* + l +china/* l +europe/* l +japan/* + l +korea/* + l +debugger l +america/# l +australia/# + l +china/# l +europe/# l +japan/# + l +korea/# l +standalone +america/# +australia/# + +china/# +europe/# +japan/# + +korea/# 配置図: @@ -63,3 +70,11 @@ xxxxx l JP_REGION_ONLY l 書き込みリージョンの選択肢をJPに限定する場合はTRUEを選択します l l l この際、japanでないリージョン以下のデータは不要です +-----------------------+----------------------------------------------------------------------+ + +/*-----------------------------------------------------*/ +/* フォントデータついて */ +/*-----------------------------------------------------*/ + +中国フォントのファイル名は ***_CN_***.dat としてください。 +韓国フォントのファイル名は ***_KR_***.dat としてください。 +日米欧豪フォントのファイル名には、 "_CN_" 及び "_KR_" を含めないでください。 \ No newline at end of file