Skip to content

beta0.6 - v0.6.20424.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@automatic9045 automatic9045 released this 23 Apr 16:08
· 1115 commits to main since this release

本バージョンはβ版です。基本的な機能はおおかた完成しましたが、できることはまだ多くありません。

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

現時点で実装済

  • プラグイン機能
    • DllExport無しの純粋なC#コードで記述できます。
    • 従来のATSプラグインの機能を拡張します(右クリックメニュー関連、時刻・位置・速度・駅・ストラクチャ他の編集機能など)。
    • 車両に紐づけた従来の形態のプラグインの他、マップにプラグインを組み込むこともできるようになります(マッププラグイン機能)。
  • AtsEX準拠プラグインの一覧表示機能

前バージョンからの主な更新内容

AtsEX本体

  • 【破壊的変更】 AtsEX本体は車両には組み込まず、別途インストールする形式に変更しました。→ f1f83f7
    • 新しいバージョンのAtsEXをリリースした際、車両ごとに更新するとなるとかなりの手間がかかってしまうためです。
    • 車両アドオンにはAtsEX本体を呼び出すためのアセンブリ(DLL)「AtsEx.Caller.x64.dll」「AtsEx.Caller.x86.dll」を同梱頂き、車両ファイルのAts64Ats32にはこれらを指定する形となります。
  • 【破壊的変更】 ScenarioProviderと機能の方向性がかなり近くなってしまっていたBveHackServiceIRouteIVehicle)を廃止し、代替機能を一般のクラスとして追加しました。→ 4967339 / 29d189e
  • BVEから読み込まれた際に自動でアップデートする機能を実装しました。→ 4967339 / 9e8faed
    • AtsEXはBVEのバージョンに強く依存する実装となっており、最新のバージョンを維持することが重要なためです。
    • 確認ダイアログにて「いいえ」を選択すれば辞退することもできます。
  • 【破壊的変更】 AtsEXプラグインのElapseイベントTickメソッドに変更しました。→ 5ca713d
    • 毎フレーム実行されるメソッドの名前は統一されておらず、ATSプラグイン(C++で開発)はElapseである一方、入力デバイスプラグイン(C#で開発)はTickとなっています。AtsEXプラグインと同じくC#で開発する後者の名前に合わせた形です。イベントであったところをメソッドに変更したのも同様の理由です。
    • Tickメソッドを抽象メソッドとするため、AtsEXプラグインの基本クラスAtsExPluginは抽象クラスとした上AtsExPluginBaseに改名しました。

車両プラグイン:状態取得・設定サンプル

  • IRouteIVehicleの廃止に伴いコードを書き換えました。→ 8b0d977

既知の不具合

  • マッププラグインリストを読み込むinclude構文が、BVEによってエラーとして認識されます。今後のリリースにて解消予定です。

近日実装予定

正式版リリースまでに実装するもの

  • BveHackerの改修
    • 現在のMainFormHackerなどの基底となる機能以外は廃止する
    • CoreHackServiceは全面的に廃止する

編集できるようにするもの(クラスラッパー)

  • 車両のパラメータ類……VehicleParameterSetクラス
    • ScenarioProvider.Vehicle.Parametersから
  • ポーズ中かどうか/早送り中かどうか……TimeManager.GameStateプロパティ(TimeManager.GameState列挙型)
    • ScenarioProvider.TimeManager.GameStateから

その他

  • マッププラグイン使用時に発生するエラー表示を解消する→ #8
  • DXDynamicTexture(MIT)を組み込む
    • パッチ処理はAtsEXの機能を利用して簡略化する

サンプルプラグイン一覧

車両プラグイン

  • 状態取得・設定サンプル

マッププラグイン

  • 駅リスト編集サンプル

ダウンロード

下のAssetsより「AtsEX_v0.6.20424.1.7z」をダウンロード・解凍し、シナリオフォルダに配置してください。
車両プラグイン「状態取得・設定サンプル」、マッププラグイン「駅リスト編集サンプル」の動作を確認することができます。

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

注意:今後破壊的変更を行う可能性があるため、まだ本番環境での採用は推奨しません。