ソースコードの整理中

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@254 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yoshida_teruhisa 2007-11-26 08:35:03 +00:00
parent 2209ac91cb
commit 57813d96ff
5 changed files with 103 additions and 58 deletions

View File

@ -71,6 +71,10 @@ void TwlMain(void)
// TWL設定のリード
SYSM_SetAllocFunc( Alloc, Free ); // SYSM_ReadTWLSettingsFile()の実行に必要。
// ::::::::::::::::::::::::::::::::::::::::::::::
// TWL設定データファイルの読み込み
// ::::::::::::::::::::::::::::::::::::::::::::::
if( SYSM_ReadTWLSettingsFile() ) {
SYSM_CaribrateTP();
}

View File

@ -58,9 +58,9 @@ static u16 s_menu_display_start;
static const u16 *s_pStrCountry[MENU_DISPLAY_SIZE];
static int list_size;
static int bar_height;
static double dots_per_item;
static int s_list_size;
static int s_bar_height;
static double s_dots_per_item;
// const data -----------------------------------------
extern const u16 *const s_pStrCountryName[];
@ -98,10 +98,10 @@ static void InitScrollMenuList( void )
s_list_end = (u16)(region_country_mapping[s_regionCode]);
if(s_list_start > s_list_end) OS_Panic("selectCountry.c:s_list_start>s_list_end!");
list_size = s_list_end - s_list_start + 1;
s_list_size = s_list_end - s_list_start + 1;
// 画面に表示する最大項目数よりも、国名リストが小さいか?
countrySel.num = (MENU_DISPLAY_SIZE < list_size) ? MENU_DISPLAY_SIZE : list_size ;
countrySel.num = (MENU_DISPLAY_SIZE < s_list_size) ? MENU_DISPLAY_SIZE : s_list_size ;
// 設定されていた国名コードがリスト範囲に入っていなければデフォルト値にする
if(s_countryCode < s_list_start || s_list_end < s_countryCode)
@ -123,11 +123,11 @@ static void InitScrollMenuList( void )
}
// スクロールバー
bar_height = BAR_HEIGHT_MAX - (list_size - countrySel.num);
dots_per_item = 1;
if(bar_height < BAR_HEIGHT_MIN){
bar_height = BAR_HEIGHT_MIN;
dots_per_item = (double)(BAR_HEIGHT_MAX-BAR_HEIGHT_MIN)/(list_size - countrySel.num);
s_bar_height = BAR_HEIGHT_MAX - (s_list_size - countrySel.num);
s_dots_per_item = 1;
if(s_bar_height < BAR_HEIGHT_MIN){
s_bar_height = BAR_HEIGHT_MIN;
s_dots_per_item = (double)(BAR_HEIGHT_MAX-BAR_HEIGHT_MIN)/(s_list_size - countrySel.num);
}
}
@ -144,9 +144,9 @@ void SelectCountryInit( void )
PutStringUTF16( 8 * 8, 18 * 8, TXT_COLOR_RED, (const u16 *)L"Select country." );
}
// ::::::::::::::::::::::::::::::::::::::::::::::
// TWL設定データの読み込み
// ::::::::::::::::::::::::::::::::::::::::::::::
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// あらかじめTWL設定データファイルから読み込み済みの設定を取得
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// 設定済みリージョンと国名コードの取得
if( !SYSM_IsValidTSD() ||
( TSD_GetRegion() >= TWL_REGION_MAX ) ) {
@ -234,7 +234,7 @@ static void MoveCursorByScrollBar( void )
{
static BOOL holding = FALSE;
static int dy;
int bar_top = (int)(BAR_ZERO_Y+dots_per_item * (s_menu_display_start - s_list_start));
int bar_top = (int)(BAR_ZERO_Y+s_dots_per_item * (s_menu_display_start - s_list_start));
if(tpd.disp.touch)
{
if(holding)
@ -247,9 +247,9 @@ static void MoveCursorByScrollBar( void )
{
bar_top = tpd.disp.y - dy - BAR_LOOSENESS;
}
s_menu_display_start = (u16)(((bar_top - BAR_ZERO_Y)/dots_per_item) + s_list_start);
s_menu_display_start = (u16)(((bar_top - BAR_ZERO_Y)/s_dots_per_item) + s_list_start);
}
else if(WithinRangeTP(BAR_ZERO_X, bar_top+BAR_OFFSET,BAR_ZERO_X + BAR_WIDTH,bar_top+BAR_OFFSET+bar_height,&tpd.disp))
else if(WithinRangeTP(BAR_ZERO_X, bar_top+BAR_OFFSET,BAR_ZERO_X + BAR_WIDTH,bar_top+BAR_OFFSET+s_bar_height,&tpd.disp))
{
holding = TRUE;
dy = tpd.disp.y - bar_top;
@ -282,11 +282,11 @@ static void DrawCountryMain( void )
// 簡易スクロールバー表示
{
PutStringUTF16( BAR_ZERO_X, BAR_ZERO_Y-BAR_BUTTON_HEIGHT, TXT_UCOLOR_G0, (const u16 *)L"" );
for(l=0; l<bar_height-SQUARE_SIZE; l+=SQUARE_SIZE)
for(l=0; l<s_bar_height-SQUARE_SIZE; l+=SQUARE_SIZE)
{
PutStringUTF16( BAR_ZERO_X, (int)(l+BAR_ZERO_Y+dots_per_item * (s_menu_display_start - s_list_start)), TXT_UCOLOR_G2, (const u16 *)L"" );
PutStringUTF16( BAR_ZERO_X, (int)(l+BAR_ZERO_Y+s_dots_per_item * (s_menu_display_start - s_list_start)), TXT_UCOLOR_G2, (const u16 *)L"" );
}
PutStringUTF16( BAR_ZERO_X, (int)(BAR_ZERO_Y+bar_height-SQUARE_SIZE+dots_per_item * (s_menu_display_start - s_list_start)), TXT_UCOLOR_G2, (const u16 *)L"" );
PutStringUTF16( BAR_ZERO_X, (int)(BAR_ZERO_Y+s_bar_height-SQUARE_SIZE+s_dots_per_item * (s_menu_display_start - s_list_start)), TXT_UCOLOR_G2, (const u16 *)L"" );
PutStringUTF16( BAR_ZERO_X, BAR_ZERO_Y+BAR_HEIGHT_MAX, TXT_UCOLOR_G0, (const u16 *)L"" );
}
PutStringUTF16( 0, 0, TXT_COLOR_BLUE, (const u16 *)L"COUNTRY SELECT" );

View File

@ -103,6 +103,10 @@ void SelectLanguageInit( void )
PutStringUTF16( 8 * 8, 18 * 8, TXT_COLOR_RED, (const u16 *)L"Select language." );
}
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// あらかじめTWL設定データファイルから読み込み済みの設定を取得
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// リージョンの取得
if( !SYSM_IsValidTSD() ||
( TSD_GetRegion() >= TWL_REGION_MAX ) ) {
s_regionCode = (TWLRegion)TWL_DEFAULT_REGION;
@ -110,6 +114,7 @@ void SelectLanguageInit( void )
s_regionCode = (TWLRegion)TSD_GetRegion();
}
// 言語の取得
if( !SYSM_IsValidTSD() ||
( TSD_GetLanguage() >= TWL_LANG_CODE_MAX ) ) {
temp_langCode = TWL_LANG_ENGLISH;
@ -117,6 +122,7 @@ void SelectLanguageInit( void )
temp_langCode = TSD_GetLanguage();
}
// リージョン-言語マッピング情報から、現在のリージョンで選択できる言語をリストアップ
s_lang = 0;
for(l=0; l<TWL_LANG_CODE_MAX; l++)
{

View File

@ -99,6 +99,10 @@ void SelectRegionInit( void )
PutStringUTF16( 8 * 8, 18 * 8, TXT_COLOR_RED, (const u16 *)L"Select region." );
}
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// あらかじめTWL設定データファイルから読み込み済みの設定を取得
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// リージョンの取得
if( !SYSM_IsValidTSD() ||
( TSD_GetRegion() >= TWL_REGION_MAX ) ) {
s_regionCode = (TWLRegion)TWL_DEFAULT_REGION;

View File

@ -60,7 +60,7 @@
#define CHAR_USCORE L'_'
#define KEY_PER_LINE 11
#define KEY_START 109 //ソフトウェアキーのカーソルはキャンセルキーから開始
#define KEY_START 109 //ソフトウェアキーのカーソルデフォルト位置はキャンセルキー
#define KEY_OK 0xffff
#define KEY_CANCEL 0xfffe
@ -92,7 +92,7 @@ static int SetCommentMain( void );
// 少しでもダイエットしたい時はWork扱いにしてAlloc→Freeしましょう
static u16 s_csr = 0;
static const u16 *s_pStrSetting[ USER_INFO_MENU_ELEMENT_NUM ]; // メインメニュー用文字テーブルへのポインタリスト
static int char_mode = 0;
static int s_char_mode = 0;
static u16 s_key_csr = 0;
static u8 s_color_csr = 0;
static BOOL s_birth_csr = FALSE;
@ -193,7 +193,7 @@ static void SetSoftKeyboardButton(int mode)
count++;
}
}
char_mode = mode;
s_char_mode = mode;
}
// キャンセルボタン専用SelectSomethingFuncの実装
@ -225,6 +225,9 @@ static void DrawOwnerInfoMenuScene( void )
PutStringUTF16( CANCEL_BUTTON_TOP_X, CANCEL_BUTTON_TOP_Y, TXT_UCOLOR_G0, (const u16 *)L"<EFBFBD>RETURN" );
// メニュー項目
DrawMenu( s_csr, &s_settingParam );
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// あらかじめTWL設定データファイルから読み込み済みの設定を取得して表示
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// ニックネーム
PutStringUTF16( 128 , 8*8, TXT_UCOLOR_G0, TSD_GetNickname()->buffer );
// 誕生日
@ -329,7 +332,7 @@ static void DrawCharKeys( void )
for( l=0; l<CHAR_LIST_CHAR_NUM; l++ )
{
int color=TXT_COLOR_BLACK;
code = char_tbl[char_mode][l];
code = char_tbl[s_char_mode][l];
if (s_key_csr == l) color = TXT_COLOR_GREEN;
if(code != EOM_)
{
@ -425,6 +428,9 @@ static void PushKeys( u16 code, NameOrComment noc )
SVC_CpuClear(0, dest, (max_length + 1) * 2, 16);// ゼロクリア
*destlength = *length;// 長さコピー
SVC_CpuCopy( buf, dest, (*length) * 2, 16 );// 内容コピー
// ::::::::::::::::::::::::::::::::::::::::::::::
// TWL設定データファイルへの書き込み
// ::::::::::::::::::::::::::::::::::::::::::::::
(void)SYSM_WriteTWLSettingsFile();// ファイルへ書き込み
// セーブ後にキャンセル処理と合流
case CANCEL_BUTTON_:
@ -467,7 +473,7 @@ static BOOL SelectSoftwareKeyFunc( u16 *csr, TPData *tgt )
if ( csrxy < 0 || csrxy >= CHAR_LIST_CHAR_NUM) return FALSE;// 明らかにはみ出した
// 候補座標のキーコード取得
code = char_tbl[char_mode][csrxy];
code = char_tbl[s_char_mode][csrxy];
if(code == EOM_) return FALSE;
// 候補座標の領域取得
@ -515,7 +521,7 @@ static void PadDetectOnKey( NameOrComment noc )
else s_key_csr -= KEY_PER_LINE-1;
if( s_key_csr == CHAR_LIST_CHAR_NUM ) s_key_csr -= s_key_csr%KEY_PER_LINE;
}
while(char_tbl[char_mode][s_key_csr]==EOM_);
while(char_tbl[s_char_mode][s_key_csr]==EOM_);
}
if( pad.trg & PAD_KEY_LEFT ){
do
@ -524,7 +530,7 @@ static void PadDetectOnKey( NameOrComment noc )
else s_key_csr += KEY_PER_LINE-1;
if( s_key_csr & 0x8000 ) s_key_csr = KEY_PER_LINE-1;
}
while(char_tbl[char_mode][s_key_csr]==EOM_);
while(char_tbl[s_char_mode][s_key_csr]==EOM_);
}
if( pad.trg & PAD_KEY_DOWN ){ // カーソルの移動
do
@ -532,7 +538,7 @@ static void PadDetectOnKey( NameOrComment noc )
s_key_csr += KEY_PER_LINE;
if( s_key_csr >= CHAR_LIST_CHAR_NUM ) s_key_csr -= KEY_PER_LINE*(s_key_csr/KEY_PER_LINE);
}
while(char_tbl[char_mode][s_key_csr]==EOM_);
while(char_tbl[s_char_mode][s_key_csr]==EOM_);
}
if( pad.trg & PAD_KEY_UP ){
do
@ -541,14 +547,14 @@ static void PadDetectOnKey( NameOrComment noc )
else s_key_csr -= KEY_PER_LINE;
if( s_key_csr >= CHAR_LIST_CHAR_NUM ) s_key_csr -= KEY_PER_LINE;
}
while(char_tbl[char_mode][s_key_csr]==EOM_);
while(char_tbl[s_char_mode][s_key_csr]==EOM_);
}
func[0] = (SelectSomethingFunc)SelectSoftwareKeyFunc;
tp_select = SelectSomethingByTP(&s_key_csr, func, 1 );
if( ( pad.trg & PAD_BUTTON_A ) || ( tp_select ) ) { // キーが押された
PushKeys( char_tbl[char_mode][s_key_csr], noc );
PushKeys( char_tbl[s_char_mode][s_key_csr], noc );
}else if( pad.trg & PAD_BUTTON_B ) {
DeleteACharacter(noc);
}
@ -569,6 +575,9 @@ static void SetNicknameInit( void )
SetSoftKeyboardButton(0);
s_key_csr = KEY_START;
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// あらかじめTWL設定データファイルから読み込み済みの設定を取得
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// ニックネーム用テンポラリバッファの初期化
s_temp_name.length = TSD_GetNickname()->length;
SVC_CpuClear(CHAR_USCORE, s_temp_name.buffer, TWL_NICKNAME_LENGTH * 2, 16);
@ -635,6 +644,10 @@ static BOOL SelectBirthdayFunc( u16 *csr, TPData *tgt )
// 誕生日編集の初期化
static void SetBirthdayInit( void )
{
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// あらかじめTWL設定データファイルから読み込み済みの設定を取得
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// 誕生日
s_temp_birthday.month = TSD_GetBirthday()->month;
s_temp_birthday.day = TSD_GetBirthday()->day;
@ -660,38 +673,13 @@ static void CheckDate( void )
if( s_temp_birthday.day > maxday ) s_temp_birthday.day = 1;
}
// 誕生日編集メイン
static int SetBirthdayMain( void )
// 押している間数字が一定スピードで変化するような処理
static void Birthday_AutoNumScrollByTP( void )
{
SelectSomethingFunc func[2]={SelectCancelFunc, SelectOKFunc};
BOOL tp_touch = FALSE;
u16 temp_csr;
u16 temp_ok_cancel;
static u16 first_csr = 0xffff;
u16 temp_csr;
static int same_count = 0;
ReadTP();
//--------------------------------------
// キー入力処理
//--------------------------------------
if( pad.trg & PAD_KEY_DOWN ){
(*(s_birth_csr ? &s_temp_birthday.month : &s_temp_birthday.day))--;
}
if( pad.trg & PAD_KEY_UP ){
(*(s_birth_csr ? &s_temp_birthday.month : &s_temp_birthday.day))++;
}
if( pad.trg & (PAD_KEY_RIGHT | PAD_KEY_LEFT)){ // カーソルの移動
s_birth_csr = !s_birth_csr;
}
// 日付チェック
CheckDate();
// TPチェック
tp_touch = SelectSomethingByTP(&temp_ok_cancel, func, 2 );
// 押している間数字が一定スピードで変化するような処理
if( tpd.disp.touch )
{
BOOL t = SelectBirthdayFunc( &temp_csr, &tpd.disp );
@ -735,6 +723,37 @@ static int SetBirthdayMain( void )
same_count = 0;
first_csr = 0xffff;
}
}
// 誕生日編集メイン
static int SetBirthdayMain( void )
{
SelectSomethingFunc func[2]={SelectCancelFunc, SelectOKFunc};
BOOL tp_touch = FALSE;
u16 temp_ok_cancel;
ReadTP();
//--------------------------------------
// キー入力処理
//--------------------------------------
if( pad.trg & PAD_KEY_DOWN ){
(*(s_birth_csr ? &s_temp_birthday.month : &s_temp_birthday.day))--;
}
if( pad.trg & PAD_KEY_UP ){
(*(s_birth_csr ? &s_temp_birthday.month : &s_temp_birthday.day))++;
}
if( pad.trg & (PAD_KEY_RIGHT | PAD_KEY_LEFT)){ // カーソルの移動
s_birth_csr = !s_birth_csr;
}
// 日付チェック
CheckDate();
// TPチェック
tp_touch = SelectSomethingByTP(&temp_ok_cancel, func, 2 );
// TPでボタンを押している間数字が一定スピードで変化するような処理
Birthday_AutoNumScrollByTP();
// 日付チェック
CheckDate();
@ -744,6 +763,9 @@ static int SetBirthdayMain( void )
if( pad.trg & PAD_BUTTON_A || (tp_touch && temp_ok_cancel == KEY_OK) ) {
TSD_SetBirthday(&s_temp_birthday);
TSD_SetFlagBirthday( TRUE );
// ::::::::::::::::::::::::::::::::::::::::::::::
// TWL設定データファイルへの書き込み
// ::::::::::::::::::::::::::::::::::::::::::::::
(void)SYSM_WriteTWLSettingsFile();// ファイルへ書き込み
SetOwnerInfoInit();
g_pNowProcess = SetOwnerInfoMain;
@ -814,6 +836,10 @@ static void SetUserColorInit( void )
SVC_CpuClear( 0x0000, &tpd, sizeof(TpWork), 16 );
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// あらかじめTWL設定データファイルから読み込み済みの設定を取得
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// ユーザーカラー
s_color_csr = TSD_GetUserColor();
GX_SetVisiblePlane ( GX_PLANEMASK_BG0 | GX_PLANEMASK_BG1);
@ -858,7 +884,9 @@ static int SetUserColorMain( void )
if( ( pad.trg & PAD_BUTTON_A ) || (tp_touch && temp_csr == KEY_OK) ) { // 色決定
TSD_SetUserColor( (u8 )s_color_csr );
TSD_SetFlagUserColor( TRUE );
// ::::::::::::::::::::::::::::::::::::::::::::::
// TWL設定データファイルへの書き込み
// ::::::::::::::::::::::::::::::::::::::::::::::
(void)SYSM_WriteTWLSettingsFile();// ファイルへ書き込み
SetOwnerInfoInit();
g_pNowProcess = SetOwnerInfoMain;
@ -896,6 +924,9 @@ static void SetCommentInit( void )
SetSoftKeyboardButton(0);
s_key_csr = KEY_START;
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// あらかじめTWL設定データファイルから読み込み済みの設定を取得
// :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
// コメント用テンポラリバッファの初期化
s_temp_comment.length = TSD_GetComment()->length;
SVC_CpuClear(CHAR_USCORE, s_temp_comment.buffer, TWL_COMMENT_LENGTH * 2, 16);