mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
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:
parent
b17b900e24
commit
fc1b2bb85f
@ -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は、日・英・独・仏・伊・西の6言語のうちの、対応言語のみの値となる。)
|
||||
|
||||
@ -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,
|
||||
};
|
||||
|
||||
@ -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 ) {
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user