[2.0.7] SpriteParameters::rotate_shift has no effect on rail signal
Posted: Mon Oct 21, 2024 3:37 am
What I tried to do:
I wanted to shift the rail signal sprites farther away from the rail centerline, specifically for the Cargo Ships Signal Buoys so they don't get run over by the ships. I tried to do this using the SpriteParamters "shift={-1,0}" and "rotate_shift=true" properties. There was no "unused prototype property" message in the verbose log file, so I assumed they were ingested somehow. Attached is the simple reproduction mod used to make the following screenshot.
What I expected to happen:
I expected the north-facing signal to shift to the left, the south-facing signal to shift to the right, and other directions to shift by a rotated vector away from the placement position. The yellow-and-red squares in this image show where I expected the signals to appear:
What actually happened:
As seen in the above image, the shift took effect without any concern for entity rotation, and every orientation of signal shifted to the left on the screen. The "rotate_shift" option seems to have had no effect. Since there is no documentation on what exactly this parameter does, either in general or in specific contexts, I don't know if I'm misunderstanding it, or if rotate_shift simply doesn't apply to rail signals. I would very much like this to be a bug that can be corrected, so that I don't have to re-render the signal buoys with different rotated offsets the way the original spritesheets did (back in 0.16).
I wanted to shift the rail signal sprites farther away from the rail centerline, specifically for the Cargo Ships Signal Buoys so they don't get run over by the ships. I tried to do this using the SpriteParamters "shift={-1,0}" and "rotate_shift=true" properties. There was no "unused prototype property" message in the verbose log file, so I assumed they were ingested somehow. Attached is the simple reproduction mod used to make the following screenshot.
What I expected to happen:
I expected the north-facing signal to shift to the left, the south-facing signal to shift to the right, and other directions to shift by a rotated vector away from the placement position. The yellow-and-red squares in this image show where I expected the signals to appear:
What actually happened:
As seen in the above image, the shift took effect without any concern for entity rotation, and every orientation of signal shifted to the left on the screen. The "rotate_shift" option seems to have had no effect. Since there is no documentation on what exactly this parameter does, either in general or in specific contexts, I don't know if I'm misunderstanding it, or if rotate_shift simply doesn't apply to rail signals. I would very much like this to be a bug that can be corrected, so that I don't have to re-render the signal buoys with different rotated offsets the way the original spritesheets did (back in 0.16).