From 16b4e815d0e65f7f4a8952628ab1662eaf4caef9 Mon Sep 17 00:00:00 2001 From: yoshida_teruhisa Date: Wed, 21 Nov 2007 02:06:10 +0000 Subject: [PATCH] =?UTF-8?q?=E3=83=AA=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3?= =?UTF-8?q?=E8=A8=AD=E5=AE=9A=E3=81=AE=E8=BF=BD=E5=8A=A0=20=E3=83=AA?= =?UTF-8?q?=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3=E8=A8=AD=E5=AE=9A=E3=81=AB?= =?UTF-8?q?=E4=BC=B4=E3=81=86=E8=A8=80=E8=AA=9E=E8=A8=AD=E5=AE=9A=E9=96=A2?= =?UTF-8?q?=E4=BF=82=E9=80=A3=E5=8B=95=E3=81=AE=E5=AE=9F=E8=A3=85?= 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@233 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../MachineSettings/ARM9/Makefile | 2 +- .../MachineSettings/ARM9/src/MachineSetting.c | 24 +++++- .../MachineSettings/ARM9/src/MachineSetting.h | 2 + .../MachineSettings/ARM9/src/selectLanguage.c | 81 +++++++++++++++---- include/sysmenu/settings/common/TWLSettings.h | 4 +- 5 files changed, 92 insertions(+), 21 deletions(-) diff --git a/build/systemMenu_RED/MachineSettings/ARM9/Makefile b/build/systemMenu_RED/MachineSettings/ARM9/Makefile index f8502c68..c2c42c64 100644 --- a/build/systemMenu_RED/MachineSettings/ARM9/Makefile +++ b/build/systemMenu_RED/MachineSettings/ARM9/Makefile @@ -36,7 +36,7 @@ MISC_DIR = ../../misc BG_DIR = ../../data SRCS = main.c MachineSetting.c \ - setRTC.c selectLanguage.c calibrationTP.c setOwnerInfo.c \ + setRTC.c selectLanguage.c calibrationTP.c setOwnerInfo.c selectRegion.c \ $(MISC_DIR)/src/misc.c $(MISC_DIR)/src/cmn.c \ $(BG_DIR)/BGData_MachineSettings.c diff --git a/build/systemMenu_RED/MachineSettings/ARM9/src/MachineSetting.c b/build/systemMenu_RED/MachineSettings/ARM9/src/MachineSetting.c index 4da7df6b..ec67e144 100644 --- a/build/systemMenu_RED/MachineSettings/ARM9/src/MachineSetting.c +++ b/build/systemMenu_RED/MachineSettings/ARM9/src/MachineSetting.c @@ -33,7 +33,7 @@ #define OK_BUTTON_BOTTOM_Y ( OK_BUTTON_TOP_Y + 2 * 8 ) -#define SETTING_MENU_ELEMENT_NUM 4 // メインメニューの項目数 +#define SETTING_MENU_ELEMENT_NUM 5 // メインメニューの項目数 // extern data------------------------------------------ @@ -66,6 +66,8 @@ static const u16 *const s_pStrSettingElemTbl[ SETTING_MENU_ELEMENT_NUM ][ TWL_LA (const u16 *)L"LANGUAGE(G)", (const u16 *)L"LANGUAGE(I)", (const u16 *)L"LANGUAGE(S)", + (const u16 *)L"LANGUAGE(C)", + (const u16 *)L"LANGUAGE(K)", }, { (const u16 *)L"日付 & 時刻", @@ -74,6 +76,8 @@ static const u16 *const s_pStrSettingElemTbl[ SETTING_MENU_ELEMENT_NUM ][ TWL_LA (const u16 *)L"DATE & TIME(G)", (const u16 *)L"DATE & TIME(I)", (const u16 *)L"DATE & TIME(S)", + (const u16 *)L"DATE & TIME(C)", + (const u16 *)L"DATE & TIME(K)", }, { (const u16 *)L"ユーザー情報", @@ -82,6 +86,8 @@ static const u16 *const s_pStrSettingElemTbl[ SETTING_MENU_ELEMENT_NUM ][ TWL_LA (const u16 *)L"USER INFORMATION(G)", (const u16 *)L"USER INFORMATION(I)", (const u16 *)L"USER INFORMATION(S)", + (const u16 *)L"USER INFORMATION(C)", + (const u16 *)L"USER INFORMATION(K)", }, { (const u16 *)L"タッチパネル補正", @@ -90,6 +96,18 @@ static const u16 *const s_pStrSettingElemTbl[ SETTING_MENU_ELEMENT_NUM ][ TWL_LA (const u16 *)L"TOUCH PANEL(G)", (const u16 *)L"TOUCH PANEL(I)", (const u16 *)L"TOUCH PANEL(S)", + (const u16 *)L"TOUCH PANEL(C)", + (const u16 *)L"TOUCH PANEL(K)", + }, + { + (const u16 *)L"リージョン設定", + (const u16 *)L"REGION", + (const u16 *)L"REGION(F)", + (const u16 *)L"REGION(G)", + (const u16 *)L"REGION(I)", + (const u16 *)L"REGION(S)", + (const u16 *)L"REGION(C)", + (const u16 *)L"REGION(K)", }, }; @@ -98,6 +116,7 @@ static MenuPos s_settingPos[] = { { TRUE, 4 * 8, 10 * 8 }, { TRUE, 4 * 8, 12 * 8 }, { TRUE, 4 * 8, 14 * 8 }, + { TRUE, 4 * 8, 16 * 8 }, }; @@ -201,6 +220,9 @@ int MachineSettingMain( void ) TP_CalibrationInit(); g_pNowProcess = TP_CalibrationMain; break; + case 4: + SelectRegionInit(); + g_pNowProcess = SelectRegionMain; } } } diff --git a/build/systemMenu_RED/MachineSettings/ARM9/src/MachineSetting.h b/build/systemMenu_RED/MachineSettings/ARM9/src/MachineSetting.h index da904fca..e412634c 100644 --- a/build/systemMenu_RED/MachineSettings/ARM9/src/MachineSetting.h +++ b/build/systemMenu_RED/MachineSettings/ARM9/src/MachineSetting.h @@ -63,6 +63,8 @@ extern void SelectLanguageInit( void ); extern int SelectLanguageMain( void ); extern void TP_CalibrationInit( void ); extern int TP_CalibrationMain( void ); +extern void SelectRegionInit( void ); +extern int SelectRegionMain( void ); extern void DrawOKCancelButton( void ); extern void CheckOKCancelButton(BOOL *tp_ok, BOOL *tp_cancel); diff --git a/build/systemMenu_RED/MachineSettings/ARM9/src/selectLanguage.c b/build/systemMenu_RED/MachineSettings/ARM9/src/selectLanguage.c index b0e38b6c..bf895c46 100644 --- a/build/systemMenu_RED/MachineSettings/ARM9/src/selectLanguage.c +++ b/build/systemMenu_RED/MachineSettings/ARM9/src/selectLanguage.c @@ -32,29 +32,47 @@ // global variable ------------------------------------- // static variable ------------------------------------- -static TWLLangCode s_langCode; // 言語コード +static int s_lang; // 言語選択肢の何番目を選択しているか +static TWLRegion s_regionCode; // リージョンコード + +static const u16* s_pStrLanguage[TWL_LANG_CODE_MAX]; +static TWLLangCode s_langCodeList[TWL_LANG_CODE_MAX]; // const data ----------------------------------------- -static const u16 *const s_pStrLanguage[] = { +static const u16 region_lang_Mapping[TWL_REGION_MAX] = +{ + TWL_LANG_BITMAP_JAPAN, + TWL_LANG_BITMAP_AMERICA, + TWL_LANG_BITMAP_EUROPE, + TWL_LANG_BITMAP_AUSTRALIA, + TWL_LANG_BITMAP_CHINA, + TWL_LANG_BITMAP_KOREA +}; + +static const u16 *const s_pStrLanguageData[TWL_LANG_CODE_MAX] = { (const u16 *)L"日本語", (const u16 *)L"English ", (const u16 *)L"Francais", (const u16 *)L"Deutsch ", (const u16 *)L"Italiano", (const u16 *)L"Espanol ", + (const u16 *)L"中国語(仮)", + (const u16 *)L"韓国語(仮)" }; -static MenuPos s_languagePos[] = { +static MenuPos s_languagePos[TWL_LANG_CODE_MAX] = { { TRUE, 4 * 8, 6 * 8 }, { TRUE, 4 * 8, 8 * 8 }, { TRUE, 4 * 8, 10 * 8 }, { TRUE, 4 * 8, 12 * 8 }, { TRUE, 4 * 8, 14 * 8 }, { TRUE, 4 * 8, 16 * 8 }, + { TRUE, 4 * 8, 18 * 8 }, + { TRUE, 4 * 8, 20 * 8 } }; -static const MenuParam langSel = { - 6, +static MenuParam langSel = { + TWL_LANG_CODE_MAX, TXT_COLOR_BLACK, TXT_COLOR_GREEN, TXT_COLOR_RED, @@ -70,6 +88,11 @@ static const MenuParam langSel = { // 言語設定の初期化 void SelectLanguageInit( void ) { + int l; + u16 temp_langCode = 0; + BOOL in_list_flag = FALSE; + int lang_count = 0; + GX_DispOff(); GXS_DispOff(); NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_NULL ); @@ -80,14 +103,38 @@ void SelectLanguageInit( void ) PutStringUTF16( 8 * 8, 18 * 8, TXT_COLOR_RED, (const u16 *)L"Select language." ); } - if( SYSM_IsValidTSD() || - ( TSD_GetLanguage() >= TWL_LANG_CODE_MAX ) ) { - s_langCode = TWL_LANG_ENGLISH; + if( !SYSM_IsValidTSD() || + ( TSD_GetRegion() >= TWL_REGION_MAX ) ) { + s_regionCode = (TWLRegion)TWL_DEFAULT_REGION; }else { - s_langCode = TSD_GetLanguage(); + s_regionCode = (TWLRegion)TSD_GetRegion(); } - DrawMenu( (u16)s_langCode, &langSel ); + if( !SYSM_IsValidTSD() || + ( TSD_GetLanguage() >= TWL_LANG_CODE_MAX ) ) { + temp_langCode = TWL_LANG_ENGLISH; + }else { + temp_langCode = TSD_GetLanguage(); + } + + s_lang = 0; + for(l=0; l