[Klonan] [2.0.11] New cutscenes don't use previous waypoint zoom value
Posted: Sun Oct 27, 2024 7:24 am
In Factorio 1.1 when overwriting the cutscene controller with new waypoints, if the first waypoint had `zoom = nil` then the zoom value from the previous waypoint would be used. In 2.0.11 this behavior has changed, so if the first waypoint has no zoom the camera will go way in.
I assume (and hope) this is not intentional, but I understand that this specific behavior was not documented in the first place so I'm almost hesitant to make the bug report. But I liked the behavior and utilized it in my mod. I think it makes sense since the same logic is explicitly stated for waypoint-to-waypoint transitions (https://lua-api.factorio.com/latest/con ... point.html). Cutscene-to-cutscene zoom inheritance should be the same.
Steps to reproduce:
1. Load a new save
2. Start a cutscene with a zoom value set for each waypoint
3. While the previous cutscene is playing, start a new cutscene where zoom is not set
Result: In 1.1, the second cutscene would have used the zoom value from the current waypoint of the already playing cutscene, but in 2.0 it resets and zooms the camera way in.
Thanks
I assume (and hope) this is not intentional, but I understand that this specific behavior was not documented in the first place so I'm almost hesitant to make the bug report. But I liked the behavior and utilized it in my mod. I think it makes sense since the same logic is explicitly stated for waypoint-to-waypoint transitions (https://lua-api.factorio.com/latest/con ... point.html). Cutscene-to-cutscene zoom inheritance should be the same.
Steps to reproduce:
1. Load a new save
2. Start a cutscene with a zoom value set for each waypoint
Code: Select all
/c game.player.set_controller(
{
type = defines.controllers.cutscene,
waypoints = {
{
position = {x = 0, y = 0},
transition_time = 60,
time_to_wait = 60,
zoom = .5
},
{
position = {x = 10, y = 10},
transition_time = 60,
time_to_wait = 60,
zoom =.4
},
{
position = {x = 0, y = 0},
transition_time = 60,
time_to_wait = 60,
zoom = .3
},
},
}
)
Code: Select all
/c game.player.set_controller(
{
type = defines.controllers.cutscene,
waypoints = {
{
position = {x = 0, y = 0},
transition_time = 60,
time_to_wait = 60,
},
{
position = {x = 10, y = 10},
transition_time = 60,
time_to_wait = 60,
},
{
position = {x = 0, y = 0},
transition_time = 60,
time_to_wait = 60,
},
},
}
)
Thanks