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