diff --git a/assets/Audio/SFX/foot_step_1.wav b/assets/Audio/SFX/foot_step_1.wav new file mode 100644 index 0000000..d327d81 Binary files /dev/null and b/assets/Audio/SFX/foot_step_1.wav differ diff --git a/assets/Audio/SFX/foot_step_1.wav.import b/assets/Audio/SFX/foot_step_1.wav.import new file mode 100644 index 0000000..9d2213c --- /dev/null +++ b/assets/Audio/SFX/foot_step_1.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/foot_step_1.wav-e5bfa642597cfdcbfc1cbbbe178800aa.sample" + +[deps] + +source_file="res://assets/Audio/SFX/foot_step_1.wav" +dest_files=[ "res://.import/foot_step_1.wav-e5bfa642597cfdcbfc1cbbbe178800aa.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/assets/Audio/SFX/foot_step_2.wav b/assets/Audio/SFX/foot_step_2.wav new file mode 100644 index 0000000..c097202 Binary files /dev/null and b/assets/Audio/SFX/foot_step_2.wav differ diff --git a/assets/Audio/SFX/foot_step_2.wav.import b/assets/Audio/SFX/foot_step_2.wav.import new file mode 100644 index 0000000..f61816b --- /dev/null +++ b/assets/Audio/SFX/foot_step_2.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/foot_step_2.wav-b2a1cc7662fdbbb59c158c54078ab489.sample" + +[deps] + +source_file="res://assets/Audio/SFX/foot_step_2.wav" +dest_files=[ "res://.import/foot_step_2.wav-b2a1cc7662fdbbb59c158c54078ab489.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/src/Actors/Player.gd b/src/Actors/Player.gd index 362240a..195cd9c 100644 --- a/src/Actors/Player.gd +++ b/src/Actors/Player.gd @@ -154,6 +154,8 @@ func _on_landed(): if fall_distance > 150: AudioManager.play_sfx(AudioManager.Sfx.PLAYER_LAND) $Camera.start_shake() + else : + play_foot_step_1() _falling_start_position = position.y emit_signal("landed", position) @@ -343,6 +345,11 @@ func set_position(pos:Vector2): position = pos _falling_start_position = pos.y +func play_foot_step_1(): + AudioManager.play_sfx(AudioManager.Sfx.PLAYER_STEP_1) + +func play_foot_step_2(): + AudioManager.play_sfx(AudioManager.Sfx.PLAYER_STEP_2) func boost(velocity:Vector2): if _state == States.DASHING: _on_DashTimeout_timeout(false) diff --git a/src/Actors/Player.tscn b/src/Actors/Player.tscn index 7cbb702..6d1aef1 100644 --- a/src/Actors/Player.tscn +++ b/src/Actors/Player.tscn @@ -600,6 +600,23 @@ tracks/4/keys = { "update": 1, "values": [ true ] } +tracks/5/type = "method" +tracks/5/path = NodePath(".") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"times": PoolRealArray( 0.3, 0.5 ), +"transitions": PoolRealArray( 1, 1 ), +"values": [ { +"args": [ ], +"method": "play_foot_step_1" +}, { +"args": [ ], +"method": "play_foot_step_2" +} ] +} [sub_resource type="Animation" id=12] length = 0.3 @@ -695,7 +712,7 @@ position = Vector2( 0, -8 ) texture = ExtResource( 8 ) vframes = 13 hframes = 8 -frame = 32 +frame = 13 [node name="SordRange" type="Area2D" parent="Sprite"] position = Vector2( -8, 8 ) diff --git a/src/GameWorld/Levels/Area1/Area11.gd b/src/GameWorld/Levels/Area1/Area11.gd index cb8ec77..8298c65 100644 --- a/src/GameWorld/Levels/Area1/Area11.gd +++ b/src/GameWorld/Levels/Area1/Area11.gd @@ -2,3 +2,6 @@ extends Level func ready() -> void: $AmbiantLighting.change_light("AREA1") + +func _enter_tree() -> void: + AudioManager.play_music(AudioManager.Music.Abandon) \ No newline at end of file diff --git a/src/GameWorld/Levels/PreGame.gd b/src/GameWorld/Levels/PreGame.gd index d1a4d8d..32e995d 100644 --- a/src/GameWorld/Levels/PreGame.gd +++ b/src/GameWorld/Levels/PreGame.gd @@ -11,7 +11,8 @@ func _ready() -> void: _player.set_ability("attack", true) func _enter_tree(): - AudioManager.play_music(AudioManager.Music.PreGame) + if AudioManager.current_music() != AudioManager.Music.PreGame: + AudioManager.play_music(AudioManager.Music.PreGame) func _on_OldDudeIntroArea_body_entered(body: Node) -> void: if _played_old_man_cutscene: return diff --git a/src/Singletons/AudioManager.gd b/src/Singletons/AudioManager.gd index 80302bb..7bfc54b 100644 --- a/src/Singletons/AudioManager.gd +++ b/src/Singletons/AudioManager.gd @@ -25,6 +25,8 @@ enum Sfx{ COIN_COLLECTION, ORB_COLLECTION, PLAYER_JUMP, + PLAYER_STEP_1, + PLAYER_STEP_2, PLAYER_LAND, PLAYER_DASH, PLAYER_ATTACK, @@ -41,6 +43,8 @@ var _sfx_files := { Sfx.COIN_COLLECTION : load("res://assets/Audio/SFX/coin.wav"), Sfx.ORB_COLLECTION : load("res://assets/Audio/SFX/orb.wav"), Sfx.PLAYER_JUMP : load("res://assets/Audio/SFX/player_jump.wav"), + Sfx.PLAYER_STEP_1 : load("res://assets/Audio/SFX/foot_step_1.wav"), + Sfx.PLAYER_STEP_2 : load("res://assets/Audio/SFX/foot_step_2.wav"), Sfx.PLAYER_LAND : load("res://assets/Audio/SFX/player_land.wav"), Sfx.PLAYER_DASH : load("res://assets/Audio/SFX/player_dash.wav"), Sfx.PLAYER_ATTACK : load("res://assets/Audio/SFX/player_attack.wav"), @@ -121,3 +125,5 @@ func _on_Tween_completed(object: Object, key: NodePath) -> void: pass # Replace with function body. +func current_music(): + return _current_music \ No newline at end of file