r5788に対して同等機能を入れたパッチを添付します。
111.3 にも無修正であたります。(パッチ対象ファイルは r5772:5788の間で変更されていません)
ビルドはconfig.*に
CFLAGS += -DROUTECOST_CHOOSE_CLASS
を入れてください。
さらに
CFLAGS += -DROUTECOST_CHOOSE_CLASS_DEBUG
を入れると、積載を選んでいる様子が標準出力に出ます。(Windowsだとどうなるかわかりません)
あくまで初期のお試しバージョンであり、最初のテスター募集ということで。
動作結果を教えていただけると助かります。
バイナリの作成はもうしばらくお待ちください。
パッチの概要については、のちほど詳細のメモを書きますが、元の(初版?)RouteCostと同等の機能を持ちながら、
パッチの量としては減っています。理由は、RouteCostの機能のうちの半分は既に本家に実装されているからです。
元のRouteCostは以下の二つの機能を組み込んでいます。
- リンクコストによる経路計算
- 旅客(貨物)の列車積載時の速達性判定による振り分け
このうち、リンクコストによる経路計算については、ほぼ同等の計算が既に組込まれています。
ですので、このパッチはこの計算値を使って列車積載時の振り分けだけ実装しています。
ただしコストの値はRouteCostとは違っていて、今のSimutransではコスト(weightと表現。uint16)は
最初に 8
次に停車するたびに 1
乗換で 9
増加します。(最後のは経路計算のみに影響)
このため、以前のRouteCostでの経路計算と結果が異るところも出てくると思います。