Bvets Status Window

公開、 更新

Bvets Status Window

Download (2020-10-14 更新, 128KiB/131,138bytes)

概要

 ATSプラグインで取得可能な各種情報をウィンドウ上に一覧表示するATSプラグインです。アドオン制作の補助ツールとしてご利用ください。また、PanelとSoundの制御値にATSプラグインの内部変数を代入することにより、ATSプラグインの簡易デバッグに利用することも可能です。

更新履歴

2020-10-14
Version 1.1.1
BVE6向け64bit版の追加
依存ランタイムの変更
ライセンス文章の微修正
2016-10-07
Version 1.1
画面のちらつきを解消
ラベル設定ファイルの名前や格納フォルダを任意に設定可能に
ラベル設定ファイルとしてタブ区切りテキストにも対応
表示可能な状態量にフレームレートを追加
一部の状態数値の表示書式変更を可能に
ソースコードを同梱
2015-09-19
ライセンス文章の追加
2015-09-13
公開

動作環境

 Microsoft .NET Framework Version 4.5以降とVisual Studio 2015、2017、および 2019 用 Microsoft Visual C++ 再頒布可能パッケージがインストールされているWindows上で動作します。

 BVE5.8以降並びにBVE6以降が導入済みの場合は、既にこれらのランタイムがインストール済みのはずですので、原則としてランタイムの追加インストールは必要ありません。Windows 8以降をお使いであれば、Microsoft .NET Framework 4.xがプレインストール済みであるため、これのインストールは原則として必要ありません。

 上記ランタイムをインストールされていない場合は、以下のリンクよりダウンロード・インストールしてください。

導入

 BVE4/5にて利用する場合はx86フォルダ内の32ビット版DLLファイルを、BVE6にて利用する場合はx64フォルダ内の64bit版DLLファイルをご利用ください。

 原則としてRock_On様作成のDetailManagerを利用し、複数のATSプラグインを組み合わせて使用します。基本的には最後に当プラグインが処理されるよう、DetailModules.txtの最後尾に当プラグインへのパスを記述します。ただし、定速制御を行うプラグインが含まれている場合はその前に読み込まれるようにします。

アップデートについて

 初版バージョンからバージョン1.1へのアップデート時に一部の設定ファイルの仕様を変更しましたが、前のバージョンとの互換性は確保しております。バージョン1.1へのアップデートは、プラグイン本体のDLLの上書きのみで大丈夫です。

既知の不具合

 DetailManagerの設定ファイルで当プラグインへのパスを指定を行う際、上の階層の相対パス(../)を含めると最初は正常に読み込めてもリロード時にフリーズするという不具合があることを確認しています。現時点ではこの不具合の解決の見込みが立っておりませんので、上の階層への相対パスの使用は避けてのご利用をお願いします。

正常に動作するパスの例
BvetsStatusWindow.dll
Ats\BvetsStatusWindow.dll
リロード時にフリーズするパスの例
..\BvetsStatusWindow.dll
..\Ats\BvetsStatusWindow.dll

使い方・仕様

 プラグインが読み込まれると自動的に情報表示ウィンドウが表示されます。このウィンドウを消すことも可能ですが、再び表示させるにはアドオンの再読み込みを行う必要があります。

 このウィンドウには各種情報を表示するための3つのリストビューが存在します。これらは左から順に車両や信号と地上子の状態、ATSプラグインによる運転台灯火制御値、ATSプラグインによる音声再生制御値の表示を担っています。

Bvets Status Window(起動時)

 「最前面」チェックボックスにチェックを入れると、設定ウィンドウも含めてBvets Status Windowが常に最前面に表示されます。

 「設定」ボタンを押すと設定ウィンドウが表示され、表示スタイルに関する設定を行うことができます。「車両情報更新間隔」では、毎フレーム更新される現在時刻などの更新間隔を設定します。「ハイライト継続時間」では数値が変化した際の背景色変化による当該項目強調表示の継続時間を設定します。「数値変更時のハイライト色」では強調表示時の背景色を設定します。

Bvets Status Windowの設定画面

 なお、プラグインを起動するとプラグインと同じフォルダに作成されるBvetsStatusWindow.Settings.xml(初期バージョンはSettings.xml)は上記画面表示スタイルに関する設定ファイルです。このファイルを消すと情報表示ウィンドウの設定が初期状態に戻ります。 

設定ファイルによるカスタマイズ

Bvets Status Windowで使用する設定ファイルの一覧

 当ATSプラグインは設定ファイルによりウィンドウに表示する情報を細かくカスタマイズすることが可能です。この設定は大まかに分けて三種類に分類されます。

  • 設定ファイルへのパス指定
    • 後述する二種類の設定ファイルへのパス(ファイル名)を指定します。
  • 表示データ設定
    • 情報ウィンドウのリストに一覧表示する情報を指定します。
  • 数値説明設定
    • 数値で表される車両状態に説明文字列を付加します。

設定ファイルへのパス指定

 プラグインと同じフォルダにファイル名を「プラグインDLLのファイル名.ini」としたINIファイルを配置することで、プラグインで表示する情報をカスタマイズするための設定ファイルのファイル名や場所を独自に設定することができます。文字コードはShift-JIS(ANSI)を指定して保存してください。

 この設定ファイルを省略することも可能ですが、その場合は各設定ファイルのファイル名を以下の表に示すデフォルト値と同一にしてください。

 このINIファイルにおける設定項目は以下の通りです。

FileNameセクション

 各ラベル設定ファイルのファイル名や配置フォルダをプラグインの置かれたフォルダからの相対パスで指定します。

キー値のタイプデフォルト値
StateLabelstring(文字列)StateLabel.csv
PanelLabelstring(文字列)PanelLabel.csv
SoundLabelstring(文字列)SoundLabel.csv
PowerLabelstring(文字列)PowerLabel.csv
BrakeLabelstring(文字列)BrakeLabel.csv
ReverserLabelstring(文字列)ReverserLabel.csv
SignalLabelstring(文字列)SignalLabel.csv
BeaconLabelstring(文字列)BeaconLabel.csv
KeyLabelstring(文字列)KeyLabel.csv
HornLabelstring(文字列)HornLabel.csv

ウィンドウに表示する情報の取捨選択

 文字区切り形式のラベル設定ファイルを利用することにより、ウィンドウに表示される情報を必要に応じて取捨選択することができます。サンプルとして付属している設定ファイルを参考に、アドオンの制作環境に合わせて変更してみてください。

カンマ区切り(CSV)とタブ区切り(TSV)の比較

 データ形式はカンマ区切りテキスト(狭義のCSV)とタブ区切りテキスト(TSV)の二種類に対応しています。拡張子を.csvとした場合はカンマ区切りテキストとして、それ以外の場合はタブ区切りテキストとして取り扱います。文字コードはShift-JIS(ANSI)を指定して保存してください。それ以外のエンコードで保存した場合、文字化けを起こすなどの不具合が発生します。

 以下のファイルではウィンドウにどの情報を表示するかを設定します。一列目に各情報に対応したインデックス番号を、二列目にそのインデックス番号に対応する情報の説明文字列を記述します。一列目を空白として二列目に文字列を入力すると、説明文字列のみを表示します。

デフォルトファイル名 情報種別
StateLabel.csv 各種車両情報
PanelLabel.csv ATSプラグインによる運転台表示制御
SoundLabel.csv ATSプラグインによるサウンド制御

 PanelLabelとSoundLabelの一列目は0~255までの整数値で表示したいインデックス番号を記述します。これらの設定ファイルを省略した場合、全てのインデックス番号が表示対象となります。

 StateLabelの一列目には、以下の表に示す文字列を入力するとそれに対応した情報を表示します。

文字列対応する情報
SPEC_POWER最大力行ノッチ
SPEC_BRAKE最大ブレーキノッチ
SPEC_ATSNOTCHATS確認ノッチ
SPEC_B67NOTCHブレーキ角67度ノッチ
SPEC_CARS編成両数
LOCATION距離
SPEED速度
TIME時間(ミリ秒)
TIME_HHMMSS時間(時分秒)
BCブレーキシリンダ圧
MR元空気溜め圧
ER釣合空気溜め圧
BPブレーキ管圧
SAP直通管圧
CURRENT電流
ACCELERATION加速度
FRAMERATEフレームレート
POWER力行/抑速ノッチ
BRAKEブレーキ
REVERSERレバーサ
SIGNAL信号現示
DOORドア開閉状態
KEY_DOWNATSキー押下
KEY_UPATSキー解放
HORN_BLOW警笛操作
BEACON_TYPE地上子種別
BEACON_SIGNAL地上子対セクション信号
BEACON_DISTANCE地上子対セクション距離
BEACON_OPTIONAL地上子に送る任意の数値

 毎フレーム変化する車両状態量のうち、以下の表に掲載されている実数値を取る状態量は、三列目に書式指定文字列を記述することにより小数点以下の桁数などを変更することができます。省略した場合のデフォルト設定は小数点以下3桁まで表示する「0.###」となります。詳細な設定方法につきましてはMSDNのカスタム数値書式指定文字列についての解説をご覧ください。

 BEACON_DISTANCEも実数値ですが、現バージョンでは小数点以下3桁表示で固定です。

文字列対応する情報
LOCATION距離
SPEED速度
BCブレーキシリンダ圧
MR元空気溜め圧
ER釣合空気溜め圧
BPブレーキ管圧
SAP直通管圧
CURRENT電流
ACCELERATION加速度
FRAMERATEフレームレート

車両状態数値に対する説明の指定

 現在の状態を一目で把握しやすくするために、数値で表される車両状態に説明文字列を付加するための設定です。この設定を行うことにより、一部の車両状態は情報ウィンドウ上に単なる数値だけでなく「数値 - 説明文字列」の形式で表示させることが可能です。

 以下のファイルでは車両状態や信号現示を示すパラメータの各数値とその説明文字列の組み合わせを設定します。一列目に数値もしくは文字列、二列目に表示する説明文字列を記述します。

 データ形式は先ほどの設定と同様、カンマ区切りテキストとタブ区切りテキスト(TSV)の二種類に対応しています。文字コードはShift-JIS(ANSI)を指定して保存してください。

デフォルトファイル名 情報種別
PowerLabel.csv 力行/抑速ノッチ
BrakeLabel.csv ブレーキノッチ
ReverserLabel.csv レバーサ
SignalLabel.csv 信号現示
BeaconLabel.csv 地上子種別(Type)
KeyLabel.csv ATSボタン入力
HornLabel.csv 警笛

 KeyLabelの一列目に記述する文字列と各ATSボタンの対応は以下の通りです。

文字列対応するATSボタン
S保安装置 0 (S)
A1保安装置 1 (A1)
A2保安装置 2 (A2)
B1保安装置 3 (B1)
B2保安装置 4 (B2)
C1保安装置 5 (C1)
C2保安装置 6 (C2)
D保安装置 7 (D)
E保安装置 8 (E)
F保安装置 9 (F)
G保安装置 10 (G)
H保安装置 11 (H)
I保安装置 12 (I)
J保安装置 13 (J)
K保安装置 14 (K)
L保安装置 15 (L)

 HornLabelの一列目に記述する文字列と各警笛タイプの対応は以下の通りです。

文字列 対応する警笛タイプ
HORN1 警笛1
HORN2 警笛2
MUSIC ミュージックホーン

 それ以外の設定ファイルでは、一列目には整数値を記述します。