diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.ncb b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.ncb index 64512da..b26ea1d 100644 Binary files a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.ncb and b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.ncb differ diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.suo b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.suo index 9e05596..d5a2833 100644 Binary files a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.suo and b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.suo differ diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Debug/BuildLog.htm b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Debug/BuildLog.htm index 8b531cb..1b9bb08 100644 Binary files a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Debug/BuildLog.htm and b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Debug/BuildLog.htm differ diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form1.h b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form1.h index 30fc494..8b1b1af 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form1.h +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form1.h @@ -4259,7 +4259,14 @@ private: System::Windows::Forms::TextBox^ tboxGuideDLCategory; // DL販売カテゴリの表示をカードアプリのとき「なし」にする。 void maskDLCategoryForms(void) { - if( !this->hSrl->IsMediaNand ) + // デフォルトだと IsMediaNand は false なのでメディアがNANDなのかROMが読み込まれていないのでfalseなのか判断できないので + // ROMが読み込まれていないときに(TMP情報の読み出しで)呼ばれるとコンボボックスが編集不可になってしまう + // => 読み込まれたときにのみ判定する + + System::Boolean bRead = this->hSrl->IsAppUser || this->hSrl->IsAppSystem || // 一度でも読み込まれているとどれかがtrueになっている + this->hSrl->IsAppSecure || this->hSrl->IsAppLauncher; + + if( !this->hSrl->IsMediaNand && bRead ) // 読み込まれているときのみ { this->combDLCategory->SelectedIndex = this->combDLCategory->Items->Count - 2; this->combDLCategory->Enabled = false; diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_deliv.cpp b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_deliv.cpp index 9f4aa28..53891c9 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_deliv.cpp +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_deliv.cpp @@ -28,6 +28,9 @@ using namespace MasterEditorTWL; // ---------------------------------------------- void Form1::setDeliverableProperties(void) { + // プログラムのバージョン + this->hDeliv->hMasterEditorVersion = this->getVersion(); + // 提出情報 this->hDeliv->hProductName = this->tboxProductName->Text; this->hDeliv->hProductCode1 = this->tboxProductCode1->Text; diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_pctl.cpp b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_pctl.cpp index 6501103..a66029e 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_pctl.cpp +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_pctl.cpp @@ -245,7 +245,7 @@ void Form1::checkRatingForms( System::Boolean inRegion, System::Windows::Forms:: "ペアレンタルコントロール情報", METWL_ERRLIST_NORANGE, METWL_ERRLIST_NORANGE, msg + ": レーティングを選択してください。", "Parental Control", - msg + ": Rating Pending is setting. When rating age is examined, Please submit again.", true, true ) ); + msg + ": Please set rating.", true, true ) ); } // 審査中のとき警告 @@ -254,7 +254,9 @@ void Form1::checkRatingForms( System::Boolean inRegion, System::Windows::Forms:: this->hWarnList->Add( gcnew RCMrcError( "ペアレンタルコントロール情報", METWL_ERRLIST_NORANGE, METWL_ERRLIST_NORANGE, msg + ": 審査中指定がされています。審査が決まりしだい、再提出してください。", - "Parental Control", msg + ": Save ROM data as Game soft which needs rating examinination.", true, true ) ); + "Parental Control", + msg + ": In your selection, no rating yet. Please submit again when rating is dicided.", + true, true ) ); } } //checkRatingForms() diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_srl.cpp b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_srl.cpp index 653fc63..2e60dde 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_srl.cpp +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_srl.cpp @@ -232,6 +232,7 @@ void Form1::setSrlForms(void) // ROMヘッダには関係ないが // NANDアプリのときにバックアップメモリを自動的に「なし」にしておく this->maskBackupMemoryForms(); + // カードアプリのときにDSi Wareの販売カテゴリを自動的に「なし」にしておく this->maskDLCategoryForms(); } // setSrlForms() @@ -357,7 +358,8 @@ System::Boolean Form1::checkSrlForms(void) "ペアレンタルコントロール情報", METWL_ERRLIST_NORANGE, METWL_ERRLIST_NORANGE, "レーティング表示が不要であると指定されています。この指定は、ソフトがゲームでないツール類のときのみ選択可能です。レーティング表示が不要であるかどうかは弊社窓口にご相談ください。", "Parental Control", - "In your selection, rating is unnecessary. This selection is available for only tool application which is not game. Please contact Nintendo for checking validation of this selection", true, true ) ); + "In your selection, rating is unnecessary. This selection is available for only tool application which is not game. Please contact Nintendo for checking validation of this selection", + true, true ) ); } else { diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_tmp.cpp b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_tmp.cpp index e52f2fe..1e26275 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_tmp.cpp +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_tmp.cpp @@ -69,6 +69,9 @@ System::Void Form1::saveTmp( System::String ^filename ) MasterEditorTWL::appendXmlTag( doc, form, "ReleaseDate", this->dateRelease->Value.ToString() ); MasterEditorTWL::appendXmlTag( doc, form, "SubmitDate", this->dateSubmit->Value.ToString() ); + MasterEditorTWL::appendXmlTag( doc, form, "DLCategory", this->combDLCategory->SelectedIndex.ToString() ); + MasterEditorTWL::appendXmlTag( doc, form, "DLCategoryOther", this->tboxDLCategoryOther->Text ); + MasterEditorTWL::appendXmlTag( doc, form, "Company1", this->tboxCompany1->Text ); MasterEditorTWL::appendXmlTag( doc, form, "Depart1", this->tboxDepart1->Text ); MasterEditorTWL::appendXmlTag( doc, form, "Name1", this->tboxPerson1->Text ); @@ -161,7 +164,7 @@ void Form1::loadTmp( System::String ^filename ) this->parseTmp( root, "/MasterEditorTWL/Form/ReleaseDate", this->dateRelease ); this->parseTmp( root, "/MasterEditorTWL/Form/SubmitDate", this->dateSubmit ); this->parseTmp( root, "/MasterEditorTWL/Form/Backup", this->combBackup ); - this->combBackup->Enabled = true; + this->combBackup->Enabled = true; // あとでマスクする this->tboxBackupOther->Enabled = false; this->tboxBackupOther->Clear(); @@ -171,6 +174,18 @@ void Form1::loadTmp( System::String ^filename ) this->tboxBackupOther->Enabled = true; } + // DSi Ware + this->parseTmp( root, "/MasterEditorTWL/Form/DLCategory", this->combDLCategory ); + this->combDLCategory->Enabled = true; // あとでマスクする + + this->tboxDLCategoryOther->Enabled = false; + this->tboxDLCategoryOther->Clear(); + if( this->combDLCategory->SelectedIndex == (this->combDLCategory->Items->Count - 1) ) + { + this->parseTmp( root, "/MasterEditorTWL/Form/DLCategoryOther", this->tboxDLCategoryOther ); + this->tboxDLCategoryOther->Enabled = true; + } + cli::array ^rbuts; cli::array ^strs; diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_util.cpp b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_util.cpp index a632488..183ef7d 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_util.cpp +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/Form_util.cpp @@ -86,7 +86,7 @@ System::Boolean Form1::checkBoxIndex( System::Windows::Forms::ComboBox ^box, Sys void Form1::setGridError( void ) { this->gridError->Rows->Clear(); - if( this->hSrl->hErrorList != nullptr ) + if( this->hSrl->hErrorList != nullptr ) // ROM読み込み時に発見されたエラー { for each( RCMrcError ^err in this->hSrl->hErrorList ) { @@ -113,7 +113,7 @@ void Form1::setGridWarn( void ) void Form1::overloadGridError( void ) { this->gridError->Rows->Clear(); - if( this->hSrl->hErrorList != nullptr ) + if( this->hSrl->hErrorList != nullptr ) // ROM読み込み時に発見されたエラー { for each( RCMrcError ^err in this->hSrl->hErrorList ) { @@ -124,7 +124,7 @@ void Form1::overloadGridError( void ) } } } - if( this->hErrorList != nullptr ) + if( this->hErrorList != nullptr ) // 現在のフォーム入力から発見されたエラー { for each( RCMrcError ^err in this->hErrorList ) { diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/deliverable.cpp b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/deliverable.cpp index fb01348..2c442a5 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/deliverable.cpp +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/deliverable.cpp @@ -139,6 +139,11 @@ ECDeliverableResult RCDeliverable::writeSpreadsheet( System::Xml::XmlNode ^node = list->Item(i); if( (node->FirstChild != nullptr) && (node->FirstChild->Value != nullptr) ) { + // プログラムのバージョン + if( node->FirstChild->Value->Equals( "TagMasterEditorVersion" ) ) + { + node->FirstChild->Value = this->hMasterEditorVersion; + } // 提出情報 if( node->FirstChild->Value->Equals( "TagProductName" ) ) { diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/deliverable.h b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/deliverable.h index 720efe9..823906d 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/deliverable.h +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/deliverable.h @@ -104,6 +104,9 @@ namespace MasterEditorTWL property System::Boolean IsUGC; property System::Boolean IsPhotoEx; + // プログラムのバージョン + property System::String ^hMasterEditorVersion; + // constructor and destructor public: diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl.cpp b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl.cpp index b21dae6..4678f56 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl.cpp +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl.cpp @@ -104,9 +104,11 @@ ECSrlResult RCSrl::readFromFile( System::String ^filename ) this->hErrorList = gcnew System::Collections::Generic::List; this->hWarnList = gcnew System::Collections::Generic::List; this->hParentalErrorList = gcnew System::Collections::Generic::List; + this->hParentalWarnList = gcnew System::Collections::Generic::List; this->hErrorList->Clear(); this->hWarnList->Clear(); this->hParentalErrorList->Clear(); + this->hParentalWarnList->Clear(); // ROMヘッダの値をROM固有情報フィールドに反映させる (void)this->setRomInfo(); @@ -368,6 +370,12 @@ bool RCSrl::setRegionInfo( u32 region ) "Region", "Illigal Region. Parental Control Information is ignored in reading.", true, true ) ); return false; } + if( !this->IsAppUser && (region == METWL_MASK_REGION_ALL) ) + { + this->hParentalWarnList->Add( gcnew RCMrcError( + "リージョン", 0x1b0, 0x1b3, "読み込み時のROMでは全リージョンが設定されています。仕向地別に設定する必要がないかご確認ください。", + "Region", "All Region is set in reading ROM. Please check necessity for setting each region individually.", true, true ) ); + } return true; } @@ -407,6 +415,15 @@ void RCSrl::setUnnecessaryRatingInfo( u32 region ) "ペアレンタルコントロール情報", 0x1b0, 0x1b3, "レーティング表示が不要かどうかを判断できません。再設定してください。", "Parental Control Info.", "Can't judge wheather rating display is unnecessary.", true, true ) ); } + else + { + this->hParentalWarnList->Add( gcnew RCMrcError( + "ペアレンタルコントロール情報", METWL_ERRLIST_NORANGE, METWL_ERRLIST_NORANGE, + "読み込み時のROMにはレーティング表示が不要であると設定されています。この指定は、ソフトがゲームでないツール類のときのみ選択可能です。レーティング表示が不要であるかどうかは弊社窓口にご相談ください。", + "Parental Control", + "In the loaded ROM, rating is unnecessary. This selection is available for only tool application which is not game. Please contact Nintendo for checking validation of this selection", + true, true ) ); + } } // ------------------------------------------------------------------- @@ -458,6 +475,11 @@ void RCSrl::setOneRatingOrgInfo( int ogn ) if( age == 0 ) // 年齢が0のときは審査中とみなす { index = ages->Length; // 配列の最後の要素の次が「審査中」 + this->hParentalWarnList->Add( gcnew RCMrcError( + "ペアレンタルコントロール情報", METWL_ERRLIST_NORANGE, METWL_ERRLIST_NORANGE, + name + ": 読み込み時のROMには審査中であると指定されています。審査が決まりしだい、再提出してください。", + "Parental Control", + name + ": In the loaded ROM, no rating yet. Please submit again when rating is dicided.", true, true ) ); } else { @@ -902,9 +924,20 @@ ECSrlResult RCSrl::searchSDKVersion( FILE *fp ) { case 1: str += ("PR " + patch.ToString() + revstr); break; case 2: str += ("RC " + patch.ToString() + revstr); break; - case 3: str += ("RELEASE " + patch.ToString() + revstr); break; + //case 3: str += ("RELEASE " + patch.ToString() + revstr); break; + case 3: + if( patch > 0 ) + { + str += ("RELEASE " + patch.ToString() + revstr); + } + else + { + str += ("RELEASE" + revstr); + } + break; default: break; } + // ARM9 static 内にあるか判定 u32 statbegin = this->pRomHeader->s.main_rom_offset; u32 statend = this->pRomHeader->s.main_rom_offset + this->pRomHeader->s.main_size - 1; System::Boolean isstat = ((statbegin <= offset) && (offset <= statend))?true:false; diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl.h b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl.h index f8fa903..c81c563 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl.h +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl.h @@ -487,7 +487,8 @@ namespace MasterEditorTWL // MRC機能でチェックされたエラー情報のリスト property System::Collections::Generic::List ^hErrorList; property System::Collections::Generic::List ^hWarnList; - property System::Collections::Generic::List ^hParentalErrorList; // ペアレンタルコントロールのチェックはsetと同時に行なう + property System::Collections::Generic::List ^hParentalErrorList; // 読み込み時に発見されるペアレンタルコントロール情報のエラー + property System::Collections::Generic::List ^hParentalWarnList; // MRC追加項目 property RCMrcExternalCheckItems ^hMrcExternalCheckItems; diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl_mrc.cpp b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl_mrc.cpp index 829dc38..cf15400 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl_mrc.cpp +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl_mrc.cpp @@ -38,7 +38,8 @@ ECSrlResult RCSrl::mrc( FILE *fp ) { return result; } - this->hErrorList->AddRange( this->hParentalErrorList ); // ペアレンタルコントロールのリストは別につくっているので追加 + this->hErrorList->AddRange( this->hParentalErrorList ); // ペアレンタルコントロールのリストは別につくっているので追加 + this->hWarnList->AddRange( this->hParentalWarnList ); #endif return ECSrlResult::NOERROR; } diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/utility.cpp b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/utility.cpp index e5755b7..2bf5418 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/utility.cpp +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/utility.cpp @@ -137,6 +137,11 @@ System::String^ MasterEditorTWL::transSizeToStringKB( const System::UInt32 size // 第2引数で小数点の桁数を指定(それ以下の桁は切り上げ) System::String^ MasterEditorTWL::transSizeToStringMB( const System::UInt32 size, const System::UInt32 decimals ) { + if( size == 0 ) + { + return size.ToString(); + } + System::UInt32 MB = 1024*1024; System::UInt32 pow = 1; System::UInt32 i;