beta0.16.1 - v0.16.21018.2
Pre-release
Pre-release
automatic9045
released this
18 Oct 17:00
·
621 commits
to main
since this release
本バージョンは β 版です。頻繁に破壊的変更を行う可能性があるので、まだ本番環境での採用は推奨しません。
AtsEX についてはこちら→ AtsEX ATSプラグイン拡張キット - 岡オカ営業所
**重要なお知らせ**
次版にて過去最大規模の破壊的変更を実施する予定です。 このバージョン以前の AtsEX 向けに開発された全てのプラグインは、次版以降の AtsEX で動作させるためには修正が必要となります。
これから新しいプラグインを開発される際は、この点ご留意頂きますようお願い申し上げます。
次版で予定している破壊的変更
- 名前空間を変更します。
Automatic9045.AtsEx.~
→AtsEx.~
に変更となります。
- 右クリックメニューの編集機能、読込エラーのスロー機能、拡張地上子等を AtsEX 本体から分離します。
- etc...
beta0.15.1(v0.15.20828.1)からの主な更新内容
非常に多いため、特に影響の大きいもののみを掲載しています。 全ての変更の一覧は Comparing changes をご覧ください。
アップデートのポイント
- ユーザーに優しく - 分かりやすいエラーメッセージ、ハマりやすいポイントには手厚い警告を
- パフォーマンスの向上 - キャッシュ機構の実装で根本から高速化、それでも重い読込処理は非同期化し固まりづらく
- 見通しの良い構造に - AtsEX 由来の機能に依存しない機能は別アセンブリへ積極的に分離
AtsEX 本体
- 【重要】 BVE 本体の型・メンバーを読み込む処理を刷新しました。→ e493475 / 3976cd8 / edd6c9b / 35261db / 151b80f / 9cf091c / 72021e3 / 12fe15b
- これにより、読込のパフォーマンスが大幅に向上しています。
- 【重要】 (クラスラッパー)ClassWrapperBase.CreateFromSource メソッドで、型ごとにキャッシュが効くようになりました。→ d63d238
- これにより、WrappedList などでクラスラッパーを列挙する際のパフォーマンスが大幅に向上しています。
- 【重要】 重い読込処理の多くを非同期化しました。→ d7757e6 / 9d6f535 / e2789e5
- 【重要】 リソースの読込など、AtsEX に依存しない機能を別のアセンブリ (DLL) に分離しました。→ 6f5a112 / 770cc8b / e6cf572 / be8ebd2 / a83d00f
- 【重要】 AtsEX Caller の互換性チェック機能を追加しました。→ 26bb1a4 / fb4e560 / fca6b89
- 現在のバージョンの AtsEX 本体を読み込めないバージョンの AtsEX Caller を自動で検出し、分かりやすいエラーメッセージでお知らせします。
- 【重要】 プラグインの互換性チェック機能を追加しました。→ 06e545a
- 現在のバージョンの AtsEX 本体とは互換性のないバージョン向けに開発された AtsEX プラグインを自動で検出し、分かりやすいエラーメッセージでお知らせします。
- 【重要】 SlimDXの特定バージョン指定を削除しました。→ bd1f0bd
- これにより、複数のユーザー様から報告を頂いていた「BVE 5.8 に限って、SlimDX 関連のエラーが出て AtsEX を読み込めない」不具合が解消された可能性があります。
- 【重要】 拡張地上子定義用の連続ストラクチャーの End 忘れを検出する機能を追加しました。→ 1d688dc
- 【破壊的変更】 プラグイン一覧系プロパティを SortedList<TKey, TValue> 型から Dictionary<TKey, TValue> 型に変更しました。→ 9cf091c / e7c3318
- 【破壊的変更】 DiagramUpdater.Update メソッドのパラメータを変更しました。→ bbc9b6c
- 現状の仕様では BveHacker.ScenarioCreated イベントから使用しづらい設計だったためです。
- 【破壊的変更】 VehicleSpec、VehicleState クラスを Automatic9045.AtsEx.PluginHost.Native 名前空間に移動しました。→ 1e88a70
- 【破壊的変更】 GameState 列挙型を (クラスラッパー) TimeManager クラスの内部に移動しました。→ 4fee373
- 【破壊的変更】 BrakePosition 列挙型をクラスラッパーとしました。→ 3772b5a
- (クラスラッパー)ObjectPassedEventArgs クラス、PluginLoader クラス、ValueEventArgs クラスを追加しました。→ 28a676c
- (クラスラッパー)PistonArea を扱うための型・メンバーを追加しました。→ 430a569
- XML ドキュメントが更に充実しました。→ 101c30c / 5a348b0 / fc97e18 / 01320db / 242e42f
- 全アセンブリに AssemblyCompany を設定しました。→ c75cc14
- 一部エラー発生時のエラーメッセージが分かりやすくなりました。→ 015c477、 73df58d
- 非同期処理中に発生した例外 (AggregateException) でも詳細なメッセージが表示されるようになりました。→ befdb58
- VehicleState から現在時刻も取得できるようになりました。→ b987579
- リソースの過不足を自動で検出するようになりました。→ 6aeebb5 / 48a9be2 / 44a73f8
- AtsEX 本体の更新情報に任意のメッセージが表示できるようになりました。→ 3d5ff85
- 今後の更新では、この機能を利用して更新に当たっての注意点などをご案内する予定です。
- (クラスラッパー)ScenarioInfo.ScenarioFileLoadErrors プロパティが動作しない不具合を修正しました。→ 2d0aafb
- (クラスラッパー)MainForm.KeyProvider プロパティが動作しない不具合を修正しました。→ e95de94
- (クラスラッパー)Section が MapObjectBase を継承し忘れていた問題を修正しました。→ a0b9eb4
サンプル
- Excel の自動変換が動作しないよう、停車場キーを変更しました。→ 836b750
サンプルプラグイン一覧
車両プラグイン
- シンプルな ATS サンプル
- 状態取得・設定サンプル
マッププラグイン
- DXDynamicTexture 連携サンプル
- 駅リスト編集サンプル
- 他列車操作サンプル
- 他列車操作サンプル EX
- 走行抵抗係数編集サンプル
- 空の C# スクリプトプラグイン
- 空の IronPython プラグイン
ダウンロード
不具合により動作が不安定のため、非推奨です。特段の事情が無い限り新しいバージョンをご利用ください。