diff --git a/splunk/levels/lobby-scene/campfire.blend b/splunk/levels/lobby-scene/campfire/campfire.blend similarity index 100% rename from splunk/levels/lobby-scene/campfire.blend rename to splunk/levels/lobby-scene/campfire/campfire.blend diff --git a/splunk/levels/lobby-scene/campfire.blend.import b/splunk/levels/lobby-scene/campfire/campfire.blend.import similarity index 84% rename from splunk/levels/lobby-scene/campfire.blend.import rename to splunk/levels/lobby-scene/campfire/campfire.blend.import index 69e54ce..902d7fb 100644 --- a/splunk/levels/lobby-scene/campfire.blend.import +++ b/splunk/levels/lobby-scene/campfire/campfire.blend.import @@ -4,12 +4,12 @@ importer="scene" importer_version=1 type="PackedScene" uid="uid://ceovc780lyj1r" -path="res://.godot/imported/campfire.blend-1967172202db68012bf33114a0780a5f.scn" +path="res://.godot/imported/campfire.blend-0f4f394f7ed7f3b3e2d3c3ac81a19ebb.scn" [deps] -source_file="res://levels/lobby-scene/campfire.blend" -dest_files=["res://.godot/imported/campfire.blend-1967172202db68012bf33114a0780a5f.scn"] +source_file="res://levels/lobby-scene/campfire/campfire.blend" +dest_files=["res://.godot/imported/campfire.blend-0f4f394f7ed7f3b3e2d3c3ac81a19ebb.scn"] [params] diff --git a/splunk/levels/lobby-scene/campfire/campfire.gd b/splunk/levels/lobby-scene/campfire/campfire.gd new file mode 100644 index 0000000..e84c708 --- /dev/null +++ b/splunk/levels/lobby-scene/campfire/campfire.gd @@ -0,0 +1,22 @@ +extends Node3D + +@export var campfire_lit: bool = false +@export var fire_particles: GPUParticles3D +@export var smoke_particles: GPUParticles3D +@export var audio_stream_player_3d: AudioStreamPlayer3D +@export var sfx_files: Array[AudioStreamWAV] = [] + + +func _ready() -> void: + audio_stream_player_3d.finished.connect(play_random_sfx) + play_random_sfx() + + +func light_campfire(): + fire_particles.emitting = true + smoke_particles.emitting = true + + +func play_random_sfx(): + audio_stream_player_3d.stream = sfx_files.pick_random() + audio_stream_player_3d.play() diff --git a/splunk/levels/lobby-scene/campfire/campfire.gd.uid b/splunk/levels/lobby-scene/campfire/campfire.gd.uid new file mode 100644 index 0000000..996ec0e --- /dev/null +++ b/splunk/levels/lobby-scene/campfire/campfire.gd.uid @@ -0,0 +1 @@ +uid://mjtng3tgusx0 diff --git a/splunk/levels/lobby-scene/campfire.tscn b/splunk/levels/lobby-scene/campfire/campfire.tscn similarity index 81% rename from splunk/levels/lobby-scene/campfire.tscn rename to splunk/levels/lobby-scene/campfire/campfire.tscn index 35bea93..9bb6049 100644 --- a/splunk/levels/lobby-scene/campfire.tscn +++ b/splunk/levels/lobby-scene/campfire/campfire.tscn @@ -1,7 +1,9 @@ -[gd_scene load_steps=17 format=3 uid="uid://wcsd1tb0quj3"] +[gd_scene load_steps=19 format=3 uid="uid://wcsd1tb0quj3"] -[ext_resource type="PackedScene" uid="uid://ceovc780lyj1r" path="res://levels/lobby-scene/campfire.blend" id="1_5k61m"] -[ext_resource type="Texture2D" uid="uid://ciegdylo5csyt" path="res://levels/lobby-scene/textures/smoke-particle-texture.png" id="2_4swet"] +[ext_resource type="PackedScene" uid="uid://ceovc780lyj1r" path="res://levels/lobby-scene/campfire/campfire.blend" id="1_5k61m"] +[ext_resource type="Script" uid="uid://mjtng3tgusx0" path="res://levels/lobby-scene/campfire/campfire.gd" id="1_pgdjc"] +[ext_resource type="Texture2D" uid="uid://ciegdylo5csyt" path="res://levels/lobby-scene/campfire/textures/smoke-particle-texture.png" id="2_4swet"] +[ext_resource type="AudioStream" uid="uid://bx01sxorforuo" path="res://levels/lobby-scene/campfire/fire.wav" id="4_u2sse"] [sub_resource type="Gradient" id="Gradient_5k61m"] offsets = PackedFloat32Array(0.175439, 0.859649) @@ -107,7 +109,12 @@ particles_anim_loop = false [sub_resource type="QuadMesh" id="QuadMesh_8eekk"] material = SubResource("StandardMaterial3D_p40iq") -[node name="Campfire" type="Node3D"] +[node name="Campfire" type="Node3D" node_paths=PackedStringArray("fire_particles", "smoke_particles", "audio_stream_player_3d")] +script = ExtResource("1_pgdjc") +fire_particles = NodePath("FireParticles") +smoke_particles = NodePath("SmokeParticles") +audio_stream_player_3d = NodePath("AudioStreamPlayer3D") +sfx_files = Array[AudioStreamWAV]([ExtResource("4_u2sse")]) [node name="campfire" parent="." instance=ExtResource("1_5k61m")] @@ -130,3 +137,8 @@ randomness = 1.0 draw_order = 3 process_material = SubResource("ParticleProcessMaterial_0feaq") draw_pass_1 = SubResource("QuadMesh_8eekk") + +[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."] +stream = ExtResource("4_u2sse") +volume_db = -15.0 +unit_size = 5.0 diff --git a/splunk/levels/lobby-scene/campfire/fire.wav b/splunk/levels/lobby-scene/campfire/fire.wav new file mode 100644 index 0000000..e65a3df Binary files /dev/null and b/splunk/levels/lobby-scene/campfire/fire.wav differ diff --git a/splunk/levels/lobby-scene/campfire/fire.wav.import b/splunk/levels/lobby-scene/campfire/fire.wav.import new file mode 100644 index 0000000..6a11d81 --- /dev/null +++ b/splunk/levels/lobby-scene/campfire/fire.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://bx01sxorforuo" +path="res://.godot/imported/fire.wav-db183a1afec86c3f7b0347a0f68a8c78.sample" + +[deps] + +source_file="res://levels/lobby-scene/campfire/fire.wav" +dest_files=["res://.godot/imported/fire.wav-db183a1afec86c3f7b0347a0f68a8c78.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_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/splunk/levels/lobby-scene/textures/ashes.png b/splunk/levels/lobby-scene/campfire/textures/ashes.png similarity index 100% rename from splunk/levels/lobby-scene/textures/ashes.png rename to splunk/levels/lobby-scene/campfire/textures/ashes.png diff --git a/splunk/levels/lobby-scene/textures/ashes.png.import b/splunk/levels/lobby-scene/campfire/textures/ashes.png.import similarity index 70% rename from splunk/levels/lobby-scene/textures/ashes.png.import rename to splunk/levels/lobby-scene/campfire/textures/ashes.png.import index fc1b874..aaf2644 100644 --- a/splunk/levels/lobby-scene/textures/ashes.png.import +++ b/splunk/levels/lobby-scene/campfire/textures/ashes.png.import @@ -3,7 +3,7 @@ importer="texture" type="CompressedTexture2D" uid="uid://bjlwlqwdnhyqa" -path.s3tc="res://.godot/imported/ashes.png-68bd51854b6ac7814908f72d029da481.s3tc.ctex" +path.s3tc="res://.godot/imported/ashes.png-e3ed397e6960eee2c0384b2e7628d89b.s3tc.ctex" metadata={ "imported_formats": ["s3tc_bptc"], "vram_texture": true @@ -11,8 +11,8 @@ metadata={ [deps] -source_file="res://levels/lobby-scene/textures/ashes.png" -dest_files=["res://.godot/imported/ashes.png-68bd51854b6ac7814908f72d029da481.s3tc.ctex"] +source_file="res://levels/lobby-scene/campfire/textures/ashes.png" +dest_files=["res://.godot/imported/ashes.png-e3ed397e6960eee2c0384b2e7628d89b.s3tc.ctex"] [params] diff --git a/splunk/levels/lobby-scene/textures/log.png b/splunk/levels/lobby-scene/campfire/textures/log.png similarity index 100% rename from splunk/levels/lobby-scene/textures/log.png rename to splunk/levels/lobby-scene/campfire/textures/log.png diff --git a/splunk/levels/lobby-scene/textures/log.png.import b/splunk/levels/lobby-scene/campfire/textures/log.png.import similarity index 71% rename from splunk/levels/lobby-scene/textures/log.png.import rename to splunk/levels/lobby-scene/campfire/textures/log.png.import index a881610..1de3409 100644 --- a/splunk/levels/lobby-scene/textures/log.png.import +++ b/splunk/levels/lobby-scene/campfire/textures/log.png.import @@ -3,7 +3,7 @@ importer="texture" type="CompressedTexture2D" uid="uid://mwhsj8t5w8u2" -path.s3tc="res://.godot/imported/log.png-d8f215f1df4e8376f24995e3581b30a1.s3tc.ctex" +path.s3tc="res://.godot/imported/log.png-dedb4a0d507c4374c4a0430aa0b04240.s3tc.ctex" metadata={ "imported_formats": ["s3tc_bptc"], "vram_texture": true @@ -11,8 +11,8 @@ metadata={ [deps] -source_file="res://levels/lobby-scene/textures/log.png" -dest_files=["res://.godot/imported/log.png-d8f215f1df4e8376f24995e3581b30a1.s3tc.ctex"] +source_file="res://levels/lobby-scene/campfire/textures/log.png" +dest_files=["res://.godot/imported/log.png-dedb4a0d507c4374c4a0430aa0b04240.s3tc.ctex"] [params] diff --git a/splunk/levels/lobby-scene/textures/smoke-particle-texture.png b/splunk/levels/lobby-scene/campfire/textures/smoke-particle-texture.png similarity index 100% rename from splunk/levels/lobby-scene/textures/smoke-particle-texture.png rename to splunk/levels/lobby-scene/campfire/textures/smoke-particle-texture.png diff --git a/splunk/levels/lobby-scene/textures/smoke-particle-texture.png.import b/splunk/levels/lobby-scene/campfire/textures/smoke-particle-texture.png.import similarity index 66% rename from splunk/levels/lobby-scene/textures/smoke-particle-texture.png.import rename to splunk/levels/lobby-scene/campfire/textures/smoke-particle-texture.png.import index e946cdb..704f8b3 100644 --- a/splunk/levels/lobby-scene/textures/smoke-particle-texture.png.import +++ b/splunk/levels/lobby-scene/campfire/textures/smoke-particle-texture.png.import @@ -3,7 +3,7 @@ importer="texture" type="CompressedTexture2D" uid="uid://ciegdylo5csyt" -path.s3tc="res://.godot/imported/smoke-particle-texture.png-a4ea0bec4b9e2e9d34ba16a5e9537d0b.s3tc.ctex" +path.s3tc="res://.godot/imported/smoke-particle-texture.png-a6c9ad64e49d68633ab3bfabe9f168c2.s3tc.ctex" metadata={ "imported_formats": ["s3tc_bptc"], "vram_texture": true @@ -11,8 +11,8 @@ metadata={ [deps] -source_file="res://levels/lobby-scene/textures/smoke-particle-texture.png" -dest_files=["res://.godot/imported/smoke-particle-texture.png-a4ea0bec4b9e2e9d34ba16a5e9537d0b.s3tc.ctex"] +source_file="res://levels/lobby-scene/campfire/textures/smoke-particle-texture.png" +dest_files=["res://.godot/imported/smoke-particle-texture.png-a6c9ad64e49d68633ab3bfabe9f168c2.s3tc.ctex"] [params] diff --git a/splunk/levels/lobby-scene/textures/stone.png b/splunk/levels/lobby-scene/campfire/textures/stone.png similarity index 100% rename from splunk/levels/lobby-scene/textures/stone.png rename to splunk/levels/lobby-scene/campfire/textures/stone.png diff --git a/splunk/levels/lobby-scene/textures/stone.png.import b/splunk/levels/lobby-scene/campfire/textures/stone.png.import similarity index 70% rename from splunk/levels/lobby-scene/textures/stone.png.import rename to splunk/levels/lobby-scene/campfire/textures/stone.png.import index 9bd20a2..a1eec23 100644 --- a/splunk/levels/lobby-scene/textures/stone.png.import +++ b/splunk/levels/lobby-scene/campfire/textures/stone.png.import @@ -3,7 +3,7 @@ importer="texture" type="CompressedTexture2D" uid="uid://cwwjn82mmy6oc" -path.s3tc="res://.godot/imported/stone.png-42fb815495c8c1b1d661e35d0a0319f0.s3tc.ctex" +path.s3tc="res://.godot/imported/stone.png-282edc18bd8fc87daf754e087f67344d.s3tc.ctex" metadata={ "imported_formats": ["s3tc_bptc"], "vram_texture": true @@ -11,8 +11,8 @@ metadata={ [deps] -source_file="res://levels/lobby-scene/textures/stone.png" -dest_files=["res://.godot/imported/stone.png-42fb815495c8c1b1d661e35d0a0319f0.s3tc.ctex"] +source_file="res://levels/lobby-scene/campfire/textures/stone.png" +dest_files=["res://.godot/imported/stone.png-282edc18bd8fc87daf754e087f67344d.s3tc.ctex"] [params] diff --git a/splunk/levels/lobby-scene/lobby.tscn b/splunk/levels/lobby-scene/lobby.tscn index a29e8a5..aa72388 100644 --- a/splunk/levels/lobby-scene/lobby.tscn +++ b/splunk/levels/lobby-scene/lobby.tscn @@ -4,7 +4,7 @@ [ext_resource type="PackedScene" uid="uid://b5xb0fsfpn7r3" path="res://levels/lobby-scene/lobby-terrain.blend" id="3_f73ky"] [ext_resource type="PackedScene" uid="uid://csmfxg011xisf" path="res://player/Player.tscn" id="4_0aw1h"] [ext_resource type="PackedScene" uid="uid://dgi81jdv7gs76" path="res://levels/lobby-scene/tent.blend" id="4_qjimh"] -[ext_resource type="PackedScene" path="res://levels/lobby-scene/campfire.tscn" id="5_qjimh"] +[ext_resource type="PackedScene" uid="uid://wcsd1tb0quj3" path="res://levels/lobby-scene/campfire/campfire.tscn" id="5_qjimh"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_f73ky"]