==============================================================================
【 タイトル 】 BTConverter
【バージョン】 1.6
【 ジャンル 】 ユーティリティ > ファイル > データ操作
【 用途 】 バイナリファイル内容出力・反映
【 制 作 者 】 yaezaki
【 動作環境 】 Windows XP. 98/Me は未テスト. 2000 は一部未テスト
【必要DLL】 現在無し
【 配布形態 】 フリーソフト ■注意事項 を参照願います。
【 HomePage 】 現在無し
【ソフト詳細】 現在無し
【アンケート】 現在無し
【 障害報告 】 取りあえず、2ch 三国志\改造スレ へ
【 著 作 権 】 yaezaki 2009-2011
==============================================================================
<<■紹介>> -------------------------------------------------------------------
このソフトは、用意したデータ定義(レコード定義)に従って、
16進バイナリ、10進テキストを相互に変換し、出力します。
(16進数バイナリデータ <=> テキストデータ, 数値は10進数)
以下のような使い方ができるでしょう。
バイナリデータ → テキスト出力 → テキスト編集 → バイナリデータへ反映
(テキスト編集は表計算ソフトなどでどうぞ)
<<■主な特徴>> ---------------------------------------------------------------
・変換用のデータ定義(レコード定義)は、事前に準備する必要があります。
各設定ファイルの ReadMe を事前に確認して下さい。
・テキストの形式は、TSV(TAB区切り), または, CSV形式です。
・扱うことができるデータの形式は以下です。
・バイナリデータは固定長のレコード、
・テキストデータは指定した項目数のTSV/CSVです。項目は「"」で囲いません。
・定義・出力できる項目は、テキスト文字列、サイズ 4Byte までの数、ビットです。
・「数」のコードを、指定により置換できます。
また、文字列中の特定文字(改行[0x0a],「"」など)も、指定により置換できます。
・バイナリ データ ファイル の読み取り開始位置は指定します。
(省略時は address 0 からとなります。)
・バイナリ データ ファイル 中のレコードは、インデックスで対象を指定できます。
これを利用すると、指定したインデックスのレコードだけを変換し、
それ以外をスキップできます。
テキストデータのファイル中のレコードについては、スキップはありません。
・ごく単純な暗号化/復号ができます。(256Byet 内で、1Byte の1対1対応)
<<■ファイルの説明>> ---------------------------------------------------------
ファイル | 内容 |
---|---|
BTConverter.exe | 実行ファイル |
BTConverter.ini | このツールの環境ファイル |
ReadMe1st.txt | 現在表示しているテキストファイル。全般について説明 |
ReadMe2_ini.txt | 対象のファイル情報等について説明 |
ReadMe3_RecordDefinition.txt | レコード定義ファイルについて説明 | ReadMe4_CodeReplacement.txt | コード置換定義ファイルについて説明 |
ReadMe5_BRecordIndexList.txt | レコードのインデックス指定ファイルについて説明 |
各種サンプル | ツールを配置しているフォルダ配下の「Ref」フォルダ以下 |
<<■インストール・アンインストール>> -----------------------------------------
インストール :任意のフォルダに展開・配置し、ツールを起動して下さい。
アンインストール:一式削除して下さい。 レジストリ未使用です。
<<■操作の概略>> -------------------------------------------------------------
1.各設定・定義ファイルは事前に用意する必要があります。
起動だけなら各ファイルは不要ですが、画面の項目は日本語ではありません。
2.ツール画面の「ファイルの情報の名前」[Target File Info]欄で対象を指定します。
なお、起動後に、画面上部右方の「参照」[Browse]ボタンをクリックし、
ファイル選択ダイアログで ini ファイル、インデックスファイルを選択できます。
2.「バイナリ ファイル」[Binary File]欄に、バイナリファイルのパスを指定します。
または、右方の「参照」[Browse]ボタンをクリックし、
ファイル選択ダイアログでバイナリファイルを選択します。
または、バイナリファイルを該当欄にドラッグドロップします。
3.「テキスト ファイル」[Text File]欄に、テキストファイルのパスを指定します。
または、右方の「参照」[Browse]ボタンをクリックし、
ファイル選択ダイアログでテキストファイルを選択します。
または、テキストファイルを該当欄にドラッグドロップします。
4.「バイナリからテキストへ変換」[Binary => Text]ボタン、または、
「テキストからバイナリへ変換」[Text => Binary]ボタンをクリックすると、
確認メッセージが出るので、問題無ければ [はい]ボタンをクリックすると
開始します。
5.処理が完了すると、終了メッセージが表示されます。
※[読み取り専用]のファイルを出力先として実行すると、
エラーのメッセージが出て中止します。
※出力側のファイル欄に指定していない場合、可能な場合は、
ツールでファイル名を作成して実行します。
ただし、バイナリ ファイルを出力する場合、
開始位置が0で無い場合はできません。
※その他については、■更新履歴 欄も参照願います。
<<■注意事項>> ---------------------------------------------------------------
※本ソフトは、すべての機能を保証しているものではありません。
また、本ソフトは、すべてのファイルへの実行を保証しているものではありません。
※このソフトウェアを使用したことによって
障害、破損やその他の不具合等が生じたとしても、
私と私の関係者、および、私の所属するいかなる団体・組織も
その責任を負いませんし、損害の賠償等も一切致しません。
責任の所在が問われる場合は、このソフトウェアの使用を禁止します。
常に自己責任で使用して下さい。必ずバックアップを取りましょう。
※商品として利用しないでください。
※配布は自由ですが、配布の際には、ツールの改悪等をしないこと。
また、必要ドキュメント等については、私が公開した状態のままでお願いします。
ただし、ドキュメント他を追加する分には問題有りません。
※拡張子の無いファイルの読み取りには対応していません。
<<■謝辞>> -------------------------------------------------------------------
以下の方々が公開している情報を参考にしました。大変感謝しております。
○C++関連
・多数の方々
○三国志9関連
・C9殿
地形データの解析・ダンプを Excelでまとめておられます。
特にお世話になりました。
・真臘殿
以前、某所へ公開した、シナリオのStirling構造体の追加の解析結果他、
色々Webにまとめておられます。
特に、セーブデータの復号・暗号化でお世話になりました。
・1942殿
その他全般の有益な情報を掲載されています。
本ツールを掲載していただきました。
・KOEI作品専用UP板 殿 / 三国志9 ■国産ツール
本ツールを掲載していただきました。
<<■更新履歴>> ---------------------------------------------------------------
2011年03月01日 Version 1.6 (最新)
・1.6 リリース版 主に使い勝手改善とエラー系のバグ対応
(1.5.2 ベータ版に対して、インターフェースの変更、機能追加のため改版)
・メッセージの各国語翻訳対応の項目追加等
・ファイル情報iniファイルのキー文字列を変更してしまいました。
・RecordDefineRP → RecordDefinitionFileRP
・B2TDecryptTableRP → B2TDecryptTableFileRP
・T2BEncryptTableRP → T2BEncryptTableFileRP
・BinF_DefaultFP → BinaryFilePath
・TxtF_DefaultFP → TextFilePath
・BRecordIndexListF_DefaultRP → BRecordIndexListFilePath
・バックアップファイル名変更
ファイルのバックアップ をする場合のバックアップ ファイル名を、
以前のバージョンの方式から変更しました。なお、1世代のみ対応のままです。
・以前は、出力ファイルが既に有る場合、
「指定ファイル名.bak」という名前としていました。
(既に、「指定ファイル名.bak」という名前のファイルがある場合は差替え)
・今後は、出力ファイルが既に有る場合、
「指定ファイル名.元の拡張子.bak」という名前で退避します。
(既に、「指定ファイル名.元の拡張子.bak」という名前のファイルがある場合は
差替え)
・バックアップから戻すボタン追加
バイナリ、テキスト ファイルについては、
指定ファイル名.元の拡張子.bak という名前のファイルがある場合は
「戻す」(Revert(bak))ボタン押下すると、現在の指定ファイルを消して、
指定ファイル名.元の拡張子.bak → 指定ファイル名.元の拡張子 とします。
・再読込みボタン追加
このツールを起動し、画面に各ini、レコード インデックス リスト ファイル を
設定後、ファイルの中身を変更した際、ツール上で、再度指定し直す必要が
ありましたが、「再読込み」(Reload)ボタン 押下でリロードします。
画面右上に、注意書きのラベルを追加しました。
※コード置換定義ファイルの内容を変更した場合は、
ツールを再起動する必要があります。
・デスクトップ上の画面の位置を保存、次回起動時再現。
その値はツール本体の ini ファイルに項目追加。 ただし、表示位置調整あり。
(例えば、タイトルバーが画面からはみ出す場合など、横・縦位置は調整されます)
・画面の各ファイルのパス指定欄の上のラベルをクリックした場合、
パス指定欄に指定されているファイルが有効であれば、そのファイルを開きます。
ただし、ファイル拡張子に対応するアプリが関連付けされている必要があります。
・レコード インデックス リスト ファイル の項目スキップ対応
Textファイル中、区切り文字が続く場合、1つの区切り文字とみなします。
(ただし、レコード定義の列見出し、数のコードの置換定義ファイル の記述を除く)
・暗号化/復号ファイルを両方指定していた場合のバグ対応
(両方指定していた場合、エラーで使えなくなっていました)
・その他、異常系の細かいバグ対応
・各ReadMe ファイルの更新。
(特にこれまでと同様に使用する分には影響ありません)
ただのテキストよりは見易くしたHTMLファイル取りあえず版を同梱。
・現時点のサンプル同梱。
なお、起動時の テキスト(Text)、バイナリ(Binary) ファイル指定欄は適当です。
・San9用のStirling構造体のサンプル修正版同梱。
兵法の最後4Byteの解析結果反映と微修正だけです。
------------------------------------------------------------------------------
2011年02月11日 Version 1.5.2.b (20110211-ベータ版)
・前の版で Text→Binary変換時、レコード インデックス に関する処理のバグ修正
Textファイルの各レコードの弟1カラムをレコード インデックス にする場合の
バグ修正
・画面項目、メッセージの各国語翻訳対応
・Textファイルのレコード読み取り時のスキップ拡張
Text→Binary変換時、Textファイルの「//」で始まる行の他、改行だけの行も
スキップするように対応
・その他、異常系の細かいバグ対応
・現時点のサンプル同梱。
兵法の最後4Byteの解析結果反映->FI-シナリオ-05兵法.ini
なお、起動時のText、Binaryファイルは自分用のため同梱していません。
------------------------------------------------------------------------------
2010年11月29日 Version 1.5.1.5 (インデックスのオプション指定にバグ有)
・前の版でText→Binary変換時、レコード インデックス ファイル指定のバグ対応
Textファイルのレコードの弟1カラムをインデックスとして利用可能にしたが、
その指定をした場合でも、参照(Browse) ボタンで
レコード インデックス ファイルを指定できてしまっていた。
・進捗ダイアログの進捗 Byte 数 の 表示バグ修正
暗号化された Binaryファイル全体を複合(その逆も)の時、
進捗ダイアログの進捗Byte数 の 表示が、ずっと256Byteだった。
・Text→Binary変換時の項目変換タイプ=n のバグ修正
Text→Binary変換時のレコード定義の項目変換タイプ=n の時、
値128以上に関するバグ修正
また、文字列項目の数のコード置換で、2/3/4Byteの数のバグ修正
・Text→Binary変換時の 4Byte の数の項目の数のコード置換に関するバグ修正
・Text→Binary変換時の レコード定義の出力項目=0 の項目の変換に関するバグ修正
・参考・設定ファイル修正・追加
・ReadMe_RecordDefine.txt の Binary Data 項目長 の記述追加
ReadMe_コード置換定義ファイル.txt 記述変更
------------------------------------------------------------------------------
2010年11月19日 Version 1.5.1.0 (文字列項目中の2Byte数のコード置換にバグ有)
・Text→Binary変換時の数のコード置換のバグ修正
・インデックスの利便性向上
Text→Binary変換時、Textファイルのレコードの弟1カラムを
インデックスとして利用可能に。
また、そのとき、レコードインデックスファイルを作成可能に。
(Textファイル名+BRecordIndex.txt のようなファイル名となります。)
・出力ファイルが既にあって、読み取り専用の時のエラー処理のバグ修正
・文字列項目の数のコード置換で、2Byte/4Byteの数に対応(テスト残あり。)
・参考・設定ファイル追加
------------------------------------------------------------------------------
2010年11月11日 Version 1.5 (ツール名:BTConverterに改名)
(数のコード置換T→Bにバグあり)
・ツール名変更(DumpTool(FixedLenRec)→BTConverter)
・FileInfoファイルの改行コードの指定:TReturnCode は無くしました。
・レコード定義の項目の読み書き方向の指定方法の整理変更
・数のコードの置換のバグ修正
・項目スキップのバグ修正
・バイナリデータファイル中のレコードのスキップ対応
・対象ファイル情報の内容、コード置換テーブル数の簡易表示
・対象ファイル情報の起動後の指定対応
・暗号化の定義ファイルに対して、複合の定義ファイルの出力対応(その逆も)
・暗号化されたファイル全体に対して、複合したファイルの出力対応(その逆も)
なお、ファイル名は「元のファイル名+日時」等となります。
(拡張子は「.dat」)
・出力ファイルが存在しない場合の出力ファイル新規作成対応
・出力ファイルのバックアップ対応
※Binary File の横にボタンが有りますが、Binary/Text 両方に対応しています。
出力側のファイルのバックアップです。
・チェックされている場合、
出力ファイルが既に有る場合、ファイル名.bak という名前で退避します。
(既に、ファイル名.bak という名前のファイルがある場合は差替え)
・チェックされていない場合、確認メッセージ出力
続行の場合、同ファイルが有れば上書きします。
・各ファイル中のコメント記号を「/」から「//」に変更
・その他、色々見直し修正
------------------------------------------------------------------------------
2010年01月05日 Version 1.4 (バグのため使用不可)
・ファイルドラッグドロップ対応
・その他、色々見直し修正
------------------------------------------------------------------------------
2009年08月05日 Version 1.2 (バグのため、ReadMeの説明が不完全です)
・コード置換機能で複数の定義ファイル取り扱いのバグ修正
・その他、色々見直し修正
2009年08月04日 Version 1.0.2 (版数がおかしいのは設定ミスです。)
・コード置換定義ファイル機能追加
・設定ファイル、データファイルのレコード最大長規定変更
・アイコン微修正
・その他、色々見直し修正
2009年07月30日 Version 1.1 (バグのため、ReadMeの説明が不完全です)
・MFCのスタティックライブラリを使用する版を同梱
・その他、色々見直し修正
2009年07月23日 Version 1.0 (初めて公開、ツール名:DumpTool)
・シンプルな機能のみ
・共有DLLでMFCを使用する版
・サンプルとして 2つの対象ファイル情報、レコード定義等の設定ファイルを同梱