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@233 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
2c4d4a179c
commit
16b4e815d0
@ -36,7 +36,7 @@ MISC_DIR = ../../misc
|
|||||||
BG_DIR = ../../data
|
BG_DIR = ../../data
|
||||||
|
|
||||||
SRCS = main.c MachineSetting.c \
|
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 \
|
$(MISC_DIR)/src/misc.c $(MISC_DIR)/src/cmn.c \
|
||||||
$(BG_DIR)/BGData_MachineSettings.c
|
$(BG_DIR)/BGData_MachineSettings.c
|
||||||
|
|
||||||
|
|||||||
@ -33,7 +33,7 @@
|
|||||||
#define OK_BUTTON_BOTTOM_Y ( OK_BUTTON_TOP_Y + 2 * 8 )
|
#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------------------------------------------
|
// 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(G)",
|
||||||
(const u16 *)L"LANGUAGE(I)",
|
(const u16 *)L"LANGUAGE(I)",
|
||||||
(const u16 *)L"LANGUAGE(S)",
|
(const u16 *)L"LANGUAGE(S)",
|
||||||
|
(const u16 *)L"LANGUAGE(C)",
|
||||||
|
(const u16 *)L"LANGUAGE(K)",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
(const u16 *)L"日付 & 時刻",
|
(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(G)",
|
||||||
(const u16 *)L"DATE & TIME(I)",
|
(const u16 *)L"DATE & TIME(I)",
|
||||||
(const u16 *)L"DATE & TIME(S)",
|
(const u16 *)L"DATE & TIME(S)",
|
||||||
|
(const u16 *)L"DATE & TIME(C)",
|
||||||
|
(const u16 *)L"DATE & TIME(K)",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
(const u16 *)L"ユーザー情報",
|
(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(G)",
|
||||||
(const u16 *)L"USER INFORMATION(I)",
|
(const u16 *)L"USER INFORMATION(I)",
|
||||||
(const u16 *)L"USER INFORMATION(S)",
|
(const u16 *)L"USER INFORMATION(S)",
|
||||||
|
(const u16 *)L"USER INFORMATION(C)",
|
||||||
|
(const u16 *)L"USER INFORMATION(K)",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
(const u16 *)L"タッチパネル補正",
|
(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(G)",
|
||||||
(const u16 *)L"TOUCH PANEL(I)",
|
(const u16 *)L"TOUCH PANEL(I)",
|
||||||
(const u16 *)L"TOUCH PANEL(S)",
|
(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, 10 * 8 },
|
||||||
{ TRUE, 4 * 8, 12 * 8 },
|
{ TRUE, 4 * 8, 12 * 8 },
|
||||||
{ TRUE, 4 * 8, 14 * 8 },
|
{ TRUE, 4 * 8, 14 * 8 },
|
||||||
|
{ TRUE, 4 * 8, 16 * 8 },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -201,6 +220,9 @@ int MachineSettingMain( void )
|
|||||||
TP_CalibrationInit();
|
TP_CalibrationInit();
|
||||||
g_pNowProcess = TP_CalibrationMain;
|
g_pNowProcess = TP_CalibrationMain;
|
||||||
break;
|
break;
|
||||||
|
case 4:
|
||||||
|
SelectRegionInit();
|
||||||
|
g_pNowProcess = SelectRegionMain;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -63,6 +63,8 @@ extern void SelectLanguageInit( void );
|
|||||||
extern int SelectLanguageMain( void );
|
extern int SelectLanguageMain( void );
|
||||||
extern void TP_CalibrationInit( void );
|
extern void TP_CalibrationInit( void );
|
||||||
extern int TP_CalibrationMain( void );
|
extern int TP_CalibrationMain( void );
|
||||||
|
extern void SelectRegionInit( void );
|
||||||
|
extern int SelectRegionMain( void );
|
||||||
|
|
||||||
extern void DrawOKCancelButton( void );
|
extern void DrawOKCancelButton( void );
|
||||||
extern void CheckOKCancelButton(BOOL *tp_ok, BOOL *tp_cancel);
|
extern void CheckOKCancelButton(BOOL *tp_ok, BOOL *tp_cancel);
|
||||||
|
|||||||
@ -32,29 +32,47 @@
|
|||||||
// global variable -------------------------------------
|
// global variable -------------------------------------
|
||||||
|
|
||||||
// static variable -------------------------------------
|
// static variable -------------------------------------
|
||||||
static TWLLangCode s_langCode; // Œ¾ŒêƒR<C692>[ƒh
|
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 -----------------------------------------
|
// 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"日本語",
|
||||||
(const u16 *)L"English ",
|
(const u16 *)L"English ",
|
||||||
(const u16 *)L"Francais",
|
(const u16 *)L"Francais",
|
||||||
(const u16 *)L"Deutsch ",
|
(const u16 *)L"Deutsch ",
|
||||||
(const u16 *)L"Italiano",
|
(const u16 *)L"Italiano",
|
||||||
(const u16 *)L"Espanol ",
|
(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, 6 * 8 },
|
||||||
{ TRUE, 4 * 8, 8 * 8 },
|
{ TRUE, 4 * 8, 8 * 8 },
|
||||||
{ TRUE, 4 * 8, 10 * 8 },
|
{ TRUE, 4 * 8, 10 * 8 },
|
||||||
{ TRUE, 4 * 8, 12 * 8 },
|
{ TRUE, 4 * 8, 12 * 8 },
|
||||||
{ TRUE, 4 * 8, 14 * 8 },
|
{ TRUE, 4 * 8, 14 * 8 },
|
||||||
{ TRUE, 4 * 8, 16 * 8 },
|
{ TRUE, 4 * 8, 16 * 8 },
|
||||||
|
{ TRUE, 4 * 8, 18 * 8 },
|
||||||
|
{ TRUE, 4 * 8, 20 * 8 }
|
||||||
};
|
};
|
||||||
|
|
||||||
static const MenuParam langSel = {
|
static MenuParam langSel = {
|
||||||
6,
|
TWL_LANG_CODE_MAX,
|
||||||
TXT_COLOR_BLACK,
|
TXT_COLOR_BLACK,
|
||||||
TXT_COLOR_GREEN,
|
TXT_COLOR_GREEN,
|
||||||
TXT_COLOR_RED,
|
TXT_COLOR_RED,
|
||||||
@ -70,6 +88,11 @@ static const MenuParam langSel = {
|
|||||||
// 言語設定の初期化
|
// 言語設定の初期化
|
||||||
void SelectLanguageInit( void )
|
void SelectLanguageInit( void )
|
||||||
{
|
{
|
||||||
|
int l;
|
||||||
|
u16 temp_langCode = 0;
|
||||||
|
BOOL in_list_flag = FALSE;
|
||||||
|
int lang_count = 0;
|
||||||
|
|
||||||
GX_DispOff();
|
GX_DispOff();
|
||||||
GXS_DispOff();
|
GXS_DispOff();
|
||||||
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_NULL );
|
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." );
|
PutStringUTF16( 8 * 8, 18 * 8, TXT_COLOR_RED, (const u16 *)L"Select language." );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( SYSM_IsValidTSD() ||
|
if( !SYSM_IsValidTSD() ||
|
||||||
( TSD_GetLanguage() >= TWL_LANG_CODE_MAX ) ) {
|
( TSD_GetRegion() >= TWL_REGION_MAX ) ) {
|
||||||
s_langCode = TWL_LANG_ENGLISH;
|
s_regionCode = (TWLRegion)TWL_DEFAULT_REGION;
|
||||||
}else {
|
}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<TWL_LANG_CODE_MAX; l++)
|
||||||
|
{
|
||||||
|
if( ( 0x0001 << l ) & region_lang_Mapping[s_regionCode] )
|
||||||
|
{
|
||||||
|
s_pStrLanguage[lang_count] = s_pStrLanguageData[l];
|
||||||
|
s_langCodeList[lang_count] = (TWLLangCode)l;
|
||||||
|
if(temp_langCode == l)
|
||||||
|
{
|
||||||
|
s_lang = lang_count;
|
||||||
|
}
|
||||||
|
lang_count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
langSel.num = lang_count;
|
||||||
|
|
||||||
|
DrawMenu( (u16)s_lang, &langSel );
|
||||||
|
|
||||||
SVC_CpuClear( 0x0000, &tpd, sizeof(TpWork), 16 );
|
SVC_CpuClear( 0x0000, &tpd, sizeof(TpWork), 16 );
|
||||||
|
|
||||||
@ -109,17 +156,17 @@ int SelectLanguageMain( void )
|
|||||||
// キー入力処理
|
// キー入力処理
|
||||||
//--------------------------------------
|
//--------------------------------------
|
||||||
if( pad.trg & PAD_KEY_DOWN ) { // カーソルの移動
|
if( pad.trg & PAD_KEY_DOWN ) { // カーソルの移動
|
||||||
if( ++s_langCode == TWL_LANG_CODE_MAX ) {
|
if( ++s_lang == langSel.num ) {
|
||||||
s_langCode = (TWLLangCode)0;
|
s_lang = (TWLLangCode)0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if( pad.trg & PAD_KEY_UP ) {
|
if( pad.trg & PAD_KEY_UP ) {
|
||||||
if( --s_langCode < 0 ) {
|
if( --s_lang < 0 ) {
|
||||||
s_langCode = (TWLLangCode)( TWL_LANG_CODE_MAX - 1 );
|
s_lang = (TWLLangCode)( langSel.num - 1 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
tp_select = SelectMenuByTP( (u16 *)&s_langCode, &langSel );
|
tp_select = SelectMenuByTP( (u16 *)&s_lang, &langSel );
|
||||||
DrawMenu( (u16)s_langCode, &langSel );
|
DrawMenu( (u16)s_lang, &langSel );
|
||||||
|
|
||||||
// [CANCEL]ボタン押下チェック
|
// [CANCEL]ボタン押下チェック
|
||||||
if( tpd.disp.touch ) {
|
if( tpd.disp.touch ) {
|
||||||
@ -128,7 +175,7 @@ int SelectLanguageMain( void )
|
|||||||
}
|
}
|
||||||
|
|
||||||
if( ( pad.trg & PAD_BUTTON_A ) || tp_select ) { // メニュー項目への分岐
|
if( ( pad.trg & PAD_BUTTON_A ) || tp_select ) { // メニュー項目への分岐
|
||||||
TSD_SetLanguage( s_langCode );
|
TSD_SetLanguage( s_langCodeList[s_lang] );
|
||||||
TSD_SetFlagLanguage( TRUE ); // 言語入力フラグを立てる
|
TSD_SetFlagLanguage( TRUE ); // 言語入力フラグを立てる
|
||||||
// ::::::::::::::::::::::::::::::::::::::::::::::
|
// ::::::::::::::::::::::::::::::::::::::::::::::
|
||||||
// TWL設定データファイルへの書き込み
|
// TWL設定データファイルへの書き込み
|
||||||
|
|||||||
@ -39,7 +39,7 @@ extern "C" {
|
|||||||
#define TWL_COMMENT_BUFFERSIZE ( ( TWL_COMMENT_LENGTH + 1 ) * 2 ) // コメントバッファサイズ
|
#define TWL_COMMENT_BUFFERSIZE ( ( TWL_COMMENT_LENGTH + 1 ) * 2 ) // コメントバッファサイズ
|
||||||
#define TWL_FAVORITE_COLOR_MAX_NUM NTR_FAVORITE_COLOR_MAX_NUM // 好きな色の最大数
|
#define TWL_FAVORITE_COLOR_MAX_NUM NTR_FAVORITE_COLOR_MAX_NUM // 好きな色の最大数
|
||||||
#define TSD_TEMP_BUFFER_SIZE ( sizeof(TSDStore) * 2 ) // TSD_ReadTWLSettingsで必要なTempBufferサイズ
|
#define TSD_TEMP_BUFFER_SIZE ( sizeof(TSDStore) * 2 ) // TSD_ReadTWLSettingsで必要なTempBufferサイズ
|
||||||
#define TWL_BACKLIGHT_LEVEL_MAX 22 // バックライト輝度上限(ハード的な制約は上限のみ)
|
|
||||||
|
|
||||||
// 言語コード
|
// 言語コード
|
||||||
// 欧州と北米の表示テキストの違いは、リージョンと言語コードを併せて判断
|
// 欧州と北米の表示テキストの違いは、リージョンと言語コードを併せて判断
|
||||||
@ -98,7 +98,7 @@ typedef enum TWLRegionCode {
|
|||||||
TWL_REGION_AUSTRALIA = 3, // NAL
|
TWL_REGION_AUSTRALIA = 3, // NAL
|
||||||
TWL_REGION_CHINA = 4, // IQue
|
TWL_REGION_CHINA = 4, // IQue
|
||||||
TWL_REGION_KOREA = 5, // NOK
|
TWL_REGION_KOREA = 5, // NOK
|
||||||
TWL_REGION_MAX = 5
|
TWL_REGION_MAX
|
||||||
}TWLRegion;
|
}TWLRegion;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user