News:

Simutrans Chat Room
Where cool people of Simutrans can meet up.

end of choose sign ignored

Started by Vladki, February 02, 2020, 11:49:46 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Vladki

If I recall correctly train should not choose alternative platform, if end-of-choose sign is placed on its scheduled platform. Is that right? If so, then there is a bug. In Stepenson-Siemens game there is an end-of-choose sign at (962,459), but trains that are scheduled there (Raven Company), happily use other platforms as well. However I have not seen trains from the other player (Elemental) to use that platform. So it works at least partially.

jamespetts

Thank you for the report. Can I ask whether the sign belongs to the player whose train appears to ignore it?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Vladki

No. The track, sign and station belongs to Elemental, trains that ignore it to Raven.

Vladki

It seems that the sign is honored if it is not on platform, but between platform and choose signal.
Also it seems that it is honored by sign owner's conwoys.
Ignored by other player's vehicles if placed on platform.

freddyhayward

If I remember the code correctly, end-of-choose signs on platforms are deliberately ignored.

prissi

If there is a end of choose sign on the target to the scheduled platform, at least standard would still chose this one if empty. Because a route search is only initiated, if the target platform is not occupied. I mean, what is the point to choose another than the scheduled platform, if the scheduled platform is free? If occupied, this platform cannot be chosen for obvious resons. So a end_of_choose signal on the scheduled target platform will do nothing.

(Outside of UK and US, I have never ever experience trains not scheduled on a certain platform. German schedules always give the platform of the train. In Londons Terminals like Kings Cross or Liverpool street you had to scramble to your tracks, since announcement were often just 15 min prior departure. And in the US, there was no arrival schedule at all (on the West Coast Amtrak lines in 1999), only departure schedules ...)

freddyhayward

Quote from: prissi on October 17, 2020, 12:24:18 AM
If there is a end of choose sign on the target to the scheduled platform, at least standard would still chose this one if empty. Because a route search is only initiated, if the target platform is not occupied. I mean, what is the point to choose another than the scheduled platform, if the scheduled platform is free? If occupied, this platform cannot be chosen for obvious resons. So a end_of_choose signal on the scheduled target platform will do nothing.

(Outside of UK and US, I have never ever experience trains not scheduled on a certain platform. German schedules always give the platform of the train. In Londons Terminals like Kings Cross or Liverpool street you had to scramble to your tracks, since announcement were often just 15 min prior departure. And in the US, there was no arrival schedule at all (on the West Coast Amtrak lines in 1999), only departure schedules ...)
I would assume the point of an end_of_chose on a scheduled platform is to prevent other trains from ever using that platform.

Vladki

Maybe then I misunderstood something. I thought that one of the functions was, that trains scheduled to a platform with end of choose sign will not choose any other platform. And I think that it worked like that in standard.

jamespetts

Prissi is correct. The end of choose sign only affects choose signal functionality. Choose signal functionality is only invoked if the scheduled platform is not free. The purpose of a choose signal is to allow trains to choose an alternative platform if the scheduled platform is not free. The purpose of an end of choose sign is to limit the search for alternative platforms. Its purpose is not to prevent a train from using its scheduled platform. It is thus possible to have a platform in a station that can only be used by trains specifically scheduled to use it (e.g. a terminating platform in an otherwise through station that is used only by terminating trains).

End of choose signals on platforms are intentionally ignored:


if(rs->get_desc()->is_end_choose_signal())
            {
               if (!(gr->is_halt() && gr->get_halt() != target->get_halt()))
               {
                  // Ignore end of choose signals on platforms: these make no sense
                  // and cause problems.
                  target = gr;
                  break_index = idx;
                  break;
               }
            }


The idea is that the end of choose is placed between the choose signal and the start of the platform that the player wishes to exclude from the choose signal's search.

With reference to the suggestion that behaviour differs between choose signals on ways belonging to the player of the vehicle in question and those not, can I clarify whether this applies to choose signals on platforms or choose signals not on platforms?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Vladki

QuoteIts purpose is not to prevent a train from using its scheduled platform.

I never said that. I just wanted to prevent some trains from choosing alternative platform, while allowing others to choose.


jamespetts

Quote from: Vladki on October 17, 2020, 12:30:31 PM
I never said that. I just wanted to prevent some trains from choosing alternative platform, while allowing others to choose.

There is a feature planned (and, I think, implemented on the vehicle-management branch) which allows a schedule option for ignoring choose signals (i.e. treating them as ordinary stop signals), which should achieve the desired effect.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

prissi

A choose signal directly before the platform would prevent the choose of another platform as well (at least in standard choose signals only become active, if there is not another choose signal following them.

jamespetts

Quote from: prissi on October 17, 2020, 12:43:02 PM
A choose signal directly before the platform would prevent the choose of another platform as well (at least in standard choose signals only become active, if there is not another choose signal following them.

If I recall correctly, this also works this way in Extended.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Vladki

The problem is that sometimes there is not enough space for a signal (whether choose or end of choose) between choose signal and platform. Most of the tiles between are junctions where you cannot put any signal.

jamespetts

Quote from: Vladki on October 17, 2020, 02:17:18 PM
The problem is that sometimes there is not enough space for a signal (whether choose or end of choose) between choose signal and platform. Most of the tiles between are junctions where you cannot put any signal.

I would suggest, in that case, awaiting the planned optional choose signal ignore feature.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.