Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

制限速度設定地上子をより自由に置きたい #58

Closed
magicant opened this issue Mar 20, 2020 · 4 comments
Closed

制限速度設定地上子をより自由に置きたい #58

magicant opened this issue Mar 20, 2020 · 4 comments
Labels
enhancement New feature or request

Comments

@magicant
Copy link
Owner

v1.1 現在の仕様では、制限速度設定地上子の設置順序は、地上子が指示する制限速度変化地点の順になっていないといけない。順序が誤っていると、より後の区間の制限速度の情報が上書きされてしまう。この制限を緩和して、自由な順序で (あるいは、同じ制限速度変化地点に対して複数) 地上子を設置してよいようにできないだろうか。

cf. magicant/bve-random-map#8 (comment)

@magicant magicant added the enhancement New feature or request label Mar 20, 2020
@magicant
Copy link
Owner Author

TASC 停止位置や信号現示受信の地上子と同様の手法で地上子の位置の誤差を吸収できたらできそうな気がする。

@magicant
Copy link
Owner Author

「停車場へ移動」したときに通過する地上子をうまく処理 (無視?) できればよい。

@magicant
Copy link
Owner Author

「停車場へ移動」したときに通過する地上子をうまく処理 (無視?) できればよい。

「停車場へ移動」するとき (地上子通過直前の自車の位置が 0 のとき) は地上子を無視するという風にすることも考えられる。しかし、これまで地上子仕様に

駅構内に制限速度が課せられている場合は、「停車場へ移動」や「シナリオをやり直す」で移動した直後に制限速度を正しく反映するために、駅の停止位置に d = 0 で地上子を置くことを奨めます。

と書いているので、移動時に地上子を無視するようにすると後方互換性がない。
となると無視しないようにした方が良いが、制限速度の変化する地点は正確には分からないので、地上子を通過した順に (移動後の位置で制限速度が変化するとみなして) 処理するしかない。結果として、移動時の動作はこれまでと変わらない。

ただし、速度変化地点のある範囲が非常に大きいままだとその後に普通に通過する地上子からの制限速度区間と混同して正しく処理できないので、「停車場へ移動」の時に登録する制限速度区間の始点の範囲は必ず [0, 0] とする。(地上子から区間までの距離が 0 以外で指定されている場合でも)

@magicant
Copy link
Owner Author

Wiki の説明も更新したのでこの件は完了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done
Development

No branches or pull requests

1 participant