diff options
| author | tpart <tpart120@proton.me> | 2024-09-06 20:05:32 +0200 | 
|---|---|---|
| committer | tpart <tpart120@proton.me> | 2024-09-06 20:05:32 +0200 | 
| commit | 6d7e86c54309ad20662a159c68c394b8a8f3cca6 (patch) | |
| tree | d79fbbbd16b56995f0a1049dbbb43765c143cefb /client | |
| parent | 1002b2c04bb91007bf8baad8336a329be5e67ee7 (diff) | |
| download | hurrycurry-6d7e86c54309ad20662a159c68c394b8a8f3cca6.tar hurrycurry-6d7e86c54309ad20662a159c68c394b8a8f3cca6.tar.bz2 hurrycurry-6d7e86c54309ad20662a159c68c394b8a8f3cca6.tar.zst | |
Add beep sound effect when food is burning
Diffstat (limited to 'client')
| -rw-r--r-- | client/audio/beep.ogg | bin | 0 -> 7905 bytes | |||
| -rw-r--r-- | client/audio/beep.ogg.import | 19 | ||||
| -rw-r--r-- | client/audio/play_random.gd | 9 | ||||
| -rw-r--r-- | client/map/progress.gd | 10 | 
4 files changed, 35 insertions, 3 deletions
| diff --git a/client/audio/beep.ogg b/client/audio/beep.oggBinary files differ new file mode 100644 index 00000000..c4491fa3 --- /dev/null +++ b/client/audio/beep.ogg diff --git a/client/audio/beep.ogg.import b/client/audio/beep.ogg.import new file mode 100644 index 00000000..afbaabb1 --- /dev/null +++ b/client/audio/beep.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://e4vsty7bkg8s" +path="res://.godot/imported/beep.ogg-a7963d16930d94926b42639249fc8aad.oggvorbisstr" + +[deps] + +source_file="res://audio/beep.ogg" +dest_files=["res://.godot/imported/beep.ogg-a7963d16930d94926b42639249fc8aad.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/client/audio/play_random.gd b/client/audio/play_random.gd index 683d95ba..04ba006a 100644 --- a/client/audio/play_random.gd +++ b/client/audio/play_random.gd @@ -19,6 +19,7 @@ class_name PlayRandom  @export var volume_db := 0.0  @export var enable_attenuations := false +@export var randomize_pitch := true  var autoplay := false  var manual_setup_called := false @@ -31,18 +32,19 @@ func _ready():  	for s: AudioStreamPlayer3D in sounds:  		configure_player(s) -func setup(new_sounds: Array): +func setup(new_sounds: Array[AudioStream]):  	# new_sounds should be an array of AudioStream  	manual_setup_called = true  	for s in new_sounds:  		var player = AudioStreamPlayer3D.new()  		player.stream = s +		player.volume_db = volume_db  		configure_player(player)  		add_child(player)  		sounds.append(player)  func configure_player(player): -	player.connect("finished", sound_finished) +	player.finished.connect(sound_finished)  	player.volume_db = volume_db  	if not enable_attenuations: @@ -52,7 +54,8 @@ func play_random():  	if sounds.size() == 0: return  	var s = sounds[randi_range(0, sounds.size() - 1)] -	s.pitch_scale = randf_range(0.9, 1.1) +	if randomize_pitch: +		s.pitch_scale = randf_range(0.9, 1.1)  	s.play()  func stop_all(): diff --git a/client/map/progress.gd b/client/map/progress.gd index 1ca76287..438e5ac8 100644 --- a/client/map/progress.gd +++ b/client/map/progress.gd @@ -18,9 +18,16 @@  class_name ProgressBar3D  extends MeshInstance3D +var beep_node: PlayRandom = load("res://audio/play_random.tscn").instantiate()  var speed := 0.  var position_ := 0. +func _ready(): +	add_child(beep_node) +	beep_node.randomize_pitch = false +	beep_node.volume_db = -12 +	beep_node.setup([load("res://audio/beep.ogg")]) +  func update(new_position: float, new_speed: float, warn: bool):  	speed = new_speed  	position_ = new_position @@ -28,6 +35,9 @@ func update(new_position: float, new_speed: float, warn: bool):  	var mat: ShaderMaterial = get_active_material(0)  	mat.set_shader_parameter("progress", position_)  	mat.set_shader_parameter("bad", warn) +	 +	if warn and speed > 0: beep_node.start_autoplay() +	else: beep_node.stop_autoplay()  func _process(delta: float):  	position_ += delta * speed | 
