LANG_BITMAP情報の調整。(過渡期なので、未FIX)

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@140 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yosiokat 2007-11-12 02:00:27 +00:00
parent b17b900e24
commit fc1b2bb85f
4 changed files with 30 additions and 19 deletions

View File

@ -93,10 +93,13 @@ NTRSettingsData *g_pNSD = &s_NSDStoreEx.nsd;
NTRSettingsDataEx *g_pNSDEx = &s_NSDStoreEx.nsd_ex;
// const data-----------------------------------------------------------
static const u16 s_validLangBitmapList[] = {
NTR_LANG_BITMAP_WW,
NTR_LANG_BITMAP_CHINA,
NTR_LANG_BITMAP_KOREA,
static const u16 s_validLangBitmapList[] = { // ※TWLに合わせた方が良さそう。
NTR_LANG_BITMAP_WW, // TWL_REGION_JAPAN
NTR_LANG_BITMAP_WW, // TWL_REGION_AMERICA
NTR_LANG_BITMAP_WW, // TWL_REGION_EUROPE
NTR_LANG_BITMAP_WW, // TWL_REGION_AUSTRALIA
NTR_LANG_BITMAP_CHINA, // TWL_REGION_CHINA
NTR_LANG_BITMAP_KOREA, // TWL_REGION_KOREA
};
@ -203,7 +206,7 @@ BOOL NSD_WriteSettings( u8 region )
// NSD_EXのCRC算出。
s_NSDStoreEx.nsd_ex.version = NTR_SETTINGS_DATA_EX_VERSION; // バージョンを現在のものに設定。
s_NSDStoreEx.nsd_ex.valid_language_bitmap = s_validLangBitmapList[ region & 0x03 ]; // ※WW,中,韓の3つのみにとりあえず対応
s_NSDStoreEx.nsd_ex.valid_language_bitmap = s_validLangBitmapList[ region ];
s_NSDStoreEx.crc16_ex = SVC_GetCRC16( 0xffff, (const void *)&s_NSDStoreEx.nsd_ex, sizeof(NTRSettingsDataEx) );
// NTR設定データのライト
@ -294,7 +297,7 @@ static BOOL NSDi_CheckDataValue( NSDStoreEx *pNSDStoreEx, u8 region )
{
NTRSettingsData *pNSD = &pNSDStoreEx->nsd;
NTRSettingsDataEx *pNSDEx = &pNSDStoreEx->nsd_ex;
u16 validLangBitmap = s_validLangBitmapList[ region & 0x03 ]; // ※WW,中,韓の3つのみにとりあえず対応
u16 validLangBitmap = s_validLangBitmapList[ region ];
//pNSD->option;
// NSDのlanguageチェック NSD側のlanguageは、日・英・独・仏・伊・西の言語のうちの、対応言語のみの値となる。

View File

@ -50,7 +50,10 @@ static const char *s_TSDPath[ TSD_FILE_MIRROR_NUM ] = {
};
static const u16 s_validLangBitmapList[] = {
TWL_LANG_BITMAP_WW,
TWL_LANG_BITMAP_JAPAN,
TWL_LANG_BITMAP_AMERICA,
TWL_LANG_BITMAP_EUROPE,
TWL_LANG_BITMAP_AUSTRALIA,
TWL_LANG_BITMAP_CHINA,
TWL_LANG_BITMAP_KOREA,
};

View File

@ -171,8 +171,8 @@ static BOOL SYSMi_VerifyNTRSettings( void )
// 値が一致する必要があるもの
if( ( NSD_GetRTCOffset() != TSD_GetRTCOffset() ) ||
( NSD_GetLanguageEx() != TSD_GetLanguage() ) ||
( NSD_GetLanguageBitmap() != TSD_GetLanguageBitmap() )
( NSD_GetLanguageEx() != TSD_GetLanguage() )
// || ( NSD_GetLanguageBitmap() != TSD_GetLanguageBitmap() )
) {
isFailed = TRUE;
}
@ -256,7 +256,7 @@ static void SYSMi_ConvertTWL2NTRSettings( void )
// 値が一致する必要があるもの
NSD_SetRTCOffset( TSD_GetRTCOffset() );
NSD_SetLanguageEx( (NTRLangCode)TSD_GetLanguage() );
NSD_SetLanguageBitmap( TSD_GetLanguageBitmap() );
// NSD_SetLanguageBitmap( TSD_GetLanguageBitmap() );
// SystemMenuのリージョンによって、ちょっと特殊な処理が必要なもの
if( TSD_GetLanguage() < TWL_LANG_CODE_MAX_WW ) {

View File

@ -59,8 +59,11 @@ typedef enum TWLLangCode{
TWL_LANG_CODE_MAX
}TWLLangCode;
#define TWL_LANG_CODE_MAX_WW TWL_LANG_SPANISH
// NTR 言語との対応マップ
const u8 LangCodeMapFromTWLtoNTR[][] = {
#if 0
const u8 LangCodeMapFromTWLtoNTR[][ 2 ] = {
{ TWL_LANG_JAPANESE, NTR_LANG_JAPANESE },
{ TWL_LANG_ENGLISH, NTR_LANG_ENGLISH },
{ TWL_LANG_FRENCH, NTR_LANG_FRENCH },
@ -75,6 +78,7 @@ const u8 LangCodeMapFromTWLtoNTR[][] = {
// { TWL_LANG_DUTCH, NTR_LANG_ENGLISH },
// { TWL_LANG_TRAD_CHINESE, NTR_LANG_CHINESE }
};
#endif
#define TWL_LANG_BITMAP_JAPAN ( ( 0x0001 << TWL_LANG_JAPANESE ) ) // JPN版での対応言語ビットマップ
#define TWL_LANG_BITMAP_AMERICA ( ( 0x0001 << TWL_LANG_AMERICAN_ENGLISH ) | \
@ -160,14 +164,15 @@ typedef enum TWLRatingOgn {
}TWLRatingOgn;
typedef struct TWLParentalControl {
// u8 flags; // Wiiでは、PARENTAL_CONTROL_USEフラグのみ --> isSetParentalControl があるので現状必要なし
TWLRatingOgn ogn; // 審査団体
u8 rating; // レーティング(年齢)値
char password[ TWL_PARENTAL_CONTROL_PASSWORD_LENGTH ]; // 暗証番号、終端コードなし
u8 secretQuestion; // 秘密の質問文 ID
u16 secretAnswer[ TWL_PARENTAL_CONTROL_SECRET_ANSWER_LENGTH_MAX ]; // UTF16,秘密の質問への回答、終端コードなし
u16 secretAnswerLength; // 秘密の質問への回答文字数Wiiでu16,LENGTH_MAX が保持できるからu8でもいいのでは
// u8 rsv[ 16 ]; // 削除予定16バイトのレーティング情報を持つのはアプリ側のROMヘッダ
TWLRatingOgn ogn; // 審査団体
// u8 flags; // Wiiでは、PARENTAL_CONTROL_USEフラグのみ --> isSetParentalControl があるので現状必要なし
u8 rating; // レーティング(年齢)値
char password[ TWL_PARENTAL_CONTROL_PASSWORD_LENGTH + 1 ]; // 暗証番号、終端コードあり
u8 secretQuestion; // 秘密の質問文 ID
u8 rsv_A;
u16 secretAnswer[ TWL_PARENTAL_CONTROL_SECRET_ANSWER_LENGTH_MAX + 1 ]; // UTF16,秘密の質問への回答、終端コードあり
u16 secretAnswerLength; // 秘密の質問への回答文字数Wiiでu16,LENGTH_MAX が保持できるからu8でもいいのでは
// u8 rsv_B[ 16 ]; // 削除予定16バイトのレーティング情報を持つのはアプリ側のROMヘッダ
}TWLParentalControl;