Skip to content

Releases: automatic9045/AtsEX

ver1.0-RC8 - v1.0.40401.1

01 Apr 11:17
Compare
Choose a tag to compare
Pre-release

本バージョンは RC 版です。正式版リリースまでに少なくとも 1 回、重大な破壊的変更を予定しています。
変更前に開発されたプラグインも動作しなくなることはありませんが、旧仕様のプラグインと最新仕様のプラグインの間では

  • 相互の連携ができない
  • 同時に実行できない

などの制約が生じる可能性があります。本番環境で採用される場合、その点ご理解の上ご利用ください。

AtsEX についてはこちら→ AtsEX ATSプラグイン拡張キット - 岡オカ営業所

⚠️RC 版につき、フィードバックにご協力ください

本バージョンは RC 版です。ひと通りの機能は揃っていますが、動作が不安定な可能性があります。また、仕様を十分に検討し切れていない部分もあります。
インストールや AtsEX プラグインの使用・開発はもちろん自由に行うことができますが、その際には是非 Twitter や GMail にて 動作報告・不具合報告・仕様に関するご意見 など頂けるととても嬉しいです。

⚠️一部 AtsEX 対応路線に加工が必要です

ver1.0-RC3 以前のバージョンの AtsEX からアップデートした場合、仕様変更の影響で @Bluegill77BiVE5 氏制作・JR 大和路線データのAtsEX版が動作しなくなります。

こちら (Google ドライブ) よりパッチをダウンロードいただき、インストール済の大和路線データに上書きしてください。

アップデートのポイント

更に幅広いデータを操作可能に

BveTypes.dll の機能が更に充実。車掌、音声、自軌道、補助表示、3D モデルなどなど、AtsEX プラグインから操作できるものの幅が格段にパワーアップしました!

更にプラグインを作りやすく

AtsEx.PluginHost、AtsEx.CoreExtensions などの AtsEX プラグインから参照する DLL を NuGet に公開。新規にプラグインを開発する際の手間が大幅に低減されました!

その他、車両ファイルが複数ある場合に車両プラグインリストファイル・車両設定ファイルを一括で定義できるようになったりと、プラグインの開発・組込にて地味~に手間がかかっていた部分を細かくじっくりと見直しました。

更にユーザーに分かりやすく (ver1.0-RC7 ~)

正式版リリースを見据えて、ゾーン識別子や SlimDX SDK との競合、BveTs.exe.config の加工など、分かりづらい原因によるエラーに対する案内表示を更に充実させました。エラーによっては 具体的な対処方法 が表示されることも!

また、新たなプラグインの形態として トラブルシューティングプラグイン を追加。ユーザー間でも、エラーへの対処のノウハウを共有することが可能となりました。

さらに、よくあるエラーには エラーコード を順次追加中 (ver1.0-RC8 ~)。ドキュメントとの照合が容易になります。

パフォーマンスのための独自ヘッダー・独自ステートメントの仕様変更

従来は何も設定せずとも独自ヘッダー、独自ステートメントはその機能をフルに使用することができましたが、行数の多いマップなどでは読込時間がとても長くなってしまっていました。
そこで、本バージョンよりマップファイル・AtsEX プラグイン内で特定のフラグをオンにした場合以外は機能を大幅に制限する仕様に変更しました。

ver1.0-RC7 (v1.0.40209.1) からの主な更新内容

共通

  • 【重要】 エラーダイアログを表示する処理を共通化し、AtsEx.Diagnostics.dll として分離しました。→ 18e41d2 / c61bacb / 21fda98
  • 【重要】 一部エラーにエラーコードを導入しました。→ 5216efe
    • エラーコードは、AtsEX 公式 HP にてエラーの対処方法を検索する際に利用できるようになる予定です。
    • エラーコードが付番されていないエラーについても、その一部は今後のアップデートにて付番する予定です。

AtsEX 本体

  • 【重要】 PluginTypeAttribute 属性の後継として、PluginAttribute 属性を追加しました。→ 0f7212e / 78eb6bb / 19c45f0
    • その AtsEX プラグインがサポートする AtsEX 本体の最低バージョンを指定できるようになりました。これを下回る場合、警告が表示されます (プラグインの読込自体は続行可能です)。
    • PluginTypeAttribute も引き続き利用可能です (新規採用は非推奨)。
  • 【重要】 AtsEXのパスをテキストファイルで指定できるようになりました。→ 1ef3369
    • AtsEx.Caller.InputDevice.dll と同一のディレクトリにファイル「AtsEx.Caller.InputDevice.txt」を配置することで認識されます。
    • ファイルが存在しない場合は、従来通りの挙動 (「AtsEx」サブディレクトリを読み込む) となります。
  • 【重要】 DoNotUseBveHackerAttribute 属性を廃止しました。→ 4308cbb
    • シェアの大半を占めるのが入力デバイスプラグイン版である一方、この機能が動作するのは ATS プラグイン版のみのためです。
  • App クラスから AtsEX 本体のバージョンを簡単に取得できるようになりました。→ 74dc680
  • ATS サウンドが解放できない不具合を修正しました。→ e19d3d4

AtsEX Caller

  • AtsEX 本体の起動に失敗した時に表示されるメッセージが更に分かりやすくなりました。→ 96173fd

クラスラッパー

  • 【破壊的変更】 MapObjectList.GoTo メソッドのオーバーロードを 2 種類追加しました。従来の同名メソッドについては、紛らわしいため GoToByIndex に改名しました。→ ebd922f
  • 【破壊的変更】 ElectroPneumaticBlendedBrakingControlBase クラスを BrakeBlenderBase に、CarBc クラスを CarBrake に改名しました。→ 520e8bc
  • Passenger.Capacity プロパティ、Passenger.Count プロパティを追加しました。→ 6824645
    • 自列車の乗車人数、定員を取得できるようになりました。
  • Vehicle.Passenger プロパティ、VehicleVibrationManager.Passenger プロパティを追加しました。→ 0e1695b
  • ITickable インターフェイス、JerkRegulator クラス、VehicleMotorState クラス、VehicleElectricity. MotorState プロパティ、VehicleElectricity.MotorState プロパティを追加しました。→ d989fae
    • モーターの出力する電流・引張力を操作可能になりました。
  • Sound.SetVolumeAndPitch メソッドを追加しました。→ 1326a2a
    • 音声の音量、ピッチを再生途中で変更可能になりました。
  • SpeedLimitList クラス、Route.SpeedLimits プロパティを追加しました。→ 970427e
    • 速度制限を操作できるようになりました。
  • ValueNode のコンストラクタを追加しました。→ 464546e
  • Model.SetAlpha メソッドを追加しました。→ 392a547
    • 3D モデルを半透明にして描画できるようになりました。
  • Sound.Buffers プロパティ、Sound.CurrentBufferIndex プロパティを追加しました。→ e8f4a6e
    • BVE で使用されている DirectSound の機能を直接操作できるようになりました。
  • MainForm.LoadScenario メソッドを呼び出すとエラーが発生する不具合を修正しました。→ 25026e7

FastMember

  • ジェネリック型のコンストラクタを呼び出せるようになりました。→ 35df939

TypeWrapping

  • 例外スロー処理の実装を整理しました。→ 914fe77

サンプル

  • 全てのサンプルプラグインの PluginTypeAttribute 属性を PluginAttribute 属性に置き換え、DoNotUseBveHackerAttribute 属性を削除しました。→ fb12d83

その他

ver1.0-RC6 (v1.0.40116.1) からの主な更新内容

AtsEX 本体

  • 【重要】 トラブルシューティングプラグイン機能を追加しました。→ 3dc2e7d
  • 入力デバイスプラグイン版 AtsEX の有効化時、必要に応じて再起動を促すメッセージが表示されるようになりました。→ b292959
  • バージョン情報ダイアログに、本体の呼出モード (入力デバイスプラグイン版、または ATS プラグイン版) の表記を追加しました。→ b7f0289
  • LaunchMode 列挙型の説明を文字列で取得できるようになりました。→ 4a3f782

独自ヘッダー

  • 構文解析の規則を、コンピューターのカルチャーに依存しない仕様に変更しました。→ 0790c2f

NuGet パッケージ

  • AtsEx.PluginHost の依存パッケージから Lib.Harmony を削除しました。→ 8927be4

AtsEX Caller

  • AtsEX 本体の起動に失敗した時、詳細なメッセージを表示するようになりました。→ af4fc5e

クラスラッパー

  • KeyProvider.LeverMoved イベント、KeyProvider.LeverMoved イベント、KeyProvider.LeverMoved イベントを追加しました。→ 0d258b4
    • これにより、入力デバイスプラグインのイベントに介入できるようになりました。
  • Route.RollingNoiseObjects プロパティ、Route.FlangeNoiseObjects プロパティ、Route.JointNoiseObjects プロパティを追加しました。→ 81d6d13
    • 車輪転動音、フランジきしり音、分岐器通過音を操作できるようになりました。
  • MyTrack.GetTransform メソッドを追加しました。→ 914c574
    • 自軌道における任意の 2 距離程間の射影行列を求めるメソッドです。
  • Model クラスに IDisposable インターフェイスを実装しました。→ b50a694
  • Direct3DProvider.HasDeviceLost プロパティ、Direct3DProvider.InitializeStates メソッドを追加しました。→ ad0d3b3
  • LoadingProgressForm.ProgressBar プロパティ、LoadingProgressForm.SetProgress メソッドを追加しました。→ df6abbb
    • 読込中画面のプログレスバーを操作できるようになりました。

サンプル

  • RichLoad (リッチなシナリオ読込画面を実装するプラグイン) のサンプルを追加しました。→ 0851834
  • 他列車操作サンプル EX のコードを読みやすく整理の上、改名しました。→ 3cf5cc7 / 1185943
    • この変更により、自軌道が直線でない場合も調整不要で正常動作するようになりました。
  • 他列車操作サンプル EX の自動制御版を追加しました。→ 90c7b62
    • 従来のもの (手動制御版) と比較してシンプルなコードとなっています。

その他

  • 【重要】 RichLoad (リッチなシナリオ読込画面を実装するプラグイン) の同梱を開始しました。
  • 【重要】 ゾーン識別子などの一般的なエラーに対応するトラブルシューティングプラグイン「AtsEX コモン トラブルシューティング」の同梱を開始しました。

ver1.0-RC5 (v1.0.40101.1) からの主な更新内容

AtsEX 本体

  • 【重要】 シナリオの再読込・再選択後、ランダムに続行が不可能となる不具合を修正しました。→ 5bf8763
    • Scenario クラスのデストラクタにより InputDeviceMain.ScenarioClosed が呼ばれ、リソースが誤って解放されてしまっていたためでした。
  • BveHacker.ScenarioOpened / ScenarioClosed イベントの発生タイミングを修正しました。→ 1985b46
    • 呼び出されなかったり、ScenarioClosed イベントより前に ScenarioOpened イベントが発生してしまう場合があった問題が解消されました。

独自ヘッダー

  • 【破壊的変更】 冒頭に USEATSEXNOMPI のいずれも定義されていなくても、機能が無効化されない場合がある不具合を修正しました。→ 56f8f7f

BveTypes (クラスラッパー除く)

  • コードを整理しました。→ e245f1b
    • アセンブリの解決処理について、必要最小限の範囲のみに適用する仕様としました。

クラスラッパー

  • 【重要】 Model.CreateRectangleWithTexture メソッドを追加しました。→ e6429d8
    • 運転台、補助表示向けの 2D モデルを簡単に生成できるようになりました。
  • 【重要】 Structure クラスのコンストラクタが動作しない不具合を修正しました。→ 52dd7c6
  • 【破壊的変更】 ClassWrapperBase クラスに等値演算子 ==、非等値演算子 != を実装しました。→ 9cf6fe4
    • これにより、動作が以前と異なる場合があります。
  • 【破壊的変更】 DoorSet.AreAllClosingOrClosed プロパティを AreAllClosed に改名しました。→ a7e518d
    • 実際には true になるのはドアが閉まり切った後であり、名前が実態にそぐわなかったためです。
    • 旧名のプロパティは ClassMemberSet から参照できなくなったため、特殊な処理を実装している場合は影響を受ける可能性があります。通常の使用方法の範囲では影響はほぼありません。
  • Route.GetTrackMatrix メソッドのパラメータを改名・XML ドキュメントを変更しました。→ 3231765
    • 従来のパラメータ名では直感的でなく分かりづらかったためです。
    • この変更によるプラグインの動作への影響はありません。

ver1.0-RC4 (v1.0.31223.1) からの主な更新内容

AtsEX 本体

  • 【重要】 定速制御のコマンドが正しく動作しない不具合を修正しました。→ a1efb25
  • アップデート情報ダイアログで表示されるダウンロードリンクを、GitHub のものから AtsEX 公式ホームページのダウンロードページに変更しました。→ 327e57f

クラスラッパー

  • 【破壊的変更】 一部メンバー名の綴り間違いを修正しました。→ 4b62433 / b64f3f3
    • 対象: Station.DepertureTimeMilliseconds プロパティ、Station.DepertureTime プロパティ、Station.DepertureSound プロパティ、TimeTable.DepertureTimeTexts プロパティ、TimeTable.DepertureTimeTextWidths プロパティ
    • 旧名のプロパティは ClassMemberSet から参照できなくなったため、特殊な処理を実装している場合は影響を受ける可能性があります。通常の使用方法の範囲では影響はほぼありません。
  • MyTrack.Gradients プロパティを追加しました。→ 494e13d
    • 勾配の情報を取得できるようになりました。
  • ConstantSpeedRelay クラスを追加しました。→ 98b5a7f
    • 定速制御の制御種別が操作できるようになりました。
  • TimeManager.State プロパティが取得できない不具合を修正しました。→ 907d284
  • CantList クラスを InterpolatableMapObjectList クラスの派生として再定義しました。→ b3f6f60...
Read more

ver1.0-RC7 - v1.0.40209.1

09 Feb 11:51
Compare
Choose a tag to compare
Pre-release

本バージョンは RC 版です。正式版リリースまでに少なくとも 1 回、重大な破壊的変更を予定しています。
変更前に開発されたプラグインも動作しなくなることはありませんが、旧仕様のプラグインと最新仕様のプラグインの間では

  • 相互の連携ができない
  • 同時に実行できない

などの制約が生じる可能性があります。本番環境で採用される場合、その点ご理解の上ご利用ください。

AtsEX についてはこちら→ AtsEX ATSプラグイン拡張キット - 岡オカ営業所

⚠️RC 版につき、フィードバックにご協力ください

本バージョンは RC 版です。ひと通りの機能は揃っていますが、動作が不安定な可能性があります。また、仕様を十分に検討し切れていない部分もあります。
インストールや AtsEX プラグインの使用・開発はもちろん自由に行うことができますが、その際には是非 Twitter や GMail にて 動作報告・不具合報告・仕様に関するご意見 など頂けるととても嬉しいです。

⚠️一部 AtsEX 対応路線に加工が必要です

ver1.0-RC3 以前のバージョンの AtsEX からアップデートした場合、仕様変更の影響で @Bluegill77BiVE5 氏制作・JR 大和路線データのAtsEX版が動作しなくなります。

こちら (Google ドライブ) よりパッチをダウンロードいただき、インストール済の大和路線データに上書きしてください。

アップデートのポイント

更に幅広いデータを操作可能に

BveTypes.dll の機能が更に充実。車掌、音声、自軌道、補助表示、3D モデルなどなど、AtsEX プラグインから操作できるものの幅が格段にパワーアップしました!

更にプラグインを作りやすく

AtsEx.PluginHost、AtsEx.CoreExtensions などの AtsEX プラグインから参照する DLL を NuGet に公開。新規にプラグインを開発する際の手間が大幅に低減されました!

その他、車両ファイルが複数ある場合に車両プラグインリストファイル・車両設定ファイルを一括で定義できるようになったりと、プラグインの開発・組込にて地味~に手間がかかっていた部分を細かくじっくりと見直しました。

更にユーザーに分かりやすく (ver1.0-RC7 ~)

正式版リリースを見据えて、ゾーン識別子や SlimDX SDK との競合、BveTs.exe.config の加工など、分かりづらい原因によるエラーに対する案内表示を更に充実させました。エラーによっては 具体的な対処方法 が表示されることも!

また、新たなプラグインの形態として トラブルシューティングプラグイン を追加。ユーザー間でも、エラーへの対処のノウハウを共有することが可能となりました。

【ご意見募集中】パフォーマンスのための独自ヘッダー・独自ステートメントの仕様変更

従来は何も設定せずとも独自ヘッダー、独自ステートメントはその機能をフルに使用することができましたが、行数の多いマップなどでは読込時間がとても長くなってしまっていました。
そこで、本バージョンよりマップファイル・AtsEX プラグイン内で特定のフラグをオンにした場合以外は機能を大幅に制限する仕様に変更しました。

読込時間の短縮のために手間が増えた格好ですが、いかがでしょうか。お使いになった際には「こういう仕様にした方が良いのでは?」など是非ご意見をお寄せください。

ver1.0-RC2: 仕様を変更しました

ご意見を踏まえて、機能が有効化される条件を若干緩和しました。

  • USEATSEX ではなく NOMPI が冒頭に定義されていても有効化するように
  • READDEPTHの初期値を 0 → 1 に
  • USEATSEXREADDEPTH は山括弧でも定義できるように

ver1.0-RC4: 仕様を変更しました

パフォーマンスが明らかに低下してしまっていたため、機能が有効化される条件の一部を戻しました。

  • READDEPTHの初期値を 1 → 0 に

ver1.0-RC6: 以前からの不具合を修正しました

不具合の修正が、結果として破壊的変更となり、以前は動作していたプラグインが動作しなくなる可能性があります。

  • 冒頭に USEATSEXNOMPI のいずれも定義されていなくても、機能が無効化されない場合がある不具合を修正しました。

引き続き皆様からのご意見お待ちしております。

ver1.0-RC6 (v1.0.40116.1) からの主な更新内容

AtsEX 本体

  • 【重要】 トラブルシューティングプラグイン機能を追加しました。→ 3dc2e7d
  • 入力デバイスプラグイン版 AtsEX の有効化時、必要に応じて再起動を促すメッセージが表示されるようになりました。→ b292959
  • バージョン情報ダイアログに、本体の呼出モード (入力デバイスプラグイン版、または ATS プラグイン版) の表記を追加しました。→ b7f0289
  • LaunchMode 列挙型の説明を文字列で取得できるようになりました。→ 4a3f782

独自ヘッダー

  • 構文解析の規則を、コンピューターのカルチャーに依存しない仕様に変更しました。→ 0790c2f

NuGet パッケージ

  • AtsEx.PluginHost の依存パッケージから Lib.Harmony を削除しました。→ 8927be4

AtsEX Caller

  • AtsEX 本体の起動に失敗した時、詳細なメッセージを表示するようになりました。→ af4fc5e

クラスラッパー

  • KeyProvider.LeverMoved イベント、KeyProvider.LeverMoved イベント、KeyProvider.LeverMoved イベントを追加しました。→ 0d258b4
    • これにより、入力デバイスプラグインのイベントに介入できるようになりました。
  • Route.RollingNoiseObjects プロパティ、Route.FlangeNoiseObjects プロパティ、Route.JointNoiseObjects プロパティを追加しました。→ 81d6d13
    • 車輪転動音、フランジきしり音、分岐器通過音を操作できるようになりました。
  • MyTrack.GetTransform メソッドを追加しました。→ 914c574
    • 自軌道における任意の 2 距離程間の射影行列を求めるメソッドです。
  • Model クラスに IDisposable インターフェイスを実装しました。→ b50a694
  • Direct3DProvider.HasDeviceLost プロパティ、Direct3DProvider.InitializeStates メソッドを追加しました。→ ad0d3b3
  • LoadingProgressForm.ProgressBar プロパティ、LoadingProgressForm.SetProgress メソッドを追加しました。→ df6abbb
    • 読込中画面のプログレスバーを操作できるようになりました。

サンプル

  • RichLoad (リッチなシナリオ読込画面を実装するプラグイン) のサンプルを追加しました。→ 0851834
  • 他列車操作サンプル EX のコードを読みやすく整理の上、改名しました。→ 3cf5cc7 / 1185943
    • この変更により、自軌道が直線でない場合も調整不要で正常動作するようになりました。
  • 他列車操作サンプル EX の自動制御版を追加しました。→ 90c7b62
    • 従来のもの (手動制御版) と比較してシンプルなコードとなっています。

その他

  • 【重要】 RichLoad (リッチなシナリオ読込画面を実装するプラグイン) の同梱を開始しました。
  • 【重要】 ゾーン識別子などの一般的なエラーに対応するトラブルシューティングプラグイン「AtsEX コモン トラブルシューティング」の同梱を開始しました。

ver1.0-RC5 (v1.0.40101.1) からの主な更新内容

AtsEX 本体

  • 【重要】 シナリオの再読込・再選択後、ランダムに続行が不可能となる不具合を修正しました。→ 5bf8763
    • Scenario クラスのデストラクタにより InputDeviceMain.ScenarioClosed が呼ばれ、リソースが誤って解放されてしまっていたためでした。
  • BveHacker.ScenarioOpened / ScenarioClosed イベントの発生タイミングを修正しました。→ 1985b46
    • 呼び出されなかったり、ScenarioClosed イベントより前に ScenarioOpened イベントが発生してしまう場合があった問題が解消されました。

独自ヘッダー

  • 【破壊的変更】 冒頭に USEATSEXNOMPI のいずれも定義されていなくても、機能が無効化されない場合がある不具合を修正しました。→ 56f8f7f

BveTypes (クラスラッパー除く)

  • コードを整理しました。→ e245f1b
    • アセンブリの解決処理について、必要最小限の範囲のみに適用する仕様としました。

クラスラッパー

  • 【重要】 Model.CreateRectangleWithTexture メソッドを追加しました。→ e6429d8
    • 運転台、補助表示向けの 2D モデルを簡単に生成できるようになりました。
  • 【重要】 Structure クラスのコンストラクタが動作しない不具合を修正しました。→ 52dd7c6
  • 【破壊的変更】 ClassWrapperBase クラスに等値演算子 ==、非等値演算子 != を実装しました。→ 9cf6fe4
    • これにより、動作が以前と異なる場合があります。
  • 【破壊的変更】 DoorSet.AreAllClosingOrClosed プロパティを AreAllClosed に改名しました。→ a7e518d
    • 実際には true になるのはドアが閉まり切った後であり、名前が実態にそぐわなかったためです。
    • 旧名のプロパティは ClassMemberSet から参照できなくなったため、特殊な処理を実装している場合は影響を受ける可能性があります。通常の使用方法の範囲では影響はほぼありません。
  • Route.GetTrackMatrix メソッドのパラメータを改名・XML ドキュメントを変更しました。→ 3231765
    • 従来のパラメータ名では直感的でなく分かりづらかったためです。
    • この変更によるプラグインの動作への影響はありません。

ver1.0-RC4 (v1.0.31223.1) からの主な更新内容

AtsEX 本体

  • 【重要】 定速制御のコマンドが正しく動作しない不具合を修正しました。→ a1efb25
  • アップデート情報ダイアログで表示されるダウンロードリンクを、GitHub のものから AtsEX 公式ホームページのダウンロードページに変更しました。→ 327e57f

クラスラッパー

  • 【破壊的変更】 一部メンバー名の綴り間違いを修正しました。→ 4b62433 / b64f3f3
    • 対象: Station.DepertureTimeMilliseconds プロパティ、Station.DepertureTime プロパティ、Station.DepertureSound プロパティ、TimeTable.DepertureTimeTexts プロパティ、TimeTable.DepertureTimeTextWidths プロパティ
    • 旧名のプロパティは ClassMemberSet から参照できなくなったため、特殊な処理を実装している場合は影響を受ける可能性があります。通常の使用方法の範囲では影響はほぼありません。
  • MyTrack.Gradients プロパティを追加しました。→ 494e13d
    • 勾配の情報を取得できるようになりました。
  • ConstantSpeedRelay クラスを追加しました。→ 98b5a7f
    • 定速制御の制御種別が操作できるようになりました。
  • TimeManager.State プロパティが取得できない不具合を修正しました。→ 907d284
  • CantList クラスを InterpolatableMapObjectList クラスの派生として再定義しました。→ b3f6f60
  • ver1.0-RC4 にて CurveList クラスを InterpolatableMapObjectList クラスの派生として再定義しましたが、実際には InterpolatableMapObjectList クラスを継承していなかったため修正しました。→ c1c301a

拡張機能

  • 【重要】 AtsArrayExtender の AtsEX 拡張機能版を追加しました。→ 0eb2085

ver1.0-RC3 (v1.0.31118.2) からの主な更新内容

共通

  • 【重要】 AtsEXプラグインの Tick メソッドにおいて、elapsed パラメータの 1 フレーム目の値が不正になる不具合を修正しました。→ 2bbc336

AtsEX 本体

独自ヘッダー

  • 【破壊的変更】 READDEPTHの初期値を 0 → 1 に戻しました。→ 68cbc0f
    • パフォーマンスが明らかに低下してしまったためです。

BveTypes (クラスラッパー除く)

  • 型を互換性を維持しながら改名できるようになりました。→ 65597ed
  • 構築ジェネリック型のメンバーを扱えるようになりました。→ 81941ad

クラスラッパー

  • 【重要】 PluginLoader クラスを AtsPlugin に改名しました。→ da45c56 / adac7c9
    • 実態にそぐわなかったためです。
    • ある程度の互換性は維持されています。旧名のクラスも引き続きご利用いただけます。
  • 運転台関連のクラス (OneLeverCab クラス、TwoLeverCab クラス) を追加しました。→ 1f45377
    • これにより、ワンハンドル / ツーハンドルを識別できるようになりました。
  • Model.FromXFile メソッドを追加しました。→ ff9fd05
    • プラグインから X ファイルを読み込み、3D モデルを構築できるようになりました。
  • SectionManager.CurrentSectionSignalIndex プロパティを追加しました。→ 032bfa3
    • 現在の閉そくの信号インデックスを簡単に取得できるようになりました。
  • MyTrack.CurvePosts プロパティを CurveList 型として取得できるようになりました。→ b9812ba
  • ValueNode クラス、ValueEventArgs クラスのメンバーが正しく読み込めない不具合を修正しました。→ 5638200 など
  • CurveList クラスを InterpolatableMapObjectList クラスの派生として再定義しました。→ 15b311f

FastMember

P/Invoke によるアンマネージな関数の呼び出しに対応ました。→ 316f435

TypeWrapping

  • 【破壊的変更】 ジェネリック型のメンバーを扱えるようになりました。→ ce85a40 / 88a5692 / b96b358
    • WrapTypeSet のメンバーの形態を変更しました。
  • 型を互換性を維持しながら改名できるようになりました。→ 65597ed

サンプル

状態取得・設定サンプル (StateViewer)

  • 右クリックメニューが正しく解放されない不具合を修正しました。→ 4b84ccc

信号現示操作サンプル (SignalController)

  • イベントが正しく解放されない不具合を修正しました。→ 4a31842

ver1.0-RC2 (v1.0.31118.1) からの主な更新内容

共通

  • 最新版であってもアップデート情報ダイアログが表示されてしまう不具合を解消するため、再更新しました。→ 83b3255

ver1.0-RC1 (v1.0.31106.1) からの主な更新内容

AtsEX 本体

独自ヘッダー

  • 【破壊的変更】 後方互換性のために、構文解析を実施する条件を緩和しました。→ a19363b
    • USEATSEX ではなく NOMPI が冒頭に定義されていても有効化される仕様に変更しました。
    • READDEPTHの初期値を 0 → 1 に変更しました。
  • USEATSEXREADDEPTH は、従来の記法 ([[AtsEx::USEATSEX]] など) に加えて、山括弧による記法 (<AtsEx::USEATSEX> など) でも定義できるようになりま...
Read more

ver1.0-RC6 - v1.0.40116.1

16 Jan 12:43
Compare
Choose a tag to compare
Pre-release

本バージョンは RC 版です。正式版リリースまでに少なくとも 1 回、重大な破壊的変更を予定しています。
変更前に開発された (以降「旧仕様」) プラグインも動作しなくなることはありませんが、旧仕様のプラグインと最新仕様のプラグインの間では

  • 相互の連携ができない
  • 同時に実行できない

などの制約が生じる可能性があります。本番環境で採用される場合、その点ご理解の上ご利用ください。

AtsEX についてはこちら→ AtsEX ATSプラグイン拡張キット - 岡オカ営業所

⚠️RC 版につき、フィードバックにご協力ください

本バージョンは RC 版です。ひと通りの機能は揃っていますが、動作が不安定な可能性があります。また、仕様を十分に検討し切れていない部分もあります。
インストールや AtsEX プラグインの使用・開発はもちろん自由に行うことができますが、その際には是非 Twitter や GMail にて 動作報告・不具合報告・仕様に関するご意見 など頂けるととても嬉しいです。

⚠️一部 AtsEX 対応路線に加工が必要です

ver1.0-RC3 以前のバージョンの AtsEX からアップデートした場合、仕様変更の影響で @Bluegill77BiVE5 氏制作・JR 大和路線データのAtsEX版が動作しなくなります。

こちら (Google ドライブ) よりパッチをダウンロードいただき、インストール済の大和路線データに上書きしてください。

アップデートのポイント

更に幅広いデータを操作可能に

BveTypes.dll の機能が更に充実。車掌、音声、自軌道、補助表示、3D モデルなどなど、AtsEX プラグインから操作できるものの幅が格段にパワーアップしました!

更にプラグインを作りやすく

AtsEx.PluginHost、AtsEx.CoreExtensions などの AtsEX プラグインから参照する DLL を NuGet に公開。新規にプラグインを開発する際の手間が大幅に低減されました!

その他、車両ファイルが複数ある場合に車両プラグインリストファイル・車両設定ファイルを一括で定義できるようになったりと、プラグインの開発・組込にて地味~に手間がかかっていた部分を細かくじっくりと見直しました。

【ご意見募集中】パフォーマンスのための独自ヘッダー・独自ステートメントの仕様変更

従来は何も設定せずとも独自ヘッダー、独自ステートメントはその機能をフルに使用することができましたが、行数の多いマップなどでは読込時間がとても長くなってしまっていました。
そこで、本バージョンよりマップファイル・AtsEX プラグイン内で特定のフラグをオンにした場合以外は機能を大幅に制限する仕様に変更しました。

読込時間の短縮のために手間が増えた格好ですが、いかがでしょうか。お使いになった際には「こういう仕様にした方が良いのでは?」など是非ご意見をお寄せください。

ver1.0-RC2: 仕様を変更しました

ご意見を踏まえて、機能が有効化される条件を若干緩和しました。

  • USEATSEX ではなく NOMPI が冒頭に定義されていても有効化するように
  • READDEPTHの初期値を 0 → 1 に
  • USEATSEXREADDEPTH は山括弧でも定義できるように

ver1.0-RC4: 仕様を変更しました

パフォーマンスが明らかに低下してしまっていたため、機能が有効化される条件の一部を戻しました。

  • READDEPTHの初期値を 1 → 0 に

ver1.0-RC6: 以前からの不具合を修正しました

不具合の修正が、結果として破壊的変更となり、以前は動作していたプラグインが動作しなくなる可能性があります。

  • 冒頭に USEATSEXNOMPI のいずれも定義されていなくても、機能が無効化されない場合がある不具合を修正しました。

引き続き皆様からのご意見お待ちしております。

ver1.0-RC5 (v1.0.40101.1) からの主な更新内容

AtsEX 本体

  • 【重要】 シナリオの再読込・再選択後、ランダムに続行が不可能となる不具合を修正しました。→ 5bf8763
    • Scenario クラスのデストラクタにより InputDeviceMain.ScenarioClosed が呼ばれ、リソースが誤って解放されてしまっていたためでした。
  • BveHacker.ScenarioOpened / ScenarioClosed イベントの発生タイミングを修正しました。→ 1985b46
    • 呼び出されなかったり、ScenarioClosed イベントより前に ScenarioOpened イベントが発生してしまう場合があった問題が解消されました。

独自ヘッダー

  • 【破壊的変更】 冒頭に USEATSEXNOMPI のいずれも定義されていなくても、機能が無効化されない場合がある不具合を修正しました。→ 56f8f7f

BveTypes (クラスラッパー除く)

  • コードを整理しました。→ e245f1b
    • アセンブリの解決処理について、必要最小限の範囲のみに適用する仕様としました。

クラスラッパー

  • 【重要】 Model.CreateRectangleWithTexture メソッドを追加しました。→ e6429d8
    • 運転台、補助表示向けの 2D モデルを簡単に生成できるようになりました。
  • 【重要】 Structure クラスのコンストラクタが動作しない不具合を修正しました。→ 52dd7c6
  • 【破壊的変更】 ClassWrapperBase クラスに等値演算子 ==、非等値演算子 != を実装しました。→ 9cf6fe4
    • これにより、動作が以前と異なる場合があります。
  • 【破壊的変更】 DoorSet.AreAllClosingOrClosed プロパティを AreAllClosed に改名しました。→ a7e518d
    • 実際には true になるのはドアが閉まり切った後であり、名前が実態にそぐわなかったためです。
    • 旧名のプロパティは ClassMemberSet から参照できなくなったため、特殊な処理を実装している場合は影響を受ける可能性があります。通常の使用方法の範囲では影響はほぼありません。
  • Route.GetTrackMatrix メソッドのパラメータを改名・XML ドキュメントを変更しました。→ 3231765
    • 従来のパラメータ名では直感的でなく分かりづらかったためです。
    • この変更によるプラグインの動作への影響はありません。

ver1.0-RC4 (v1.0.31223.1) からの主な更新内容

AtsEX 本体

  • 【重要】 定速制御のコマンドが正しく動作しない不具合を修正しました。→ a1efb25
  • アップデート情報ダイアログで表示されるダウンロードリンクを、GitHub のものから AtsEX 公式ホームページのダウンロードページに変更しました。→ 327e57f

クラスラッパー

  • 【破壊的変更】 一部メンバー名の綴り間違いを修正しました。→ 4b62433 / b64f3f3
    • 対象: Station.DepertureTimeMilliseconds プロパティ、Station.DepertureTime プロパティ、Station.DepertureSound プロパティ、TimeTable.DepertureTimeTexts プロパティ、TimeTable.DepertureTimeTextWidths プロパティ
    • 旧名のプロパティは ClassMemberSet から参照できなくなったため、特殊な処理を実装している場合は影響を受ける可能性があります。通常の使用方法の範囲では影響はほぼありません。
  • MyTrack.Gradients プロパティを追加しました。→ 494e13d
    • 勾配の情報を取得できるようになりました。
  • ConstantSpeedRelay クラスを追加しました。→ 98b5a7f
    • 定速制御の制御種別が操作できるようになりました。
  • TimeManager.State プロパティが取得できない不具合を修正しました。→ 907d284
  • CantList クラスを InterpolatableMapObjectList クラスの派生として再定義しました。→ b3f6f60
  • ver1.0-RC4 にて CurveList クラスを InterpolatableMapObjectList クラスの派生として再定義しましたが、実際には InterpolatableMapObjectList クラスを継承していなかったため修正しました。→ c1c301a

拡張機能

  • 【重要】 AtsArrayExtender の AtsEX 拡張機能版を追加しました。→ 0eb2085

ver1.0-RC3 (v1.0.31118.2) からの主な更新内容

共通

  • 【重要】 AtsEXプラグインの Tick メソッドにおいて、elapsed パラメータの 1 フレーム目の値が不正になる不具合を修正しました。→ 2bbc336

AtsEX 本体

独自ヘッダー

  • 【破壊的変更】 READDEPTHの初期値を 0 → 1 に戻しました。→ 68cbc0f
    • パフォーマンスが明らかに低下してしまったためです。

BveTypes (クラスラッパー除く)

  • 型を互換性を維持しながら改名できるようになりました。→ 65597ed
  • 構築ジェネリック型のメンバーを扱えるようになりました。→ 81941ad

クラスラッパー

  • 【重要】 PluginLoader クラスを AtsPlugin に改名しました。→ da45c56 / adac7c9
    • 実態にそぐわなかったためです。
    • ある程度の互換性は維持されています。旧名のクラスも引き続きご利用いただけます。
  • 運転台関連のクラス (OneLeverCab クラス、TwoLeverCab クラス) を追加しました。→ 1f45377
    • これにより、ワンハンドル / ツーハンドルを識別できるようになりました。
  • Model.FromXFile メソッドを追加しました。→ ff9fd05
    • プラグインから X ファイルを読み込み、3D モデルを構築できるようになりました。
  • SectionManager.CurrentSectionSignalIndex プロパティを追加しました。→ 032bfa3
    • 現在の閉そくの信号インデックスを簡単に取得できるようになりました。
  • MyTrack.CurvePosts プロパティを CurveList 型として取得できるようになりました。→ b9812ba
  • ValueNode クラス、ValueEventArgs クラスのメンバーが正しく読み込めない不具合を修正しました。→ 5638200 など
  • CurveList クラスを InterpolatableMapObjectList クラスの派生として再定義しました。→ 15b311f

FastMember

P/Invoke によるアンマネージな関数の呼び出しに対応ました。→ 316f435

TypeWrapping

  • 【破壊的変更】 ジェネリック型のメンバーを扱えるようになりました。→ ce85a40 / 88a5692 / b96b358
    • WrapTypeSet のメンバーの形態を変更しました。
  • 型を互換性を維持しながら改名できるようになりました。→ 65597ed

サンプル

状態取得・設定サンプル (StateViewer)

  • 右クリックメニューが正しく解放されない不具合を修正しました。→ 4b84ccc

信号現示操作サンプル (SignalController)

  • イベントが正しく解放されない不具合を修正しました。→ 4a31842

ver1.0-RC2 (v1.0.31118.1) からの主な更新内容

共通

  • 最新版であってもアップデート情報ダイアログが表示されてしまう不具合を解消するため、再更新しました。→ 83b3255

ver1.0-RC1 (v1.0.31106.1) からの主な更新内容

AtsEX 本体

独自ヘッダー

  • 【破壊的変更】 後方互換性のために、構文解析を実施する条件を緩和しました。→ a19363b
    • USEATSEX ではなく NOMPI が冒頭に定義されていても有効化される仕様に変更しました。
    • READDEPTHの初期値を 0 → 1 に変更しました。
  • USEATSEXREADDEPTH は、従来の記法 ([[AtsEx::USEATSEX]] など) に加えて、山括弧による記法 (<AtsEx::USEATSEX> など) でも定義できるようになりました。→ a19363b

AtsEX 拡張機能: DXDynamicTexture

  • デバッグ用のメッセージボックスを削除しました。→ 77b3232

クラスラッパー

  • Beacon クラスのコンストラクタを追加しました。→ beb9258
  • ObjectPassedEventArgs クラスのコンストラクタを追加しました。→ c966b59
    • これにより、AtsEX プラグインから SetBeaconData 関数を独自の設定で呼び出せるようになりました。

サンプル

  • 他列車操作サンプルにて使用する他列車を E217 系から停止位置目標に戻しました。→ 76143d6
    • 案内表示が隠れてしまっていたためです。

beta0.19 (v0.19.30520.1) からの主な更新内容

共通

  • 【重要】 AtsEx.PluginHost、AtsEx.CoreExtensions を NuGet パッケージとして公開しました。→ 9124a5d
  • 多くのコードを整理しました。

AtsEX 本体

  • 【重要】 AtsEX プラグインの Tick メソッドの elapsed パラメータにおいて、ポーズ・早送りが考慮されない不具合を修正しました。→ 5571438
  • シナリオが開かれたとき / 閉じられたときをイベントから検知できるようになりました。→ 1fc2aee / e1f2507

入力デバイスプラグイン版のみ関係するもの

  • 【重要】 ATS プラグインによるブレーキが作用しなくなる不具合を修正しました。→ f046754
    • この変更は v0.19.30520.1-fix にて適用済です。
  • AtsEX 本体の読込でエラーが発生した場合、その詳細が表示されるようになりました。→ 9ec0a6f
  • 終了時にエラーが発生する不具合を修正しました。→ 8cf6109
  • シナリオを再読込するとエラーが発生する不具合を修正しました。→ e2261e1 / 573056d

独自ヘッダー

  • 【破壊的変更】 マップファイル冒頭に特定のヘッダーが定義されていない限り、そのマップファイルについてはヘッダーの解釈をスキップする仕様に変更しました。→ 2b4bca7 / b9775a6 / edf74d6
    • パフォーマンスのためです。従来の仕様では、無条件に全マップファイルの構文解釈を行っていたため、AtsEX を使用している状態で重量級のマップを読み込もうとすると読込に要する時間が極端に長くなってしまっていました。
    • この機能については、現在仕様について検討している段階です。ver1.0 RC → ver1.0 へのバージョンアップ時に仕様が多少変更となる可能性があります。ご意見等あれば是非お聞かせください。
  • 読込に際して、削除対象でないエラーも削除されてしまう不具合を修正しました。→ fea7c6a / cd575ca
  • シナリオ終了時にメモリリークが発生する不具合を修正しました。→ 06d41e6

独自ステートメント

  • 【破壊的変更】 監視対象の他列車は AtsEX プラグインから指定する仕様に変更しました。→ d5363ae
    • パフォーマンスのためです。

プラグインリストファイル

  • 【重要】 同一ディレクトリ内の車両ファイルに対して、1 つのプラグインリストファイルを一括で適用できるようになりました。→ e603d73
    • ファイル名を VehiclePluginUsing.xml にして車両ファイル群と同一のディレクトリに配置してください。
  • 【重要】 プラグインリストファイルのファイル名として (車両ファイル名).VehiclePluginUsing.xml 以外の名前も使用できるようになりました。→ e603d73
    • 車両設定ファイルに `<P...
Read more

ver1.0-RC5 - v1.0.40101.1

31 Dec 15:00
Compare
Choose a tag to compare
Pre-release

本バージョンは RC 版です。正式版リリースまでに少なくとも 1 回、重大な破壊的変更を予定しています。本番環境での採用はお控えください。

AtsEX についてはこちら→ AtsEX ATSプラグイン拡張キット - 岡オカ営業所

⚠️RC 版につき、フィードバックにご協力ください

本バージョンは RC 版です。ひと通りの機能は揃っていますが、動作が不安定な可能性があります。また、仕様を十分に検討し切れていない部分もあります。
インストールや AtsEX プラグインの使用・開発はもちろん自由に行うことができますが、その際には是非 Twitter や GMail にて 動作報告・不具合報告・仕様に関するご意見 など頂けるととても嬉しいです。

⚠️一部AtsEX対応路線に加工が必要です

ver1.0-RC3 以前のバージョンの AtsEX からアップデートした場合、仕様変更の影響で @Bluegill77BiVE5 氏制作・JR 大和路線データのAtsEX版が動作しなくなります。

こちら (Google ドライブ) よりパッチをダウンロードいただき、インストール済の大和路線データに上書きしてください。

アップデートのポイント

更に幅広いデータを操作可能に

BveTypes.dll の機能が更に充実。車掌、音声、自軌道、補助表示、3D モデルなどなど、AtsEX プラグインから操作できるものの幅が格段にパワーアップしました!

更にプラグインを作りやすく

AtsEx.PluginHost、AtsEx.CoreExtensions などの AtsEX プラグインから参照する DLL を NuGet に公開。新規にプラグインを開発する際の手間が大幅に低減されました!

その他、車両ファイルが複数ある場合に車両プラグインリストファイル・車両設定ファイルを一括で定義できるようになったりと、プラグインの開発・組込にて地味~に手間がかかっていた部分を細かくじっくりと見直しました。

【ご意見募集中】パフォーマンスのための独自ヘッダー・独自ステートメントの仕様変更

従来は何も設定せずとも独自ヘッダー、独自ステートメントはその機能をフルに使用することができましたが、行数の多いマップなどでは読込時間がとても長くなってしまっていました。
そこで、本バージョンよりマップファイル・AtsEX プラグイン内で特定のフラグをオンにした場合以外は機能を大幅に制限する仕様に変更しました。

読込時間の短縮のために手間が増えた格好ですが、いかがでしょうか。お使いになった際には「こういう仕様にした方が良いのでは?」など是非ご意見をお寄せください。

ver1.0-RC2: 仕様を変更しました

ご意見を踏まえて、機能が有効化される条件を若干緩和しました。

  • USEATSEX ではなく NOMPI が冒頭に定義されていても有効化するように
  • READDEPTHの初期値を 0 → 1 に
  • USEATSEXREADDEPTH は山括弧でも定義できるように

ver1.0-RC4: 仕様を変更しました

パフォーマンスが明らかに低下してしまっていたため、機能が有効化される条件の一部を戻しました。

  • READDEPTHの初期値を 1 → 0 に

引き続き皆様からのご意見お待ちしております。

ver1.0-RC4 (v1.0.31223.1) からの主な更新内容

AtsEX 本体

  • 【重要】 定速制御のコマンドが正しく動作しない不具合を修正しました。→ a1efb25
  • アップデート情報ダイアログで表示されるダウンロードリンクを、GitHub のものから AtsEX 公式ホームページのダウンロードページに変更しました。→ 327e57f

クラスラッパー

  • 【破壊的変更】 一部メンバー名の綴り間違いを修正しました。→ 4b62433 / b64f3f3
    • 対象: Station.DepertureTimeMilliseconds プロパティ、Station.DepertureTime プロパティ、Station.DepertureSound プロパティ、TimeTable.DepertureTimeTexts プロパティ、TimeTable.DepertureTimeTextWidths プロパティ
    • 旧名のプロパティは ClassMemberSet から参照できなくなったため、特殊な処理を実装している場合は影響を受ける可能性があります。通常の使用方法の範囲では影響はほぼありません。
  • MyTrack.Gradients プロパティを追加しました。→ 494e13d
    • 勾配の情報を取得できるようになりました。
  • ConstantSpeedRelay クラスを追加しました。→ 98b5a7f
    • 定速制御の制御種別が操作できるようになりました。
  • TimeManager.State プロパティが取得できない不具合を修正しました。→ 907d284
  • CantList クラスを InterpolatableMapObjectList クラスの派生として再定義しました。→ b3f6f60
  • ver1.0-RC4 にて CurveList クラスを InterpolatableMapObjectList クラスの派生として再定義しましたが、実際には InterpolatableMapObjectList クラスを継承していなかったため修正しました。→ c1c301a

拡張機能

  • 【重要】 AtsArrayExtender の AtsEX 拡張機能版を追加しました。→ 0eb2085

ver1.0-RC3 (v1.0.31118.2) からの主な更新内容

共通

  • 【重要】 AtsEXプラグインの Tick メソッドにおいて、elapsed パラメータの 1 フレーム目の値が不正になる不具合を修正しました。→ 2bbc336

AtsEX 本体

独自ヘッダー

  • 【破壊的変更】 READDEPTHの初期値を 0 → 1 に戻しました。→ 68cbc0f
    • パフォーマンスが明らかに低下してしまったためです。

BveTypes (クラスラッパー除く)

  • 型を互換性を維持しながら改名できるようになりました。→ 65597ed
  • 構築ジェネリック型のメンバーを扱えるようになりました。→ 81941ad

クラスラッパー

  • 【重要】 PluginLoader クラスを AtsPlugin に改名しました。→ da45c56 / adac7c9
    • 実態にそぐわなかったためです。
    • ある程度の互換性は維持されています。旧名のクラスも引き続きご利用いただけます。
  • 運転台関連のクラス (OneLeverCab クラス、TwoLeverCab クラス) を追加しました。→ 1f45377
    • これにより、ワンハンドル / ツーハンドルを識別できるようになりました。
  • Model.FromXFile メソッドを追加しました。→ ff9fd05
    • プラグインから X ファイルを読み込み、3D モデルを構築できるようになりました。
  • SectionManager.CurrentSectionSignalIndex プロパティを追加しました。→ 032bfa3
    • 現在の閉そくの信号インデックスを簡単に取得できるようになりました。
  • MyTrack.CurvePosts プロパティを CurveList 型として取得できるようになりました。→ b9812ba
  • ValueNode クラス、ValueEventArgs クラスのメンバーが正しく読み込めない不具合を修正しました。→ 5638200 など
  • CurveList クラスを InterpolatableMapObjectList クラスの派生として再定義しました。→ 15b311f

FastMember

P/Invoke によるアンマネージな関数の呼び出しに対応ました。→ 316f435

TypeWrapping

  • 【破壊的変更】 ジェネリック型のメンバーを扱えるようになりました。→ ce85a40 / 88a5692 / b96b358
    • WrapTypeSet のメンバーの形態を変更しました。
  • 型を互換性を維持しながら改名できるようになりました。→ 65597ed

サンプル

状態取得・設定サンプル (StateViewer)

  • 右クリックメニューが正しく解放されない不具合を修正しました。→ 4b84ccc

信号現示操作サンプル (SignalController)

  • イベントが正しく解放されない不具合を修正しました。→ 4a31842

ver1.0-RC2 (v1.0.31118.1) からの主な更新内容

共通

  • 最新版であってもアップデート情報ダイアログが表示されてしまう不具合を解消するため、再更新しました。→ 83b3255

ver1.0-RC1 (v1.0.31106.1) からの主な更新内容

AtsEX 本体

独自ヘッダー

  • 【破壊的変更】 後方互換性のために、構文解析を実施する条件を緩和しました。→ a19363b
    • USEATSEX ではなく NOMPI が冒頭に定義されていても有効化される仕様に変更しました。
    • READDEPTHの初期値を 0 → 1 に変更しました。
  • USEATSEXREADDEPTH は、従来の記法 ([[AtsEx::USEATSEX]] など) に加えて、山括弧による記法 (<AtsEx::USEATSEX> など) でも定義できるようになりました。→ a19363b

AtsEX 拡張機能: DXDynamicTexture

  • デバッグ用のメッセージボックスを削除しました。→ 77b3232

クラスラッパー

  • Beacon クラスのコンストラクタを追加しました。→ beb9258
  • ObjectPassedEventArgs クラスのコンストラクタを追加しました。→ c966b59
    • これにより、AtsEX プラグインから SetBeaconData 関数を独自の設定で呼び出せるようになりました。

サンプル

  • 他列車操作サンプルにて使用する他列車を E217 系から停止位置目標に戻しました。→ 76143d6
    • 案内表示が隠れてしまっていたためです。

beta0.19 (v0.19.30520.1) からの主な更新内容

共通

  • 【重要】 AtsEx.PluginHost、AtsEx.CoreExtensions を NuGet パッケージとして公開しました。→ 9124a5d
  • 多くのコードを整理しました。

AtsEX 本体

  • 【重要】 AtsEX プラグインの Tick メソッドの elapsed パラメータにおいて、ポーズ・早送りが考慮されない不具合を修正しました。→ 5571438
  • シナリオが開かれたとき / 閉じられたときをイベントから検知できるようになりました。→ 1fc2aee / e1f2507

入力デバイスプラグイン版のみ関係するもの

  • 【重要】 ATS プラグインによるブレーキが作用しなくなる不具合を修正しました。→ f046754
    • この変更は v0.19.30520.1-fix にて適用済です。
  • AtsEX 本体の読込でエラーが発生した場合、その詳細が表示されるようになりました。→ 9ec0a6f
  • 終了時にエラーが発生する不具合を修正しました。→ 8cf6109
  • シナリオを再読込するとエラーが発生する不具合を修正しました。→ e2261e1 / 573056d

独自ヘッダー

  • 【破壊的変更】 マップファイル冒頭に特定のヘッダーが定義されていない限り、そのマップファイルについてはヘッダーの解釈をスキップする仕様に変更しました。→ 2b4bca7 / b9775a6 / edf74d6
    • パフォーマンスのためです。従来の仕様では、無条件に全マップファイルの構文解釈を行っていたため、AtsEX を使用している状態で重量級のマップを読み込もうとすると読込に要する時間が極端に長くなってしまっていました。
    • この機能については、現在仕様について検討している段階です。ver1.0 RC → ver1.0 へのバージョンアップ時に仕様が多少変更となる可能性があります。ご意見等あれば是非お聞かせください。
  • 読込に際して、削除対象でないエラーも削除されてしまう不具合を修正しました。→ fea7c6a / cd575ca
  • シナリオ終了時にメモリリークが発生する不具合を修正しました。→ 06d41e6

独自ステートメント

  • 【破壊的変更】 監視対象の他列車は AtsEX プラグインから指定する仕様に変更しました。→ d5363ae
    • パフォーマンスのためです。

プラグインリストファイル

  • 【重要】 同一ディレクトリ内の車両ファイルに対して、1 つのプラグインリストファイルを一括で適用できるようになりました。→ e603d73
    • ファイル名を VehiclePluginUsing.xml にして車両ファイル群と同一のディレクトリに配置してください。
  • 【重要】 プラグインリストファイルのファイル名として (車両ファイル名).VehiclePluginUsing.xml 以外の名前も使用できるようになりました。→ e603d73
    • 車両設定ファイルに <PluginIUsingPath>ファイル名</PluginIUsingPath> と設定することで有効化されます。
  • C# アセンブリ / C# スクリプト / IronPython 2 いずれの形態かに関わらず、プラグインの読込順を任意に指定できるようになりました。→ 097bd9a
  • ATS プラグイン版でも、AtsEX Caller に付属させる形のみではなく車両ファイルに付属させる形のプラグインリストファイルも読み込めるようになりました。→ e603d73

車両設定ファイル

  • 同一ディレクトリ内の車両ファイルに対して、1 つの車両設定ファイルを一括で適用できるようになりました。→ 7554ee1
    • ファイル名を VehicleConfig.xml にして車両ファイル群と同一のディレクトリに配置してください。
  • 要素を任意の順番で定義できるようになりました。→ 1518287
  • ATS プラグイン版でも、AtsEX Caller に付属させる形のみではなく車両ファイルに付属させる形の車両設定ファイルも読み込めるようになりました。→ 7554ee1

AtsEX コア拡張機能

  • BVE 内部で定義されている車掌動作を、AtsEX プラグインから上書きできるようにする機能 ConductorPatch を追加しました。→ 6c29ec5

AtsEX 拡張機能: DXDynamicTexture

  • テクスチャのファイルパスの表記揺れを許容する仕様に変更しました。→ 068cfbf

BveTypes (クラスラッパー除く)

  • 【破壊的変更】 LoadAsync メソッドを廃止しました。→ 41fcc32
    • 同期版と比較して、パフォーマンスなどのアドバンテージに乏しいためです。
  • インターフェイスに対応しました。→ 4ab0050
  • デリゲートに対応しました。→ fd529d3

クラスラッパー

  • 【破壊的変更】 StructureBlock.MatrixFromLastBlock プロパティを TransformFromLastBlock に改名しました。→ 5e52a79
  • 【破壊的変更】 AssistantTextBase クラス、AssistantTextDraw クラスは、命名が不適切だったため改名しました。→ f0e2fc3
  • Direct3DProvider クラスから DirectSound オブジェクトを取得できるようになりました。→ 0124454
  • 車掌関連のクラス (Conductor クラス、Passenger クラス) を追加しました。→ 8dd0bef / b72eed4 / df0c28c / 8924d33
  • SoundSet クラスを追加しました。→ 8dd0bef...
Read more

ver1.0-RC4 - v1.0.31223.1

23 Dec 19:47
Compare
Choose a tag to compare
Pre-release

本バージョンは RC 版です。正式版リリースまでに少なくとも 1 回、重大な破壊的変更を予定しています。本番環境での採用はお控えください。

AtsEX についてはこちら→ AtsEX ATSプラグイン拡張キット - 岡オカ営業所

⚠️RC 版につき、フィードバックにご協力ください

本バージョンは RC 版です。ひと通りの機能は揃っていますが、動作が不安定な可能性があります。また、仕様を十分に検討し切れていない部分もあります。
インストールや AtsEX プラグインの使用・開発はもちろん自由に行うことができますが、その際には是非 Twitter や GMail にて 動作報告・不具合報告・仕様に関するご意見 など頂けるととても嬉しいです。

⚠️一部AtsEX対応路線に加工が必要です

本アップデートを適用すると、仕様変更の影響で @Bluegill77BiVE5 氏制作・JR大和路線 データのAtsEX版が動作しなくなります。

こちら (Google ドライブ) よりパッチをダウンロードいただき、インストール済の大和路線データに上書きしてください。

アップデートのポイント

更に幅広いデータを操作可能に

BveTypes.dll の機能が更に充実。車掌、音声、自軌道、補助表示、3D モデルなどなど、AtsEX プラグインから操作できるものの幅が格段にパワーアップしました!

更にプラグインを作りやすく

AtsEx.PluginHost、AtsEx.CoreExtensions などの AtsEX プラグインから参照する DLL を NuGet に公開。新規にプラグインを開発する際の手間が大幅に低減されました!

その他、車両ファイルが複数ある場合に車両プラグインリストファイル・車両設定ファイルを一括で定義できるようになったりと、プラグインの開発・組込にて地味~に手間がかかっていた部分を細かくじっくりと見直しました。

【ご意見募集中】パフォーマンスのための独自ヘッダー・独自ステートメントの仕様変更

従来は何も設定せずとも独自ヘッダー、独自ステートメントはその機能をフルに使用することができましたが、行数の多いマップなどでは読込時間がとても長くなってしまっていました。
そこで、本バージョンよりマップファイル・AtsEX プラグイン内で特定のフラグをオンにした場合以外は機能を大幅に制限する仕様に変更しました。

読込時間の短縮のために手間が増えた格好ですが、いかがでしょうか。お使いになった際には「こういう仕様にした方が良いのでは?」など是非ご意見をお寄せください。

ver1.0-RC2: 仕様を変更しました

ご意見を踏まえて、機能が有効化される条件を若干緩和しました。

  • USEATSEX ではなく NOMPI が冒頭に定義されていても有効化するように
  • READDEPTHの初期値を 0 → 1 に
  • USEATSEXREADDEPTH は山括弧でも定義できるように

ver1.0-RC4: 仕様を変更しました

パフォーマンスが明らかに低下してしまっていたため、機能が有効化される条件の一部を戻しました。

  • READDEPTHの初期値を 1 → 0 に

引き続き皆様からのご意見お待ちしております。

ver1.0-RC3 (v1.0.31118.2) からの主な更新内容

共通

  • 【重要】 AtsEXプラグインの Tick メソッドにおいて、elapsed パラメータの 1 フレーム目の値が不正になる不具合を修正しました。→ 2bbc336

AtsEX 本体

独自ヘッダー

  • 【破壊的変更】 READDEPTHの初期値を 0 → 1 に戻しました。→ 68cbc0f
    • パフォーマンスが明らかに低下してしまったためです。

BveTypes (クラスラッパー除く)

  • 型を互換性を維持しながら改名できるようになりました。→ 65597ed
  • 構築ジェネリック型のメンバーを扱えるようになりました。→ 81941ad

クラスラッパー

  • 【重要】 PluginLoader クラスを AtsPlugin に改名しました。→ da45c56 / adac7c9
    • 実態にそぐわなかったためです。
    • ある程度の互換性は維持されています。旧名のクラスも引き続きご利用いただけます。
  • 運転台関連のクラス (OneLeverCab クラス、TwoLeverCab クラス) を追加しました。→ 1f45377
    • これにより、ワンハンドル / ツーハンドルを識別できるようになりました。
  • Model.FromXFile メソッドを追加しました。→ ff9fd05
    • プラグインから X ファイルを読み込み、3D モデルを構築できるようになりました。
  • SectionManager.CurrentSectionSignalIndex プロパティを追加しました。→ 032bfa3
    • 現在の閉そくの信号インデックスを簡単に取得できるようになりました。
  • MyTrack.CurvePosts プロパティを CurveList 型として取得できるようになりました。→ b9812ba
  • ValueNode クラス、ValueEventArgs クラスのメンバーが正しく読み込めない不具合を修正しました。→ 5638200 など
  • CurveList クラスを InterpolatableMapObjectList クラスの派生として再定義しました。

FastMember

P/Invoke によるアンマネージな関数の呼び出しに対応ました。→ 316f435

TypeWrapping

  • 【破壊的変更】 ジェネリック型のメンバーを扱えるようになりました。→ ce85a40 / 88a5692 / b96b358
    • WrapTypeSet のメンバーの形態を変更しました。
  • 型を互換性を維持しながら改名できるようになりました。→ 65597ed

サンプル

状態取得・設定サンプル (StateViewer)

  • 右クリックメニューが正しく解放されない不具合を修正しました。→ 4b84ccc

信号現示操作サンプル (SignalController)

  • イベントが正しく解放されない不具合を修正しました。→ 4a31842

ver1.0-RC2 (v1.0.31118.1) からの主な更新内容

共通

  • 最新版であってもアップデート情報ダイアログが表示されてしまう不具合を解消するため、再更新しました。→ 83b3255

ver1.0-RC1 (v1.0.31106.1) からの主な更新内容

AtsEX 本体

独自ヘッダー

  • 【破壊的変更】 後方互換性のために、構文解析を実施する条件を緩和しました。→ a19363b
    • USEATSEX ではなく NOMPI が冒頭に定義されていても有効化される仕様に変更しました。
    • READDEPTHの初期値を 0 → 1 に変更しました。
  • USEATSEXREADDEPTH は、従来の記法 ([[AtsEx::USEATSEX]] など) に加えて、山括弧による記法 (<AtsEx::USEATSEX> など) でも定義できるようになりました。→ a19363b

AtsEX 拡張機能: DXDynamicTexture

  • デバッグ用のメッセージボックスを削除しました。→ 77b3232

クラスラッパー

  • Beacon クラスのコンストラクタを追加しました。→ beb9258
  • ObjectPassedEventArgs クラスのコンストラクタを追加しました。→ c966b59
    • これにより、AtsEX プラグインから SetBeaconData 関数を独自の設定で呼び出せるようになりました。

サンプル

  • 他列車操作サンプルにて使用する他列車を E217 系から停止位置目標に戻しました。→ 76143d6
    • 案内表示が隠れてしまっていたためです。

beta0.19 (v0.19.30520.1) からの主な更新内容

共通

  • 【重要】 AtsEx.PluginHost、AtsEx.CoreExtensions を NuGet パッケージとして公開しました。→ 9124a5d
  • 多くのコードを整理しました。

AtsEX 本体

  • 【重要】 AtsEX プラグインの Tick メソッドの elapsed パラメータにおいて、ポーズ・早送りが考慮されない不具合を修正しました。→ 5571438
  • シナリオが開かれたとき / 閉じられたときをイベントから検知できるようになりました。→ 1fc2aee / e1f2507

入力デバイスプラグイン版のみ関係するもの

  • 【重要】 ATS プラグインによるブレーキが作用しなくなる不具合を修正しました。→ f046754
    • この変更は v0.19.30520.1-fix にて適用済です。
  • AtsEX 本体の読込でエラーが発生した場合、その詳細が表示されるようになりました。→ 9ec0a6f
  • 終了時にエラーが発生する不具合を修正しました。→ 8cf6109
  • シナリオを再読込するとエラーが発生する不具合を修正しました。→ e2261e1 / 573056d

独自ヘッダー

  • 【破壊的変更】 マップファイル冒頭に特定のヘッダーが定義されていない限り、そのマップファイルについてはヘッダーの解釈をスキップする仕様に変更しました。→ 2b4bca7 / b9775a6 / edf74d6
    • パフォーマンスのためです。従来の仕様では、無条件に全マップファイルの構文解釈を行っていたため、AtsEX を使用している状態で重量級のマップを読み込もうとすると読込に要する時間が極端に長くなってしまっていました。
    • この機能については、現在仕様について検討している段階です。ver1.0 RC → ver1.0 へのバージョンアップ時に仕様が多少変更となる可能性があります。ご意見等あれば是非お聞かせください。
  • 読込に際して、削除対象でないエラーも削除されてしまう不具合を修正しました。→ fea7c6a / cd575ca
  • シナリオ終了時にメモリリークが発生する不具合を修正しました。→ 06d41e6

独自ステートメント

  • 【破壊的変更】 監視対象の他列車は AtsEX プラグインから指定する仕様に変更しました。→ d5363ae
    • パフォーマンスのためです。

プラグインリストファイル

  • 【重要】 同一ディレクトリ内の車両ファイルに対して、1 つのプラグインリストファイルを一括で適用できるようになりました。→ e603d73
    • ファイル名を VehiclePluginUsing.xml にして車両ファイル群と同一のディレクトリに配置してください。
  • 【重要】 プラグインリストファイルのファイル名として (車両ファイル名).VehiclePluginUsing.xml 以外の名前も使用できるようになりました。→ e603d73
    • 車両設定ファイルに <PluginIUsingPath>ファイル名</PluginIUsingPath> と設定することで有効化されます。
  • C# アセンブリ / C# スクリプト / IronPython 2 いずれの形態かに関わらず、プラグインの読込順を任意に指定できるようになりました。→ 097bd9a
  • ATS プラグイン版でも、AtsEX Caller に付属させる形のみではなく車両ファイルに付属させる形のプラグインリストファイルも読み込めるようになりました。→ e603d73

車両設定ファイル

  • 同一ディレクトリ内の車両ファイルに対して、1 つの車両設定ファイルを一括で適用できるようになりました。→ 7554ee1
    • ファイル名を VehicleConfig.xml にして車両ファイル群と同一のディレクトリに配置してください。
  • 要素を任意の順番で定義できるようになりました。→ 1518287
  • ATS プラグイン版でも、AtsEX Caller に付属させる形のみではなく車両ファイルに付属させる形の車両設定ファイルも読み込めるようになりました。→ 7554ee1

AtsEX コア拡張機能

  • BVE 内部で定義されている車掌動作を、AtsEX プラグインから上書きできるようにする機能 ConductorPatch を追加しました。→ 6c29ec5

AtsEX 拡張機能: DXDynamicTexture

  • テクスチャのファイルパスの表記揺れを許容する仕様に変更しました。→ 068cfbf

BveTypes (クラスラッパー除く)

  • 【破壊的変更】 LoadAsync メソッドを廃止しました。→ 41fcc32
    • 同期版と比較して、パフォーマンスなどのアドバンテージに乏しいためです。
  • インターフェイスに対応しました。→ 4ab0050
  • デリゲートに対応しました。→ fd529d3

クラスラッパー

  • 【破壊的変更】 StructureBlock.MatrixFromLastBlock プロパティを TransformFromLastBlock に改名しました。→ 5e52a79
  • 【破壊的変更】 AssistantTextBase クラス、AssistantTextDraw クラスは、命名が不適切だったため改名しました。→ f0e2fc3
  • Direct3DProvider クラスから DirectSound オブジェクトを取得できるようになりました。→ 0124454
  • 車掌関連のクラス (Conductor クラス、Passenger クラス) を追加しました。→ 8dd0bef / b72eed4 / df0c28c / 8924d33
  • SoundSet クラスを追加しました。→ 8dd0bef
  • Sound クラスのコンストラクタを追加しました。→ ee66e5b
  • Sound クラスから音声を再生できるようになりました。→ 8dd0bef / 8906c63
  • Sound クラスから音声の設置位置、速度を操作できるようになりました。→ 4737b37
    • これにより、いわゆる Sound3D でループ以外の任意の音声も再生できるようになりました。
  • SectionManager クラスから前後の閉そくの制限速度を取得できるようになりました。
  • 自軌道関連のクラス (Cant クラス、CantList クラス、Curve クラス、CurveList クラス、MyTrack クラス) を追加しました。→ 0398861 / c62f2b0
    • 自軌道の曲線、カントの位置及び量を全て取得できるようになりました。
  • 自列車の位置を制御するためのクラス (Transform クラス、VehicleBogieWheel クラス、VehiclePositioner クラス、VehicleVibrationManager クラス) を追加しました。→
    • 車体を傾けたり、自列車を線路から離れて動かすことが可能となります。
  • 視点を表す CameraLocation クラスを追加しました。→ 15c602c / 1c1b057
    • 視点を編集できるようになりました。
  • 自列車のバネに関するクラス (AirSpring クラス、Spring クラス) を追加しました。→ b1d3ed7
  • 6DoFを表す SixDof クラスを追加しました。→ b1d3ed7
  • 背景モデルを表す Background クラスを追加しました。→ 8d78997
  • 補助表示関連のクラス (AssistantBase クラス、AssistantDrawer クラス、ClockText クラス、DetailText クラス、StationText クラス、SpeedLimitText クラス、GeometryText クラス、LeverText クラス、InstructionText クラス、SwayGauge クラス、StopPositionGauge クラス) を追加しました。→ f0e2fc3
  • InterpolatableMapObjectList ...
Read more

ver1.0-RC3 - v1.0.31118.2

18 Nov 09:12
Compare
Choose a tag to compare
Pre-release

本バージョンは RC 版です。正式版リリースまでに少なくとも 1 回、重大な破壊的変更を予定しています。本番環境での採用はお控えください。

AtsEX についてはこちら→ AtsEX ATSプラグイン拡張キット - 岡オカ営業所
ホームページ リニューアルしました!

⚠️RC 版につき、フィードバックにご協力ください

本バージョンは RC 版です。ひと通りの機能は揃っていますが、動作が不安定な可能性があります。また、仕様を十分に検討し切れていない部分もあります。
インストールや AtsEX プラグインの使用・開発はもちろん自由に行うことができますが、その際には是非 Twitter や GMail にて 動作報告・不具合報告・仕様に関するご意見 など頂けるととても嬉しいです。

アップデートのポイント

更に幅広いデータを操作可能に

BveTypes.dll の機能が更に充実。車掌、音声、自軌道、補助表示などなど、AtsEX プラグインから操作できるものの幅が格段にパワーアップしました!

更にプラグインを作りやすく

AtsEx.PluginHost、AtsEx.CoreExtensions などの AtsEX プラグインから参照する DLL を NuGet に公開。新規にプラグインを開発する際の手間が大幅に低減されました!

その他、車両ファイルが複数ある場合に車両プラグインリストファイル・車両設定ファイルを一括で定義できるようになったりと、プラグインの開発・組込にて地味~に手間がかかっていた部分を細かくじっくりと見直しました。

【ご意見募集中】パフォーマンスのための独自ヘッダー・独自ステートメントの仕様変更

従来は何も設定せずとも独自ヘッダー、独自ステートメントはその機能をフルに使用することができましたが、行数の多いマップなどでは読込時間がとても長くなってしまっていました。
そこで、本バージョンよりマップファイル・AtsEX プラグイン内で特定のフラグをオンにした場合以外は機能を大幅に制限する仕様に変更しました。

読込時間の短縮のために手間が増えた格好ですが、いかがでしょうか。お使いになった際には「こういう仕様にした方が良いのでは?」など是非ご意見をお寄せください。

ver1.0-RC2: 仕様を変更しました

ご意見を踏まえて、機能が有効化される条件を若干緩和しました。

  • USEATSEX ではなく NOMPI が冒頭に定義されていても有効化するように
  • READDEPTHの初期値を 0 → 1 に
  • USEATSEXREADDEPTH は山括弧でも定義できるように

引き続き皆様からのご意見お待ちしております。

ver1.0-RC2 (v1.0.31118.1) からの主な更新内容

共通

  • 最新版であってもアップデート情報ダイアログが表示されてしまう不具合を解消するため、再更新しました。→ 83b3255

ver1.0-RC1 (v1.0.31106.1) からの主な更新内容

AtsEX 本体

独自ヘッダー

  • 【破壊的変更】 後方互換性のために、構文解析を実施する条件を緩和しました。→ a19363b
    • USEATSEX ではなく NOMPI が冒頭に定義されていても有効化される仕様に変更しました。
    • READDEPTHの初期値を 0 → 1 に変更しました。
  • USEATSEXREADDEPTH は、従来の記法 ([[AtsEx::USEATSEX]] など) に加えて、山括弧による記法 (<AtsEx::USEATSEX> など) でも定義できるようになりました。→ a19363b

AtsEX 拡張機能: DXDynamicTexture

  • デバッグ用のメッセージボックスを削除しました。→ 77b3232

クラスラッパー

  • Beacon クラスのコンストラクタを追加しました。→ beb9258
  • ObjectPassedEventArgs クラスのコンストラクタを追加しました。→ c966b59
    • これにより、AtsEX プラグインから SetBeaconData 関数を独自の設定で呼び出せるようになりました。

サンプル

  • 他列車操作サンプルにて使用する他列車を E217 系から停止位置目標に戻しました。→ 76143d6
    • 案内表示が隠れてしまっていたためです。

beta0.19 (v0.19.30520.1) からの主な更新内容

共通

  • 【重要】 AtsEx.PluginHost、AtsEx.CoreExtensions を NuGet パッケージとして公開しました。→ 9124a5d
  • 多くのコードを整理しました。

AtsEX 本体

  • 【重要】 AtsEX プラグインの Tick メソッドの elapsed パラメータにおいて、ポーズ・早送りが考慮されない不具合を修正しました。→ 5571438
  • シナリオが開かれたとき / 閉じられたときをイベントから検知できるようになりました。→ 1fc2aee / e1f2507

入力デバイスプラグイン版のみ関係するもの

  • 【重要】 ATS プラグインによるブレーキが作用しなくなる不具合を修正しました。→ f046754
    • この変更は v0.19.30520.1-fix にて適用済です。
  • AtsEX 本体の読込でエラーが発生した場合、その詳細が表示されるようになりました。→ 9ec0a6f
  • 終了時にエラーが発生する不具合を修正しました。→ 8cf6109
  • シナリオを再読込するとエラーが発生する不具合を修正しました。→ e2261e1 / 573056d

独自ヘッダー

  • 【破壊的変更】 マップファイル冒頭に特定のヘッダーが定義されていない限り、そのマップファイルについてはヘッダーの解釈をスキップする仕様に変更しました。→ 2b4bca7 / b9775a6 / edf74d6
    • パフォーマンスのためです。従来の仕様では、無条件に全マップファイルの構文解釈を行っていたため、AtsEX を使用している状態で重量級のマップを読み込もうとすると読込に要する時間が極端に長くなってしまっていました。
    • この機能については、現在仕様について検討している段階です。ver1.0 RC → ver1.0 へのバージョンアップ時に仕様が多少変更となる可能性があります。ご意見等あれば是非お聞かせください。
  • 読込に際して、削除対象でないエラーも削除されてしまう不具合を修正しました。→ fea7c6a / cd575ca
  • シナリオ終了時にメモリリークが発生する不具合を修正しました。→ 06d41e6

独自ステートメント

  • 【破壊的変更】 監視対象の他列車は AtsEX プラグインから指定する仕様に変更しました。→ d5363ae
    • パフォーマンスのためです。

プラグインリストファイル

  • 【重要】 同一ディレクトリ内の車両ファイルに対して、1 つのプラグインリストファイルを一括で適用できるようになりました。→ e603d73
    • ファイル名を VehiclePluginUsing.xml にして車両ファイル群と同一のディレクトリに配置してください。
  • 【重要】 プラグインリストファイルのファイル名として (車両ファイル名).VehiclePluginUsing.xml 以外の名前も使用できるようになりました。→ e603d73
    • 車両設定ファイルに <PluginIUsingPath>ファイル名</PluginIUsingPath> と設定することで有効化されます。
  • C# アセンブリ / C# スクリプト / IronPython 2 いずれの形態かに関わらず、プラグインの読込順を任意に指定できるようになりました。→ 097bd9a
  • ATS プラグイン版でも、AtsEX Caller に付属させる形のみではなく車両ファイルに付属させる形のプラグインリストファイルも読み込めるようになりました。→ e603d73

車両設定ファイル

  • 同一ディレクトリ内の車両ファイルに対して、1 つの車両設定ファイルを一括で適用できるようになりました。→ 7554ee1
    • ファイル名を VehicleConfig.xml にして車両ファイル群と同一のディレクトリに配置してください。
  • 要素を任意の順番で定義できるようになりました。→ 1518287
  • ATS プラグイン版でも、AtsEX Caller に付属させる形のみではなく車両ファイルに付属させる形の車両設定ファイルも読み込めるようになりました。→ 7554ee1

AtsEX コア拡張機能

  • BVE 内部で定義されている車掌動作を、AtsEX プラグインから上書きできるようにする機能 ConductorPatch を追加しました。→ 6c29ec5

AtsEX 拡張機能: DXDynamicTexture

  • テクスチャのファイルパスの表記揺れを許容する仕様に変更しました。→ 068cfbf

BveTypes (クラスラッパー除く)

  • 【破壊的変更】 LoadAsync メソッドを廃止しました。→ 41fcc32
    • 同期版と比較して、パフォーマンスなどのアドバンテージに乏しいためです。
  • インターフェイスに対応しました。→ 4ab0050
  • デリゲートに対応しました。→ fd529d3

クラスラッパー

  • 【破壊的変更】 StructureBlock.MatrixFromLastBlock プロパティを TransformFromLastBlock に改名しました。→ 5e52a79
  • 【破壊的変更】 AssistantTextBase クラス、AssistantTextDraw クラスは、命名が不適切だったため改名しました。→ f0e2fc3
  • Direct3DProvider クラスから DirectSound オブジェクトを取得できるようになりました。→ 0124454
  • 車掌関連のクラス (Conductor クラス、Passenger クラス) を追加しました。→ 8dd0bef / b72eed4 / df0c28c / 8924d33
  • SoundSet クラスを追加しました。→ 8dd0bef
  • Sound クラスのコンストラクタを追加しました。→ ee66e5b
  • Sound クラスから音声を再生できるようになりました。→ 8dd0bef / 8906c63
  • Sound クラスから音声の設置位置、速度を操作できるようになりました。→ 4737b37
    • これにより、いわゆる Sound3D でループ以外の任意の音声も再生できるようになりました。
  • SectionManager クラスから前後の閉そくの制限速度を取得できるようになりました。
  • 自軌道関連のクラス (Cant クラス、CantList クラス、Curve クラス、CurveList クラス、MyTrack クラス) を追加しました。→ 0398861 / c62f2b0
    • 自軌道の曲線、カントの位置及び量を全て取得できるようになりました。
  • 自列車の位置を制御するためのクラス (Transform クラス、VehicleBogieWheel クラス、VehiclePositioner クラス、VehicleVibrationManager クラス) を追加しました。→
    • 車体を傾けたり、自列車を線路から離れて動かすことが可能となります。
  • 視点を表す CameraLocation クラスを追加しました。→ 15c602c / 1c1b057
    • 視点を編集できるようになりました。
  • 自列車のバネに関するクラス (AirSpring クラス、Spring クラス) を追加しました。→ b1d3ed7
  • 6DoFを表す SixDof クラスを追加しました。→ b1d3ed7
  • 背景モデルを表す Background クラスを追加しました。→ 8d78997
  • 補助表示関連のクラス (AssistantBase クラス、AssistantDrawer クラス、ClockText クラス、DetailText クラス、StationText クラス、SpeedLimitText クラス、GeometryText クラス、LeverText クラス、InstructionText クラス、SwayGauge クラス、StopPositionGauge クラス) を追加しました。→ f0e2fc3
  • InterpolatableMapObjectList クラスを追加しました。→ 7bebd13
  • IDrawable インターフェイスを追加し、AssistantBase クラス、AssistantDrawer クラス、MainForm クラスにその実装を追加しました。→ 1c1b057
  • ReAdhesionControl クラス、ReAdhesionControlMode 列挙型を追加しました。→ 4a8bf14
    • 車両の再粘着制御の動作状態を取得できるようになりました。
  • Scenario.Dispose メソッドを追加しました。→ cbe3f0c
  • MapObjectList.GoTo メソッド、MapObjectList.GoToAndGetCurrent メソッドを追加しました。→ a5e2851 / 9edc423
    • 現在の距離程に対応する要素を簡単に取得できるようになりました。
  • Station.DoorSideEnum プロパティを追加しました。→ 861d1b2
    • Conductor との連携を容易にするためです。
  • StructureBlock.Direction プロパティを追加しました。→ b088bd7
    • ストラクチャーブロックの方角が分かるため、自列車を線路から離れて動かしたいときなどに便利です。
  • DrawDistanceManager クラスから描画距離を操作できるようになりました。→ 30ffb8f
  • Route.CabIlluminanceObjects プロパティを追加しました。→ 7bebd13
    • 運転台の明るさを操作できるようになりました。
  • Direct3DProvider クラス、ObjectDrawer クラス、Scenario クラスへ、オブジェクト類を描画するときに呼び出されるメソッドを追加しました。→ 1c1b057
  • Train、TrainInfo クラスのコンストラクタを追加しました。→ 53dff43
  • MapObjectList.ObjectPassed イベントを追加しました。→ 63b909f
    • マップオブジェクトの通過時に通知します。

FastMember

TypeWrapping

  • イベントに対応しました。→ 2f59b87
  • デリゲートに対応しました。→ fd529d3

ObjectiveHarmonyPatch

  • 【重要】 NuGet パッケージとして別リポジトリに分離しました。→ 8463a0e

UnembeddedResources

  • 【重要】 NuGet パッケージとして別リポジトリに分離しました。→ da683f8
  • AtsEX プラグイン等の開発時、XML ドキュメントを表示できるようになりました。→ d241bc7

サンプル

  • ConductorPatch 拡張機能のサンプルを追加しました。→ 754cfd8
  • E217 系車両データを同梱しました。→ fa52ba2 / 2e8bae6 / e5d9d6f
  • 各シナリオにサムネイルを追加しました。→ 6881a98
  • AtsEX 非搭載時に表示される NOMPI メッセージを、現在の仕様に合った内容に変更しました。→ 3e2360e

同梱プラグイン一覧

拡張機能

  • AtsEX コア拡張機能
    • 【新規】 Conduct...
Read more

ver1.0-RC2 - v1.0.31118.1

18 Nov 08:07
Compare
Choose a tag to compare
Pre-release

本バージョンは RC 版です。正式版リリースまでに少なくとも 1 回、重大な破壊的変更を予定しています。本番環境での採用はお控えください。

AtsEX についてはこちら→ AtsEX ATSプラグイン拡張キット - 岡オカ営業所
ホームページ リニューアルしました!

⚠️RC 版につき、フィードバックにご協力ください

本バージョンは RC 版です。ひと通りの機能は揃っていますが、動作が不安定な可能性があります。また、仕様を十分に検討し切れていない部分もあります。
インストールや AtsEX プラグインの使用・開発はもちろん自由に行うことができますが、その際には是非 Twitter や GMail にて 動作報告・不具合報告・仕様に関するご意見 など頂けるととても嬉しいです。

アップデートのポイント

更に幅広いデータを操作可能に

BveTypes.dll の機能が更に充実。車掌、音声、自軌道、補助表示などなど、AtsEX プラグインから操作できるものの幅が格段にパワーアップしました!

更にプラグインを作りやすく

AtsEx.PluginHost、AtsEx.CoreExtensions などの AtsEX プラグインから参照する DLL を NuGet に公開。新規にプラグインを開発する際の手間が大幅に低減されました!

その他、車両ファイルが複数ある場合に車両プラグインリストファイル・車両設定ファイルを一括で定義できるようになったりと、プラグインの開発・組込にて地味~に手間がかかっていた部分を細かくじっくりと見直しました。

【ご意見募集中】パフォーマンスのための独自ヘッダー・独自ステートメントの仕様変更

従来は何も設定せずとも独自ヘッダー、独自ステートメントはその機能をフルに使用することができましたが、行数の多いマップなどでは読込時間がとても長くなってしまっていました。
そこで、本バージョンよりマップファイル・AtsEX プラグイン内で特定のフラグをオンにした場合以外は機能を大幅に制限する仕様に変更しました。

読込時間の短縮のために手間が増えた格好ですが、いかがでしょうか。お使いになった際には「こういう仕様にした方が良いのでは?」など是非ご意見をお寄せください。

ver1.0-RC2: 仕様を変更しました

ご意見を踏まえて、機能が有効化される条件を若干緩和しました。

  • USEATSEX ではなく NOMPI が冒頭に定義されていても有効化するように
  • READDEPTHの初期値を 0 → 1 に
  • USEATSEXREADDEPTH は山括弧でも定義できるように

引き続き皆様からのご意見お待ちしております。

ver1.0-RC1 (v1.0.31106.1) からの主な更新内容

AtsEX 本体

独自ヘッダー

  • 【破壊的変更】 後方互換性のために、構文解析を実施する条件を緩和しました。→ a19363b
    • USEATSEX ではなく NOMPI が冒頭に定義されていても有効化される仕様に変更しました。
    • READDEPTHの初期値を 0 → 1 に変更しました。
  • USEATSEXREADDEPTH は、従来の記法 ([[AtsEx::USEATSEX]] など) に加えて、山括弧による記法 (<AtsEx::USEATSEX> など) でも定義できるようになりました。→ a19363b

AtsEX 拡張機能: DXDynamicTexture

  • デバッグ用のメッセージボックスを削除しました。→ 77b3232

クラスラッパー

  • Beacon クラスのコンストラクタを追加しました。→ beb9258
  • ObjectPassedEventArgs クラスのコンストラクタを追加しました。→ c966b59
    • これにより、AtsEX プラグインから SetBeaconData 関数を独自の設定で呼び出せるようになりました。

サンプル

  • 他列車操作サンプルにて使用する他列車を E217 系から停止位置目標に戻しました。→ 76143d6
    • 案内表示が隠れてしまっていたためです。

beta0.19 (v0.19.30520.1) からの主な更新内容

共通

  • 【重要】 AtsEx.PluginHost、AtsEx.CoreExtensions を NuGet パッケージとして公開しました。→ 9124a5d
  • 多くのコードを整理しました。

AtsEX 本体

  • 【重要】 AtsEX プラグインの Tick メソッドの elapsed パラメータにおいて、ポーズ・早送りが考慮されない不具合を修正しました。→ 5571438
  • シナリオが開かれたとき / 閉じられたときをイベントから検知できるようになりました。→ 1fc2aee / e1f2507

入力デバイスプラグイン版のみ関係するもの

  • 【重要】 ATS プラグインによるブレーキが作用しなくなる不具合を修正しました。→ f046754
    • この変更は v0.19.30520.1-fix にて適用済です。
  • AtsEX 本体の読込でエラーが発生した場合、その詳細が表示されるようになりました。→ 9ec0a6f
  • 終了時にエラーが発生する不具合を修正しました。→ 8cf6109
  • シナリオを再読込するとエラーが発生する不具合を修正しました。→ e2261e1 / 573056d

独自ヘッダー

  • 【破壊的変更】 マップファイル冒頭に特定のヘッダーが定義されていない限り、そのマップファイルについてはヘッダーの解釈をスキップする仕様に変更しました。→ 2b4bca7 / b9775a6 / edf74d6
    • パフォーマンスのためです。従来の仕様では、無条件に全マップファイルの構文解釈を行っていたため、AtsEX を使用している状態で重量級のマップを読み込もうとすると読込に要する時間が極端に長くなってしまっていました。
    • この機能については、現在仕様について検討している段階です。ver1.0 RC → ver1.0 へのバージョンアップ時に仕様が多少変更となる可能性があります。ご意見等あれば是非お聞かせください。
  • 読込に際して、削除対象でないエラーも削除されてしまう不具合を修正しました。→ fea7c6a / cd575ca
  • シナリオ終了時にメモリリークが発生する不具合を修正しました。→ 06d41e6

独自ステートメント

  • 【破壊的変更】 監視対象の他列車は AtsEX プラグインから指定する仕様に変更しました。→ d5363ae
    • パフォーマンスのためです。

プラグインリストファイル

  • 【重要】 同一ディレクトリ内の車両ファイルに対して、1 つのプラグインリストファイルを一括で適用できるようになりました。→ e603d73
    • ファイル名を VehiclePluginUsing.xml にして車両ファイル群と同一のディレクトリに配置してください。
  • 【重要】 プラグインリストファイルのファイル名として (車両ファイル名).VehiclePluginUsing.xml 以外の名前も使用できるようになりました。→ e603d73
    • 車両設定ファイルに <PluginIUsingPath>ファイル名</PluginIUsingPath> と設定することで有効化されます。
  • C# アセンブリ / C# スクリプト / IronPython 2 いずれの形態かに関わらず、プラグインの読込順を任意に指定できるようになりました。→ 097bd9a
  • ATS プラグイン版でも、AtsEX Caller に付属させる形のみではなく車両ファイルに付属させる形のプラグインリストファイルも読み込めるようになりました。→ e603d73

車両設定ファイル

  • 同一ディレクトリ内の車両ファイルに対して、1 つの車両設定ファイルを一括で適用できるようになりました。→ 7554ee1
    • ファイル名を VehicleConfig.xml にして車両ファイル群と同一のディレクトリに配置してください。
  • 要素を任意の順番で定義できるようになりました。→ 1518287
  • ATS プラグイン版でも、AtsEX Caller に付属させる形のみではなく車両ファイルに付属させる形の車両設定ファイルも読み込めるようになりました。→ 7554ee1

AtsEX コア拡張機能

  • BVE 内部で定義されている車掌動作を、AtsEX プラグインから上書きできるようにする機能 ConductorPatch を追加しました。→ 6c29ec5

AtsEX 拡張機能: DXDynamicTexture

  • テクスチャのファイルパスの表記揺れを許容する仕様に変更しました。→ 068cfbf

BveTypes (クラスラッパー除く)

  • 【破壊的変更】 LoadAsync メソッドを廃止しました。→ 41fcc32
    • 同期版と比較して、パフォーマンスなどのアドバンテージに乏しいためです。
  • インターフェイスに対応しました。→ 4ab0050
  • デリゲートに対応しました。→ fd529d3

クラスラッパー

  • 【破壊的変更】 StructureBlock.MatrixFromLastBlock プロパティを TransformFromLastBlock に改名しました。→ 5e52a79
  • 【破壊的変更】 AssistantTextBase クラス、AssistantTextDraw クラスは、命名が不適切だったため改名しました。→ f0e2fc3
  • Direct3DProvider クラスから DirectSound オブジェクトを取得できるようになりました。→ 0124454
  • 車掌関連のクラス (Conductor クラス、Passenger クラス) を追加しました。→ 8dd0bef / b72eed4 / df0c28c / 8924d33
  • SoundSet クラスを追加しました。→ 8dd0bef
  • Sound クラスのコンストラクタを追加しました。→ ee66e5b
  • Sound クラスから音声を再生できるようになりました。→ 8dd0bef / 8906c63
  • Sound クラスから音声の設置位置、速度を操作できるようになりました。→ 4737b37
    • これにより、いわゆる Sound3D でループ以外の任意の音声も再生できるようになりました。
  • SectionManager クラスから前後の閉そくの制限速度を取得できるようになりました。
  • 自軌道関連のクラス (Cant クラス、CantList クラス、Curve クラス、CurveList クラス、MyTrack クラス) を追加しました。→ 0398861 / c62f2b0
    • 自軌道の曲線、カントの位置及び量を全て取得できるようになりました。
  • 自列車の位置を制御するためのクラス (Transform クラス、VehicleBogieWheel クラス、VehiclePositioner クラス、VehicleVibrationManager クラス) を追加しました。→
    • 車体を傾けたり、自列車を線路から離れて動かすことが可能となります。
  • 視点を表す CameraLocation クラスを追加しました。→ 15c602c / 1c1b057
    • 視点を編集できるようになりました。
  • 自列車のバネに関するクラス (AirSpring クラス、Spring クラス) を追加しました。→ b1d3ed7
  • 6DoFを表す SixDof クラスを追加しました。→ b1d3ed7
  • 背景モデルを表す Background クラスを追加しました。→ 8d78997
  • 補助表示関連のクラス (AssistantBase クラス、AssistantDrawer クラス、ClockText クラス、DetailText クラス、StationText クラス、SpeedLimitText クラス、GeometryText クラス、LeverText クラス、InstructionText クラス、SwayGauge クラス、StopPositionGauge クラス) を追加しました。→ f0e2fc3
  • InterpolatableMapObjectList クラスを追加しました。→ 7bebd13
  • IDrawable インターフェイスを追加し、AssistantBase クラス、AssistantDrawer クラス、MainForm クラスにその実装を追加しました。→ 1c1b057
  • ReAdhesionControl クラス、ReAdhesionControlMode 列挙型を追加しました。→ 4a8bf14
    • 車両の再粘着制御の動作状態を取得できるようになりました。
  • Scenario.Dispose メソッドを追加しました。→ cbe3f0c
  • MapObjectList.GoTo メソッド、MapObjectList.GoToAndGetCurrent メソッドを追加しました。→ a5e2851 / 9edc423
    • 現在の距離程に対応する要素を簡単に取得できるようになりました。
  • Station.DoorSideEnum プロパティを追加しました。→ 861d1b2
    • Conductor との連携を容易にするためです。
  • StructureBlock.Direction プロパティを追加しました。→ b088bd7
    • ストラクチャーブロックの方角が分かるため、自列車を線路から離れて動かしたいときなどに便利です。
  • DrawDistanceManager クラスから描画距離を操作できるようになりました。→ 30ffb8f
  • Route.CabIlluminanceObjects プロパティを追加しました。→ 7bebd13
    • 運転台の明るさを操作できるようになりました。
  • Direct3DProvider クラス、ObjectDrawer クラス、Scenario クラスへ、オブジェクト類を描画するときに呼び出されるメソッドを追加しました。→ 1c1b057
  • Train、TrainInfo クラスのコンストラクタを追加しました。→ 53dff43
  • MapObjectList.ObjectPassed イベントを追加しました。→ 63b909f
    • マップオブジェクトの通過時に通知します。

FastMember

TypeWrapping

  • イベントに対応しました。→ 2f59b87
  • デリゲートに対応しました。→ fd529d3

ObjectiveHarmonyPatch

  • 【重要】 NuGet パッケージとして別リポジトリに分離しました。→ 8463a0e

UnembeddedResources

  • 【重要】 NuGet パッケージとして別リポジトリに分離しました。→ da683f8
  • AtsEX プラグイン等の開発時、XML ドキュメントを表示できるようになりました。→ d241bc7

サンプル

  • ConductorPatch 拡張機能のサンプルを追加しました。→ 754cfd8
  • E217 系車両データを同梱しました。→ fa52ba2 / 2e8bae6 / e5d9d6f
  • 各シナリオにサムネイルを追加しました。→ 6881a98
  • AtsEX 非搭載時に表示される NOMPI メッセージを、現在の仕様に合った内容に変更しました。→ 3e2360e

同梱プラグイン一覧

拡張機能

  • AtsEX コア拡張機能
    • 【新規】 ConductorPatch
      • 車掌の動作を自由に変更できるようにするパッチを提供します。
    • ContextMenuHacker
      • メインフォームの右クリックメニューを編集するための機能を提供します。
    • DiagramUpdater
      • 時刻表、ダイヤグ...
Read more

ver1.0-RC1 - v1.0.31106.1

10 Nov 12:43
Compare
Choose a tag to compare
Pre-release

本バージョンは RC 版です。正式版リリースまでに少なくとも 1 回、重大な破壊的変更を予定しています。本番環境での採用はお控えください。

AtsEX についてはこちら→ AtsEX ATSプラグイン拡張キット - 岡オカ営業所
ホームページ リニューアルしました!

⚠️RC 版につき、フィードバックにご協力ください

本バージョンは RC 版です。ひと通りの機能は揃っていますが、動作が不安定な可能性があります。また、仕様を十分に検討し切れていない部分もあります。
インストールや AtsEX プラグインの使用・開発はもちろん自由に行うことができますが、その際には是非 Twitter や GMail にて 動作報告・不具合報告・仕様に関するご意見 など頂けるととても嬉しいです。

アップデートのポイント

更に幅広いデータを操作可能に

BveTypes.dll の機能が更に充実。車掌、音声、自軌道、補助表示などなど、AtsEX プラグインから操作できるものの幅が格段にパワーアップしました!

更にプラグインを作りやすく

AtsEx.PluginHost、AtsEx.CoreExtensions などの AtsEX プラグインから参照する DLL を NuGet に公開。新規にプラグインを開発する際の手間が大幅に低減されました!

その他、車両ファイルが複数ある場合に車両プラグインリストファイル・車両設定ファイルを一括で定義できるようになったりと、プラグインの開発・組込にて地味~に手間がかかっていた部分を細かくじっくりと見直しました。

【ご意見募集中】パフォーマンスのための独自ヘッダー・独自ステートメントの仕様変更

従来は何も設定せずとも独自ヘッダー、独自ステートメントはその機能をフルに使用することができましたが、行数の多いマップなどでは読込時間がとても長くなってしまっていました。
そこで、本バージョンよりマップファイル・AtsEX プラグイン内で特定のフラグをオンにした場合のみ機能を有効化する仕様に変更しました。

読込時間の短縮のために手間が増えた格好ですが、いかがでしょうか。お使いになった際には「こういう仕様にした方が良いのでは?」など是非ご意見をお寄せください。

beta0.19 (v0.19.30520.1) からの主な更新内容

共通

  • 【重要】 AtsEx.PluginHost、AtsEx.CoreExtensions を NuGet パッケージとして公開しました。→ 9124a5d
  • 多くのコードを整理しました。

AtsEX 本体

  • 【重要】 AtsEX プラグインの Tick メソッドの elapsed パラメータにおいて、ポーズ・早送りが考慮されない不具合を修正しました。→ 5571438
  • シナリオが開かれたとき / 閉じられたときをイベントから検知できるようになりました。→ 1fc2aee / e1f2507

入力デバイスプラグイン版のみ関係するもの

  • 【重要】 ATS プラグインによるブレーキが作用しなくなる不具合を修正しました。→ f046754
    • この変更は v0.19.30520.1-fix にて適用済です。
  • AtsEX 本体の読込でエラーが発生した場合、その詳細が表示されるようになりました。→ 9ec0a6f
  • 終了時にエラーが発生する不具合を修正しました。→ 8cf6109
  • シナリオを再読込するとエラーが発生する不具合を修正しました。→ e2261e1 / 573056d

独自ヘッダー

  • 【破壊的変更】 マップファイル冒頭に特定のヘッダーが定義されていない限り、そのマップファイルについてはヘッダーの解釈をスキップする仕様に変更しました。→ 2b4bca7 / b9775a6 / edf74d6
    • パフォーマンスのためです。従来の仕様では、無条件に全マップファイルの構文解釈を行っていたため、AtsEX を使用している状態で重量級のマップを読み込もうとすると読込に要する時間が極端に長くなってしまっていました。
    • この機能については、現在仕様について検討している段階です。ver1.0 RC → ver1.0 へのバージョンアップ時に仕様が多少変更となる可能性があります。ご意見等あれば是非お聞かせください。
  • 読込に際して、削除対象でないエラーも削除されてしまう不具合を修正しました。→ fea7c6a / cd575ca
  • シナリオ終了時にメモリリークが発生する不具合を修正しました。→ 06d41e6

独自ステートメント

  • 【破壊的変更】 監視対象の他列車は AtsEX プラグインから指定する仕様に変更しました。→ d5363ae
    • パフォーマンスのためです。

プラグインリストファイル

  • 【重要】 同一ディレクトリ内の車両ファイルに対して、1 つのプラグインリストファイルを一括で適用できるようになりました。→ e603d73
    • ファイル名を VehiclePluginUsing.xml にして車両ファイル群と同一のディレクトリに配置してください。
  • 【重要】 プラグインリストファイルのファイル名として (車両ファイル名).VehiclePluginUsing.xml 以外の名前も使用できるようになりました。→ e603d73
    • 車両設定ファイルに <PluginIUsingPath>ファイル名</PluginIUsingPath> と設定することで有効化されます。
  • C# アセンブリ / C# スクリプト / IronPython 2 いずれの形態かに関わらず、プラグインの読込順を任意に指定できるようになりました。→ 097bd9a
  • ATS プラグイン版でも、AtsEX Caller に付属させる形のみではなく車両ファイルに付属させる形のプラグインリストファイルも読み込めるようになりました。→ e603d73

車両設定ファイル

  • 同一ディレクトリ内の車両ファイルに対して、1 つの車両設定ファイルを一括で適用できるようになりました。→ 7554ee1
    • ファイル名を VehicleConfig.xml にして車両ファイル群と同一のディレクトリに配置してください。
  • 要素を任意の順番で定義できるようになりました。→ 1518287
  • ATS プラグイン版でも、AtsEX Caller に付属させる形のみではなく車両ファイルに付属させる形の車両設定ファイルも読み込めるようになりました。→ 7554ee1

AtsEX コア拡張機能

  • BVE 内部で定義されている車掌動作を、AtsEX プラグインから上書きできるようにする機能 ConductorPatch を追加しました。→ 6c29ec5

AtsEX 拡張機能: DXDynamicTexture

  • テクスチャのファイルパスの表記揺れを許容する仕様に変更しました。→ 068cfbf

BveTypes (クラスラッパー除く)

  • 【破壊的変更】 LoadAsync メソッドを廃止しました。→ 41fcc32
    • 同期版と比較して、パフォーマンスなどのアドバンテージに乏しいためです。
  • インターフェイスに対応しました。→ 4ab0050
  • デリゲートに対応しました。→ fd529d3

クラスラッパー

  • 【破壊的変更】 StructureBlock.MatrixFromLastBlock プロパティを TransformFromLastBlock に改名しました。→ 5e52a79
  • 【破壊的変更】 AssistantTextBase クラス、AssistantTextDraw クラスは、命名が不適切だったため改名しました。→ f0e2fc3
  • Direct3DProvider クラスから DirectSound オブジェクトを取得できるようになりました。→ 0124454
  • 車掌関連のクラス (Conductor クラス、Passenger クラス) を追加しました。→ 8dd0bef / b72eed4 / df0c28c / 8924d33
  • SoundSet クラスを追加しました。→ 8dd0bef
  • Sound クラスのコンストラクタを追加しました。→ ee66e5b
  • Sound クラスから音声を再生できるようになりました。→ 8dd0bef / 8906c63
  • Sound クラスから音声の設置位置、速度を操作できるようになりました。→ 4737b37
    • これにより、いわゆる Sound3D でループ以外の任意の音声も再生できるようになりました。
  • SectionManager クラスから前後の閉そくの制限速度を取得できるようになりました。
  • 自軌道関連のクラス (Cant クラス、CantList クラス、Curve クラス、CurveList クラス、MyTrack クラス) を追加しました。→ 0398861 / c62f2b0
    • 自軌道の曲線、カントの位置及び量を全て取得できるようになりました。
  • 自列車の位置を制御するためのクラス (Transform クラス、VehicleBogieWheel クラス、VehiclePositioner クラス、VehicleVibrationManager クラス) を追加しました。→
    • 車体を傾けたり、自列車を線路から離れて動かすことが可能となります。
  • 視点を表す CameraLocation クラスを追加しました。→ 15c602c / 1c1b057
    • 視点を編集できるようになりました。
  • 自列車のバネに関するクラス (AirSpring クラス、Spring クラス) を追加しました。→ b1d3ed7
  • 6DoFを表す SixDof クラスを追加しました。→ b1d3ed7
  • 背景モデルを表す Background クラスを追加しました。→ 8d78997
  • 補助表示関連のクラス (AssistantBase クラス、AssistantDrawer クラス、ClockText クラス、DetailText クラス、StationText クラス、SpeedLimitText クラス、GeometryText クラス、LeverText クラス、InstructionText クラス、SwayGauge クラス、StopPositionGauge クラス) を追加しました。→ f0e2fc3
  • InterpolatableMapObjectList クラスを追加しました。→ 7bebd13
  • IDrawable インターフェイスを追加し、AssistantBase クラス、AssistantDrawer クラス、MainForm クラスにその実装を追加しました。→ 1c1b057
  • ReAdhesionControl クラス、ReAdhesionControlMode 列挙型を追加しました。→ 4a8bf14
    • 車両の再粘着制御の動作状態を取得できるようになりました。
  • Scenario.Dispose メソッドを追加しました。→ cbe3f0c
  • MapObjectList.GoTo メソッド、MapObjectList.GoToAndGetCurrent メソッドを追加しました。→ a5e2851 / 9edc423
    • 現在の距離程に対応する要素を簡単に取得できるようになりました。
  • Station.DoorSideEnum プロパティを追加しました。→ 861d1b2
    • Conductor との連携を容易にするためです。
  • StructureBlock.Direction プロパティを追加しました。→ b088bd7
    • ストラクチャーブロックの方角が分かるため、自列車を線路から離れて動かしたいときなどに便利です。
  • DrawDistanceManager クラスから描画距離を操作できるようになりました。→ 30ffb8f
  • Route.CabIlluminanceObjects プロパティを追加しました。→ 7bebd13
    • 運転台の明るさを操作できるようになりました。
  • Direct3DProvider クラス、ObjectDrawer クラス、Scenario クラスへ、オブジェクト類を描画するときに呼び出されるメソッドを追加しました。→ 1c1b057
  • Train、TrainInfo クラスのコンストラクタを追加しました。→ 53dff43
  • MapObjectList.ObjectPassed イベントを追加しました。→ 63b909f
    • マップオブジェクトの通過時に通知します。

FastMember

TypeWrapping

  • イベントに対応しました。→ 2f59b87
  • デリゲートに対応しました。→ fd529d3

ObjectiveHarmonyPatch

  • 【重要】 NuGet パッケージとして別リポジトリに分離しました。→ 8463a0e

UnembeddedResources

  • 【重要】 NuGet パッケージとして別リポジトリに分離しました。→ da683f8
  • AtsEX プラグイン等の開発時、XML ドキュメントを表示できるようになりました。→ d241bc7

サンプル

  • ConductorPatch 拡張機能のサンプルを追加しました。→ 754cfd8
  • E217 系車両データを同梱しました。→ fa52ba2 / 2e8bae6 / e5d9d6f
  • 各シナリオにサムネイルを追加しました。→ 6881a98
  • AtsEX 非搭載時に表示される NOMPI メッセージを、現在の仕様に合った内容に変更しました。→ 3e2360e

同梱プラグイン一覧

拡張機能

  • AtsEX コア拡張機能
    • 【新規】 ConductorPatch
      • 車掌の動作を自由に変更できるようにするパッチを提供します。
    • ContextMenuHacker
      • メインフォームの右クリックメニューを編集するための機能を提供します。
    • DiagramUpdater
      • 時刻表、ダイヤグラムなどの行路に関わるオブジェクトの更新機能を提供します。
    • PreTrainPatch
      • 先行列車の走行位置を自由に変更できるようにするパッチを提供します。
    • SignalPatch
      • 閉塞の信号現示を自由に変更できるようにするパッチを提供します。
    • StructureModelFinder
      • ストラクチャーの 3D モデルを簡単に検索するための機能を提供します。
    • TrainDrawPatch
      • 他列車を自由に移動・回転できるようにするパッチを提供します。
  • DXDynamicTexture
  • * 拡張地上子
    • 古い機能のため非推奨。独自マップ構文機能を使用してください。

車両プラグイン

  • 運転台パネルに値を渡すサンプル
  • 【新規】 車掌サンプル
  • マッププラグイン連携サンプル
  • シンプルな ATS サンプル
  • 状態取得・設定サンプル

マッププラグイン

  • 車両プラグイン連携サンプル
  • DXDynamicTexture 連携サンプル
  • 独自マップ構文サンプル
  • 先行列車操作サンプル
  • 信号現示操作サンプル
  • 駅リスト編集サンプル
  • 他列車操作サンプル
  • 他列車操作サンプル EX
  • 走行抵抗係数編集サンプル
  • 空の C# スクリプトプラグイン
  • 空の IronPython プラグイン

ダウンロード

AtsEX 本体+サンプルシナリオ

AtsEX 本体に加えて、車両プラグイン・マッププラグインの動作が確認できるサンプルシナリオを同梱しています。

【推奨】入力デバイスプラグイン・インストーラー版

下の Assets より「AtsEX_v1.0.31106.1_AsInputDevice.Setup.exe」をダウンロードし、実行してください。

⚠️実行には管理者権限が必要です。
ご家族内で共有の PC を使用している場合などで、管理者権限を得られないときは、下の「入力デバイスプラグイン・手動インストール版」をご利用ください。

入力デバイスプラグイン・手動インストール版

下の Assets より「AtsEX_v1.0.31106.1_AsInputDevice.7z」をダウンロード・解凍し、シナリオフォルダおよび BVE 本体の Input Devices フォルダに配置し...

Read more

beta0.19 - v0.19.30520.1

21 May 12:09
Compare
Choose a tag to compare
Pre-release

本バージョンは β 版です。正式版リリースまでにあと 1 回破壊的変更を加える可能性がありますので、本番環境で採用される場合はその点ご留意ください。

AtsEX についてはこちら→ AtsEX ATSプラグイン拡張キット - 岡オカ営業所

インストール方法の説明はこちら→ AtsEXインストールガイド - AtsEX ATSプラグイン拡張キット - 岡オカ営業所

アップデートのポイント

AtsEX 入力デバイスプラグイン版の追加

従来の AtsEX ATS プラグイン版では車両に AtsEx.Caller を組み込む必要があり、様々な車両で AtsEX を使用するとなると非常に面倒なものでした。
しかし、この度実装した入力デバイスプラグイン版では、「BVE 本体の設定画面から『AtsEX』にチェックをつける」たったこのひと手間で 全ての 車両・マップから AtsEX が使えるように。手軽に AtsEX を導入できる時代がついにやってきました!

パフォーマンスの改善

実際に AtsEX をお試しくださったデータ制作者の皆様からのフィードバックを基に、パフォーマンスに問題のある処理を改善しました。
ご協力ありがとうございました。

beta0.18.2 (v0.18.302042) からの主な更新内容

共通

AtsEX 本体

  • 【破壊的変更】 プラグイン読込まわりの処理を実装し直しました。→ c849c98
    • これにより仕様が変更となった機能が存在します。
  • 「範囲外のノッチ入力を検出した場合に例外をスローする」設定をオフにした場合でも例外がスローされてしまう不具合を修正しました。→ 22e6dbd
  • 独自ステートメントの他列車検知処理のパフォーマンスを改善しました。→ de57308
  • AtsEX プラグインではないアセンブリ (DLL) を読み込むと AtsEX が強制終了する不具合を修正しました。→ e772979

パネル・サウンド出力

  • インデックスの競合を検出するかどうかを、車両データに同梱した AtsEX 独自の設定ファイル (以下「車両設定ファイル」) から選択できるようになりました。→ 37c383b
    • 既定では検出しない仕様に変更となりました。
    • 車両設定ファイルは省略することもできます。省略した場合は既定値が使用されます。

BveTypes (クラスラッパー除く)

  • BveTypeSet クラスのファクトリメソッドに同期版を追加しました。→ dfdccaf

クラスラッパー

  • ドア関連の型 (CarDoor クラス、DoorSet クラス、DoorSide 列挙型、DoorState クラス、SideDoorSet クラス) を追加しました。→ 617eab1
  • AtsEX 入力デバイスプラグイン版の実装に際して必要だったメンバーを追加しました。→ f729fe4 / 7d4152e / 868f490
    • 対象の型: MainForm クラス、PluginLoader クラス、SectionManager クラス、VehicleStateStore (仮称) クラス
  • パネル・サウンド配列を操作するためのメンバーを追加しました。→ 6834824
    • 対象の型: PluginLoader クラス、VehicleStateStore (仮称) クラス
  • CarInfo クラスから自列車が空転・滑走しているかのフラグを操作できるようになりました。→ d2884f5
  • VehicleDynamics クラスから自列車の車両の長さを操作できるようになりました。→ 12de7c4
  • WrappedList クラス、WrappedSortedList クラスのインスタンス生成のパフォーマンスを改善しました。→ 2e68102
  • SectionManager.SectionIndexesTrainOn プロパティは、調査の結果名前が実際の役割に合っていないことが判明したため StopSignalSectionIndexes に改名となりました。→ a29c3e4
    • 互換性維持のために従来の名前のものも残してあります。
  • ObjectPassedEventArgs クラスの実装ミスを修正しました。→ 1d44ca4

サンプル

  • 独自マップ構文 (独自ヘッダー、独自ステートメント) のサンプルを追加しました。→ fe99fd5
  • マッププラグインと車両プラグインで連携するサンプルを追加しました。→ 1dc72ef
  • 入力デバイスプラグイン版関連のサンプルを 2 つ追加しました。→ 3336688
  • 車両設定ファイルを「空のサンプル車両」以外の全サンプル車両に追加しました。→ 8b729bb
  • 一部シナリオにおいて、「プログラムから開く」からシナリオを開くと終了時にエラーが発生する不具合を修正しました。→ ebc7d4d
  • シナリオ再読込時のメモリリークを修正しました。→ 2ac33c7

同梱プラグイン一覧

拡張機能

  • AtsEX コア拡張機能
    • ContextMenuHacker
      • メインフォームの右クリックメニューを編集するための機能を提供します。
    • DiagramUpdater
      • 時刻表、ダイヤグラムなどの行路に関わるオブジェクトの更新機能を提供します。
    • PreTrainPatch
      • 先行列車の走行位置を自由に変更できるようにするパッチを提供します。
    • SignalPatch
      • 閉塞の信号現示を自由に変更できるようにするパッチを提供します。
    • StructureModelFinder
      • ストラクチャーの 3D モデルを簡単に検索するための機能を提供します。
    • TrainDrawPatch
      • 他列車を自由に移動・回転できるようにするパッチを提供します。
  • DXDynamicTexture
  • * 拡張地上子
    • 古い機能のため非推奨。独自マップ構文機能を使用してください。

車両プラグイン

  • 運転台パネルに値を渡すサンプル
  • 【新規】 マッププラグイン連携サンプル
  • シンプルな ATS サンプル
  • 状態取得・設定サンプル

マッププラグイン

  • 【新規】 車両プラグイン連携サンプル
  • DXDynamicTexture 連携サンプル
  • 【新規】 独自マップ構文サンプル
  • 先行列車操作サンプル
  • 信号現示操作サンプル
  • 駅リスト編集サンプル
  • 他列車操作サンプル
  • 他列車操作サンプル EX
  • 走行抵抗係数編集サンプル
  • 空の C# スクリプトプラグイン
  • 空の IronPython プラグイン

ダウンロード

AtsEX 本体+サンプルシナリオ

AtsEX 本体に加えて、車両プラグイン・マッププラグインの動作を確認できるサンプルシナリオを同梱しています。

【推奨】入力デバイスプラグイン版

下の Assets より「AtsEX_v0.19.30520.1_AsInputDevice.7z」をダウンロード・解凍し、シナリオフォルダおよび BVE 本体の Input Devices フォルダに配置してください。

⚠️重要⚠️ 入力デバイスデバイスプラグイン版使用時、通常のATSプラグインによるブレーキが作用しなくなる不具合を確認しています。
2023/8/27 13:35 (JST) 以前にダウンロードされた方は、誠に恐縮ですが再インストールをお願いします。

「atsex.caller.inputdevice.dll 呼び出しのターゲットが例外をスローしました。」というダイアログが表示される場合は、Assets より「AtsEx.Caller.InputDevice.dll」をダウンロードし、AtsEX 本体の Input Devices フォルダ内にある同名の DLL ファイルを置き換えてください。

ATS プラグイン版 (以前と同様の起動方法のもの)

下の Assets より「AtsEX_v0.19.30520.1_AsAtsPlugin.7z」をダウンロード・解凍し、シナリオフォルダに配置してください。

AtsEX SDK

サンプルプラグインのソースコードのセットです。

下の Assets より「AtsEX_v0.19.30520.1_SDK.7z」をダウンロード・解凍してください。
ビルドには別途 AtsEX 本体のダウンロードが必要です。

解凍には 7-zip などの解凍ソフトが必要です。

beta0.18.2 - v0.18.30204.2

03 Feb 17:30
Compare
Choose a tag to compare
Pre-release

本バージョンは β 版です。頻繁に破壊的変更を行う可能性があるので、まだ本番環境での採用は推奨しません。

AtsEX についてはこちら→ AtsEX ATSプラグイン拡張キット - 岡オカ営業所

インストール方法の説明はこちら→ AtsEXインストールガイド - AtsEX ATSプラグイン拡張キット - 岡オカ営業所

beta0.18.1 (v0.18.30204.1) からの主な更新内容

AtsEX 本体

サウンド出力

  • 1 回再生をしようとすると競合が誤検出される不具合を修正しました。→ 15de21f
  • 再生を一度停止し、その後再度再生するメソッドを追加しました。→ 7178f74

beta0.18 (v0.18.30202.1) からの主な更新内容

AtsEX 本体

パネル出力

  • 【重要】 他の ATS プラグインからの値の変更を同期できるようになりました。→ 2847332
    • データの同期方向を OneWay (β0.18 と同様の挙動) / OneWayToSource / TwoWay の 3 種類から選べます。
      • インデックス競合の自動検出機能は、OneWay に指定されている場合のみ動作する仕様となりました。

beta0.17.7 (v0.17.30127.1) からの主な更新内容

AtsEX 本体

  • 【重要】 パネル出力、サウンド出力に対応しました。→ 7e0d490 / 6185258 / ad0f7d4 / c39b87b
    • 通常の ATS プラグインでいう「Elapse 関数の panel 変数、sound 変数を編集する」操作の互換機能になります。
    • 他のプラグインとのインデックスの競合を防止・自動検出する機能付です。
      • 他の AtsEX プラグインと競合している場合 - そのインデックスが既に使用されていることを通知します。
      • ネイティブプラグイン (通常のプラグイン) と競合している場合 - そのプラグインから値が変更された時点で「予期せぬ外部からの編集」として検出し、エラーを発生させます。
    • 仕様の詳細については下記「パネル出力について」、「サウンド出力について」をご参照ください。
  • 【破壊的変更】 AtsEx.Caller の互換性チェックが機能していなかった不具合を修正しました。→ 5f15e7f / aa3711d / 7318226
    • この修正の影響で、以前のバージョンの AtsEx.Caller.x**.dll を使用している車両に関しては最新バージョンのものへ差し替えが必要となります。
      • AtsEX プラグインの再コンパイル・修正等は不要です。

サンプル

  • panel 出力機能のサンプルプラグイン・シナリオを追加しました。→ 0c36482
  • サウンド出力機能のサンプルとして、「シンプルな ATS サンプル」で ATS 作動時にはベルが鳴る仕様に変更しました。→ 7f95daf

パネル出力について

この機能は BVE が ATS プラグイン向けに提供している機能のみを組み合わせて実装しているため、BVE 本体のバージョンに依存しません。

パネルへ出力可能なのは整数値のみのため、通常の ATS プラグインでは

  • PilotLamp 向けの真偽値なら 0 を false、1 を true に対応させる
  • DigitalNumber で駅名を表示させたいなら各駅名に ID をふって駅名と整数値を 1 対 1 に対応させる

など、何かしらの方法でデータを整数値に変換する必要がありました。

本機能では、出力データに疑似的に型を持たせる仕様としています。bool 型の場合は AtsEX が上記のように自動で整数へシリアライズし、BVE 本体へ送信します。その他の型も独自にシリアライザーを定義することで使用できます。
これにより、整数以外のデータを出力するときも直感的に記述することが可能です。

コードの例

// 状態量 ats50 を bool 型、初期値 false として登録
IAtsPanelValue<bool> ats50 = Native.AtsPanelValues.RegisterBoolean(50, false);

// 状態量 ats51 を double 型、初期値 0.0 として登録
// 小数第 2 位まで出力する例 (例えば、1.23 なら「123」として送信)
IAtsPanelValue<int> ats51 = Native.AtsPanelValues.Register<double>(51, value => (int)(value * 100), 0.0);

この場合、以下のように出力するデータを設定します。

ats50.Value = true; // ->「1」として送信
ats51.Value = 45.6; // ->「4560」として送信

サウンド出力について

この機能は BVE が ATS プラグイン向けに提供している機能のみを組み合わせて実装しているため、BVE 本体のバージョンに依存しません。

Play / PlayLoop メソッド (≒関数) を実行すると再生され、Stop メソッドを実行すると停止する仕様です。
地上子通過などをトリガーにサウンドを再生する場合でも、フラグ変数を定義して Elapse 関数内で複雑な条件式を組み合わせる必要はありません。

コードの例

// ATS サウンド 12 番を AtsEX から操作するサウンドとして登録
IAtsSound atsSound12 = Native.AtsSounds.Register(12);
// 再生
atsSound12.Play();

同梱プラグイン一覧

拡張機能

  • AtsEX コア拡張機能
    • ContextMenuHacker
      • メインフォームの右クリックメニューを編集するための機能を提供します。
    • DiagramUpdater
      • 時刻表、ダイヤグラムなどの行路に関わるオブジェクトの更新機能を提供します。
    • PreTrainPatch
      • 先行列車の走行位置を自由に変更できるようにするパッチを提供します。
    • SignalPatch
      • 閉塞の信号現示を自由に変更できるようにするパッチを提供します。
    • StructureModelFinder
      • ストラクチャーの 3D モデルを簡単に検索するための機能を提供します。
    • TrainDrawPatch
      • 他列車を自由に移動・回転できるようにするパッチを提供します。
  • DXDynamicTexture
  • 拡張地上子

車両プラグイン

  • 【新規】 運転台パネルに値を渡すサンプル
  • シンプルな ATS サンプル
  • 状態取得・設定サンプル

マッププラグイン

  • DXDynamicTexture 連携サンプル
  • 先行列車操作サンプル
  • 信号現示操作サンプル
  • 駅リスト編集サンプル
  • 他列車操作サンプル
  • 他列車操作サンプル EX
  • 走行抵抗係数編集サンプル
  • 空の C# スクリプトプラグイン
  • 空の IronPython プラグイン

ダウンロード

AtsEX 本体+サンプルシナリオ

下の Assets より「AtsEX_v0.18.302024.2.7z」をダウンロード・解凍し、シナリオフォルダに配置してください。
AtsEX 本体に加えて、車両プラグイン・マッププラグインの動作を確認できるサンプルシナリオを同梱しています。

AtsEX SDK

サンプルプラグインのソースコードのセットです。

下の Assets より「AtsEX_v0.18.30202.1_SDK.7z」をダウンロード・解凍してください (beta0.18 向けのものですが、beta0.18.1 とは相互互換性があります)。
ビルドには別途 AtsEX 本体のダウンロードが必要です。

解凍には 7-zip などの解凍ソフトが必要です。