============================================================================= TWL提出確認書チェッカー ============================================================================= * 目次 - 提出確認書チェッカーとは? - パッケージ内容 - 動作環境 - 実行方法 - 出力 - エラーコード - オプション - 変更履歴 * -------------------------------------------------------------------- * 提出確認書チェッカーとは? * -------------------------------------------------------------------- マスターROM提出確認書とSRLが一致するかを照合するツールです。 WindowsXPで動作し、オプションによって、 GUIでの操作とコンソール画面(コマンドプロンプト)上での操作を切り替えることができます。 コンソール画面上での操作は、バッチファイルやスクリプトに 組み込むことを考慮して用意しています。 また、提出確認書から提出バージョンを抜き出して表示したり、 リマスターバージョンと提出バージョンからTADバージョンの計算もできます。 * -------------------------------------------------------------------- * パッケージ内容 * -------------------------------------------------------------------- SheetCheckerTWL.exe 実行バイナリです。 extract_sheet.xsl SheetCheckerTWL.exe の内部で使用されるファイルです。 SheetCheckerTWL.exe と同じフォルダに置いてください。 * -------------------------------------------------------------------- * 動作環境 * -------------------------------------------------------------------- Windows XP SP2 と .NET Framework 2.0 が必要です。 MasterEditorTWL(TWL用マスターエディタ)がインストールされた環境であれば動作可能です。 * -------------------------------------------------------------------- * 実行方法 * -------------------------------------------------------------------- GUIで操作するか、コンソール画面上で操作するかによって、起動方法が異なります。 (1)GUI操作の場合 SheetCheckerTWL.exe のアイコンをダブルクリックするか、 コンソール(コマンドプロンプト)上で引数を指定せずに、 SheetCheckerTWL.exe を実行してください。 GUIが起動したら、ボタンを押して、 SRLファイルと提出確認書ファイルを選択してください。 テキストボックスへのドラッグアンドドロップでも選択可能です。 SRLと提出確認書が選択されたら、判定結果が出力されます。 (2)コンソール画面上での操作の場合 コンソール上で以下の引数をつけて実行してください。 $ SheetCheckerTWL.exe (SRL) (提出確認書) [オプション] たとえば、SRLのファイル名が TNTRJ01.SRL であり、 提出確認書のファイル名が SHEET.XML の場合、以下の指定となります。 $ SheetCheckerTWL.exe TNTRJ01.SRL SHEET.XML オプションについては後述します。 (オプションの指定位置は、引数の先頭や途中でもかまいません。) なお、オプションによっては、引数にSRLを指定せずとも、 提出確認書のみの指定で動作するものもあります。 $ SheetCheckerTWL.exe (提出確認書) (オプション) * -------------------------------------------------------------------- * プログラムの返り値 * -------------------------------------------------------------------- コンソール画面上での操作の場合にのみ、プログラムの返り値があります。 判定結果が「OK」の場合には、「0」が返されます。 「NG」の場合には、エラーコードが返されます。 この返り値は、%ERRORLEVEL%環境変数に格納されますので、 バッチファイルなどの分岐に利用することができます。 (GUI操作の場合には格納されません。) また、cygwinのシェルを使用した場合には、返り値の格納先は、 %ERRORLEVEL%環境変数ではなく、シェル変数 $? となります。 ただし、「NG」の場合の返り値 -1, -2, ... は 255, 254, ... と解釈されます。 * -------------------------------------------------------------------- * 出力 * -------------------------------------------------------------------- (1)GUIの場合 SRLと提出確認書の両方が選択されたら、両者のファイルから、 本ツールは、以下の情報を抜き出して比較します。 ・イニシャルコード ・リマスターバージョン ・ファイルのCRC これらがすべて一致した場合には「判定結果」の項目に「OK」が表示されます。 一致しない場合には、「NG」とエラーコードが表示されます。 また、比較でエラーとなった箇所が赤色で表示されます。 (ただし、上記の項目で最初に一致しなかった箇所のみが赤色となります。) エラーコードについては後述します。 また、以下の情報も表示されます。 ・提出バージョン - 提出確認書から抜き出されます。 ・TADバージョン - メジャーバージョンを提出確認書から抜き出されたリマスターバージョンとし マイナーバージョンを提出バージョンとしたときの16bitのTADバージョンです。 (2)CUIの場合 GUIの場合と同様の情報がコンソール画面に出力されます。 以下に例示します。 SRL: T0CZA21.SRL Sheet: T0CZA21_SHEET.XML SRL Sheet --------------------------------------- InitialCode: 0CZA 0CZA RemasterVersion: 02 02 File CRC: 39A9 39A9 --------------------------------------- SubmitVersion: - 1 (01) TAD Version: - 513 (0201) --------------------------------------- TITLE_TYPE: - TWL_GAME --------------------------------------- Result: OK NGの場合には、Result の項目に「NG」と表示され、括弧内にエラーコードが出力されます。 以下に例示します。 Result: NG (-1) 後述のオプションをつけて実行することによって、出力を変えることができます。 * -------------------------------------------------------------------- * エラーコード * -------------------------------------------------------------------- 以下は、「NG」とともに表示されるエラーコードです。 (プログラムの返り値ではありません。) 0 : エラーなし -1 : イニシャルコードが一致しない -2 : リマスターバージョンが一致しない -3 : ファイルCRCが一致しない -4 〜 -7 : 予約 -8 : SRLの読み込みに失敗した -9 : 提出確認書の読み込みに失敗した -10 : 引数、あるいはオプションの指定に間違いがある * -------------------------------------------------------------------- * オプション * -------------------------------------------------------------------- コンソール画面上での操作の場合、オプションによって出力を変えることができます。 スクリプトなどに組み込む場合にご利用ください。 (1) -r オプション 判定結果のみを出力します。スクリプトなどに組み込む場合にご利用ください。 エラーがない場合には「0」が出力されます。 エラーの場合には、エラーコードが出力されます。 引数には、SRLと提出確認書の2つを指定してください。 (2) -s オプション 提出バージョンのみを出力します。 エラーがない場合には、提出バージョンが10進数で出力されます。 maketad でマイナーバージョンを指定する場合には、10進数で指定する必要があるためです。 エラーの場合には、エラーコード(-1〜)が出力されます。 引数には、SRLと提出確認書の2つを指定するか、あるいは、提出確認書のみを指定してください。 前者の場合には、SRLと提出確認書が照合され、一致しなかった場合には、エラーコードが出力されますが、 後者の場合には、照合はスキップされます。 (3) -t オプション TADバージョンのみを出力します。 メジャーバージョンを提出確認書から抜き出されたリマスターバージョンとし マイナーバージョンを提出バージョンとしたときの16bitの値が10進数で出力されます。 (リマスターバージョンが 01h、提出バージョンが 02h の場合には、258 が出力されます。) エラーの場合には、エラーコード(-1〜)が出力されます。 CLS処理の場合には、ディレクトリ名を10進数で出力する必要があるためです。 引数には、SRLと提出確認書の2つを指定するか、あるいは、提出確認書のみを指定してください。 前者の場合には、SRLと提出確認書が照合され、一致しなかった場合には、エラーコードが出力されますが、 後者の場合には、照合はスキップされます。 (4) -a オプション レーティング表示が不要かどうか(すなわちTYTLE_TYPEがTWL_APPかどうか)のみを出力します。 レーティング表示が不要(TWL_APP)のとき「1」が出力されます。 それ以外(TWL_GAME)のとき「0」が出力されます。 引数には、SRLと提出確認書の2つを指定するか、あるいは、提出確認書のみを指定してください。 前者の場合には、SRLと提出確認書が照合され、一致しなかった場合には、エラーコードが出力されますが、 後者の場合には、照合はスキップされます。 * -------------------------------------------------------------------- * 変更履歴 * -------------------------------------------------------------------- ○ver.1.2 (2009/03/11) ・TWLマスターエディタ ver.1.4 で出力される提出確認書(2009-3号)に対応。 ○ver.1.1 (2008/12/26) ・オプションによっては引数にSRLを指定せずとも(提出確認書の指定のみで)動作する仕様に変更。 ・表示項目に「メディア」と「TITLE_TYPE」の項目を追加。 ・-aオプションを追加。 ・エラーのときの返り値が-1となっていた間違いを修正し、エラーコードを返り値とした。 ○ver.1.0 (2008/11/14) 初版