From 12cc88732a52b707f4ed25d02594ef03c1e80aaf Mon Sep 17 00:00:00 2001 From: nishikawa_takeshi Date: Wed, 10 Sep 2008 13:42:22 +0000 Subject: [PATCH] =?UTF-8?q?=E3=83=9E=E3=82=B9=E3=82=BF=E3=82=A8=E3=83=87?= =?UTF-8?q?=E3=82=A3=E3=82=BF:=E3=83=9A=E3=82=A2=E3=83=AC=E3=83=B3?= =?UTF-8?q?=E3=82=BF=E3=83=AB=E3=82=B3=E3=83=B3=E3=83=88=E3=83=AD=E3=83=BC?= =?UTF-8?q?=E3=83=AB=E3=81=AE=E8=AA=AD=E3=81=BF=E8=BE=BC=E3=81=BF=E6=99=82?= =?UTF-8?q?=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF=E3=82=92Wii=E3=81=AE?= =?UTF-8?q?=E3=83=9E=E3=82=B9=E3=82=BF=E3=83=BC=E3=82=A8=E3=83=87=E3=82=A3?= =?UTF-8?q?=E3=82=BF=E3=81=AB=E5=90=88=E3=82=8F=E3=81=9B=E3=82=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2481 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../tools/MasterEditorTWL/MasterEditorTWL.ncb | Bin 11209728 -> 11217920 bytes .../tools/MasterEditorTWL/MasterEditorTWL.suo | Bin 42496 -> 53760 bytes .../MasterEditorTWL/Debug/BuildLog.htm | Bin 16374 -> 16374 bytes .../MasterEditorTWL/MasterEditorTWL/Form1.h | 160 ++++++++++-------- .../MasterEditorTWL/Form1.resX | 18 -- .../MasterEditorTWL/Release/BuildLog.htm | Bin 16546 -> 16546 bytes .../MasterEditorTWL/MasterEditorTWL/common.h | 1 + .../MasterEditorTWL/crc_whole.cpp | 34 ++++ .../MasterEditorTWL/crc_whole.h | 14 ++ .../MasterEditorTWL/MasterEditorTWL/srl.cpp | 109 +++++------- .../MasterEditorTWL/MasterEditorTWL/srl.h | 1 + 11 files changed, 176 insertions(+), 161 deletions(-) diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL.ncb b/build/tools/MasterEditorTWL/MasterEditorTWL.ncb index 93a8e73f83ea56452356be92bcfa0d9e0ffb2a5c..9b1197a9919df99eb1e7606f395cb42c3b4814e8 100644 GIT binary patch delta 80428 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 HH~HTHB?+VI delta 75055 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 ^>vajx_E!?t8|SD#XXd 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 += " [Supported App: " + appstr + "User ]"; + this->Text += " [ Supported App: " + appstr + "User ]"; } // 複数行表示したいが初期値で設定できないのでここで設定 @@ -709,7 +709,7 @@ private: System::Windows::Forms::Label^ labProductNameLimitForeign; /// void InitializeComponent(void) { - System::Windows::Forms::DataGridViewCellStyle^ dataGridViewCellStyle2 = (gcnew System::Windows::Forms::DataGridViewCellStyle()); + System::Windows::Forms::DataGridViewCellStyle^ dataGridViewCellStyle1 = (gcnew System::Windows::Forms::DataGridViewCellStyle()); this->tboxFile = (gcnew System::Windows::Forms::TextBox()); this->gboxSrl = (gcnew System::Windows::Forms::GroupBox()); this->tboxRemasterVer = (gcnew System::Windows::Forms::TextBox()); @@ -1271,7 +1271,7 @@ private: System::Windows::Forms::Label^ labProductNameLimitForeign; // labOFLC // this->labOFLC->AutoSize = true; - this->labOFLC->Location = System::Drawing::Point(48, 234); + this->labOFLC->Location = System::Drawing::Point(48, 236); this->labOFLC->Name = L"labOFLC"; this->labOFLC->Size = System::Drawing::Size(34, 12); this->labOFLC->TabIndex = 33; @@ -1325,7 +1325,7 @@ private: System::Windows::Forms::Label^ labProductNameLimitForeign; // labCERO // this->labCERO->AutoSize = true; - this->labCERO->Location = System::Drawing::Point(48, 78); + this->labCERO->Location = System::Drawing::Point(47, 78); this->labCERO->Name = L"labCERO"; this->labCERO->Size = System::Drawing::Size(36, 12); this->labCERO->TabIndex = 27; @@ -2506,7 +2506,7 @@ private: System::Windows::Forms::Label^ labProductNameLimitForeign; this->tboxSDK->Name = L"tboxSDK"; this->tboxSDK->ReadOnly = true; this->tboxSDK->ScrollBars = System::Windows::Forms::ScrollBars::Both; - this->tboxSDK->Size = System::Drawing::Size(175, 88); + this->tboxSDK->Size = System::Drawing::Size(186, 88); this->tboxSDK->TabIndex = 10; // // labSDK @@ -2896,7 +2896,7 @@ private: System::Windows::Forms::Label^ labProductNameLimitForeign; // labCaptionEx // this->labCaptionEx->AutoSize = true; - this->labCaptionEx->Location = System::Drawing::Point(528, 52); + this->labCaptionEx->Location = System::Drawing::Point(538, 52); this->labCaptionEx->Name = L"labCaptionEx"; this->labCaptionEx->Size = System::Drawing::Size(53, 12); this->labCaptionEx->TabIndex = 11; @@ -2904,12 +2904,12 @@ private: System::Windows::Forms::Label^ labProductNameLimitForeign; // // tboxCaptionEx // - this->tboxCaptionEx->Location = System::Drawing::Point(530, 67); + this->tboxCaptionEx->Location = System::Drawing::Point(540, 67); this->tboxCaptionEx->Multiline = true; this->tboxCaptionEx->Name = L"tboxCaptionEx"; this->tboxCaptionEx->ReadOnly = true; - this->tboxCaptionEx->ScrollBars = System::Windows::Forms::ScrollBars::Vertical; - this->tboxCaptionEx->Size = System::Drawing::Size(181, 88); + this->tboxCaptionEx->ScrollBars = System::Windows::Forms::ScrollBars::Both; + this->tboxCaptionEx->Size = System::Drawing::Size(171, 88); this->tboxCaptionEx->TabIndex = 10; // // gboxProd @@ -2996,7 +2996,7 @@ private: System::Windows::Forms::Label^ labProductNameLimitForeign; // stripItemEnglish // this->stripItemEnglish->Name = L"stripItemEnglish"; - this->stripItemEnglish->Size = System::Drawing::Size(152, 22); + this->stripItemEnglish->Size = System::Drawing::Size(119, 22); this->stripItemEnglish->Text = L"English"; this->stripItemEnglish->Click += gcnew System::EventHandler(this, &Form1::stripItemEnglish_Click); // @@ -3005,7 +3005,7 @@ private: System::Windows::Forms::Label^ labProductNameLimitForeign; this->stripItemJapanese->Checked = true; this->stripItemJapanese->CheckState = System::Windows::Forms::CheckState::Checked; this->stripItemJapanese->Name = L"stripItemJapanese"; - this->stripItemJapanese->Size = System::Drawing::Size(152, 22); + this->stripItemJapanese->Size = System::Drawing::Size(119, 22); this->stripItemJapanese->Text = L"Japanese"; this->stripItemJapanese->Click += gcnew System::EventHandler(this, &Form1::stripItemJapanese_Click); // @@ -3456,8 +3456,8 @@ private: System::Windows::Forms::Label^ labProductNameLimitForeign; // // gridError // - dataGridViewCellStyle2->BackColor = System::Drawing::Color::White; - this->gridError->AlternatingRowsDefaultCellStyle = dataGridViewCellStyle2; + dataGridViewCellStyle1->BackColor = System::Drawing::Color::White; + this->gridError->AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; this->gridError->BackgroundColor = System::Drawing::SystemColors::Control; this->gridError->ColumnHeadersHeightSizeMode = System::Windows::Forms::DataGridViewColumnHeadersHeightSizeMode::AutoSize; this->gridError->Columns->AddRange(gcnew cli::array< System::Windows::Forms::DataGridViewColumn^ >(4) {this->colErrorName, @@ -3730,8 +3730,9 @@ private: System::Windows::Forms::Label^ labProductNameLimitForeign; case ECSrlResult::ERROR_SIGN_DECRYPT: case ECSrlResult::ERROR_SIGN_VERIFY: - this->errMsg( "本ツールはTWL対応ROM専用です。不正なデータを読み込むことはできません。", - "This tool can only read TWL ROM. This can't read an illegal data." ); + this->errMsg( "不正なROMデータです。TWL対応ROMでないかROMデータが改ざんされている可能性があります。", + "Illegal ROM data. It is not for TWL ROM, or is altered illegally." ); + break; default: this->errMsg( "ROMデータファイルの読み込みに失敗しました。\n再度「ROMデータを開く」を選択してROMデータを読み出してください。", @@ -4711,69 +4712,69 @@ private: System::Windows::Forms::Label^ labProductNameLimitForeign; // リージョン情報からペアレンタルコントロールの編集可能団体をマスクする void maskParentalForms(void) { - this->enableParental( this->combCERO, this->cboxCERO, this->cboxAlwaysCERO ); - this->enableParental( this->combESRB, this->cboxESRB, this->cboxAlwaysESRB ); - this->enableParental( this->combUSK, this->cboxUSK, this->cboxAlwaysUSK ); - this->enableParental( this->combPEGI, this->cboxPEGI, this->cboxAlwaysPEGI ); - this->enableParental( this->combPEGIPRT, this->cboxPEGIPRT, this->cboxAlwaysPEGIPRT ); - this->enableParental( this->combPEGIBBFC, this->cboxPEGIBBFC, this->cboxAlwaysPEGIBBFC ); - this->enableParental( this->combOFLC, this->cboxOFLC, this->cboxAlwaysOFLC ); + this->enableParental( this->combCERO, this->cboxCERO, this->cboxAlwaysCERO, this->labCERO, nullptr ); + this->enableParental( this->combESRB, this->cboxESRB, this->cboxAlwaysESRB, this->labESRB, nullptr ); + this->enableParental( this->combUSK, this->cboxUSK, this->cboxAlwaysUSK, this->labUSK, nullptr ); + this->enableParental( this->combPEGI, this->cboxPEGI, this->cboxAlwaysPEGI, this->labPEGI, nullptr ); + this->enableParental( this->combPEGIPRT, this->cboxPEGIPRT, this->cboxAlwaysPEGIPRT, this->labPEGIPRT, nullptr ); + this->enableParental( this->combPEGIBBFC, this->cboxPEGIBBFC, this->cboxAlwaysPEGIBBFC, this->labPEGIBBFC, this->labPEGIBBFC2 ); + this->enableParental( this->combOFLC, this->cboxOFLC, this->cboxAlwaysOFLC, this->labOFLC, nullptr ); switch( this->combRegion->SelectedIndex ) { case 0: // 日本 - this->enableParental( this->combCERO, this->cboxCERO, this->cboxAlwaysCERO ); + this->enableParental( this->combCERO, this->cboxCERO, this->cboxAlwaysCERO, this->labCERO, nullptr ); - this->disableParental( this->combESRB, this->cboxESRB, this->cboxAlwaysESRB ); - this->disableParental( this->combUSK, this->cboxUSK, this->cboxAlwaysUSK ); - this->disableParental( this->combPEGI, this->cboxPEGI, this->cboxAlwaysPEGI ); - this->disableParental( this->combPEGIPRT, this->cboxPEGIPRT, this->cboxAlwaysPEGIPRT ); - this->disableParental( this->combPEGIBBFC, this->cboxPEGIBBFC, this->cboxAlwaysPEGIBBFC ); - this->disableParental( this->combOFLC, this->cboxOFLC, this->cboxAlwaysOFLC ); + this->disableParental( this->combESRB, this->cboxESRB, this->cboxAlwaysESRB, this->labESRB, nullptr ); + this->disableParental( this->combUSK, this->cboxUSK, this->cboxAlwaysUSK, this->labUSK, nullptr ); + this->disableParental( this->combPEGI, this->cboxPEGI, this->cboxAlwaysPEGI, this->labPEGI, nullptr ); + this->disableParental( this->combPEGIPRT, this->cboxPEGIPRT, this->cboxAlwaysPEGIPRT, this->labPEGIPRT, nullptr ); + this->disableParental( this->combPEGIBBFC, this->cboxPEGIBBFC, this->cboxAlwaysPEGIBBFC, this->labPEGIBBFC, this->labPEGIBBFC2 ); + this->disableParental( this->combOFLC, this->cboxOFLC, this->cboxAlwaysOFLC, this->labOFLC, nullptr ); break; case 1: // 米国 - this->disableParental( this->combCERO, this->cboxCERO, this->cboxAlwaysCERO ); - this->enableParental( this->combESRB, this->cboxESRB, this->cboxAlwaysESRB ); - this->disableParental( this->combUSK, this->cboxUSK, this->cboxAlwaysUSK ); - this->disableParental( this->combPEGI, this->cboxPEGI, this->cboxAlwaysPEGI ); - this->disableParental( this->combPEGIPRT, this->cboxPEGIPRT, this->cboxAlwaysPEGIPRT ); - this->disableParental( this->combPEGIBBFC, this->cboxPEGIBBFC, this->cboxAlwaysPEGIBBFC ); - this->disableParental( this->combOFLC, this->cboxOFLC, this->cboxAlwaysOFLC ); + this->disableParental( this->combCERO, this->cboxCERO, this->cboxAlwaysCERO, this->labCERO, nullptr ); + this->enableParental( this->combESRB, this->cboxESRB, this->cboxAlwaysESRB, this->labESRB, nullptr ); + this->disableParental( this->combUSK, this->cboxUSK, this->cboxAlwaysUSK, this->labUSK, nullptr ); + this->disableParental( this->combPEGI, this->cboxPEGI, this->cboxAlwaysPEGI, this->labPEGI, nullptr ); + this->disableParental( this->combPEGIPRT, this->cboxPEGIPRT, this->cboxAlwaysPEGIPRT, this->labPEGIPRT, nullptr ); + this->disableParental( this->combPEGIBBFC, this->cboxPEGIBBFC, this->cboxAlwaysPEGIBBFC, this->labPEGIBBFC, this->labPEGIBBFC2 ); + this->disableParental( this->combOFLC, this->cboxOFLC, this->cboxAlwaysOFLC, this->labOFLC, nullptr ); break; case 2: // 欧州 - this->disableParental( this->combCERO, this->cboxCERO, this->cboxAlwaysCERO ); - this->disableParental( this->combESRB, this->cboxESRB, this->cboxAlwaysESRB ); - this->enableParental( this->combUSK, this->cboxUSK, this->cboxAlwaysUSK ); - this->enableParental( this->combPEGI, this->cboxPEGI, this->cboxAlwaysPEGI ); - this->enableParental( this->combPEGIPRT, this->cboxPEGIPRT, this->cboxAlwaysPEGIPRT ); - this->enableParental( this->combPEGIBBFC, this->cboxPEGIBBFC, this->cboxAlwaysPEGIBBFC ); - this->disableParental( this->combOFLC, this->cboxOFLC, this->cboxAlwaysOFLC ); + this->disableParental( this->combCERO, this->cboxCERO, this->cboxAlwaysCERO, this->labCERO, nullptr ); + this->disableParental( this->combESRB, this->cboxESRB, this->cboxAlwaysESRB, this->labESRB, nullptr ); + this->enableParental( this->combUSK, this->cboxUSK, this->cboxAlwaysUSK, this->labUSK, nullptr ); + this->enableParental( this->combPEGI, this->cboxPEGI, this->cboxAlwaysPEGI, this->labPEGI, nullptr ); + this->enableParental( this->combPEGIPRT, this->cboxPEGIPRT, this->cboxAlwaysPEGIPRT, this->labPEGIPRT, nullptr ); + this->enableParental( this->combPEGIBBFC, this->cboxPEGIBBFC, this->cboxAlwaysPEGIBBFC, this->labPEGIBBFC, this->labPEGIBBFC2 ); + this->disableParental( this->combOFLC, this->cboxOFLC, this->cboxAlwaysOFLC, this->labOFLC, nullptr ); break; case 3: // 豪州 - this->disableParental( this->combCERO, this->cboxCERO, this->cboxAlwaysCERO ); - this->disableParental( this->combESRB, this->cboxESRB, this->cboxAlwaysESRB ); - this->disableParental( this->combUSK, this->cboxUSK, this->cboxAlwaysUSK ); - this->disableParental( this->combPEGI, this->cboxPEGI, this->cboxAlwaysPEGI ); - this->disableParental( this->combPEGIPRT, this->cboxPEGIPRT, this->cboxAlwaysPEGIPRT ); - this->disableParental( this->combPEGIBBFC, this->cboxPEGIBBFC, this->cboxAlwaysPEGIBBFC ); - this->enableParental( this->combOFLC, this->cboxOFLC, this->cboxAlwaysOFLC ); + this->disableParental( this->combCERO, this->cboxCERO, this->cboxAlwaysCERO, this->labCERO, nullptr ); + this->disableParental( this->combESRB, this->cboxESRB, this->cboxAlwaysESRB, this->labESRB, nullptr ); + this->disableParental( this->combUSK, this->cboxUSK, this->cboxAlwaysUSK, this->labUSK, nullptr ); + this->disableParental( this->combPEGI, this->cboxPEGI, this->cboxAlwaysPEGI, this->labPEGI, nullptr ); + this->disableParental( this->combPEGIPRT, this->cboxPEGIPRT, this->cboxAlwaysPEGIPRT, this->labPEGIPRT, nullptr ); + this->disableParental( this->combPEGIBBFC, this->cboxPEGIBBFC, this->cboxAlwaysPEGIBBFC, this->labPEGIBBFC, this->labPEGIBBFC2 ); + this->enableParental( this->combOFLC, this->cboxOFLC, this->cboxAlwaysOFLC, this->labOFLC, nullptr ); break; case 4: // 欧州と豪州 - this->disableParental( this->combCERO, this->cboxCERO, this->cboxAlwaysCERO ); - this->disableParental( this->combESRB, this->cboxESRB, this->cboxAlwaysESRB ); - this->enableParental( this->combUSK, this->cboxUSK, this->cboxAlwaysUSK ); - this->enableParental( this->combPEGI, this->cboxPEGI, this->cboxAlwaysPEGI ); - this->enableParental( this->combPEGIPRT, this->cboxPEGIPRT, this->cboxAlwaysPEGIPRT ); - this->enableParental( this->combPEGIBBFC, this->cboxPEGIBBFC, this->cboxAlwaysPEGIBBFC ); - this->enableParental( this->combOFLC, this->cboxOFLC, this->cboxAlwaysOFLC ); + this->disableParental( this->combCERO, this->cboxCERO, this->cboxAlwaysCERO, this->labCERO, nullptr ); + this->disableParental( this->combESRB, this->cboxESRB, this->cboxAlwaysESRB, this->labESRB, nullptr ); + this->enableParental( this->combUSK, this->cboxUSK, this->cboxAlwaysUSK, this->labUSK, nullptr ); + this->enableParental( this->combPEGI, this->cboxPEGI, this->cboxAlwaysPEGI, this->labPEGI, nullptr ); + this->enableParental( this->combPEGIPRT, this->cboxPEGIPRT, this->cboxAlwaysPEGIPRT, this->labPEGIPRT, nullptr ); + this->enableParental( this->combPEGIBBFC, this->cboxPEGIBBFC, this->cboxAlwaysPEGIBBFC, this->labPEGIBBFC, this->labPEGIBBFC2 ); + this->enableParental( this->combOFLC, this->cboxOFLC, this->cboxAlwaysOFLC, this->labOFLC, nullptr ); break; default: @@ -4936,19 +4937,19 @@ private: System::Windows::Forms::Label^ labProductNameLimitForeign; msg + ": 制限が有効であるにもかかわらずレーティング情報が設定されていません。", "Parental Control", msg + ": Rating must be set when control is enable.", true, true ) ); } - else if( always->Checked ) + else if( always->Checked && (comb->SelectedIndex == (comb->Items->Count - 1)) ) { this->hWarnList->Add( gcnew RCMrcError( "ペアレンタルコントロール情報", METWL_ERRLIST_NORANGE, METWL_ERRLIST_NORANGE, msg + ": Rating Pendingが指定されています。レーティング年齢が審査されしだい、再度、ROMを提出してください。", "Parental Control", ": Rating Pending is setting. When rating age is examined, Please submit again.", true, true ) ); } - else if( comb->SelectedIndex == (comb->Items->Count - 1) ) + else if( always->Checked && (comb->SelectedIndex != (comb->Items->Count - 1)) ) { this->hErrorList->Add( gcnew RCMrcError( "ペアレンタルコントロール情報", METWL_ERRLIST_NORANGE, METWL_ERRLIST_NORANGE, - ": Rating Pending指定とレーティング年齢を同時に指定することはできません。", - "Parental Control", ": Rating setting is either rating pending or rating age.", true, true ) ); + msg + ": Rating Pending指定とレーティング年齢を同時に指定することはできません。", + "Parental Control", msg + ": Rating setting is either rating pending or rating age.", true, true ) ); } } } //checkParentalForms() @@ -5961,21 +5962,41 @@ private: System::Windows::Forms::Label^ labProductNameLimitForeign; // ペアレンタルコントロール情報を編集できるようにする void enableParental( System::Windows::Forms::ComboBox ^comb, System::Windows::Forms::CheckBox ^enable, - System::Windows::Forms::CheckBox ^rp ) + System::Windows::Forms::CheckBox ^rp, + System::Windows::Forms::Label ^lab1, + System::Windows::Forms::Label ^lab2 ) { - comb->Enabled = true; + comb->Enabled = true; enable->Enabled = true; - rp->Enabled = true; + rp->Enabled = true; + comb->Visible = true; + enable->Visible = true; + rp->Visible = true; + lab1->Visible = true; + if( lab2 != nullptr ) + { + lab2->Visible = true; + } } // ペアレンタルコントロール情報を編集できなくする void disableParental( System::Windows::Forms::ComboBox ^comb, System::Windows::Forms::CheckBox ^enable, - System::Windows::Forms::CheckBox ^rp ) + System::Windows::Forms::CheckBox ^rp, + System::Windows::Forms::Label ^lab1, + System::Windows::Forms::Label ^lab2 ) { this->clearParental( comb, enable, rp ); - comb->Enabled = false; + comb->Enabled = false; enable->Enabled = false; - rp->Enabled = false; + rp->Enabled = false; + comb->Visible = false; + enable->Visible = false; + rp->Visible = false; + lab1->Visible = false; + if( lab2 != nullptr ) + { + lab2->Visible = false; + } } private: System::Void combRegion_SelectedIndexChanged(System::Object^ sender, System::EventArgs^ e) @@ -6325,11 +6346,6 @@ private: System::Windows::Forms::Label^ labProductNameLimitForeign; this->setParentalForms(); // ペアレンタルコントロール関連 } - - - - - }; // enf of ref class Form1 } // end of namespace MasterEditorTWL diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL/Form1.resX b/build/tools/MasterEditorTWL/MasterEditorTWL/Form1.resX index 302e29f7..1f0e93fa 100644 --- a/build/tools/MasterEditorTWL/MasterEditorTWL/Form1.resX +++ b/build/tools/MasterEditorTWL/MasterEditorTWL/Form1.resX @@ -126,24 +126,6 @@ True - - True - - - True - - - True - - - True - - - True - - - True - True diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL/Release/BuildLog.htm b/build/tools/MasterEditorTWL/MasterEditorTWL/Release/BuildLog.htm index 735e9132188056a68844499d2fe258ef274c37eb..40b6cf06a0698d373c43861893343b983aeff23a 100644 GIT binary patch delta 267 zcmZ3~$hfGHaf1V!pc8`;gCP(b0I?a6G}s)-_MH=paHK#vqo6Z}>W6}X9GJqBBL!kN zFOd4fBItsyV{#yy@#Y8e7kDtGHXqah+Tn^-M~$8r6BemR0qM=33``g$-OzP0=rJTQ ZBr=pt4%E}!oMCi`Q4mAPW^0pl9smO9F>C+; delta 267 zcmZ3~$hfGHaf1V!pc#W9g9(ErgBg%CU@&Gd+8oICofC_2q(C{NpgD%>hk}6|n8K4I z1!6ZZkovCK-EOc*5{(RDHC cF(ff0GL%dX)YIIYVRVR55JSmkYm;;y02diCq5uE@ diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL/common.h b/build/tools/MasterEditorTWL/MasterEditorTWL/common.h index 1b610e56..434f02c9 100644 --- a/build/tools/MasterEditorTWL/MasterEditorTWL/common.h +++ b/build/tools/MasterEditorTWL/MasterEditorTWL/common.h @@ -19,3 +19,4 @@ #define METWL_MASK_REGION_KOREA 0x00000020 #define METWL_MASK_REGION_ALL 0xffffffff #define METWL_NUMOF_SHARED2FILES 6 +#define METWL_SEG3_CRC 0x0254 diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL/crc_whole.cpp b/build/tools/MasterEditorTWL/MasterEditorTWL/crc_whole.cpp index 986b7670..a984cf5d 100644 --- a/build/tools/MasterEditorTWL/MasterEditorTWL/crc_whole.cpp +++ b/build/tools/MasterEditorTWL/MasterEditorTWL/crc_whole.cpp @@ -74,6 +74,40 @@ namespace MasterEditorTWL return crc; } + /*---------------------------------------------------------------------------* + + Name: getSeg3CRCInFp + + Description: Segment3(0x3000-0x3fff)のCRCを算出 + + Arguments: [in] srlファイルのファイルポインタ + [out] CRC格納先 + + Return: 成功ならTRUE. + + *---------------------------------------------------------------------------*/ + BOOL getSeg3CRCInFp( FILE *fp, u16 *pCRC ) + { + u16 crc; + u16 data[ 0x1000 / 2 ]; // 64Kバイト(512Kビット) + + if( !fp ) + { + return FALSE; + } + + // CRCテーブル初期化(製品技術部のコード) + inittable(crc_table); + + // 0x3000 から 0x3fff までの CRC をとる + fseek( fp, 0x3000, SEEK_SET ); + fread( (void*)data, sizeof(data), 1, fp ); + crc = newGetCRC( 0, data, sizeof(data) ); + *pCRC = crc; + + return TRUE; + } + /*---------------------------------------------------------------------------* Name: getWholeCRCInFp diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL/crc_whole.h b/build/tools/MasterEditorTWL/MasterEditorTWL/crc_whole.h index 4c38bb02..d8c9c3dc 100644 --- a/build/tools/MasterEditorTWL/MasterEditorTWL/crc_whole.h +++ b/build/tools/MasterEditorTWL/MasterEditorTWL/crc_whole.h @@ -7,6 +7,20 @@ namespace MasterEditorTWL { + /*---------------------------------------------------------------------------* + + Name: getSeg3CRCInFp + + Description: Segment3(0x3000-0x3fff)のCRCを算出 + + Arguments: [in] srlファイルのファイルポインタ + [out] CRC格納先 + + Return: 成功ならTRUE. + + *---------------------------------------------------------------------------*/ + BOOL getSeg3CRCInFp( FILE *fp, u16 *pCRC ); + /*---------------------------------------------------------------------------* Name: getWholeCRCInFp diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL/srl.cpp b/build/tools/MasterEditorTWL/MasterEditorTWL/srl.cpp index 4f1dcbc2..14b93b70 100644 --- a/build/tools/MasterEditorTWL/MasterEditorTWL/srl.cpp +++ b/build/tools/MasterEditorTWL/MasterEditorTWL/srl.cpp @@ -6,6 +6,7 @@ #include "srl.h" #include "utility.h" #include "keys.h" +#include "crc_whole.h" #include #include #include @@ -162,6 +163,7 @@ ECSrlResult RCSrl::setRomInfo(void) //this->hForChina = gcnew System::Byte( this->pRomHeader->s.for_china ); this->hRomVersion = gcnew System::Byte( this->pRomHeader->s.rom_version ); this->hHeaderCRC = gcnew System::UInt16( this->pRomHeader->s.header_crc16 ); + this->hIsOldDevEncrypt = gcnew System::Boolean( (this->pRomHeader->s.developer_encrypt_old != 0)?true:false ); switch( this->pRomHeader->s.game_cmd_param & CARD_LATENCY_MASK ) { @@ -658,7 +660,7 @@ ECSrlResult RCSrl::searchSDKVersion( FILE *fp ) } if( rev > 0 ) { - revstr = "-" + rev.ToString(); + revstr = " plus" + rev.ToString(); } patch = patch / 100; switch( relstep / 10000 ) @@ -721,7 +723,10 @@ ECSrlResult RCSrl::searchLicenses(FILE *fp) if( spl->Length >= 2 ) // 念のため { - this->hLicenseList->Add( gcnew RCLicense( spl[0], spl[1] ) ); + if( !spl[1]->StartsWith("BACKUP") && !spl[1]->StartsWith("SSL") && !spl[1]->StartsWith("CPS") ) + { + this->hLicenseList->Add( gcnew RCLicense( spl[0], spl[1] ) ); + } //System::Diagnostics::Debug::WriteLine( "license " + spl[0] + " " + spl[1] ); } } @@ -941,6 +946,18 @@ ECSrlResult RCSrl::mrcNTR( FILE *fp ) "System-Call Library", "This Library is SDK default one.", false, true ) ); } +#if 0 + // セグメント3のCRC + u16 crcseg3; + BOOL crcret = getSeg3CRCInFp( fp, &crcseg3 ); + if( !crcret || (crcseg3 != METWL_SEG3_CRC) ) + { + this->hErrorList->Add( gcnew RCMrcError( + "セグメント3CRC", METWL_ERRLIST_NORANGE, METWL_ERRLIST_NORANGE, + "セグメント3領域に誤りがあります。", + "System-Call Library", "This Library is SDK default one.", false, true ) ); + } +#endif return ECSrlResult::NOERROR; } // mrcNTR() @@ -953,7 +970,8 @@ ECSrlResult RCSrl::mrcTWL( FILE *fp ) #ifdef METWL_WHETHER_PLATFORM_CHECK // プラットフォームのチェック if( (this->pRomHeader->s.platform_code != PLATFORM_CODE_TWL_HYBLID) && - (this->pRomHeader->s.platform_code != PLATFORM_CODE_TWL_LIMITED) ) + (this->pRomHeader->s.platform_code != PLATFORM_CODE_TWL_LIMITED) && + (this->pRomHeader->s.enable_signature == 0) ) { return ECSrlResult::ERROR_PLATFORM; } @@ -1200,6 +1218,16 @@ ECSrlResult RCSrl::mrcTWL( FILE *fp ) // ROMヘッダ以外の領域のチェック + if( *this->hIsOldDevEncrypt && *this->hHasDSDLPlaySign ) + { + this->hErrorList->Add( gcnew RCMrcError( + "クローンブート署名", METWL_ERRLIST_NORANGE, METWL_ERRLIST_NORANGE, + "SDKがクローンブートに対応していないため、ROM出しによってデータに矛盾が生じます。任天堂窓口にご相談ください。", + "Clone-Boot Signature", + "Since SDK used by this ROM is not support for making Clone-Boot ROM, Mastering ROM will be error. Please contact with nintendo, sorry.", + false, true ) ); + } + ECSrlResult pctl = this->mrcTWLParentalControl(); if( pctl != ECSrlResult::NOERROR ) { @@ -1266,47 +1294,6 @@ ECSrlResult RCSrl::mrcTWLParentalControl(void) // リージョンに含まれている団体/含まれていない団体の設定をチェック this->mrcRegionOrganization( region ); - // リージョンに含まれている団体の設定が正しいかどうか - if( region == METWL_MASK_REGION_JAPAN ) - { - this->mrcRating( OS_TWL_PCTL_OGN_CERO ); - } - if( region == METWL_MASK_REGION_AMERICA ) - { - this->mrcRating( OS_TWL_PCTL_OGN_ESRB ); - } - if( region == METWL_MASK_REGION_EUROPE ) - { - this->mrcRating( OS_TWL_PCTL_OGN_USK ); - this->mrcRating( OS_TWL_PCTL_OGN_PEGI_GEN ); - this->mrcRating( OS_TWL_PCTL_OGN_PEGI_PRT ); - this->mrcRating( OS_TWL_PCTL_OGN_PEGI_BBFC ); - } - if( region == METWL_MASK_REGION_AUSTRALIA ) - { - this->mrcRating( OS_TWL_PCTL_OGN_OFLC ); - } - if( region == (METWL_MASK_REGION_EUROPE | METWL_MASK_REGION_AUSTRALIA) ) - { - this->mrcRating( OS_TWL_PCTL_OGN_USK ); - this->mrcRating( OS_TWL_PCTL_OGN_PEGI_GEN ); - this->mrcRating( OS_TWL_PCTL_OGN_PEGI_PRT ); - this->mrcRating( OS_TWL_PCTL_OGN_PEGI_BBFC ); - this->mrcRating( OS_TWL_PCTL_OGN_OFLC ); - } -#if defined(METWL_VER_APPTYPE_SYSTEM) || defined(METWL_VER_APPTYPE_SECURE) || defined(METWL_VER_APPTYPE_LAUNCHER) - if( region == METWL_MASK_REGION_ALL ) - { - this->mrcRating( OS_TWL_PCTL_OGN_CERO ); - this->mrcRating( OS_TWL_PCTL_OGN_ESRB ); - this->mrcRating( OS_TWL_PCTL_OGN_USK ); - this->mrcRating( OS_TWL_PCTL_OGN_PEGI_GEN ); - this->mrcRating( OS_TWL_PCTL_OGN_PEGI_PRT ); - this->mrcRating( OS_TWL_PCTL_OGN_PEGI_BBFC ); - this->mrcRating( OS_TWL_PCTL_OGN_OFLC ); - } -#endif //#if defined(METWL_VER_APPTYPE_SYSTEM) || defined(METWL_VER_APPTYPE_SECURE) || defined(METWL_VER_APPTYPE_LAUNCHER) - return ECSrlResult::NOERROR; } //mrcParentalControl() @@ -1386,10 +1373,6 @@ void RCSrl::mrcRegionOrganization( System::UInt32 region ) break; } } - System::String ^warnEmptyJ = gcnew System::String( "レーティング審査の必要がないソフトだとみなします。審査が必要である場合には、本ツールを用いて修正してください。" ); - System::String ^warnEmptyE = gcnew System::String( "This ROM is not necessary for CERO rating. If necessary, please set this infomation using this tool." ); - System::String ^warnFillJ = gcnew System::String( "リージョンに含まれない団体の情報が設定されていたため、これらの団体の情報を無視して読み込みました。本ツールを用いて修正してください。" ); - System::String ^warnFillE = gcnew System::String( "Some organizations is not include in the region. In reading, therefore, settings for all rating organizations are ignored. Please set this infomation using this tool." ); // リージョンに含まれる団体と含まれない団体をリスト化する System::Collections::Generic::List ^inList = gcnew System::Collections::Generic::List(); @@ -1462,32 +1445,16 @@ void RCSrl::mrcRegionOrganization( System::UInt32 region ) #endif //#if defined(METWL_VER_APPTYPE_SYSTEM) || defined(METWL_VER_APPTYPE_SECURE) || defined(METWL_VER_APPTYPE_LAUNCHER) } - // リージョンに含まれる団体に何も設定されていないときダメ + // リージョンに含まれる団体の情報が正しいか調べる for each ( System::Byte ogn in inList ) { - if( this->pRomHeader->s.parental_control_rating_info[ ogn ] == 0 ) - { - this->hWarnList->Add( gcnew RCMrcError( - "ペアレンタルコントロール情報", 0x2f0, 0x2ff, ognArray[ogn] + warnEmptyJ, - "Parental Control", ognArray[ogn] + warnEmptyE, true, true ) ); - this->clearParentalControl( ogn ); - } + this->mrcRating( ogn ); } - // リージョンに含まれない団体に何か設定されていたらダメ - System::Boolean bSet = false; + + // リージョンに含まれない団体の情報は無視する for each ( System::Byte ogn in exList ) { - if( this->pRomHeader->s.parental_control_rating_info[ ogn ] != 0 ) - { - bSet = true; - this->clearParentalControl( ogn ); - } - } - if( bSet ) - { - this->hWarnList->Add( gcnew RCMrcError( - "ペアレンタルコントロール情報", 0x2f0, 0x2ff, warnFillJ, - "Parental Control", warnFillE, true, true ) ); + this->clearParentalControl( ogn ); } } //mrcRegion @@ -1544,8 +1511,8 @@ void RCSrl::mrcRating( System::Byte ogn ) else { // 間違っていたら"未審査"が返ってくる - System::String ^str = MasterEditorTWL::transRatingToString( - ogn, true, *(this->hArrayParentalRating[ogn]), false ); + System::String ^str = + MasterEditorTWL::transRatingToString( ogn, true, *(this->hArrayParentalRating[ogn]), false ); if( *(this->hArrayParentalAlways[ogn]) == false ) { diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL/srl.h b/build/tools/MasterEditorTWL/MasterEditorTWL/srl.h index 20cfe31d..68160d12 100644 --- a/build/tools/MasterEditorTWL/MasterEditorTWL/srl.h +++ b/build/tools/MasterEditorTWL/MasterEditorTWL/srl.h @@ -283,6 +283,7 @@ namespace MasterEditorTWL property System::Boolean ^hIsNormalJump; property System::Boolean ^hIsTmpJump; property System::Boolean ^hHasDSDLPlaySign; // ROMヘッダ外のSRLからわかる署名の有無 + property System::Boolean ^hIsOldDevEncrypt; // 旧開発用暗号フラグが立っている // TWL拡張フラグ 一部編集可能 property System::Boolean ^hIsCodecTWL;