Skip to content

Player: Add sound effect for throwing the grapple string - #2902

Open
Codex-1010 wants to merge 3 commits into
endlessm:mainfrom
Codex-1010:grapple-throw-sfx
Open

Codex-1010 wants to merge 3 commits into
endlessm:mainfrom
Codex-1010:grapple-throw-sfx

Conversation

@Codex-1010

Copy link
Copy Markdown

Adds a sound effect that plays when the player throws the grappling hook string, using the "string_thrown" signal already emitted in "_new_hook_string()". The sound "Whip woosh" by ErikCruzDev (CC0) was used, licensed via a ".license" file following the project's REUSE convention. This addresses part of #1918 — specifically the "throwing thread" sound.

@Codex-1010
Codex-1010 requested a review from a team as a code owner September 16, 2026 04:31
@github-actions

Copy link
Copy Markdown

Play this branch at https://play.threadbare.game/branches/Codex-1010/grapple-throw-sfx/.

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

@manuq manuq left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I'm not an expert but I think this sounds very well! Check my request on unique names. Also your pull request description seems outdated:

Adds a sound effect that plays when the player throws the grappling hook string, using the "string_thrown" signal already emitted in "_new_hook_string()". The sound "Whip woosh" by ErikCruzDev (CC0) was used, licensed via a ".license" file following the project's REUSE convention. This addresses part of #1918 — specifically the "throwing thread" sound.

This PR is playing the sound directly in _new_hook_string(). This means that it will also play when making contact with the first hookable item (pin, needle, or any other). I don't think it's bad, I just mention it because reading the ticket #1918 that case could have a differrent sound effect.

Probably you intended to use the "string_thrown" signal and add the sound to the player scene. Another option would be to add it to the AnimationPlayer throw_string animation. I think what you have is good for now, just update the description to match the implementation.

Also please add the following as the last line in the description:

Helps https://github.com/endlessm/threadbare/issues/1918

We use "Helps" when the PR doesn't fully adress the issue. Thanks!

@onready var phantom_camera_2d: PhantomCamera2D = %PhantomCamera2D

## Plays a sound effect when the string is thrown.
@onready var throw_audio_player: AudioStreamPlayer2D = $ThrowAudioPlayer

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Please give a unique name to the new node, and reference it here with %. See the other @onready variables in this same file. This is documented in https://github.com/endlessm/threadbare/wiki/Contributing#coding-style

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Done, thanks for the pointer, updated all 5 audio player nodes to use unique names

@Codex-1010
Codex-1010 requested a review from a team as a code owner September 23, 2026 04:47
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