ユーザーカラーの設定追加

MachineSettingsのみ背景追加(miscをコピーしてBG表示設定を変更すれば他のメニューにも適用可能……なはず)

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@172 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yoshida_teruhisa 2007-11-14 08:28:35 +00:00
parent c1203dc8f2
commit da83d9ecfc
7 changed files with 376 additions and 196 deletions

View File

@ -123,7 +123,7 @@ void MachineSettingInit( void )
GX_DispOff();
GXS_DispOff();
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_WHITE );
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_NULL );
PutStringUTF16( 0, 0, TXT_COLOR_BLUE, (const u16 *)L"MACHINE SETTINGS" );
@ -132,11 +132,12 @@ void MachineSettingInit( void )
s_pStrSetting[ i ] = s_pStrSettingElemTbl[ i ][ TSD_GetLanguage() ];
}
ChangeUserColor( TSD_GetUserColor() );
DrawMenu( s_csr, &s_settingParam );
SVC_CpuClear( 0x0000, &tpd, sizeof(TpWork), 16 );
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 );
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 | GX_PLANEMASK_BG1);
GXS_SetVisiblePlane( GX_PLANEMASK_BG0 );
GX_DispOn();
GXS_DispOn();

View File

@ -299,7 +299,7 @@ int TP_CalibrationMain( void )
switch (s_pTPC->seq) {
case INIT:
NNS_G2dCharCanvasClearArea( &gCanvas, TXT_COLOR_WHITE,
NNS_G2dCharCanvasClearArea( &gCanvas, TXT_COLOR_NULL,
0 * 8 , 20 * 8, 32 * 8, 4 * 8 );
s_pTPC->seq = INTERVAL_0;
PutStringUTF16( 2 * 8, 21 * 8, TXT_COLOR_CYAN, (const u16 *)L"[B]:CANCEL" );
@ -365,7 +365,7 @@ int TP_CalibrationMain( void )
TP_GetUnCalibratedPoint( &tpd.disp.x, &tpd.disp.y, DISP_X_SIZE / 2, DISP_Y_SIZE / 2 );
s_pTPC->seq = GET_POINT;
NNS_G2dCharCanvasClearArea( &gCanvas, TXT_COLOR_WHITE,
NNS_G2dCharCanvasClearArea( &gCanvas, TXT_COLOR_NULL,
2 * 8 , 21 * 8, 10 * 8, 2 * 8 );
PutStringUTF16( OK_BUTTON_TOP_X, OK_BUTTON_TOP_Y, TXT_COLOR_CYAN, (const u16 *)L" OK ");
PutStringUTF16( CANCEL_BUTTON_TOP_X, CANCEL_BUTTON_TOP_Y, TXT_COLOR_CYAN, (const u16 *)L" CANCEL ");
@ -475,7 +475,7 @@ void TP_CalibrationInit( void )
{
GX_DispOff();
GXS_DispOff();
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_WHITE );
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_NULL );
PutStringUTF16( 0, 0, TXT_COLOR_BLUE, (const u16 *)L"TOUCH PANEL CALIBRATION" );
@ -492,7 +492,7 @@ void TP_CalibrationInit( void )
SVC_CpuClear( 0x0000, s_pTPC, sizeof(CalibWork), 16 );
SVC_CpuClear( 0x0000, &tpd, sizeof(TpWork), 16 );
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 | GX_PLANEMASK_OBJ );
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 | GX_PLANEMASK_BG1 | GX_PLANEMASK_OBJ );
GXS_SetVisiblePlane( GX_PLANEMASK_BG0 );
GX_DispOn();
GXS_DispOn();

View File

@ -29,6 +29,8 @@ enum
{
TXT_CPALETTE_MAIN,
TXT_CPALETTE_USERCOLOR,
TXT_CPALETTE_USERCOLORSAMPLE1,
TXT_CPALETTE_USERCOLORSAMPLE2,
TXT_CPALETTE_4BPP,
TXT_NUM_CPALEETE
};
@ -36,12 +38,22 @@ enum
// デモ共通のカラーパレット
GXRgb TXTColorPalette[TXT_NUM_CPALEETE * 16] =
{
GX_RGB(31, 31, 31), GX_RGB(31, 31, 31), GX_RGB( 0, 0, 0), GX_RGB(31, 0, 0),
GX_RGB(31, 31, 31), GX_RGB(31, 31, 31), GX_RGB( 0, 0, 0), GX_RGB(31, 0, 0),// 基本文字色
GX_RGB( 0, 31, 0), GX_RGB( 0, 0, 31), GX_RGB( 0, 31, 31), GX_RGB(31, 0, 31),
GX_RGB(31, 31, 0), GX_RGB( 0, 0, 0), GX_RGB( 0, 0, 0), GX_RGB( 0, 0, 0),
GX_RGB( 0, 0, 0), GX_RGB( 0, 0, 0), GX_RGB( 0, 0, 0), GX_RGB( 0, 0, 0),
GX_RGB( 0, 0, 0), GX_RGB(12, 16, 19), GX_RGB(23, 9, 0), GX_RGB(31, 0, 3),
GX_RGB( 0, 0, 0), GX_RGB(12, 16, 19), GX_RGB(23, 9, 0), GX_RGB(31, 0, 3),// ユーザーカラー領域
GX_RGB(31, 17, 31), GX_RGB(31, 18, 0), GX_RGB(30, 28, 0), GX_RGB(21, 31, 0),
GX_RGB( 0, 20, 7), GX_RGB( 9, 27, 17), GX_RGB( 6, 23, 30), GX_RGB( 0, 11, 30),
GX_RGB( 0, 0, 18), GX_RGB(17, 0, 26), GX_RGB(26, 0, 29), GX_RGB(31, 0, 18),
GX_RGB( 0, 0, 0), GX_RGB(12, 16, 19), GX_RGB(23, 9, 0), GX_RGB(31, 0, 3),// ユーザーカラーのサンプル領域2
GX_RGB(31, 17, 31), GX_RGB(31, 18, 0), GX_RGB(30, 28, 0), GX_RGB(21, 31, 0),
GX_RGB(12, 16, 19), GX_RGB(23, 9, 0), GX_RGB(31, 0, 3), GX_RGB(31, 17, 31),
GX_RGB(31, 18, 0), GX_RGB(30, 28, 0), GX_RGB(21, 31, 0), GX_RGB( 0, 31, 0),
GX_RGB( 0, 0, 0), GX_RGB(12, 16, 19), GX_RGB(23, 9, 0), GX_RGB(31, 0, 3),// ユーザーカラーのサンプル領域1
GX_RGB(31, 17, 31), GX_RGB(31, 18, 0), GX_RGB(30, 28, 0), GX_RGB(21, 31, 0),
GX_RGB( 0, 20, 7), GX_RGB( 9, 27, 17), GX_RGB( 6, 23, 30), GX_RGB( 0, 11, 30),
GX_RGB( 0, 0, 18), GX_RGB(17, 0, 26), GX_RGB(26, 0, 29), GX_RGB(31, 0, 18),
@ -52,6 +64,46 @@ GXRgb TXTColorPalette[TXT_NUM_CPALEETE * 16] =
GRAY( 8), GRAY( 6), GRAY( 3), GRAY( 0),
};
// グラデパレットを作るためのマクロ
#define MAKECOLOR(r,g,b) GX_RGB( 0, 0, 0), GX_RGB(r, g, b), MC(r,g,b,1), MC(r,g,b,2),\
MC(r,g,b,3), MC(r,g,b,4), MC(r,g,b,5), MC(r,g,b,6),\
MC(r,g,b,7), MC(r,g,b,8), MC(r,g,b,9), MC(r,g,b,10),\
MC(r,g,b,11), MC(r,g,b,12), MC(r,g,b,13), GX_RGB(31, 31, 31)
#define MC(r,g,b,i) GX_RGB(r+((31-r)*i)/14, g+((31-g)*i)/14, b+((31-b)*i)/14)
// ユーザーカラーパレット切り替え用
GXRgb TempPalette[16 * 16] =
{
MAKECOLOR(12, 16, 19),
MAKECOLOR(23, 9, 0),
MAKECOLOR(31, 0, 3),
MAKECOLOR(31, 17, 31),
MAKECOLOR(31, 18, 0),
MAKECOLOR(30, 28, 0),
MAKECOLOR(21, 31, 0),
MAKECOLOR( 0, 31, 0),
MAKECOLOR( 0, 20, 7),
MAKECOLOR( 9, 27, 17),
MAKECOLOR( 6, 23, 30),
MAKECOLOR( 0, 11, 30),
MAKECOLOR( 0, 0, 18),
MAKECOLOR(17, 0, 26),
MAKECOLOR(26, 0, 29),
MAKECOLOR(31, 0, 18),
};
const unsigned int bg_char_data[16 * 3] = {
0x00000000, 0x00000000, 0x00000000, 0x00000000,// 0000h
0x00000000, 0x00000000, 0x00000000, 0x00000000,
0x11111111, 0x44444444, 0x77777777, 0x99999999,// 0001h
0xaaaaaaaa, 0xbbbbbbbb, 0xcccccccc, 0xcccccccc,
0xdddddddd, 0xdddddddd, 0xdddddddd, 0xeeeeeeee,// 0002h
0xeeeeeeee, 0xeeeeeeee, 0xeeeeeeee, 0xeeeeeeee,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,// 0003h
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
};
// extern data-----------------------------------------------------------------
// define data-----------------------------------------------------------------
@ -96,6 +148,59 @@ static RTCDate s_rtcDate;
static RTCTime s_rtcTime;
static u16 s_vcount;
static const u16 sScrnBuf[32 * 32]=
{
0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,//0
0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,0x1001,
0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,//1
0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,0x1002,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//2
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//3
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//4
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//5
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//6
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//7
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//8
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//9
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//10
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//11
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//12
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//13
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//14
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//15
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//16
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//17
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//18
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//19
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//20
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,//21
0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,0x1003,
0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,//22
0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,0x1802,
0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,//23
0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,0x1801,
};// Buffer for screen data(背景の枠)
static char s_strBuffer[ STRING_LENGTH_MAX * 2 ] ATTRIBUTE_ALIGN(2);
static u16 s_strBufferUTF16[ STRING_LENGTH_MAX ];
@ -213,17 +318,29 @@ static void InitScreen( void )
// メイン画面 BG 0 を設定
G2_SetBG0Control(
GX_BG_SCRSIZE_TEXT_256x256, // スクリーンサイズ 256x256
GX_BG_COLORMODE_16, // カラーモード 16色
GX_BG_COLORMODE_256, // カラーモード 256色
GX_BG_SCRBASE_0xf800, // スクリーンベース
GX_BG_CHARBASE_0x00000, // キャラクタベース
GX_BG_EXTPLTT_01 // 拡張パレットスロット
);
GX_SetVisiblePlane( GX_PLANEMASK_BG0 );
G2_SetBG1Control(
GX_BG_SCRSIZE_TEXT_256x256, // 256pix x 256pix text
GX_BG_COLORMODE_16, // use 16 colors mode
GX_BG_SCRBASE_0xf000, // screen base offset + 0x0000 is the address for BG #1 screen
GX_BG_CHARBASE_0x10000, // character base offset + 0x04000 is the address for BG #0 characters
GX_BG_EXTPLTT_01 // use BGExtPltt slot #0 if BGExtPltt is enabled
);
GX_SetVisiblePlane( GX_PLANEMASK_BG0 | GX_PLANEMASK_BG1);
G2_SetBG0Priority(0);
G2_SetBG1Priority(1);
GX_LoadBG1Char(bg_char_data, 0, sizeof(bg_char_data));
GX_LoadBG1Scr(sScrnBuf, 0, sizeof(sScrnBuf));
// サブ画面 BG 0 を設定
G2S_SetBG0Control(
GX_BG_SCRSIZE_TEXT_256x256, // 256pix x 256pix text
GX_BG_COLORMODE_16, // use 256 colors mode
GX_BG_COLORMODE_16, // use 16 colors mode
GX_BG_SCRBASE_0xf800, // screen base offset + 0x0000 is the address for BG #0 screen
GX_BG_CHARBASE_0x00000, // character base offset + 0x04000 is the address for BG #0 characters
GX_BG_EXTPLTT_01 // use BGExtPltt slot #0 if BGExtPltt is enabled
@ -250,10 +367,10 @@ static void InitCanvas( void )
// CharCanvas の初期化
NNS_G2dCharCanvasInitForBG(
&gCanvas,
(GXCharFmt16*)G2_GetBG0CharPtr() + CHARACTER_OFFSET,
(GXCharFmt256*)G2_GetBG0CharPtr() + CHARACTER_OFFSET,
CANVAS_WIDTH,
CANVAS_HEIGHT,
NNS_G2D_CHARA_COLORMODE_16
NNS_G2D_CHARA_COLORMODE_256
);
// TextCanvasの初期化
@ -638,3 +755,15 @@ void GetAndDrawRTCData( RTCDrawProperty *pRTCDraw, BOOL forceGetFlag )
DrawRTCData( pRTCDraw );
}
}
// ユーザーカラーの切り替え
void ChangeUserColor( u8 col )
{
int l;
if(col > 15) return;
for(l=0;l<16;l++)
{
TXTColorPalette[16+l] = TempPalette[16 * col + l];
}
GX_LoadBGPltt( TXTColorPalette, 0, sizeof(TXTColorPalette) );
}

View File

@ -76,6 +76,7 @@ enum
TXT_COLOR_4BPP_TEXT=1
};
#define TXT_COLOR_USER 17
// ŽžŒv•\ަ<C5BD>ê<EFBFBD>Š
#define RTC_DATE_TOP_X ( 9 * 8 )
@ -163,6 +164,7 @@ void SetBannerIconOBJ( GXOamAttr *pDstOAM, BannerFileV1 *bannerp );
BOOL GetRTCData( RTCDrawProperty *pRTCDraw, BOOL forceGetFlag );
void DrawRTCData( RTCDrawProperty *pRTCDraw );
void GetAndDrawRTCData( RTCDrawProperty *pRTCDraw, BOOL forceGetFlag );
void ChangeUserColor( u8 col );
#ifdef __cplusplus
}

View File

@ -72,7 +72,7 @@ void SelectLanguageInit( void )
{
GX_DispOff();
GXS_DispOff();
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_WHITE );
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_NULL );
PutStringUTF16( 0, 0, TXT_COLOR_BLUE, (const u16 *)L"LANGUAGE SELECT" );
PutStringUTF16( CANCEL_BUTTON_TOP_X, CANCEL_BUTTON_TOP_Y, TXT_COLOR_CYAN, (const u16 *)L"CANCEL" );
@ -91,7 +91,7 @@ void SelectLanguageInit( void )
SVC_CpuClear( 0x0000, &tpd, sizeof(TpWork), 16 );
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 );
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 | GX_PLANEMASK_BG1);
GXS_SetVisiblePlane( GX_PLANEMASK_BG0 );
GX_DispOn();
GXS_DispOn();

View File

@ -22,8 +22,10 @@
// define data----------------------------------
// ソフトウェアキーボードLCD領域
#define CLIST_LT_X 18
#define CLIST_LT_Y 40
#define CLIST_LT_X 23
#define CLIST_LT_Y 50
#define CLIST_MARGIN 14
#define CANCEL_BUTTON_TOP_X ( 2 * 8 )
#define CANCEL_BUTTON_TOP_Y ( 21 * 8 )
@ -55,6 +57,12 @@ typedef struct CsrPos {
u16 y; // y
}CsrPos;
typedef enum NameOrComment
{
NOC_NAME,
NOC_COMMENT
}NameOrComment;
// extern data----------------------------------
@ -74,7 +82,9 @@ static u16 s_csr = 0;
static const u16 *s_pStrSetting[ USER_INFO_MENU_ELEMENT_NUM ]; // メインメニュー用文字テーブルへのポインタリスト
static int char_mode = 0;
static u16 s_key_csr = 0;
static u8 s_color_csr = 0;
static TWLNickname s_temp_name;
static TWLComment s_temp_comment;
// const data-----------------------------------
static const u16 char_tbl[CHAR_LIST_MODE_NUM][CHAR_LIST_CHAR_NUM];
@ -172,6 +182,28 @@ static void SetSoftKeyboardButton(int mode)
char_mode = mode;
}
static void DrawOwnerInfoMenuScene( void )
{
u16 tempbuf[TWL_COMMENT_LENGTH+2];
u8 color;
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_NULL );
PutStringUTF16( 0, 0, TXT_COLOR_BLUE, (const u16 *)L"USER INFORMATION" );
PutStringUTF16( CANCEL_BUTTON_TOP_X, CANCEL_BUTTON_TOP_Y, TXT_COLOR_USER, (const u16 *)L"CANCEL" );
// メニュー項目
DrawMenu( s_csr, &s_settingParam );
// ニックネーム
PutStringUTF16( 128 , 8*8, TXT_COLOR_USER, TSD_GetNickname()->buffer );
// カラー
color = TSD_GetUserColor();
PutStringUTF16( 128 , 12*8, TXT_COLOR_USER, L"" );
// コメント
SVC_CpuCopy( TSD_GetComment()->buffer, tempbuf, 13 * 2, 16 );
*(tempbuf+13)='\n';
SVC_CpuCopy( TSD_GetComment()->buffer+13, tempbuf+14, 13 * 2, 16 );
*(tempbuf+TWL_COMMENT_LENGTH+1)=0;
PutStringUTF16( 128-78 , 16*8 , TXT_COLOR_USER, tempbuf );
}
// オーナー情報編集の初期化
void SetOwnerInfoInit( void )
{
@ -180,21 +212,16 @@ void SetOwnerInfoInit( void )
GX_DispOff();
GXS_DispOff();
PutStringUTF16( 0, 0, TXT_COLOR_BLUE, (const u16 *)L"USER INFORMATION" );
PutStringUTF16( CANCEL_BUTTON_TOP_X, CANCEL_BUTTON_TOP_Y, TXT_COLOR_CYAN, (const u16 *)L"CANCEL" );
// NITRO設定データのlanguageに応じたメインメニュー構成言語の切り替え
for( i = 0; i < USER_INFO_MENU_ELEMENT_NUM; i++ ) {
s_pStrSetting[ i ] = s_pStrSettingElemTbl[ i ][ TSD_GetLanguage() ];
}
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_WHITE );
DrawMenu( s_csr, &s_settingParam );
PutStringUTF16( 128 , 8*8, TXT_COLOR_CYAN, TSD_GetNickname()->buffer );
DrawOwnerInfoMenuScene();
SVC_CpuClear( 0x0000, &tpd, sizeof(TpWork), 16 );
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 );
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 | GX_PLANEMASK_BG1);
GXS_SetVisiblePlane( GX_PLANEMASK_BG0 );
GX_DispOn();
GXS_DispOn();
@ -222,9 +249,7 @@ int SetOwnerInfoMain( void )
}
tp_select = SelectMenuByTP( &s_csr, &s_settingParam );
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_WHITE );
DrawMenu( s_csr, &s_settingParam );
PutStringUTF16( 128 , 8*8, TXT_COLOR_CYAN, TSD_GetNickname()->buffer );
DrawOwnerInfoMenuScene();
// [CANCEL]ボタン押下チェック
if( tpd.disp.touch ) {
@ -260,6 +285,7 @@ int SetOwnerInfoMain( void )
return 0;
}
// バーチャルキー関係
// キーの表示
static void DrawCharKeys( void )
{
@ -276,28 +302,75 @@ static void DrawCharKeys( void )
if( (code >= CODE_BUTTON_TOP_) && (code < CODE_BUTTON_BOTTOM_) )
{
int x = code - CODE_BUTTON_TOP_;
PutStringUTF16( CLIST_LT_X + 15*(l%KEY_PER_LINE) + 7*((l%KEY_PER_LINE)/5) , CLIST_LT_Y + 15*(l/KEY_PER_LINE) , color, str_button[x] );
PutStringUTF16( CLIST_LT_X + CLIST_MARGIN*(l%KEY_PER_LINE) + 7*((l%KEY_PER_LINE)/5) ,
CLIST_LT_Y + CLIST_MARGIN*(l/KEY_PER_LINE) , color, str_button[x] );
}
else
{
u16 s[2];
s[0] = code;
s[1] = 0;
PutStringUTF16( CLIST_LT_X + 15*(l%KEY_PER_LINE) + 7*((l%KEY_PER_LINE)/5) , CLIST_LT_Y + 15*(l/KEY_PER_LINE) , color, s );
PutStringUTF16( CLIST_LT_X + CLIST_MARGIN*(l%KEY_PER_LINE) + 7*((l%KEY_PER_LINE)/5) ,
CLIST_LT_Y + CLIST_MARGIN*(l/KEY_PER_LINE) , color, s );
}
}
}
}
// 一文字削除
static void DeleteACharacter( void )
static void DeleteACharacter( NameOrComment noc )
{
if(s_temp_name.length > 0) s_temp_name.buffer[--s_temp_name.length] = CHAR_USCORE;
u16 *buf;
u8 *length;
if(noc == NOC_NAME)
{
buf = s_temp_name.buffer;
length = &s_temp_name.length;
}else if(noc == NOC_COMMENT)
{
buf = s_temp_comment.buffer;
length = &s_temp_comment.length;
}else
{
//unknown
return;
}
if(*length > 0) buf[--(*length)] = CHAR_USCORE;
}
// 選択中文字キー・特殊キーで決定した時の挙動
static void PushKeys( u16 code )
static void PushKeys( u16 code, NameOrComment noc )
{
u16 *buf;
u8 *length;
u16 *dest;
u8 *destlength;
u16 max_length;
void (*setflag)(BOOL);
if(noc == NOC_NAME)
{
buf = s_temp_name.buffer;
length = &s_temp_name.length;
dest = TSD_GetNickname()->buffer;
destlength = &TSD_GetNickname()->length;
max_length = TWL_NICKNAME_LENGTH;
setflag = TSD_SetFlagNickname;
}else if(noc == NOC_COMMENT)
{
buf = s_temp_comment.buffer;
length = &s_temp_comment.length;
dest = TSD_GetComment()->buffer;
destlength = &TSD_GetComment()->length;
max_length = TWL_COMMENT_LENGTH;
// setflag = TSD_SetFlagComment;
setflag = NULL;
}else
{
//unknown
return;
}
if( (code >= CODE_BUTTON_TOP_) && (code < CODE_BUTTON_BOTTOM_) )
{
// 特殊キー
@ -308,16 +381,16 @@ static void PushKeys( u16 code )
SetSoftKeyboardButton(next_char_mode[code - VAR_BUTTON1_]);
break;
case DEL_BUTTON_:
DeleteACharacter();
DeleteACharacter(noc);
break;
case SPACE_BUTTON_:
if(s_temp_name.length < TWL_NICKNAME_LENGTH) s_temp_name.buffer[s_temp_name.length++] = L' ';
if(*length < max_length) buf[(*length)++] = L' ';
break;
case OK_BUTTON_:
TSD_SetFlagNickname( TRUE );// ニックネーム設定完了フラグを立てておく
SVC_CpuClear(0, TSD_GetNickname()->buffer, (TWL_NICKNAME_LENGTH + 1) * 2, 16);// ゼロクリア
TSD_GetNickname()->length = s_temp_name.length;// 長さコピー
SVC_CpuCopy( s_temp_name.buffer, TSD_GetNickname()->buffer, s_temp_name.length * 2, 16 );// 内容コピー
if(setflag) setflag(TRUE);// 設定完了フラグを立てておく
SVC_CpuClear(0, dest, (max_length + 1) * 2, 16);// ゼロクリア
*destlength = *length;// 長さコピー
SVC_CpuCopy( buf, dest, (*length) * 2, 16 );// 内容コピー
(void)SYSM_WriteTWLSettingsFile();// ファイルへ書き込み
// セーブ後にキャンセル処理と合流
case CANCEL_BUTTON_:
@ -331,50 +404,15 @@ static void PushKeys( u16 code )
else
{
// 普通キー
if(s_temp_name.length < TWL_NICKNAME_LENGTH) s_temp_name.buffer[s_temp_name.length++] = code;
if(*length < max_length) buf[(*length)++] = code;
}
}
static void DrawSetNicknameScene( void )
// バーチャルキー上でのキーパッド及びタッチパッド処理
// 先にReadTPしておくこと。
static void PadDetectOnKey( NameOrComment noc )
{
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_WHITE );
PutStringUTF16( 0, 0, TXT_COLOR_BLUE, (const u16 *)L"NICKNAME" );
DrawCharKeys();
PutStringUTF16( 128-60 , 15 , TXT_COLOR_CYAN, s_temp_name.buffer );
}
// ニックネーム編集の初期化
static void SetNicknameInit( void )
{
GX_DispOff();
GXS_DispOff();
SetSoftKeyboardButton(0);
s_key_csr = 0;
// ニックネーム用テンポラリバッファの初期化
s_temp_name.length = TSD_GetNickname()->length;
SVC_CpuClear(CHAR_USCORE, s_temp_name.buffer, TWL_NICKNAME_LENGTH * 2, 16);
SVC_CpuCopy( TSD_GetNickname()->buffer, s_temp_name.buffer, s_temp_name.length * 2, 16 );
s_temp_name.buffer[TWL_NICKNAME_LENGTH] = 0;
DrawSetNicknameScene();
SVC_CpuClear( 0x0000, &tpd, sizeof(TpWork), 16 );
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 );
GXS_SetVisiblePlane( GX_PLANEMASK_BG0 );
GX_DispOn();
GXS_DispOn();
}
// ニックネーム編集メイン
static int SetNicknameMain( void )
{
BOOL tp_select,tp_cancel = FALSE;
ReadTP();
BOOL tp_select = FALSE;
//--------------------------------------
// キー入力処理
//--------------------------------------
@ -413,20 +451,56 @@ static int SetNicknameMain( void )
}
while(char_tbl[char_mode][s_key_csr]==EOM_);
}
tp_select = SelectMenuByTP( &s_csr, &s_settingParam );
// [CANCEL]ボタン押下チェック
if( tpd.disp.touch ) {
tp_cancel = WithinRangeTP( CANCEL_BUTTON_TOP_X, CANCEL_BUTTON_TOP_Y,
CANCEL_BUTTON_BOTTOM_X, CANCEL_BUTTON_BOTTOM_Y, &tpd.disp );
}
if( ( pad.trg & PAD_BUTTON_A ) || ( tp_select ) ) { // Aキーが押された
PushKeys( char_tbl[char_mode][s_key_csr] );
PushKeys( char_tbl[char_mode][s_key_csr], noc );
}else if( pad.trg & PAD_BUTTON_B ) {
DeleteACharacter();
DeleteACharacter(noc);
}
if(pad.trg || tpd.disp.touch)
}
// ニックネーム編集画面の描画処理
static void DrawSetNicknameScene( void )
{
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_NULL );
PutStringUTF16( 0, 0, TXT_COLOR_BLUE, (const u16 *)L"NICKNAME" );
DrawCharKeys();
PutStringUTF16( 128-60 , 21 , TXT_COLOR_USER, s_temp_name.buffer );
}
// ニックネーム編集の初期化
static void SetNicknameInit( void )
{
GX_DispOff();
GXS_DispOff();
SetSoftKeyboardButton(0);
s_key_csr = 0;
// ニックネーム用テンポラリバッファの初期化
s_temp_name.length = TSD_GetNickname()->length;
SVC_CpuClear(CHAR_USCORE, s_temp_name.buffer, TWL_NICKNAME_LENGTH * 2, 16);
SVC_CpuCopy( TSD_GetNickname()->buffer, s_temp_name.buffer, s_temp_name.length * 2, 16 );
s_temp_name.buffer[TWL_NICKNAME_LENGTH] = 0;
DrawSetNicknameScene();
SVC_CpuClear( 0x0000, &tpd, sizeof(TpWork), 16 );
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 | GX_PLANEMASK_BG1);
GXS_SetVisiblePlane( GX_PLANEMASK_BG0 );
GX_DispOn();
GXS_DispOn();
}
// ニックネーム編集メイン
static int SetNicknameMain( void )
{
ReadTP();
PadDetectOnKey(NOC_NAME);
if(pad.trg || tpd.disp.touch)
{// 描画処理……ボタン押したorタッチ時ぐらいで十分
DrawSetNicknameScene();
}
@ -441,10 +515,10 @@ static void SetBirthdayInit( void )
GX_DispOff();
GXS_DispOff();
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_WHITE );
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_NULL );
PutStringUTF16( 0, 0, TXT_COLOR_BLUE, (const u16 *)L"BIRTHDAY" );
PutStringUTF16( CANCEL_BUTTON_TOP_X, CANCEL_BUTTON_TOP_Y, TXT_COLOR_CYAN, (const u16 *)L"CANCEL" );
PutStringUTF16( CANCEL_BUTTON_TOP_X, CANCEL_BUTTON_TOP_Y, TXT_COLOR_USER, (const u16 *)L"CANCEL" );
// NITRO設定データのlanguageに応じたメインメニュー構成言語の切り替え
for( i = 0; i < USER_INFO_MENU_ELEMENT_NUM; i++ ) {
@ -455,7 +529,7 @@ static void SetBirthdayInit( void )
SVC_CpuClear( 0x0000, &tpd, sizeof(TpWork), 16 );
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 );
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 | GX_PLANEMASK_BG1);
GXS_SetVisiblePlane( GX_PLANEMASK_BG0 );
GX_DispOn();
GXS_DispOn();
@ -519,28 +593,33 @@ static int SetBirthdayMain( void )
return 0;
}
static void DrawColorSample( void )
{
int l;
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_NULL );
PutStringUTF16( 0, 0, TXT_COLOR_BLUE, (const u16 *)L"USER COLOR" );
PutStringUTF16( CANCEL_BUTTON_TOP_X, CANCEL_BUTTON_TOP_Y, TXT_COLOR_USER, (const u16 *)L"CANCEL" );
for(l=0;l<16;l++) //16色
{
PutStringUTF16( 88 + 24 * (l%4), 54 + 24 * (l/4), 40 + l + 8 * (l/8), (const u16 *)L"" );
}
PutStringUTF16( 88 + 24 * (s_color_csr%4), 54 + 24 * (s_color_csr/4), TXT_COLOR_WHITE, (const u16 *)L"" );
}
// ユーザーカラー編集の初期化
static void SetUserColorInit( void )
{
int i;
GX_DispOff();
GXS_DispOff();
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_WHITE );
PutStringUTF16( 0, 0, TXT_COLOR_BLUE, (const u16 *)L"USER COLOR" );
PutStringUTF16( CANCEL_BUTTON_TOP_X, CANCEL_BUTTON_TOP_Y, TXT_COLOR_CYAN, (const u16 *)L"CANCEL" );
// NITRO設定データのlanguageに応じたメインメニュー構成言語の切り替え
for( i = 0; i < USER_INFO_MENU_ELEMENT_NUM; i++ ) {
s_pStrSetting[ i ] = s_pStrSettingElemTbl[ i ][ TSD_GetLanguage() ];
}
DrawMenu( s_csr, &s_settingParam );
DrawColorSample();
SVC_CpuClear( 0x0000, &tpd, sizeof(TpWork), 16 );
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 );
s_color_csr = TSD_GetUserColor();
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 | GX_PLANEMASK_BG1);
GXS_SetVisiblePlane( GX_PLANEMASK_BG0 );
GX_DispOn();
GXS_DispOn();
@ -549,7 +628,7 @@ static void SetUserColorInit( void )
// ユーザーカラー編集メイン
static int SetUserColorMain( void )
{
BOOL tp_select,tp_cancel = FALSE;
BOOL tp_cancel = FALSE;
ReadTP();
@ -557,17 +636,21 @@ static int SetUserColorMain( void )
// キー入力処理
//--------------------------------------
if( pad.trg & PAD_KEY_DOWN ){ // カーソルの移動
if( ++s_csr == USER_INFO_MENU_ELEMENT_NUM ) {
s_csr=0;
}
s_color_csr += 4;
if(s_color_csr >= 16) s_color_csr -= 16;
}
if( pad.trg & PAD_KEY_UP ){
if( --s_csr & 0x80 ) {
s_csr=USER_INFO_MENU_ELEMENT_NUM - 1;
}
if(s_color_csr < 4) s_color_csr += 16;
s_color_csr -= 4;
}
if( pad.trg & PAD_KEY_RIGHT ){
s_color_csr += 1;
if(s_color_csr%4 == 0) s_color_csr -= 4;
}
if( pad.trg & PAD_KEY_LEFT ){
if(s_color_csr%4 == 0) s_color_csr += 4;
s_color_csr -= 1;
}
tp_select = SelectMenuByTP( &s_csr, &s_settingParam );
DrawMenu( s_csr, &s_settingParam );
// [CANCEL]ボタン押下チェック
if( tpd.disp.touch ) {
@ -575,57 +658,65 @@ static int SetUserColorMain( void )
CANCEL_BUTTON_BOTTOM_X, CANCEL_BUTTON_BOTTOM_Y, &tpd.disp );
}
if( ( pad.trg & PAD_BUTTON_A ) || ( tp_select ) ) { // メニュー項目への分岐
if( s_settingPos[ s_csr ].enable ) {
switch( s_csr ) {
case 0:
SetNicknameInit();
g_pNowProcess = SetNicknameMain;
break;
case 1:
SetBirthdayInit();
g_pNowProcess = SetBirthdayMain;
break;
case 2:
SetUserColorInit();
g_pNowProcess = SetUserColorMain;
break;
case 3:
SetCommentInit();
g_pNowProcess = SetCommentMain;
break;
}
}
DrawColorSample();
if( ( pad.trg & PAD_BUTTON_A ) ) { // 色決定
TSD_SetUserColor( (u8 )s_color_csr );
TSD_SetFlagUserColor( TRUE );
(void)SYSM_WriteTWLSettingsFile();// ファイルへ書き込み
SetOwnerInfoInit();
g_pNowProcess = SetOwnerInfoMain;
return 0;
}else if( ( pad.trg & PAD_BUTTON_B ) || tp_cancel ) {
ChangeUserColor( TSD_GetUserColor() ); // パレット色を元にもどす
SetOwnerInfoInit();
g_pNowProcess = SetOwnerInfoMain;
return 0;
}
if(pad.trg || tpd.disp.touch)
{// 描画処理……ボタン押したorタッチ時ぐらいで十分
ChangeUserColor( s_color_csr );
DrawColorSample();
}
return 0;
}
// コメント編集画面の描画処理
static void DrawSetCommentScene( void )
{
u16 tempbuf[TWL_COMMENT_LENGTH+2];
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_NULL );
PutStringUTF16( 0, 0, TXT_COLOR_BLUE, (const u16 *)L"COMMENT" );
DrawCharKeys();
SVC_CpuCopy( s_temp_comment.buffer, tempbuf, 13 * 2, 16 );
*(tempbuf+13)='\n';
SVC_CpuCopy( s_temp_comment.buffer+13, tempbuf+14, 13 * 2, 16 );
*(tempbuf+TWL_COMMENT_LENGTH+1)=0;
PutStringUTF16( 128-78 , 15 , TXT_COLOR_USER, tempbuf );
}
// コメント編集の初期化
static void SetCommentInit( void )
{
int i;
GX_DispOff();
GXS_DispOff();
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_WHITE );
PutStringUTF16( 0, 0, TXT_COLOR_BLUE, (const u16 *)L"COMMENT" );
PutStringUTF16( CANCEL_BUTTON_TOP_X, CANCEL_BUTTON_TOP_Y, TXT_COLOR_CYAN, (const u16 *)L"CANCEL" );
SetSoftKeyboardButton(0);
s_key_csr = 0;
// NITRO設定データのlanguageに応じたメインメニュー構成言語の切り替え
for( i = 0; i < USER_INFO_MENU_ELEMENT_NUM; i++ ) {
s_pStrSetting[ i ] = s_pStrSettingElemTbl[ i ][ TSD_GetLanguage() ];
}
// コメント用テンポラリバッファの初期化
s_temp_comment.length = TSD_GetComment()->length;
SVC_CpuClear(CHAR_USCORE, s_temp_comment.buffer, TWL_COMMENT_LENGTH * 2, 16);
SVC_CpuCopy( TSD_GetComment()->buffer, s_temp_comment.buffer, s_temp_comment.length * 2, 16 );
s_temp_comment.buffer[TWL_COMMENT_LENGTH] = 0;
DrawMenu( s_csr, &s_settingParam );
DrawSetCommentScene();
SVC_CpuClear( 0x0000, &tpd, sizeof(TpWork), 16 );
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 );
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 | GX_PLANEMASK_BG1);
GXS_SetVisiblePlane( GX_PLANEMASK_BG0 );
GX_DispOn();
GXS_DispOn();
@ -634,58 +725,15 @@ static void SetCommentInit( void )
// コメント編集メイン
static int SetCommentMain( void )
{
BOOL tp_select,tp_cancel = FALSE;
ReadTP();
//--------------------------------------
// キー入力処理
//--------------------------------------
if( pad.trg & PAD_KEY_DOWN ){ // カーソルの移動
if( ++s_csr == USER_INFO_MENU_ELEMENT_NUM ) {
s_csr=0;
}
}
if( pad.trg & PAD_KEY_UP ){
if( --s_csr & 0x80 ) {
s_csr=USER_INFO_MENU_ELEMENT_NUM - 1;
}
}
tp_select = SelectMenuByTP( &s_csr, &s_settingParam );
DrawMenu( s_csr, &s_settingParam );
// [CANCEL]ボタン押下チェック
if( tpd.disp.touch ) {
tp_cancel = WithinRangeTP( CANCEL_BUTTON_TOP_X, CANCEL_BUTTON_TOP_Y,
CANCEL_BUTTON_BOTTOM_X, CANCEL_BUTTON_BOTTOM_Y, &tpd.disp );
PadDetectOnKey(NOC_COMMENT);
if(pad.trg || tpd.disp.touch)
{// 描画処理……ボタン押したorタッチ時ぐらいで十分
DrawSetCommentScene();
}
if( ( pad.trg & PAD_BUTTON_A ) || ( tp_select ) ) { // メニュー項目への分岐
if( s_settingPos[ s_csr ].enable ) {
switch( s_csr ) {
case 0:
SetNicknameInit();
g_pNowProcess = SetNicknameMain;
break;
case 1:
SetBirthdayInit();
g_pNowProcess = SetBirthdayMain;
break;
case 2:
SetUserColorInit();
g_pNowProcess = SetUserColorMain;
break;
case 3:
SetCommentInit();
g_pNowProcess = SetCommentMain;
break;
}
}
}else if( ( pad.trg & PAD_BUTTON_B ) || tp_cancel ) {
SetOwnerInfoInit();
g_pNowProcess = SetOwnerInfoMain;
return 0;
}
return 0;
}

View File

@ -107,7 +107,7 @@ void SetRTCInit( void )
{
GX_DispOff();
GXS_DispOff();
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_WHITE );
NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_NULL );
PutStringUTF16( 0, 0, TXT_COLOR_BLUE, (const u16 *)L"DATE & TIME SET" );
PutStringUTF16( RETURN_BUTTON_TOP_X, RETURN_BUTTON_TOP_Y, TXT_COLOR_CYAN, (const u16 *)L" RETURN " );
@ -139,7 +139,7 @@ void SetRTCInit( void )
DrawDateTime( &s_pWork->dtp.Date, &s_pWork->dtp.Time, TXT_COLOR_BLACK );
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 );
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 | GX_PLANEMASK_BG1);
GXS_SetVisiblePlane( GX_PLANEMASK_BG0 );
GX_DispOn();
GXS_DispOn();