Another signalling problem from me...
Moderator: Moderators
- trains2
- Very Active Forum Member
- Posts: 1509
- Joined: Mon Feb 16, 2004 8:22 pm
- Location: Winchester
- Contact:
Another signalling problem from me...
Right, a new problem this time, unrelated from before.
I have been creating some new signals using TSM. I have made sure that the part properties bit has the 'light_' notation indicating that the part is to have lights on it. All exports fine, and the sigcfg and sigscr entries are all fine.
When I come to placing the signal in the RE however, and then running in MSTS, none of the lights appear. It shows up on the Track Monitor, but always as red, despite the scritping being exactly the same as another signal I am comparing with. I have tried moving the positions of the lights about several times, but still no show. The SigLight.ace file is also present and correct, so it cannot be that.
When comparing it to another signal, and indeed the signals in LSE, I can see no major differences that may cause this, so what on earth am I doing wrong?
If need be I can send the shape/texture/script files over to anyone who would like to see what I might be doing wrong, pm me in that case.
Regards
Rich
I have been creating some new signals using TSM. I have made sure that the part properties bit has the 'light_' notation indicating that the part is to have lights on it. All exports fine, and the sigcfg and sigscr entries are all fine.
When I come to placing the signal in the RE however, and then running in MSTS, none of the lights appear. It shows up on the Track Monitor, but always as red, despite the scritping being exactly the same as another signal I am comparing with. I have tried moving the positions of the lights about several times, but still no show. The SigLight.ace file is also present and correct, so it cannot be that.
When comparing it to another signal, and indeed the signals in LSE, I can see no major differences that may cause this, so what on earth am I doing wrong?
If need be I can send the shape/texture/script files over to anyone who would like to see what I might be doing wrong, pm me in that case.
Regards
Rich
- laurie_heath
- Been on the forums for a while
- Posts: 149
- Joined: Sun Jun 06, 2004 7:47 am
- Location: Kingston-Upon-Thames
- johny
- Very Active Forum Member
- Posts: 2609
- Joined: Fri Dec 07, 2001 12:00 am
- Location: N. Warks, UK.
I assume you are constructing multiple-aspect signals using TSM, you do not need to use the light notation as signal lights and their positions and size, etc, are set in the sigcfg.dat file. You need to make the signal animated, the rotation for the head only needs to be set to zero, otherwise TSM gives you one matrix, 'Signal', whereas you require at least 'Signal' and 'Head1'. I usually make the head a very small two-sided object (4 polys) and hide it at the correct height within the signal. The reason for using animation is exactly the same as for creating LODs with Polymaster, otherwise, when you "Create TS Object File", TSM joins all your subobjects together. You can then remove the Animations from the shape file by editing in WordPad, once the signal is working.
John
John
- trains2
- Very Active Forum Member
- Posts: 1509
- Joined: Mon Feb 16, 2004 8:22 pm
- Location: Winchester
- Contact:
Genius! Something as simple as that, thank you very much Laurie, and thanks John for the input.laurie_heath wrote:Just one tought on this:
There is an entry under SignalSubObj ( usually (but not always) "HEAD1"
This is the name of the part in your signal shape relative to which the lights are placed.
If this is different to the name of the signal head part in your shape then the lights will not show.
Rich

- trains2
- Very Active Forum Member
- Posts: 1509
- Joined: Mon Feb 16, 2004 8:22 pm
- Location: Winchester
- Contact:
I think I'll keep this as my signalling problem/info thread.
Moved onto Route Feathers at the weekend, and have managed to get single feathers to work fine (ignore the alpha trouble)


But have now moved onto Double route feathers, which poses a bit more a problem.
SigType for Left Hand feather followed by Right Hand feather, these both relay back to the Double feather as well as Single:
Shapes for the Double feather only:
Interestingly, I can get the first feather head of the double to work, 'FEATHERLH1', but no the second one, 'FEATHERRH1', so I'm 1/2 way there.
I have built the double feather head by just combining the left and right feathers in TSM, so the naming is correct. But I cannot work out why the lights show for Left Hand but not Right Hand, even though the Right Hand on its own shows up fine.
Regards
Rich
Moved onto Route Feathers at the weekend, and have managed to get single feathers to work fine (ignore the alpha trouble)


But have now moved onto Double route feathers, which poses a bit more a problem.
SigType for Left Hand feather followed by Right Hand feather, these both relay back to the Double feather as well as Single:
Code: Select all
SignalType ( "Feather1LH"
SignalFnType ( DISTANCE )
SignalLightTex ( "ltex" )
SignalLights ( 6
SignalLight ( 0 "White Light"
Position ( 0 0 0 )
Radius ( 0.001 )
)
SignalLight ( 1 "White Light"
Position ( 0.017 4.36 0.002 )
Radius ( 0.4 )
)
SignalLight ( 2 "White Light"
Position ( 0.115 4.46 0.002 )
Radius ( 0.4 )
)
SignalLight ( 3 "White Light"
Position ( 0.220 4.56 0.002 )
Radius ( 0.4 )
)
SignalLight ( 4 "White Light"
Position ( 0.317 4.66 0.002 )
Radius ( 0.4 )
)
SignalLight ( 5 "White Light"
Position ( 0.415 4.76 0.002 )
Radius ( 0.4 )
)
)
SignalDrawStates ( 2
SignalDrawState ( 0
"Blank"
DrawLights ( 1
DrawLight ( 0 )
)
)
SignalDrawState ( 1
"Show"
DrawLights ( 5
DrawLight ( 1 )
DrawLight ( 2 )
DrawLight ( 3 )
DrawLight ( 4 )
DrawLight ( 5 )
)
)
)
SignalAspects ( 0
)
)
SignalType ( "Feather1RH"
SignalFnType ( DISTANCE )
SignalLightTex ( "ltex" )
SignalLights ( 6
SignalLight ( 0 "White Light"
Position ( 0 0 0 )
Radius ( 0.001 )
)
SignalLight ( 1 "White Light"
Position ( -0.017 4.36 0.002 )
Radius ( 0.4 )
)
SignalLight ( 2 "White Light"
Position ( -0.115 4.46 0.002 )
Radius ( 0.4 )
)
SignalLight ( 3 "White Light"
Position ( -0.220 4.56 0.002 )
Radius ( 0.4 )
)
SignalLight ( 4 "White Light"
Position ( -0.317 4.66 0.002 )
Radius ( 0.4 )
)
SignalLight ( 5 "White Light"
Position ( -0.415 4.76 0.002 )
Radius ( 0.4 )
)
)
SignalDrawStates ( 2
SignalDrawState ( 0
"Blank"
DrawLights ( 1
DrawLight ( 0 )
)
)
SignalDrawState ( 1
"Show"
DrawLights ( 5
DrawLight ( 1 )
DrawLight ( 2 )
DrawLight ( 3 )
DrawLight ( 4 )
DrawLight ( 5 )
)
)
)
SignalAspects ( 0
)
)Code: Select all
SignalShape (
"sigfeather_1LH_1RH.s"
"1 LH 1 RH Signal Feather"
SignalSubObjs ( 2
SignalSubObj ( 0
"FEATHERLH1"
"Signal Feather LH1"
SigSubType ( SIGNAL_HEAD )
SignalFlags ( JN_LINK )
SigSubSType ( "Feather1LH" )
)
SignalSubObj ( 1
"FEATHERRH1"
"Signal Feather RH1"
SigSubType ( SIGNAL_HEAD )
SignalFlags ( OPTIONAL JN_LINK )
SigSubSType ( "Feather1RH" )
)
)
)I have built the double feather head by just combining the left and right feathers in TSM, so the naming is correct. But I cannot work out why the lights show for Left Hand but not Right Hand, even though the Right Hand on its own shows up fine.
Regards
Rich
- johny
- Very Active Forum Member
- Posts: 2609
- Joined: Fri Dec 07, 2001 12:00 am
- Location: N. Warks, UK.
Don't want to put a dampener on things, but you are really going over old ground.
Tony Formoso has a kit of feathers and suchlike which are simply added to existing signals. Others, including myself, have built colour-light signals complete with integral feathers. Rob Thorburn, Alan Thompson and Edmund Kinder all built MAS kits with feathers in the early days of MSTS, sadly only one is currently available for download, Edmund Kinder's Early BR Colour Light Signals.
About the only two things that can't be done satisfactorily are approach control and, in the realm of semaphores, calling on and limit of shunt signalling, which is why we all hope for better things with TMTS and KRS.
Having said that, don't let me put you off, I keep on finding different ways of doing things, but they are generally within the existing scripting.
John
Tony Formoso has a kit of feathers and suchlike which are simply added to existing signals. Others, including myself, have built colour-light signals complete with integral feathers. Rob Thorburn, Alan Thompson and Edmund Kinder all built MAS kits with feathers in the early days of MSTS, sadly only one is currently available for download, Edmund Kinder's Early BR Colour Light Signals.
About the only two things that can't be done satisfactorily are approach control and, in the realm of semaphores, calling on and limit of shunt signalling, which is why we all hope for better things with TMTS and KRS.
Having said that, don't let me put you off, I keep on finding different ways of doing things, but they are generally within the existing scripting.
John
- trains2
- Very Active Forum Member
- Posts: 1509
- Joined: Mon Feb 16, 2004 8:22 pm
- Location: Winchester
- Contact:
John, I am aware of the already available ones, but they are for a payware add-on, so I cannot use any freeware things, everything has to be done from scratch, except for the odd bit of scritpting that can be used as a template.
I cannot use the files for the other feathers because mine ar built in a different way. Whereas Tonys (I think) use the idea of having a base piece, and then adding the feathers to suit needs of the junction, I am creating seperate pieces for each feather combination, e.g. 1 left 1 right, 3 left 1 right etc. Although it adds more shapes, you can make the shapes much more accurate, with Tonys version, the centre light is ommited shared by all feathers is unable to be made or the 3L and 3R feathers would fowl the actual signal head.
I cannot use the files for the other feathers because mine ar built in a different way. Whereas Tonys (I think) use the idea of having a base piece, and then adding the feathers to suit needs of the junction, I am creating seperate pieces for each feather combination, e.g. 1 left 1 right, 3 left 1 right etc. Although it adds more shapes, you can make the shapes much more accurate, with Tonys version, the centre light is ommited shared by all feathers is unable to be made or the 3L and 3R feathers would fowl the actual signal head.

- timbooth
- Very Active Forum Member
- Posts: 1643
- Joined: Mon Feb 04, 2002 12:00 am
- Location: Walsall, UK
I think your problem is because you have made the right feather optional - I'm not sure if that feather can/will be linked. The SigSubJnLinkIf parameter should be used with optional heads.
Really, you'd be better off appending the feathers to the aspect signal shape - then setting those as both optional links, because at the moment the left one must always be present and linked. With two optional heads, you have a choice of left, right, and left+right feathers.
Also, using Distance as the signal type is not advisable since the feathers will operate/appear as a distant signal type - which could ruin signalling in the area. The INFO signal type ought to be used, so they don't interfere with anything.
The only problem with the INFO signal type is that it must be proceeded by at least one NORMAL signal type - otherwise it locks up MSTS. If you ever want to place an INFO signal where there is no preceeding NORMAL type, then the solution is to place a dummy/hidden NORMAL signal at the start of each track path before the INFO signal - facing towards the INFO signal.
Really, you'd be better off appending the feathers to the aspect signal shape - then setting those as both optional links, because at the moment the left one must always be present and linked. With two optional heads, you have a choice of left, right, and left+right feathers.
Also, using Distance as the signal type is not advisable since the feathers will operate/appear as a distant signal type - which could ruin signalling in the area. The INFO signal type ought to be used, so they don't interfere with anything.
The only problem with the INFO signal type is that it must be proceeded by at least one NORMAL signal type - otherwise it locks up MSTS. If you ever want to place an INFO signal where there is no preceeding NORMAL type, then the solution is to place a dummy/hidden NORMAL signal at the start of each track path before the INFO signal - facing towards the INFO signal.
- trains2
- Very Active Forum Member
- Posts: 1509
- Joined: Mon Feb 16, 2004 8:22 pm
- Location: Winchester
- Contact:
Thanks Tim,timbooth wrote:I think your problem is because you have made the right feather optional - I'm not sure if that feather can/will be linked. The SigSubJnLinkIf parameter should be used with optional heads.
Really, you'd be better off appending the feathers to the aspect signal shape - then setting those as both optional links, because at the moment the left one must always be present and linked. With two optional heads, you have a choice of left, right, and left+right feathers.
Also, using Distance as the signal type is not advisable since the feathers will operate/appear as a distant signal type - which could ruin signalling in the area. The INFO signal type ought to be used, so they don't interfere with anything.
The only problem with the INFO signal type is that it must be proceeded by at least one NORMAL signal type - otherwise it locks up MSTS. If you ever want to place an INFO signal where there is no preceeding NORMAL type, then the solution is to place a dummy/hidden NORMAL signal at the start of each track path before the INFO signal - facing towards the INFO signal.
Firstly, the second one was a JN_LINK as well, but that didn't work, so I tried OPTIONAL JN_LINK, didn't work either. I'll try your way of making them both OPTIONAL JN_LINK, see what happens.
Secondly, this is based on the UK RI feathers pack available of UKTS, and that uses DISTANCE as a signal type, and I have never experianced any problems with it when using on freeware routes.
|
Rich
- timbooth
- Very Active Forum Member
- Posts: 1643
- Joined: Mon Feb 04, 2002 12:00 am
- Location: Walsall, UK
Although the DISTANCE signal type may work in most situations, if there was a preceeding script that looked for the next distant signal then it would see the feather signal as the next distant rather than the next actual distant signal (if the route was set). With INFO type, not only can you avoid any possible interaction, but you can write scripts to look for INFO type signals if you want to repeat them or alter a proceeding signal.
The SHUNTING type is another type thats probably not used much - this type appears to act the same as INFO, but I suspect the reason for the specific type is so that you can write scripts to look for SHUNTING signals specifically, overlooking any INFO type signals inbetween. This gives you two layers of non-interactive signal types.
The SHUNTING type is another type thats probably not used much - this type appears to act the same as INFO, but I suspect the reason for the specific type is so that you can write scripts to look for SHUNTING signals specifically, overlooking any INFO type signals inbetween. This gives you two layers of non-interactive signal types.
- trains2
- Very Active Forum Member
- Posts: 1509
- Joined: Mon Feb 16, 2004 8:22 pm
- Location: Winchester
- Contact:
The OPTIONAL JN_LINK thing didn't work, will have to try something else.
I have never experianced a 'jumpy' link where is hasn't saved correctly, but is there a way of checking? I would've thought it would be ok as you can't exit the RE unless all Junction links are set up.I have just changed the oder of the shapes around, as so:
Now the right hand one lights but the left doesn't, even though that is now the OPTIONAL JN_LINK which is lightig, whereas before it was JN_LINK that would light. So it's more about the order of things that scripting.
Rich
--edit--
Just edited all feathers to INFO, no effect at all, but shall keep it that way as it seems to be better scripting wise.
I have never experianced a 'jumpy' link where is hasn't saved correctly, but is there a way of checking? I would've thought it would be ok as you can't exit the RE unless all Junction links are set up.I have just changed the oder of the shapes around, as so:
Code: Select all
SignalShape (
"sigfeather_1LH_1RH.s"
"1 LH 1 RH Signal Feather"
SignalSubObjs ( 2
SignalSubObj ( 0
"FEATHERRH1"
"Signal Feather RH1"
SigSubType ( SIGNAL_HEAD )
SignalFlags ( OPTIONAL JN_LINK )
SigSubSType ( "Feather1RH" )
)
SignalSubObj ( 1
"FEATHERLH1"
"Signal Feather LH1"
SigSubType ( SIGNAL_HEAD )
SignalFlags ( JN_LINK )
SigSubSType ( "Feather1LH" )
)
)
)Rich
--edit--
Just edited all feathers to INFO, no effect at all, but shall keep it that way as it seems to be better scripting wise.

- timbooth
- Very Active Forum Member
- Posts: 1643
- Joined: Mon Feb 04, 2002 12:00 am
- Location: Walsall, UK
With optionally linked signals, RE probably won't complain if the link isn't set for an optional head.
Just try and reapply the link, it will show the current state so you know if it needs changing/applying.
Also, try deleting and replacing the signal shape - just as the tdb links to the sigcfg file, so do world file entries. The signal entry stores references to linked paths for each head, so if you alter the head order/setup the world file signal entry won't match.
You should not really have a problem setting up more than one feathers.
I've only set up semaphores, but the principles are the same - here's my config for a GWR backing signal with a mechanical route indicator (3 routes).
This isn't a finished signal, as the links shouldn't be optional but it helped when testing not to have to set all three 3 routes to prevent RE complaining.
Just try and reapply the link, it will show the current state so you know if it needs changing/applying.
Also, try deleting and replacing the signal shape - just as the tdb links to the sigcfg file, so do world file entries. The signal entry stores references to linked paths for each head, so if you alter the head order/setup the world file signal entry won't match.
You should not really have a problem setting up more than one feathers.
I've only set up semaphores, but the principles are the same - here's my config for a GWR backing signal with a mechanical route indicator (3 routes).
Code: Select all
SignalShape (
"dnsr_signal_backing_ri3.s"
"Backing signal with Route Indicator (3x)"
SignalSubObjs ( 4
SignalSubObj ( 0
"HEAD1"
"Stop Arm"
SigSubType ( SIGNAL_HEAD )
SignalFlags ( DEFAULT )
SigSubSType ( "dnsrBacking" )
)
SignalSubObj ( 1
"HEAD2"
"Route Indicator 1"
SigSubType ( SIGNAL_HEAD )
SignalFlags ( OPTIONAL JN_LINK )
SigSubSType ( "dnsrRI" )
)
SignalSubObj ( 2
"HEAD3"
"Route Indicator 2"
SigSubType ( SIGNAL_HEAD )
SignalFlags ( OPTIONAL JN_LINK )
SigSubSType ( "dnsrRI" )
)
SignalSubObj ( 3
"HEAD4"
"Route Indicator 3"
SigSubType ( SIGNAL_HEAD )
SignalFlags ( OPTIONAL JN_LINK )
SigSubSType ( "dnsrRI" )
)
)
)
- trains2
- Very Active Forum Member
- Posts: 1509
- Joined: Mon Feb 16, 2004 8:22 pm
- Location: Winchester
- Contact:
I think I've found the problem, its the Hierarchy.
Comparing it to the MT signals:

So the shape has somehow combined into one, even though in TSM I separated the shapes, so the left feather is FEATHERLH1 and the right is FEATHERRH1.
How do you get it to be two separate shapes within the project? I thought you jsut had to have them separate from each other and name them differently, obviously not.
Rich
Comparing it to the MT signals:

So the shape has somehow combined into one, even though in TSM I separated the shapes, so the left feather is FEATHERLH1 and the right is FEATHERRH1.
How do you get it to be two separate shapes within the project? I thought you jsut had to have them separate from each other and name them differently, obviously not.
Rich
