Skip to content

Keep cutscenes in the game view in multiplayer - #1680

Merged
grilledham merged 1 commit into
Refactorio:developfrom
lex:fix-cutscene-map-view
Nov 6, 2026
Merged

grilledham merged 1 commit into
Refactorio:developfrom
lex:fix-cutscene-map-view

Conversation

@lex

@lex lex commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

On a server, the Danger Ores intro cutscene loses its caption when it zooms out to show spawn, and the player sees the map instead of the ground. The rest of the cutscene is fine, and the same shot looks right in single player.

In multiplayer the game switches a cutscene to map view once about 200 tiles fit across the window (furthest_game_view = {distance = 200, max_distance = 500}), and what a cutscene draws in the world isn't drawn on the map. On a 6016x3268 window it switched at about zoom 0.43, and the spawn shot is at 0.35. The switch depends on the window size, so a large enough screen could lose the title and goal cards at zoom 0.5 too.

register_running_cutscene now sets the cutscene controller's furthest_game_view to zoom 0.1, further out than any waypoint.

Before, on a local server:
1_before

After, on a local server:
2_after_spawn

This also changes Crash Site. Its first cutscene has a shot at zoom 0.2 with a caption, which is past the limit, so on a server that shot should have been in map view with no caption. It now stays in the game view with the caption showing:

3_crash_site

Testing

  • On a local server and client at the same window size, player.render_mode changes to map view during the zoom-out on develop and stays in the game view on this branch.
  • The limit isn't reset when a cutscene ends, because it only applies to the cutscene controller. On a local server, the character's zoom limits read the same before and after a cutscene, on develop and on this branch.
  • Not yet tried on a live server.
  • features/cutscene/cutscene_controller_tests.lua checks that a cutscene sets the limit, and fails with the line removed. It needs a real player, so it's skip-headless and CI doesn't run it. I ran it in a client, in single player. The switch itself only happens in multiplayer, so the test checks the limit and not the view.
  • Headless tests pass on danger-ore and crashsite, and luacheck is clean.

Not in this PR

  • Other players' names show through the black cards.
  • Text drawn on the map gets dim at night.

🤖 Generated with Claude Code

In multiplayer the game switches to map view once about 200 tiles fit
across the window, and what a cutscene draws in the world isn't drawn on
the map. Danger Ores' spawn shot at zoom 0.35 lost its caption that way,
and showed the map instead of the ground. Single player doesn't switch.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@lex
lex marked this pull request as ready for review November 6, 2026 14:10
@grilledham
grilledham merged commit 84f2c24 into Refactorio:develop Nov 6, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants