[2.0.8] Rail signal that does not split rail blocks

Bugs that are actually features.
ruspartisan
Burner Inserter
Burner Inserter
Posts: 15
Joined: Mon Jul 15, 2019 7:53 pm
Contact:

[2.0.8] Rail signal that does not split rail blocks

Post by ruspartisan »

I was designing a rail intersection, and created two diagonal rails close to each other, and a small connection between them. I can place a rail signal on this small connection, that does not split these diagonal rails into separate blocks. See the screenshot that shows that diagonal rails are the same purple block.

What I expect to happen: either don't allow putting signal there or split rail blocks.

Steps to reproduce:
1) Place blueprint
2) Remove the central rail signal
3) See that game suggests placing a signal there (green square block) when holding a rail signal in hand.

Blueprint string:

Code: Select all

0eNql1dtuhCAQBuB3mWvciAgWX6VpGg/UJVHcoG66Mb57WbW2zbpxtJcqfPmdGbGHtOzUxWrTQtyDzmrTQPzaQ6MLk5T3eyapFMRgE13CQECbXH1CTIc3Asq0utVq2jFe3N5NV6XKugXk905v9ghc6sbtqc2ddo7nnziBm1t/4k7PtVXZ9JiygTyowaJmnb2q3Bvx9NGlE/qXFCsiW8RzUn54uU6K2iUd4X+w4S7WY6PLtl2+y+VYViC7FczdClHdig7Ulm+HfcGFfZ41XEHlgjatY4tz+yRmOKHbMam/6/Ul9vUpPTADEcINsCUQIykQJMO1itK5VxFqrui+r4sydAk49nyZuiURg0XFgTGQiKwRrrby+4D1V2rrDnHdqsoZP/8BAldlm3EFF4EMpeRMhlz4dBi+AOdWCD8=
Attachments
factorio-current.log
(9.3 KiB) Downloaded 4 times
signal_bug.jpg
signal_bug.jpg (301.93 KiB) Viewed 376 times

sparr
Smart Inserter
Smart Inserter
Posts: 1430
Joined: Fri Feb 14, 2014 5:52 pm
Contact:

Re: [2.0.8] Rail signal that does not split rail blocks

Post by sparr »

I really hope they go with the second option :)

User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 2888
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: [2.0.8] Rail signal that does not split rail blocks

Post by boskid »

Thanks for the report however this is Not a bug.

This is a corner case of new rail shapes where due to small angles the pieces sometimes overlap each other in a non obvious ways. Take a look at the show-rail-segment-collision-boxes debug layer:
10-27-2024, 21-48-12.png
10-27-2024, 21-48-12.png (586.93 KiB) Viewed 223 times
Your signal splits rail A from rail B, however rail B is in the same rail block as rail C due to overlap, rail C is not split from rail D because of missing signal and rail D overlaps rail A so all the rail pieces are in the same rail block and signal is unable to split blocks until a secondary signal is placed that would split rail C from rail D. From my point of view this is exactly the same situation where you have a large roundabout where all signal spots have to be proposed even when first signal placed is unable to split blocks in half - they do not split until a second signal is placed somewhere else to complete the split. Signal spots are always proposed if rails on both sides are not connected by overlaps since overlapping rails are always forced to be in the same rail block without ability to split it by signals.

sparr
Smart Inserter
Smart Inserter
Posts: 1430
Joined: Fri Feb 14, 2014 5:52 pm
Contact:

Re: [2.0.8] Rail signal that does not split rail blocks

Post by sparr »

Would it be possible for this configuration to instead split B from the rail extending off the bottom right of the image?

User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 2888
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: [2.0.8] Rail signal that does not split rail blocks

Post by boskid »

I do not want to do this because the signal would be splitting rail at the wrong end relative to where the signal is placed.
10-28-2024, 12-05-58.png
10-28-2024, 12-05-58.png (306.25 KiB) Viewed 185 times

sparr
Smart Inserter
Smart Inserter
Posts: 1430
Joined: Fri Feb 14, 2014 5:52 pm
Contact:

Re: [2.0.8] Rail signal that does not split rail blocks

Post by sparr »

While I agree in general, it seems like there should be an automated/formalized exception in the case where a placement at one end of a segment doesn't split any block, but a placement at the other end would, and the signal placement at the other end is inaccessible.

Post Reply

Return to “Not a bug”