Closed magicant closed 4 years ago
とはいえ、知らない type の地上子から読み取った閉塞の位置と信号を信用して却ってうまくいかないことはあり得ないのだろうか?
以下の二つの理由によりうまくいかないので、やめ。
ある閉塞に対する信号を受信した後に信号が変わっても、同じ信号を再受信するための地上子が置かれていなければプラグインは古い信号に従ってしまう。
自車に並行して走る列車や自車を追い越す列車に対する現示を自然にするために、ダミーの閉塞や信号インデックスが用いられていることがある。存在しないはずの位置に閉塞を認識したり、制限速度が設定されていない信号インデックスを受信したりすると正しく動作できない可能性がある。
今は特定の type を持つ地上子を (それに合う互換モードで) 通過したときにだけ地上子から閉塞の位置と信号を読み取っている。しかし
Beacon.Put
文では常に閉塞を指定する必要があるので、どの type の地上子を通過するときにも何らかの閉塞の位置と信号がプラグインには伝わってきている。それを積極的に利用するようにすれば、プラグインが知らない type の地上子からも閉塞の位置と信号を読み取れるのではないか? そうすれば互換モードでいちいち対応しなくてもいろいろな type の地上子に対応できるのでは?