Skip to content

grappling_hook_start: Switch to Creep Outro when returning from powerup#2112

Merged
manuq merged 1 commit intomainfrom
wjt/grappling-hook-start-switch-to-creep-outro-when-returning-from-powerup
Apr 14, 2026
Merged

grappling_hook_start: Switch to Creep Outro when returning from powerup#2112
manuq merged 1 commit intomainfrom
wjt/grappling-hook-start-switch-to-creep-outro-when-returning-from-powerup

Conversation

@wjt
Copy link
Copy Markdown
Member

@wjt wjt commented Apr 14, 2026

The desired behaviour is that when the player returns to this scene
after collecting the powerup, a music transition to Creep Outro is
triggered. Creep Loop will be playing, so this allows it to reach its
natural end, then play an outro, and transition to Still in preparation
for the next scene, void_grappling.

Previously this was achieved by having a second copy of this scene,
grappling_hook_end, which set BackgroundMusic.clip to "Creep Outro".
However since commit b86ea32 this scene
was removed. As a result the music was switched to Creep Intro when
returning to this scene.

Change BackgroundMusic.switch_to_clip() into a setter for
BackgroundMusic.clip, so that it can be used before
BackgroundMusic.play() has been called (from _ready()). (This has the
nice side-benefit that you can now test AudioStreamInteractive
transitions in the editor by hitting Play in the inspector then
adjusting the Clip property!)

In grappling_hook_start, add a ClipSwitcher, triggered by the player
being teleported, in the same way that we disable the opening dialogue
in that case.

Update ink_combat_round_6 to use ClipSwitcher, matching
ink_combat_round_3.

Resolves #2110

The desired behaviour is that when the player returns to this scene
after collecting the powerup, a music transition to Creep Outro is
triggered. Creep Loop will be playing, so this allows it to reach its
natural end, then play an outro, and transition to Still in preparation
for the next scene, void_grappling.

Previously this was achieved by having a second copy of this scene,
grappling_hook_end, which set BackgroundMusic.clip to "Creep Outro".
However since commit b86ea32 this scene
was removed. As a result the music was switched to Creep Intro when
returning to this scene.

Change BackgroundMusic.switch_to_clip() into a setter for
BackgroundMusic.clip, so that it can be used before
BackgroundMusic.play() has been called (from _ready()). (This has the
nice side-benefit that you can now test AudioStreamInteractive
transitions in the editor by hitting Play in the inspector then
adjusting the Clip property!)

In grappling_hook_start, add a ClipSwitcher, triggered by the player
being teleported, in the same way that we disable the opening dialogue
in that case.

Update ink_combat_round_6 to use ClipSwitcher, matching
ink_combat_round_3.

Resolves #2110
@wjt wjt requested a review from a team as a code owner April 14, 2026 07:28
@github-actions
Copy link
Copy Markdown

Play this branch at https://play.threadbare.game/branches/endlessm/wjt/grappling-hook-start-switch-to-creep-outro-when-returning-from-powerup/.

(This launches the game from the start, not directly at the change(s) in this pull request.)

Copy link
Copy Markdown
Collaborator

@manuq manuq left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't realize that I broke this, sorry.

Is very nice to test the music transitions in the editor. I spent some time clicking Play and then changing the Clip.

The clips I see now in a playthrough are:

  • Creep Intro in grappling_hook_start, the first time.
  • Creep Loop in the levels in between.
  • Creep Outro in grappling_hook_start, when returning.

@manuq manuq merged commit 93a65ce into main Apr 14, 2026
6 checks passed
@manuq manuq deleted the wjt/grappling-hook-start-switch-to-creep-outro-when-returning-from-powerup branch April 14, 2026 11:08
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.

Wrong section of “Void Creep” played when returning to grappling_hook_start

2 participants