From 47b68805ec90883ba616285a4d180ca3e7ce69df Mon Sep 17 00:00:00 2001 From: nishikawa_takeshi Date: Fri, 29 Aug 2008 12:38:39 +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:=E6=9B=B8=E3=81=8D=E8=BE=BC=E3=81=BF?= =?UTF-8?q?=E6=99=82=E3=81=AE=E3=83=9A=E3=82=A2=E3=83=AC=E3=83=B3=E3=82=BF?= =?UTF-8?q?=E3=83=AB=E3=82=B3=E3=83=B3=E3=83=88=E3=83=AD=E3=83=BC=E3=83=AB?= =?UTF-8?q?=E3=81=AE=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF=E5=87=A6=E7=90=86?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=8A=A0=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@2330 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../tools/MasterEditorTWL/MasterEditorTWL.ncb | Bin 11119616 -> 11119616 bytes .../tools/MasterEditorTWL/MasterEditorTWL.suo | Bin 38912 -> 38912 bytes .../MasterEditorTWL/Debug/BuildLog.htm | Bin 13600 -> 15654 bytes .../MasterEditorTWL/MasterEditorTWL/Form1.h | 150 +++++++++++++----- .../MasterEditorTWL/FormError.h | 49 ++++++ .../MasterEditorTWL/MasterEditorTWL/srl.cpp | 6 +- .../MasterEditorTWL/MasterEditorTWL/srl.h | 5 + 7 files changed, 167 insertions(+), 43 deletions(-) diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL.ncb b/build/tools/MasterEditorTWL/MasterEditorTWL.ncb index 2703eef9c1fd4333ec2d8840c4388229f5d51a8f..eebcb7f5ed8d8c538b8dd1d1e0fb870b0a802867 100644 GIT binary patch delta 51578 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 diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL.suo b/build/tools/MasterEditorTWL/MasterEditorTWL.suo index 48f6c9deb2a72e52291b247d7f2d862ef8b37afe..651876453b6bf095df720ed9c63a4713e6c8c38d 100644 GIT binary patch delta 3375 zcmZ{mdr(wW9LMjyEaD2n%0ppAd4%C3z(p|ARX}+ti5W`cE44;OM=`}TM;uul%_wKe zJk{hhX;Ye$jw5nMo5q0}Gs_emZG1)O`lw7$(GV5U?fYeaPW#7tX1@FT-p~1+$35rV zdv|rUvAWu*K4f$sqG{S=kH?e2Xr44a(?b`3d$ImE>k&NwNE>BVSn7;erj+3FWvCdM z1WksHLTYkQm4ykWJLrB?f(z(tXed;_DYSs+YM^EyGVJPPdW7|-5KX%SIn5jCLyYJKRQ?JbhmJw@(C?5MmO0qf2=fQTsb7@n zM!W=FhOR(Yp}!#J{Ec`G`UkoWH9^hL4d^Cx3u=LGLwBHmp;qWF)CS#y*pHMCr^nO` zJ#1B$WSe;=>q|oqF;|Rs=|PE|>#nK2u{kO`H`mhOu;!apxh=XLu2$rGj0s)Mih=?o zbi3^f=XM+JT+{ONY%0MLX835ZTF3)O76sDoJY)!yQWu47TfRaEX`_o(M^!Q+wU&DW;F_l4&j zID~OchD+WkA2wPyA5Ze=#&(WpTJ`J%$ zSab@GMor(&0AV@$LoDz0gSTtA~JWGQxj&Tv5+uJ0J zPexEEwiriM>yCxv{q=(yrE#1vP9}j1i;^OY>y-*W5OJ_DcK8xJ`zsN~{v7Zu$Ay)_ zpAr@jmg60mjqPFH4U9$PWH@jjJj)JYec`_m*5YL0N}U!*`j8BDbgA9nc8^%T zUgvi^Odc*Spbfq!Vx%yB_M_lg1_>*NPl4yyPGN7skA!C_6gCTfys#<4lE9`3n~B)@ zLgc`+alv(&BZ=eTE8zK`W2Fx}1J5_bSz+by=iu`Y&kHMrzY5Q1^iLmlU09PaY=%o~ z!3EFYZJ)$8VfTa;p}s@dBViN3jBxL(EC7+a%g3`6^(>*ncq7lkPeV-hVe8;$V0`Uu zf#pb856>g=jxgTICir&|l@I$AeiPVcVQjMnemUY+VQjk%z5;Q(Fy6>cVY|q<|GblG zT+BtRkwm^5d%&~Q3gaEt!CMgz3gg`!lDrGT*xw~#VG-VyDFusw=b4ESHV59-8y75t z1Qx@m3ab`28_a}f<72|6!XFoQS{Uok!*@Y!6gCt7tmIwrVQw#TX-xw8)U-(AU12$|H{Y=P<$D&l>QDQ0 zG%WGoSJ1MKr?wffJlyX%i&hwZdECq@e8Sd+ssXFY{M?UfSTatn8Cz#oRvxyf+>bl- zc5}_T4S{O)f^I5$UI@Ny&FaKL8%~MEOqjP&S0BxPY-Xn#y4pD3Vs3iBCXlVZ%3Z6Q J*`NHN{|5-T?r;DA delta 1594 zcmZ`(U2IfU5I%GEwq?t**_IYdyV@^75xqcr?ZRN&igNrPbrm-n;z@54u1*04cH8{16zQt zfTZ%)qQllTJecvKKgw%LNvSyS7?g`2EHC{fd&?m_pTmBgmQp@*`(9sxHSuI1G`uiI z*3_Q%SSA`VJ8SF7LYy*h)a@nfcH>A1TZLkfpmd{tToU3MtIXWkP(bBX5W+cGsr%uDR+_&y-qCtcn?E>G&$R>>;)efw{uC=9Oh^KatMOs}?J= z!=peQAQl5e6N>|~!x})eK|l^dtP(;#PUb0bb*{D#JnAmyJCK~U(4z23_Je)jBTWLO*$HqdVbawe0^cLs!lqqq3HY!1 zb=)7x&1({uaJA*&kARCc!{;lQjptJ(GkF_vhN=;QOkYlKKOh?lPku#3Lbl@j;)T849eN-il zOv+K2^7s}hifvNQ)3eDM81Nb#6QGwia?g=ddb{ zJw%%D3=D~-y$8ISLx`M$lL@!O2;?v?wJ{rNpGOntePQvz8>%_dj1EaN2(3|uE>em{ zDM4o`Nhg6wxsJ`vGK;7hm^qrpRr26wA-vSoApJG$uC(EX0{M_)Jr3@Y33f`+S&~nY zJ3aN?KJh*B(>lE;<=afNR`=WGIo??wOYgs~fZYwh92}Fe;$7^(!F4xy+fdmX`pWP5 z55H!W8vG8cH(X~isrLmLmuf*9^{KV$qtY1Pfb-@?byGi9I~1E8Yk+S}d)cLE#}tO6`W z>|@9b;~ln#@~FL&d6k|ex(RLpJvc`dza1zc1&FMFXTmw$1W68woHXZ1C(&`t**rX& T?zT{;oKnCNWXxELyxQ{@KX~&8 delta 307 zcmZ2hwIFN5A*Rhom`a!hO&ClVj2R3WEE$Y|q#1+7W>2=49GJqBr6uAw2gryp0;Nnb zbZlnaTqQJt6;lpbn;ELM$)0THo7c!Tu}t>kVw=2!|H$MI;yjbzNh)ksQTAg48il5Q zbF*eK$aZrKV@x;OXxlJhk&>2>-Mma!k5Sr$!2(qmg8_pcLlQ$GL&@Ze0-Bp8^ml-a RMpLx;p+Pb8<|d0JEC8S ^hErrorList; + System::Collections::Generic::List ^hWarnList; + // VC自動追加フィールド private: System::Windows::Forms::GroupBox^ gboxCRC; @@ -478,6 +484,11 @@ private: System::Windows::Forms::GroupBox^ gboxMakeMaster; this->hSrl = gcnew (RCSrl); this->hDeliv = gcnew (RCDeliverable); this->hErrorWindowR = gcnew (FormError); + this->hErrorWindowW = gcnew (FormError); + this->hErrorList = gcnew System::Collections::Generic::List(); + this->hErrorList->Clear(); + this->hWarnList = gcnew System::Collections::Generic::List(); + this->hWarnList->Clear(); // デフォルト値 this->hIsSpreadSheet = gcnew System::Boolean( true ); @@ -3283,7 +3294,7 @@ private: System::Windows::Forms::GroupBox^ gboxMakeMaster; private: // エラー専用ウィンドウを開いてMRCエラーと入力エラーを表示 - void openErrorWindow(void) + void openErrorWindowR(void) { // ウインドウを新たに開く if( this->hErrorWindowR->IsDisposed ) @@ -3554,23 +3565,53 @@ private: System::Windows::Forms::GroupBox^ gboxMakeMaster; if( this->checkBoxIndex( this->combRegion, this->labRegion->Text ) == false ) return false; - // ペアレンタルコントロール - if( this->checkParentalForms( this->combCERO, this->cboxCERO, this->labCERO->Text ) == false ) - return false; - if( this->checkParentalForms( this->combESRB, this->cboxESRB, this->labESRB->Text ) == false) - return false; - if( this->checkParentalForms( this->combUSK, this->cboxUSK, this->labUSK->Text ) == false ) - return false; - if( this->checkParentalForms( this->combPEGI, this->cboxPEGI, this->labPEGI->Text ) == false ) - return false; - if( this->checkParentalForms( this->combPEGIPRT, this->cboxPEGIPRT, this->labPEGIPRT->Text ) == false ) - return false; - if( this->checkParentalForms( this->combPEGIBBFC, this->cboxPEGIBBFC, this->labPEGIBBFC->Text ) == false ) - return false; - if( this->checkParentalForms( this->combOFLC, this->cboxOFLC, this->labOFLC->Text ) == false ) - return false; + // リージョンを決める + System::Boolean bJapan = false; + System::Boolean bAmerica = false; + System::Boolean bEurope = false; + System::Boolean bAustralia = false; + switch( this->combRegion->SelectedIndex ) + { + case 0: + bJapan = true; + break; + case 1: + bAmerica = true; + break; + case 2: + bEurope = true; + break; + case 3: + bAustralia = true; + break; + case 4: + bEurope = true; + bAustralia = true; + break; - return true; +#if defined(METWL_VER_APPTYPE_SYSTEM) || defined(METWL_VER_APPTYPE_SECURE) || defined(METWL_VER_APPTYPE_LAUNCHER) + case 5: + bJapan = true; + bAmerica = true; + bEurope = true; + bAustralia = true; + break; +#endif + default: + break; + } + + // ペアレンタルコントロール + this->checkParentalForms( bJapan, this->combCERO, this->cboxCERO, this->cboxAlwaysCERO, this->labCERO->Text ); + this->checkParentalForms( bAmerica, this->combESRB, this->cboxESRB, this->cboxAlwaysESRB, this->labESRB->Text ); + this->checkParentalForms( bEurope, this->combUSK, this->cboxUSK, this->cboxAlwaysUSK, this->labUSK->Text ); + this->checkParentalForms( bEurope, this->combPEGI, this->cboxPEGI, this->cboxAlwaysPEGI, this->labPEGI->Text ); + this->checkParentalForms( bEurope, this->combPEGIPRT, this->cboxPEGIPRT, this->cboxAlwaysPEGIPRT, this->labPEGIPRT->Text ); + this->checkParentalForms( bEurope, this->combPEGIBBFC, this->cboxPEGIBBFC, this->cboxAlwaysPEGIBBFC, + this->labPEGIBBFC->Text + " " + this->labPEGIBBFC2->Text ); + this->checkParentalForms( bAustralia, this->combOFLC, this->cboxOFLC, this->cboxAlwaysOFLC, this->labOFLC->Text ); + + return (this->hErrorList->Count > 0); } // SRLの特殊な設定をフォームにセットする(言語切り替えで表示を変えたいので独立させる) @@ -3749,22 +3790,57 @@ private: System::Windows::Forms::GroupBox^ gboxMakeMaster; } // ペアレンタルコントロール関連のフォーム入力が正しいか書き込み前チェック - System::Boolean checkParentalForms( System::Windows::Forms::ComboBox ^comb, System::Windows::Forms::CheckBox ^enable, System::String ^msg ) + void checkParentalForms( + System::Boolean inRegion, System::Windows::Forms::ComboBox ^comb, + System::Windows::Forms::CheckBox ^enable, System::Windows::Forms::CheckBox ^always, System::String ^msg ) { - // レーティングが設定されているのに有効フラグが立っていない - if( (comb->SelectedIndex != (comb->Items->Count - 1)) && !(enable->Checked) ) + // リージョンに含まれていないとき: 0クリアが保証されるのでチェック必要なし + if( !inRegion ) + return; + + if( !enable->Checked ) // 有効フラグが立っていないとき { - this->parentalMsg( 1, msg ); - return false; + // 何も設定されていない + if( !always->Checked && (comb->SelectedIndex == (comb->Items->Count - 1)) ) + { + 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 ) ); + } + else + { + this->hErrorList->Add( gcnew RCMRCError( + "ペアレンタルコントロール情報", METWL_ERRLIST_NORANGE, METWL_ERRLIST_NORANGE, + msg + ": 制限が無効であるにもかかわらずレーティング情報が設定されています。", + "Parental Control", msg + "Rating can be set only when control is enable.", true ) ); + } } - // 未審査なのに有効フラグが立っている - if( (comb->SelectedIndex == (comb->Items->Count - 1)) && enable->Checked ) + else // 有効フラグが立っているとき { - this->parentalMsg( 2, msg ); - return false; + if( !always->Checked && (comb->SelectedIndex == (comb->Items->Count - 1)) ) + { + this->hErrorList->Add( gcnew RCMRCError( + "ペアレンタルコントロール情報", METWL_ERRLIST_NORANGE, METWL_ERRLIST_NORANGE, + msg + ": 制限が有効であるにもかかわらずレーティング情報が設定されていません。", + "Parental Control", msg + ": Rating must be set when control is enable.", true ) ); + } + else if( always->Checked ) + { + 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 ) ); + } + else if( 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 ) ); + } } - return true; - } + } //checkParentalForms() // SRL内のペアレンタルコントロール情報を抜き出してフォームに反映させる void setParentalForms(void) @@ -4352,21 +4428,13 @@ private: System::Windows::Forms::GroupBox^ gboxMakeMaster; // コンボボックスをチェック System::Boolean checkBoxIndex( System::Windows::Forms::ComboBox ^box, System::String ^label ) { - System::String ^msg; + System::String ^msgJ = gcnew System::String( "選択されていません。やり直してください。" ); + System::String ^msgE = gcnew System::String( "Not selected. Please retry." ); - if( this->rSelectJ->Checked == true ) - { - msg = gcnew System::String( "が選択されていません。やり直してください。" ); - } - else - { - msg = gcnew System::String( " is not selected. Please retry." ); - } - if( box->SelectedIndex < 0 ) { - this->errMsg( label + msg ); - return false; + this->hWarnList->Add( gcnew RCMRCError( + label, METWL_ERRLIST_NORANGE, METWL_ERRLIST_NORANGE, msgJ, label, msgE, true ) ); } return true; } @@ -5101,7 +5169,7 @@ private: System::Windows::Forms::GroupBox^ gboxMakeMaster; private: System::Void butErrorWindow_Click(System::Object^ sender, System::EventArgs^ e) { - this->openErrorWindow(); + this->openErrorWindowR(); } }; // enf of ref class Form1 diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL/FormError.h b/build/tools/MasterEditorTWL/MasterEditorTWL/FormError.h index 282fc394..6f739678 100644 --- a/build/tools/MasterEditorTWL/MasterEditorTWL/FormError.h +++ b/build/tools/MasterEditorTWL/MasterEditorTWL/FormError.h @@ -278,6 +278,55 @@ namespace MasterEditorTWL { } } + // -------------------------------------------------------- + // エラー情報の重ね合わせ + // -------------------------------------------------------- + public: + void overloadGridError( + System::Collections::Generic::List ^listLo, + System::Collections::Generic::List ^listHi, System::Boolean isJapanese ) + { + // listLoの修正可能な情報をlistHiで上書きする(listHiは修正可能な情報のみであることが前提) + this->gridError->Rows->Clear(); + if( listLo != nullptr ) + { + for each( RCMRCError ^err in listLo ) + { + if( !err->EnableModify ) // 修正可能な情報は表示しない + this->gridError->Rows->Add( err->getAll( isJapanese ) ); + } + } + if( listHi != nullptr ) + { + for each( RCMRCError ^err in listHi ) + { + this->gridError->Rows->Add( err->getAll( isJapanese ) ); + } + } + } + void overloadGridWarn( + System::Collections::Generic::List ^listLo, + System::Collections::Generic::List ^listHi, System::Boolean isJapanese ) + { + // listLoの修正可能な情報をlistHiで上書きする(listHiは修正可能な情報のみであることが前提) + this->gridWarn->Rows->Clear(); + if( listLo != nullptr ) + { + for each( RCMRCError ^err in listLo ) + { + if( !err->EnableModify ) // 修正可能な情報は表示しない + this->gridWarn->Rows->Add( err->getAll( isJapanese ) ); + } + } + if( listHi != nullptr ) + { + for each( RCMRCError ^err in listHi ) + { + this->gridWarn->Rows->Add( err->getAll( isJapanese ) ); + } + } + } + // -------------------------------------------------------- // 言語対応 // -------------------------------------------------------- diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL/srl.cpp b/build/tools/MasterEditorTWL/MasterEditorTWL/srl.cpp index 1fbac218..44ab1be5 100644 --- a/build/tools/MasterEditorTWL/MasterEditorTWL/srl.cpp +++ b/build/tools/MasterEditorTWL/MasterEditorTWL/srl.cpp @@ -1119,8 +1119,10 @@ System::Boolean RCSrl::mrcRegion( System::UInt32 region ) this->clearParentalControl( i ); } this->hWarnList->Add( gcnew RCMRCError( - "ペアレンタルコントロール情報", 0x2f0, 0x2ff, "仕向地の設定が不正のため、ROMデータ内のすべてのレーティング団体の情報を無視して読み込みました。本ツールを用いて修正してください。", - "Parental Control", "Illigal region. In reading, therefore, settings for all rating organizations are ignored. Please set this infomation using this tool.", true ) ); + "ペアレンタルコントロール情報", 0x2f0, 0x2ff, + "仕向地の設定が不正のため、ROMデータ内のすべてのレーティング団体の情報を無視して読み込みました。本ツールを用いて修正してください。", + "Parental Control", "Illigal region. In reading, therefore, settings for all rating organizations are ignored. Please set this infomation using this tool.", + true ) ); } return bRegionResult; } diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL/srl.h b/build/tools/MasterEditorTWL/MasterEditorTWL/srl.h index 2eceae2a..808ba9ab 100644 --- a/build/tools/MasterEditorTWL/MasterEditorTWL/srl.h +++ b/build/tools/MasterEditorTWL/MasterEditorTWL/srl.h @@ -161,6 +161,11 @@ namespace MasterEditorTWL this->hEnableModify = gcnew System::Boolean( enableModify ); } + public: + property System::Boolean EnableModify + { + System::Boolean get(){ return *(this->hEnableModify); } + } public: // gridViewの表示形式にあわせる cli::array^ getAll( System::Boolean isJapanese )