Skip to content

About

BVE Trainsim 5 / 6 のシナリオファイルか車両ファイルを開くと、そこから参照されているファイルをすべてたどってツリーで表示するツール。

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

BveRefViewer(BVE 参照ファイルビューア)

BVE Trainsim 5 / 6 のシナリオファイルか車両ファイルを開くと、そこから参照されているファイルをすべてたどって ツリーで表示する Windows 用ツールです。それぞれのファイルの中身もその場で確認できます。

車両・路線データを作ったときや配布する前に、次のような確認に使えます。

  • 参照先のファイルが抜けていないか(見つからないものは赤字で表示)
  • ATSプラグインの DLL のビット数(x86 / x64)が合っているか、必要な関数がエクスポートされているか
  • BVE5・BVE6 のどちらで動くデータか、AtsEX を使っているか、外部のライブラリ(車両パックなど)が必要か
  • 車両フォルダの中で、どこからも使われていないファイルはどれか

動作環境

  • Windows 10 / 11
  • .NET Framework 4.8(Windows 10 の 2019年5月の更新以降と Windows 11 には最初から入っています)

インストール

  1. Releases から最新の zip をダウンロードして、好きなフォルダに展開します。
  2. BveRefViewer.exe を起動します。インストーラーはありません。レジストリも使いません。

削除するときはフォルダごと消してください。設定(最近開いたファイルなど)は %LOCALAPPDATA%\BveRefViewer に保存されているので、必要ならこのフォルダも消してください。

使い方

  1. シナリオファイル(BveTs Scenario)か車両ファイル(BveTs Vehicle)を、ウインドウか BveRefViewer.exe にドラッグ&ドロップします。 「開く...」を使っても、ファイル欄にパスを入れて Enter を押してもかまいません。
  2. 左のツリーに参照関係が表示されます。ファイルを選ぶと、右側に中身が表示されます。
  3. 問題のあるファイルは色で分かります。「問題のあるものだけ」を押すと、問題のある参照だけに絞り込めます。

マップファイルやサウンドファイルなど、途中のファイルを直接開くこともできます。 ツリーの右クリック →「このファイルを起点に開き直す」でも同じことができます。

画面

場所 内容
上の1行(要約) 対応する BVE・AtsEX の使用・必要な外部ライブラリ。クリックすると「概要」タブを開く
参照ツリー シナリオ → 車両 → 性能曲線・パネル・サウンド・ATSプラグイン → 画像・音声… と、路線 → マップ → ストラクチャー… の参照関係
概要 対応する BVE の判定と理由、AtsEX のプラグイン、外部ライブラリの一覧
一覧(車両) / 一覧(路線) 参照をすべて表で表示。列見出しで並べ替え、ダブルクリックでツリーの該当位置へ
未参照ファイル 車両フォルダの中で、どこからも参照されていないファイル(配布前の整理用)
右側(プレビュー) テキストは行番号付き、画像は縮小/原寸表示、音声は試聴、DLL は CPU 種別・バージョン・エクスポート関数
  • 参照元の行を表示: 選んだファイルが、参照元ファイルの何行目に書かれているかを黄色で示します。
  • 見つからないファイルを選ぶと、同じフォルダにある似た名前のファイルを候補として表示します(大文字小文字・拡張子の違いの発見用)。
  • 重い路線を読み込んでいる間は、ステータスバーに進み具合が出ます。「キャンセル (Esc)」で途中でやめられます。

色の意味

色 意味
赤 ファイルが見つからない
オレンジ 警告(ATSプラグインのビット数違い、関数がエクスポートされていない など)
灰緑 車両・路線のフォルダの外にあるファイル(共有の車両パックや GeneralAtsPlugin など)
灰色 同じフォルダにある設定ファイルとして推定したもの、または上で展開済みのもの

対応する BVE の判定

ATSプラグインの DLL のビット数から、車両ごとに判定します。BVE5 は 32bit、BVE6 は 64bit のアプリなので、使えるプラグインが違います。

ATSプラグイン 判定
x86 だけ(Ats か Ats32) BVE5専用
x64 だけ(Ats64) BVE6専用
x86 と x64 の両方 両対応
なし 車両ファイルが 2.00 以降なら両対応、1.00 以前なら BVE5専用

指定されたプラグインが見つからない場合や、ビット数が違う場合は、その BVE では「×」になります。 あくまで車両ファイルと DLL から推定したもので、実際に動くかどうかは BVE で確認してください。

対応しているもの

  • 車両: 車両ファイル・性能曲線・車両性能ファイル・運転台パネル・サウンド・モーター音と、そこから参照される表・画像・音声
  • ATSプラグイン: プラグインと同じ名前の設定ファイル(Sample.dll → Sample.ini など)と、そこから参照されるファイル
  • DetailManager・ATS Plugin Multiplexer(detailmodules.txt)、PluginOrganizer(Instructions.yml)、PluginConverter(PluginConverter.xml)
  • AtsEX(Caller 方式・車両フォルダの VehiclePluginUsing.xml・マッププラグイン)
  • 路線: include、ストラクチャー・信号・サウンド・3Dサウンド・停車場のリスト、他列車ファイル

どのファイルをどう読んでいるかの詳細は docs/DETAILS.md を参照してください。

オプション

テクスチャも確認

既定では、ストラクチャー(.x)はファイルがあるかどうかだけを確認します。ツールバーの「テクスチャも確認」をオンにすると、 .x の中に書かれたテクスチャ画像があるかどうかも確認します。大きな路線では、読み込みに数十秒かかることがあります。 オフのままでも、.x を選べばプレビュー欄にそのファイルのテクスチャ一覧が出ます。

外部ライブラリの名前(libraries.txt)

「概要」では、車両・路線のフォルダの外から読んでいるファイルを、ライブラリごとにまとめて表示します。 次の名前は最初から登録されています。

  • JR線車両パック(Rock_On\Train\JR)
  • 気動車車両パック(BveDcTrainPack*)
  • GeneralAtsPlugin
  • Nagoya_Common

ほかの名前を付けたいときは、BveRefViewer.exe と同じフォルダの libraries.txt に 表示名 = フォルダ名(パスの一部) の形で書き足してください (書き方はファイルの中に説明があります)。登録していないものも「(その他) フォルダ名」としてまとめて表示されます。

注意(誤検知・見落とし)

このツールはファイルの書き方から参照を推定しているため、次のような場合は実際の動作と食い違うことがあります。

  • 未参照ファイル: プラグインが独自のルールで読み込むファイルは、使われていても「未参照ファイル」に出ることがあります。 消す前に、プラグインの説明書などで確認してください。
  • プラグインの設定ファイル: DLL と名前が対応しない設定ファイル(Sample.dll が Config.ini を読む など)は、参照として表示されません。
  • テクスチャ: .x の中に書かれているテクスチャはすべて対象にします。マテリアルとして登録してあるが、どの面にも使われていない画像も 参照として表示され、その画像が無ければ「見つかりません」になります(実際に使われているかを調べると読み込みが重くなるため、確認していません)。 バイナリ形式の .x は確認できません。
  • 路線: 乱数などで実行時に決まるファイル名('local_' + ceil(rand(3)) + '.txt' など)はたどれません。 該当するマップには「値が決まらない変数での参照 n 件は未確認」と表示されます。
  • 対応する BVE の判定: ATSプラグインのビット数と車両ファイルの形式から推定したものです。

おかしな表示を見つけたら、Issues で教えてください(可能なら、該当するファイルの書き方を添えてください)。

ビルド方法

Visual Studio 2022 で BveRefViewer.sln を開いてビルドするか、.NET SDK を入れてコマンドラインで次を実行します。

cd src\BveRefViewer
dotnet build -c Release

src\BveRefViewer\bin\Release\net48\ に BveRefViewer.exe ができます。外部の NuGet パッケージは使っていません。 確認用のコマンドライン機能(参照ツリーのテキスト出力など)は docs/DETAILS.md にあります。

ライセンス

MIT ライセンスです。詳しくは LICENSE を参照してください。

BVE Trainsim は mackoy 氏のソフトウェアです。このツールは BVE Trainsim の作者とは関係のない、個人が作成したツールです。

About

BVE Trainsim 5 / 6 のシナリオファイルか車両ファイルを開くと、そこから参照されているファイルをすべてたどってツリーで表示するツール。

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages