From 35d292bfa873ef9dd5898ae6d60938939f0540e5 Mon Sep 17 00:00:00 2001 From: nishikawa_takeshi Date: Mon, 23 Feb 2009 06:19:14 +0000 Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E5=8A=9B=E3=83=95=E3=82=A1=E3=82=A4?= =?UTF-8?q?=E3=83=AB=E3=83=81=E3=82=A7=E3=83=83=E3=82=AB:=E5=BC=95?= =?UTF-8?q?=E6=95=B0=E3=81=AE=E6=95=B0=E3=81=A7=E3=81=AF=E3=81=AA=E3=81=8F?= =?UTF-8?q?=E3=80=81=E6=8B=A1=E5=BC=B5=E5=AD=90=E3=81=8C"XML"=E3=81=8B?= =?UTF-8?q?=E3=81=A9=E3=81=86=E3=81=8B=E3=81=A7=E5=88=86=E5=B2=90=E3=81=99?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E5=A4=89=E6=9B=B4=E3=80=82?= =?UTF-8?q?=E3=83=A9=E3=83=83=E3=83=91=E3=83=BC=E3=83=90=E3=83=83=E3=83=81?= =?UTF-8?q?=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB=E3=82=92=E8=BF=BD=E5=8A=A0?= =?UTF-8?q?=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/TwlToolsRED@168 7061adef-622a-194b-ae81-725974e89856 --- .../MasterEditorTWLChecker.ncb | Bin 7007232 -> 7023616 bytes .../MasterEditorTWLChecker.suo | Bin 33280 -> 32256 bytes .../MasterEditorTWLChecker/Debug/BuildLog.htm | Bin 10986 -> 11124 bytes .../MasterEditorTWLChecker.cpp | 13 +++- .../MasterEditorTWLChecker.vcproj | 2 +- .../Release/BuildLog.htm | Bin 14772 -> 14932 bytes .../MasterEditorTWLChecker/check_rom.cpp | 22 +++--- .../MasterEditorTWLChecker/check_sheet.cpp | 8 +- .../MasterEditorTWLChecker/checker.bat | 70 ++++++++++++++++++ 9 files changed, 95 insertions(+), 20 deletions(-) create mode 100644 build/tools/MasterEditor/MasterEditorTWLChecker/checker.bat diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker.ncb b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker.ncb index 220890f5047d87d4e3c91e1fd887ef683a8702a1..f2dd04185b9d74dcb3c98889cbb257028c74d428 100644 GIT binary patch delta 9329 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 delta 8349 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 diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker.suo b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker.suo index 49e764cfec96a2ee6224f1ef197d4b995a41246c..f52dcc3a8de6266a520838f657d6d80ebfbe7d31 100644 GIT binary patch delta 1214 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 vKQZt!Z~=Xn!H^0hvl-BQ43^z&@W ^args) { setDebugPrint( true ); } - if( argc <= 0 ) + if( argc <= 1 ) { - throw (gcnew System::Exception("Argc is 0.")); + throw (gcnew System::Exception("Argc is less than 2.")); } - else if( argc == 1 ) + + // 拡張子で判定 + if( System::IO::Path::GetExtension(args[1])->ToUpper() == ".XML" ) { - System::String ^sheet = args[0]; + // args[0] はダミー + System::String ^sheet = args[1]; DebugPrint( "Sheet file : " + sheet ); + Console::Write( System::IO::Path::GetFileName( sheet ) + "\t" ); FilenameItem ^fItem = gcnew FilenameItem; fItem->parseFilename( sheet ); @@ -56,6 +60,7 @@ int main(array ^args) System::String ^target = args[1]; DebugPrint( "Original file : " + original ); DebugPrint( "Target file : " + target ); + Console::Write( System::IO::Path::GetFileName( target ) + "\t" ); FilenameItem ^fItem = gcnew FilenameItem; fItem->parseFilename( target ); diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/MasterEditorTWLChecker.vcproj b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/MasterEditorTWLChecker.vcproj index eb0c0bd..16e623f 100644 --- a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/MasterEditorTWLChecker.vcproj +++ b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/MasterEditorTWLChecker.vcproj @@ -115,7 +115,7 @@ /> 4nhgN#-bMKU delta 315 zcmcaovZZ*#A*Rhon3gdM8Za0$7%`YJm;j+MgE@oA=4!T!Ozfo$#SEzoMUyvjDsHaf zoW#1>iNApnQ}JYbUD?ea1j;~CCIrlxT*G-_vxQg{3#MAIF%P8Fn1E8IsK!jLW;5OF zBm0Ye@*O^|%~MnjKu$(ev-zsVWRMHYuxMSU)c`UTO=`2fZZ=4VIjWA$yY=`%s?mjS N8;CM*W;5|)0|1~bLc0I} diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check_rom.cpp b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check_rom.cpp index c363ca5..560b513 100644 --- a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check_rom.cpp +++ b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check_rom.cpp @@ -27,16 +27,16 @@ System::Void checkRom( FilenameItem ^fItem, System::String ^orgSrl, System::Stri // ROMヘッダの読み込み ROM_Header rh; FILE *fp = NULL; - if( fopen_s( &fp, chtarget, "rb" ) != NULL ) + if( fopen_s( &fp, chtarget, "rb" ) != 0 ) { - throw (gcnew System::Exception("Fail to Open SRL File.")); + throw (gcnew System::Exception("Fail to open the target SRL File.")); return; } // 1バイトをsizeof(~)だけリード (逆だと返り値がsizeof(~)にならないので注意) (void)fseek( fp, 0, SEEK_SET ); // ROMヘッダはsrlの先頭から if( fread( (void*)&rh, 1, sizeof(ROM_Header), fp ) != sizeof(ROM_Header) ) { - throw (gcnew System::Exception("Fail to Read ROM Header.")); + throw (gcnew System::Exception("Fail to read the ROM Header.")); fclose(fp); return; } @@ -55,7 +55,7 @@ System::Void checkRom( FilenameItem ^fItem, System::String ^orgSrl, System::Stri DebugPrint( "--" ); if( rh.s.card_region_bitmap != region ) { - throw (gcnew System::Exception("Illegal Region in ROM Header.")); + throw (gcnew System::Exception("Illegal Region in the ROM Header.")); return; } @@ -65,7 +65,7 @@ System::Void checkRom( FilenameItem ^fItem, System::String ^orgSrl, System::Stri { if( (rh.s.parental_control_rating_info[ogn] & OS_TWL_PCTL_OGNINFO_ENABLE_MASK) == 0 ) { - throw (gcnew System::Exception("Rating Ogn " + ogn.ToString() + " is not Enabled.")); + throw (gcnew System::Exception("Rating Ogn " + ogn.ToString() + " is not enabled.")); return; } } @@ -75,7 +75,7 @@ System::Void checkRom( FilenameItem ^fItem, System::String ^orgSrl, System::Stri u8 rating = fItem->getRatingValue(); if( rh.s.parental_control_rating_info[ ogn ] != rating ) { - throw (gcnew System::Exception("Mismatch Rating Ogn " + ogn.ToString() + ".")); + throw (gcnew System::Exception("mismatch Rating Ogn " + ogn.ToString() + ".")); return; } @@ -101,7 +101,7 @@ System::Void checkRom( FilenameItem ^fItem, System::String ^orgSrl, System::Stri { if( (ognlist->IndexOf(i) < 0) && (rh.s.parental_control_rating_info[i] != 0) ) { - throw (gcnew System::Exception("Rating Ogn " + i.ToString() + " is not Cleared in ROM Header.")); + throw (gcnew System::Exception("Rating Ogn " + i.ToString() + " is not cleared in ROM Header.")); return; } } @@ -111,13 +111,13 @@ System::Void checkRom( FilenameItem ^fItem, System::String ^orgSrl, System::Stri FILE *fp1 = NULL; if( fopen_s( &fp1, chorg, "rb" ) != NULL ) { - throw (gcnew System::Exception("Fail to Open SRL File.")); + throw (gcnew System::Exception("Fail to open the original SRL file.")); return; } FILE *fp2 = NULL; if( fopen_s( &fp2, chtarget, "rb" ) != NULL ) { - throw (gcnew System::Exception("Fail to Open SRL File.")); + throw (gcnew System::Exception("Fail to open the target SRL file.")); return; } // ファイルサイズをまずチェック @@ -231,12 +231,12 @@ System::Void verifyArea( FILE *fp1, FILE *fp2, const int offset, const int size int len = (rest > VERIFY_AREA_BUFSIZE)?(VERIFY_AREA_BUFSIZE):(rest); if( fread(buf1, 1, len, fp1) != len ) { - throw (gcnew System::Exception("In Verify, fail to fread")); + throw (gcnew System::Exception("In Verify, fail to fread fp1")); return; } if( fread(buf2, 1, len, fp2) != len ) { - throw (gcnew System::Exception("In Verify, fail to fread")); + throw (gcnew System::Exception("In Verify, fail to fread fp2")); return; } if( memcmp(buf1, buf2, len) != 0 ) diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check_sheet.cpp b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check_sheet.cpp index f1c958b..83bdd67 100644 --- a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check_sheet.cpp +++ b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check_sheet.cpp @@ -125,7 +125,7 @@ System::Void checkSheet( FilenameItem ^fItem, SheetItem ^sItem ) DebugPrint( "{0,-10} {1,-20} {2,-20}", fItem->ogn, rating, sItem->ratings[fItem->getOgnNumber()] ); if( sItem->ratings[fItem->getOgnNumber()] != rating ) { - throw (gcnew System::Exception("In Sheet, " + fItem->ogn + " is an Illegal String.")); + throw (gcnew System::Exception("In Sheet, " + fItem->ogn + " mismatch.")); return; } @@ -143,7 +143,7 @@ System::Void checkSheet( FilenameItem ^fItem, SheetItem ^sItem ) // 提出確認書の文字列をチェック if( sItem->ratings[ogn] != other ) { - throw (gcnew System::Exception("In Sheet, " + str + " is not a String for \"All ages\"")); + throw (gcnew System::Exception("In Sheet, " + str + " mismatch a String for \"All ages\"")); return; } } @@ -165,7 +165,7 @@ System::Void checkSheet( FilenameItem ^fItem, SheetItem ^sItem ) // 提出確認書の文字列をチェック if( sItem->ratings[ogn] != unnecessary ) { - throw (gcnew System::Exception("In Sheet, " + str + " is not a String for \"Unnecessary\"")); + throw (gcnew System::Exception("In Sheet, " + str + " mismatch a string for \"Unnecessary\"")); return; } } @@ -201,7 +201,7 @@ System::Void checkSheet( FilenameItem ^fItem, SheetItem ^sItem ) DebugPrint( "{0,-10} {1,-20} {2,-20}", fItem->getOgnString(i), disable, sItem->ratings[i] ); if( sItem->ratings[i] != disable ) { - throw (gcnew System::Exception("In Sheet, " + fItem->getOgnString(i) + " is not a String for \"Disable\"")); + throw (gcnew System::Exception("In Sheet, " + fItem->getOgnString(i) + " mismatch a string for \"Disable\"")); return; } } diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/checker.bat b/build/tools/MasterEditor/MasterEditorTWLChecker/checker.bat new file mode 100644 index 0000000..dde1842 --- /dev/null +++ b/build/tools/MasterEditor/MasterEditorTWLChecker/checker.bat @@ -0,0 +1,70 @@ +@echo off + +rem +rem mastering & comparing sample batch file +rem +rem Simple usage: SRLファイルをドラッグすると%output_path%にマスタリング +rem 結果を出力し、正しくできたか検証を行う +rem +rem 要確認変数: mastering_tool, comparing_tool, output_path +rem 補足: %~d0%~p0はバッチファイルのパスです +rem 補足: %~d1%~p1は各入力ファイルのパスです +rem + +rem 引数チェック +set usage=USAGE: %~nx0 INPUT_FILE... +if ""%1"" == """" ( + echo %usage% + echo 使用方法が間違っています。 + echo SRLもしくはXMLをドラッグアンドドロップしてください。 + echo. + goto end +) + +rem パス設定 +set checker_tool=%~d0%~p0MasterEditorTWLChecker.exe +set org_file=%~d0%~p0ORG.SRL + +rem ループ開始 (%0を使うのはここまで、%1を使うのはここから、%2以降は使わない) +:begin + +rem 出力パス設定 +set input_file=%~dpnx1 +set log_file=%~dp1%\log.txt + +rem プログラム確認 +if not exist "%checker_tool%" ( + echo checker tool "%checker_tool%" is not found. + goto end +) + +if not exist "%org_file%" ( + echo original file "%org_file%" is not found. + goto end +) + +if not exist "%input_file%" ( + echo %input_file% is not found. + goto end +) + +rem 処理本体 +echo. +echo %~nx1をチェックします。 +echo. +"%checker_tool%" "%org_file%" "%input_file%" >> "%log_file%" + +if not %ERRORLEVEL% == 0 ( + echo %input_file% のチェックに失敗しました。 +rem goto end +) + +rem 入力ファイルが残っているならbeginに戻る +shift +if ""%1"" neq """" goto begin + +rem 終了 (キー入力待ち) +:end +echo. +echo すべてのチェックが終了しました。 +pause