News:

The Forum Rules and Guidelines
Our forum has Rules and Guidelines. Please, be kind and read them ;).

All info in signal window

Started by Ves, September 05, 2016, 10:53:38 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

fam621

I simply thought it was incorporated into the pakset (pak128.Britain-Ex) its self.

Ves

#106
I realized that in some cases the signal state would show as "unknown" instead of the actual state. I investigated a bit and found that a normal permissive three aspect signal would not only use the states "clear=1" and "caution=2" but also "clear_no_choose=5" (and maybe even "caution_no_choose=6"). I just accidentally saw it and it appears to randomly use the .._no_choose state. Is there a reason for this or is it just 'randomnes' in the code? Im not saying it is a problem, I am just curios :)

Here is a correction to it anyway:
https://github.com/VictorErik/Simutrans-Experimental-Ves/commits/signal-in-infowindow-2

jamespetts

Splendid, thank you. Now incorporated.
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.

Ves

Given the resent discussion about wether the signal protects a junction, I thought that would be a nice thing to display in the info window. Partly as a piece of information and also to note to people that it is a thing wether there are any junctions ahead or not.
But I have have a question:
When I specify "if (get_no_junctions_to_next_signal() == false)" and show a text if thats true, the text comes and dissapears occasionally when some trains are reserving the signal. It seems very inconsistent and unreliable, so if there is nothing more I can do, I cannot use the parameter to show the text.

How do that parameter work?

edit:
It seem to depend on wether the head of the train has reserved any junction tiles or is in fact on a junction tile.

Do you think it is possible to find out only wether there actually is a junction ahead?

jamespetts

One should be careful about adding UI elements for all internal variables like this: the system was designed to work so that the variable is correct at the moment that it needs to be used, not necessarily at other times. One should be able to tell whether a signal protects a junction without looking in its information window in any event.
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.

Ves


Vladki

Hi Ves, could you add the number of aspects to the signal info window?

Ves

#112
I had that under consideration earlier but did not put it there because I couldn't at the time think this part through:

I think it would be disinformative to just show the "aspect" value (that would be 2 for a normal stop signal), because what is an aspect really? Imagine a three aspect permissive signal, it would technically have four aspects: danger, clear, caution and callon. Or a choose signal would have all the alternate route aspects as well. Should those be considered aspects too?
You as an experienced player might know the difference, but new players might not.

What I think you want (and what I also would like) is the pure aspect value but it needs to be presented as to what it actually means and that I have not yet figured out a nice simple  way to do. Do you have any suggestions?

Edit:
What one could do, is to *somewhere* write out all possible aspects the signal could do, ie list them like danger, clear, callon. One could even create a new "details" window, where this information, along with other technical and maybe non essential information like intro and expire dates, upgrade group, signal groups etc which are actually not available for view anywhere in the game.
Downside is that you would then expect to find a similar "details" window on all info windows in the game...

Vladki

Yeah, I was thinking to show the aspects value from dat file.
Perhaps something like this:

aspects: 2
aspects: 3+callon
aspects: 4+alt. route


Ves

Quote from: Vladki on May 21, 2017, 04:14:27 PM
Yeah, I was thinking to show the aspects value from dat file.
Perhaps something like this:

aspects: 2
aspects: 3+callon
aspects: 4+alt. route

That could actually work! Will think of it!  :)

Ves



Should also be stackable +Alt. Route+Call on, for when we get choose signals with call on states!

Found here: https://github.com/VictorErik/Simutrans-Experimental-Ves/tree/signal-in-infowindow-2.

Regarding the base translation file, James would you mind to wait a bit to upload it? I have trouble adding new basefiles and make Github recognize the new files. The way I had to do the last time, I had to manually upload the new file in the webbrowser version of Github, then manually sync it down to my computer. A quite heavy process..

fam621


Ves

Quote from: fam621 on May 26, 2017, 09:26:35 PM
Whats call on mean?
That is the state of a permissive signal, when it is allowing a train to pass it while it is at danger. The train will change working method to drive by sight I believe.

jamespetts

May I suggest that the aspects display be made slightly clearer by adding a space around the + sign and not using capitals for things like "alt route"?

As to adding things in Git, all that you need to do is issue the command git add <filename> or git add --all.
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.

Ves

Ok, I have pushed a new commit! Also, I have made a third text string which will display if signal is both a choose and permissive, although the signal type does not exist yet.

jamespetts

Splendid, thank you for that. Apologies for the delay: I have been staying with my parents, so it is not easy to deal with coding matters on my secondary computer, but I have managed to pull your updates and push them to the master branch, so these should be in the next nightly. Thank you again for your work on this.
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

Thank you for this patch. But there is a minor bug. It shows Aspects: X+alt route for all choose signals, even if they do not have a special aspect for alt route. Similarly all permissive signalls have Aspects X+callon even if they do not have a special call on aspect.

Ves

My post nr 1000! :)

I did that on purpose, since I think that the status of the signal doesnt care wether there are any extra defined images.
It would be confusing, I believe, if you read that this signal has 2 aspects, you would believe them to be clear and danger, but suddently "clear, alt. route" shows up.
Same with permissive signals, the call on state would show up even if there are no graphics that support the call on state.

Vladki

But it already says whether it is permissive or choose signal. In my opinion it is confusing if it says that there is a callon / choose aspect and it does not show it, when it should... Can anybody else say what would be more preferable information?

Ves

Ok, its not good if it is confusing. What do other people think?

Ves

So, two years later, what information has been proven usefull and what have not in the signal window? :P

One thing I have been missing is the distance to the following signal. When I started to look at it, though, I realized that whenever there is a junction, the window would have to count the tiles in both directions from the junction, as there would be no way (that I could think of) to know what way would be the "main" way, if there ever was to be one. Therefore I made it stop whenever it reaches a junction. Locating junctions is btw also a good thing, in particular for the two time interval working methods, since if there is a junction before the next signal it would send the train away only in half line speed. Now I know there is some more logic to that when the junction is in near vicinity of the signal, but due to the "junction issues" i described earlier it would most likely not work.

Multi aspect signals display the line of stop signals ahead they have aspects for so you can determine what is the longest braking distance possible on the line. Unfortunately, the junction problem comes in here as well, and the signals will not show signals beyond the junction.

It works by counting the tiles from the signal and check what is on them.

James, I dont really remember, but what presignal working methods are compatible with what stop signal working methods? If, say I put an absolute block presignal in front of a time interval stop signal, how would it behave?
With this system warnings could be put in place if certain combinations are not valid.

Vladki

In case of junctions, if there is a reservation through the junctions then use it as the path to next signal(s) to show the distance to next signal. If no reservation, then show distance to the junction.

Also the information about direction of signal is wrong on diagonals / corners.

Ves

That is a good suggestion. Will need to think of how to accomplish that!

I have now fixed the wrong direction on diagonals!

I have also added a button that opens the signalbox infowindow and sets that to be the so called "default signalbox" from which you buy new signals.

Need to address the bad signalbox name which overlaps the buttons in when it spills over to the next line.

Skickat från min ONEPLUS A6003 via Tapatalk


Jando

Quote from: Ves on May 22, 2019, 03:21:30 PMSo, two years later, what information has been proven usefull and what have not in the signal window? :P

It's actually pretty rare that I open a signal window, or rather: with most signals I open it exactly once: namely after placing the signal to look at the distance to the signal box. :) And if it's not 1.8 kms (i.e. the max. possible distance for mechanical boxes) away from the box I reload the game to place the signal box on another tile. When signalling a line I usually know pretty well where I want the signals to be, the hard thing is figuring out where to place the box, lol.

Ves

Yeah, a feature which shows the catchment area of a signalbox would indeed be useful!

You never use the window to debug problems in your network?

Jando

Quote from: Ves on May 25, 2019, 10:11:04 PM
Yeah, a feature which shows the catchment area of a signalbox would indeed be useful!

You never use the window to debug problems in your network?

Not really no. Of course now I could claim that my networks don't have problems, hehe. Okay, more a result of trial and error, by now I have figured it out. But then I mostly play before power boxes are a thing thus it's practically all absolute block signalling on my lines anyway - and absolute block is a pretty straightforward thing. Stop signal, distant signal and combined signal - not much choice to create problems there. :) And when I get a problem it's usually that I mis-clicked and placed a stop signal instead of a distant signal thus trains slow down where they should not.

Really, the only info in the signal window I need is the distance to the box and the type of the signal, the latter mostly because one needs to look very carefully to see the difference between a stop signal and a distant semaphore signal.

Vladki

Quote from: Ves on May 25, 2019, 10:11:04 PMYeah, a feature which shows the catchment area of a signalbox would indeed be useful!
I like that idea. Not only for signalbox but also for signal. Just using the same graphics as for stop coverage would be nice.

Ves

I have been toying around with the feature of showing information from the train that is reserving through the signal, and I am not convinced of it...
Currently I have made a text that swaps out with the text I mentioned earlier that displays "next stop signal in danger: xxx", or if the route ends before there is a stopsignal, it reads "clear till end of route: xxx".
It would also be possible to make it count how many signals it passes, wether they are multiple aspects etc.
But I wonder how usefull any of this is? Many signals just show danger for long periods of time, displaying the static display I mentioned in my previous post. Most of the time there are no reservations through the signal, so this information will mostly be hidden from the user. The information is not that usefull either IMO since the block reserver tool anyway gives a much clearer visual picture of how long a reserved block might be.
Storing the information on what route trains normally take I guess is also not viable, since that might be quite alot of extra memory just for this small GUI-feature.

So I think we should abolish taking the route from passing vehicles to find out where oncoming signals are, and instead only show the static display.

Ves

I have now found out how to make the range of the signalbox/signal visible on the ground when buying the signalbox/signal, just like the range is visible when you buy stations today.
BUT
The area covered are expressed as a two value coordinate, meaning that it is represented as a square... Since circles and squares never really have come along, the square pattern on the ground will in practice not display the actual coverage radius of the signalbox or signal.
The coding of this is dug deep down into the simutrans code and is likely not anything that I am capable of changing. And if it ever where to change, it probably should be synced with Simutrans Standard.

So, after that drawback, there might still the posibility to have a coverage shown on the ground much like pressing the 'v' key displays station coverage. It is not as clean and you need to build the signalbox before you can press the key, but would you think that feature usefull instead of the failed above one? In which case we should assign another key to this kind of coverage, perhaps having a button in the signalbox info window to toggle the coverage on and of.

Ves

Triple post!  ;D

There is now a ready update to the signal window, where the name of the signalbox now will look good, even though it would be a very long signalbox name.
Also, as mentioned earlier, there is a new button in the window that will open up the info window of the connected signalbox and set that as the "default signalbox" from which to buy new signals.
And also, the feature of showing the next signal, junction, or end of line, in the signal window. It has the limitations I outlined earlier in the thread.



Lastly and not related to the signals, I took the liberty to change some translations from the class manager's, where it had not been properly renamed to "price" instead of "class". It should help avoid further confusion in that window.

If you would like to implement this, the code is located here:
https://github.com/VictorErik/Simutrans-Experimental-Ves/tree/gui-small-improvements

fam621

Quote from: Ves on May 31, 2019, 03:16:08 PM
Triple post!  ;D

There is now a ready update to the signal window, where the name of the signalbox now will look good, even though it would be a very long signalbox name.
Also, as mentioned earlier, there is a new button in the window that will open up the info window of the connected signalbox and set that as the "default signalbox" from which to buy new signals.
And also, the feature of showing the next signal, junction, or end of line, in the signal window. It has the limitations I outlined earlier in the thread.



Lastly and not related to the signals, I took the liberty to change some translations from the class manager's, where it had not been properly renamed to "price" instead of "class". It should help avoid further confusion in that window.

If you would like to implement this, the code is located here:
https://github.com/VictorErik/Simutrans-Experimental-Ves/tree/gui-small-improvements

So, you would be allowed to name the signalling centre and when will this be implemented in the latest nightly builds of the game?

Ves

Unfortunately no, you cannot name the sigbalboxes yourself with this patch. It is the name of the signalboxes as presented in the game, which might be longer than fitting in one line. I just set the limit to five lines, and created an example name to debug it.

fam621

Quote from: Ves on June 01, 2019, 05:31:56 PM
Unfortunately no, you cannot name the sigbalboxes yourself with this patch. It is the name of the signalboxes as presented in the game, which might be longer than fitting in one line. I just set the limit to five lines, and created an example name to debug it.

Okay, however imo I just thought it could be a good idea to that say if you are recreating the train lines (i.e. the WCML) you could rename the signalling centres to the appropriate names (i.e. Wembley SCC or Stafford PSB)

Matthew

Quote from: Ves on May 29, 2019, 10:41:20 PM
I have now found out how to make the range of the signalbox/signal visible on the ground when buying the signalbox/signal, just like the range is visible when you buy stations today.
BUT
The area covered are expressed as a two value coordinate, meaning that it is represented as a square... Since circles and squares never really have come along, the square pattern on the ground will in practice not display the actual coverage radius of the signalbox or signal.

;D Frustrating!

The coding of this is dug deep down into the simutrans code and is likely not anything that I am capable of changing. And if it ever where to change, it probably should be synced with Simutrans Standard.

So, after that drawback, there might still the posibility to have a coverage shown on the ground much like pressing the 'v' key displays station coverage. It is not as clean and you need to build the signalbox before you can press the key, but would you think that feature usefull instead of the failed above one? In which case we should assign another key to this kind of coverage, perhaps having a button in the signalbox info window to toggle the coverage on and of.
[/quote]

Yes, I think that would be very useful, both for planning new signalboxes and for working out where to build new junctions and passing loops.
(Signature being tested) If you enjoy playing Simutrans, then you might also enjoy watching Japan Railway Journal
Available in English and simplified Chinese
如果您喜欢玩Simutrans的话,那么说不定就想看《日本铁路之旅》(英语也有简体中文字幕)。

jamespetts

Splendid, thank you very much for that. I have now incorporated this.

May I check whether you have uploaded the translation base texts to Simutranslator? I cannot recall whether you have access to that; I know that Ranran was granted access a while back.
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.