Confirmed.
Headlights consist of two parts: the emitting projector casting the light, and the glowing shape on the locomotive body.
Each of them being "on"or "off" used to be simply controlled by the game engine reading the engine blueprint and through the proper naming convention.
With the introduction of more lights, the engine script nowadays takes control of the lights.
The Headlights value in the <ControlValues> section now has possible values of 0,1,2,3. Formerly, engines used only to allow 0 (off), 1 (forwards) or 2 (backwards).
The SD75 engine script is thankfully still in cleartext lua, and it shows that headlight positions 0,1,2,3 are defined.
- Code: Select all
if Call("*:GetControlValue", "Headlights", 0) == 0 then
Call( "Fwd_Headlight_01:Activate", 0)
Call( "Fwd_Headlight_02:Activate", 0)
Call( "Fwd_Headlight_03:Activate", 0)
Call( "Bwd_Headlight_01:Activate", 0)
Call ( "ActivateNode", "lights_front", 0 )
Call ( "ActivateNode", "lights_rear", 0 )
elseif Call("*:GetControlValue", "Headlights", 0) == 1 then
Call( "Fwd_Headlight_01:Activate", 1)
Call( "Fwd_Headlight_02:Activate", 1)
Call( "Fwd_Headlight_03:Activate", 1)
Call( "Bwd_Headlight_01:Activate", 0)
Call ( "ActivateNode", "lights_front", 1 )
Call ( "ActivateNode", "lights_rear", 0 )
elseif Call("*:GetControlValue", "Headlights", 0) == 2 then
Call( "Fwd_Headlight_01:Activate", 0)
Call( "Fwd_Headlight_02:Activate", 0)
Call( "Fwd_Headlight_03:Activate", 0)
Call( "Bwd_Headlight_01:Activate", 1)
Call ( "ActivateNode", "lights_front", 0 )
Call ( "ActivateNode", "lights_rear", 1 )
elseif Call("*:GetControlValue", "Headlights", 0) == 3 then
Call( "Fwd_Headlight_01:Activate", 1)
Call( "Fwd_Headlight_02:Activate", 1)
Call( "Fwd_Headlight_03:Activate", 1)
Call( "Bwd_Headlight_01:Activate", 1)
Call ( "ActivateNode", "lights_front", 1 )
Call ( "ActivateNode", "lights_rear", 1 )
end
0 = dark, 1 = forwards, 2 = backwards, 3 = all on. Looks OK, right?
The position and projection matrices of the emitters in the blueprint seem OK to me as well.
Yet it doesn't work as programmed. Why?

The shapefile nodes on the locomotive body come on and off as intended, so it must be the projectors. Game engine interference because of bright and dimmed settings?
Trying a single SD75M.
In position 0, the engine is dark
In position 1, the forwards headlight shapes light up, as do the numberboards, but no light emitters.
In position 2, the emitters come on depending on reverser position, the backwards headlight lights up, but the forwards headlight shapes remain unlit.
In position 3, no emitters come on, and all headlight shapes are lit, numberboards as well.
<ApplyToConsist> is set to False, so no propagation along a m.u. consist.
What are the intended headlight positions in TS2015?
Where is the new features list?
What other engine has working bright/dim headlights? The SD75 enginescript can perhaps be adapted.