Compare commits

..

No commits in common. "0edf520a21ddd5b2a4a9d5d8a068ac263c363f12" and "e440b3124f17b09565e5db31fa1080813d08e4cd" have entirely different histories.

29 changed files with 81 additions and 159 deletions

Binary file not shown.

Binary file not shown.

BIN
assets/sfx/grunk/alarm_screech.wav (Stored with Git LFS)

Binary file not shown.

View File

@ -2,7 +2,7 @@
importer="wav"
type="AudioStreamWAV"
uid="uid://6yo1n0l1jgok"
uid="uid://ypk1d4adrcs"
path="res://.godot/imported/alarm_screech.wav-99f30850091e72de3c561e544b0403c0.sample"
[deps]

BIN
assets/sfx/tools/beam_loop.wav (Stored with Git LFS)

Binary file not shown.

BIN
assets/sfx/tools/spray.wav (Stored with Git LFS)

Binary file not shown.

View File

@ -80,15 +80,12 @@ volume_db = -80.0
autoplay = true
bus = &"Ambient"
script = ExtResource("5_jiowi")
base_volume = -12.0
boosted_volume = 0.0
[node name="AmbientSFX" type="Node3D" parent="."]
[node name="Creaker" parent="AmbientSFX" instance=ExtResource("7_vdioa")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21, 1, -38)
stream = SubResource("AudioStreamRandomizer_d8fas")
volume_db = 10.0
unit_size = 2.0
bus = &"Ambient"
interval_mean = 120.0

View File

@ -118,7 +118,7 @@ data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0
mesh = ExtResource("1_ckpmb")
skeleton = NodePath("")
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway1" groups=["MetalMaterial"]]
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway1"]
collision_layer = 5
collision_mask = 0
@ -195,7 +195,7 @@ transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 0,
mesh = ExtResource("12_3ls22")
skeleton = NodePath("")
[node name="StaticBody3D" type="StaticBody3D" parent="T-Junction1" groups=["MetalMaterial"]]
[node name="StaticBody3D" type="StaticBody3D" parent="T-Junction1"]
collision_layer = 5
collision_mask = 0
@ -213,7 +213,7 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -7.5,
mesh = ExtResource("1_ckpmb")
skeleton = NodePath("")
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway2" groups=["MetalMaterial"]]
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway2"]
collision_layer = 5
collision_mask = 0
@ -267,7 +267,7 @@ transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -19.5,
mesh = ExtResource("17_qhrg0")
skeleton = NodePath("")
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway3" groups=["MetalMaterial"]]
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway3"]
collision_layer = 5
collision_mask = 0
@ -296,7 +296,7 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -27, 0
mesh = ExtResource("18_xuoub")
skeleton = NodePath("")
[node name="StaticBody3D" type="StaticBody3D" parent="T-Junction2" groups=["MetalMaterial"]]
[node name="StaticBody3D" type="StaticBody3D" parent="T-Junction2"]
collision_layer = 5
collision_mask = 0
@ -314,7 +314,7 @@ transform = Transform3D(2.98023e-08, 1, 0, 4.37114e-08, -1.3027e-15, -1, -1, 2.9
mesh = ExtResource("19_unrww")
skeleton = NodePath("")
[node name="StaticBody3D" type="StaticBody3D" parent="EndCap" groups=["MetalMaterial"]]
[node name="StaticBody3D" type="StaticBody3D" parent="EndCap"]
collision_layer = 5
collision_mask = 0
@ -332,7 +332,7 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -27, 0
mesh = ExtResource("20_kkj02")
skeleton = NodePath("")
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway4" groups=["MetalMaterial"]]
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway4"]
collision_layer = 5
collision_mask = 0

View File

@ -316,7 +316,8 @@ collision_mask = 0
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.6)
stream = SubResource("AudioStreamRandomizer_53iah")
unit_size = 5.0
volume_db = -4.0
unit_size = 3.0
pitch_scale = 0.7
[node name="CollisionShape3D" type="CollisionShape3D" parent="TankInteractBody"]
@ -409,7 +410,7 @@ shape = SubResource("ConcavePolygonShape3D_0e0pl")
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.2, 0)
stream = ExtResource("20_3rulp")
volume_db = -12.0
volume_db = -20.0
unit_size = 3.0
bus = &"SFX"
@ -417,7 +418,7 @@ bus = &"SFX"
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.2, 0)
stream = ExtResource("21_bmg36")
volume_db = -8.0
volume_db = -16.0
unit_size = 4.0
bus = &"SFX"

View File

@ -21,11 +21,9 @@ func reset() -> void:
Callable(open_switch, "enable").call()
Callable(close_switch, "disable").call()
var signal_test_scene: PackedScene = _load_no_cache(
"res://levels/mechanic_test/signal_test.tscn"
)
var prop_test_scene: PackedScene = _load_no_cache("res://levels/mechanic_test/prop_test.tscn")
var item_test_scene: PackedScene = _load_no_cache("res://levels/mechanic_test/item_test.tscn")
var signal_test_scene: PackedScene = load("res://levels/mechanic_test/signal_test.tscn")
var prop_test_scene: PackedScene = load("res://levels/mechanic_test/prop_test.tscn")
var item_test_scene: PackedScene = load("res://levels/mechanic_test/item_test.tscn")
_do_spawn(signal_test_spawn_point, signal_test_scene)
_do_spawn(prop_test_spawn_point, prop_test_scene)
_do_spawn(item_test_spawn_point, item_test_scene)
@ -38,17 +36,13 @@ func _do_spawn(spawn_point: Node3D, scene: PackedScene) -> void:
spawn_point.add_child(instance)
func _load_no_cache(path: StringName) -> Resource:
return ResourceLoader.load(path, "", ResourceLoader.CACHE_MODE_IGNORE)
func spawn_nodule() -> void:
var nodule_scene: PackedScene = _load_no_cache("res://src/world/gunk_node/grunk_nodule.tscn")
var nodule_scene: PackedScene = load("res://src/world/gunk_node/grunk_nodule.tscn")
_do_spawn(nodule_spawn_point, nodule_scene)
func spawn_alarm() -> void:
var alarm_scene: PackedScene = _load_no_cache("res://src/world/mechanics/alarm/gunk_alarm.tscn")
var alarm_scene: PackedScene = load("res://src/world/mechanics/alarm/gunk_alarm.tscn")
_do_spawn(alarm_spawn_point, alarm_scene)

View File

@ -1,14 +1,14 @@
[gd_scene load_steps=35 format=4 uid="uid://b8rv6dg4tgaeb"]
[gd_scene load_steps=32 format=4 uid="uid://b8rv6dg4tgaeb"]
[ext_resource type="Script" uid="uid://bvua1l2hb3an6" path="res://levels/mechanic_test/mechanic_test.gd" id="1_iyuyb"]
[ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="2_qjnj2"]
[ext_resource type="PackedScene" uid="uid://b6eg8t04rkh0c" path="res://src/props/wall_switch/wall_switch.tscn" id="3_awnx0"]
[ext_resource type="Script" uid="uid://deg5xd87cy8rg" path="res://src/props/interactive.gd" id="4_qjnj2"]
[ext_resource type="Texture2D" uid="uid://8cm835h4gxwe" path="res://assets/debug_mask.png" id="5_aix42"]
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="6_6frcc"]
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="7_7cbja"]
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="8_awnx0"]
[ext_resource type="PackedScene" uid="uid://cubwniraol1qn" path="res://src/props/bulkhead/bulkhead.tscn" id="8_ujrcv"]
[ext_resource type="Script" uid="uid://co0g2klfmor48" path="res://src/world/gunkable/gunkable.gd" id="9_cgmn0"]
[ext_resource type="PackedScene" uid="uid://b5jubpjj3d277" path="res://levels/mechanic_test/signal_test.tscn" id="9_ix0jw"]
[ext_resource type="PackedScene" uid="uid://cfqirm2o3uo4k" path="res://levels/mechanic_test/prop_test.tscn" id="10_xrfi2"]
[ext_resource type="PackedScene" uid="uid://dbabcsp38wmid" path="res://levels/mechanic_test/item_test.tscn" id="11_8natv"]
@ -33,17 +33,6 @@ size = Vector3(0.5, 2, 0.5)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_bg05n"]
data = PackedVector3Array(-0.25, 1, 0.25, 0.25, 1, 0.25, -0.25, -1, 0.25, 0.25, 1, 0.25, 0.25, -1, 0.25, -0.25, -1, 0.25, 0.25, 1, -0.25, -0.25, 1, -0.25, 0.25, -1, -0.25, -0.25, 1, -0.25, -0.25, -1, -0.25, 0.25, -1, -0.25, 0.25, 1, 0.25, 0.25, 1, -0.25, 0.25, -1, 0.25, 0.25, 1, -0.25, 0.25, -1, -0.25, 0.25, -1, 0.25, -0.25, 1, -0.25, -0.25, 1, 0.25, -0.25, -1, -0.25, -0.25, 1, 0.25, -0.25, -1, 0.25, -0.25, -1, -0.25, 0.25, 1, 0.25, -0.25, 1, 0.25, 0.25, 1, -0.25, -0.25, 1, 0.25, -0.25, 1, -0.25, 0.25, 1, -0.25, -0.25, -1, 0.25, 0.25, -1, 0.25, -0.25, -1, -0.25, 0.25, -1, 0.25, 0.25, -1, -0.25, -0.25, -1, -0.25)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ibd1t"]
albedo_color = Color(0.866667, 0.109804, 0.101961, 1)
[sub_resource type="SphereMesh" id="SphereMesh_awnx0"]
material = SubResource("StandardMaterial3D_ibd1t")
radius = 0.2
height = 0.4
[sub_resource type="SphereShape3D" id="SphereShape3D_cgmn0"]
radius = 0.25
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_2h3rs"]
load_path = "res://.godot/imported/hallway_2_C.png-368e035781dbfc292f80210e8377e1f9.ctex"
@ -192,24 +181,9 @@ mesh = SubResource("BoxMesh_goufh")
[node name="CollisionShape3D" type="CollisionShape3D" parent="NoduleSpawner"]
shape = SubResource("ConcavePolygonShape3D_bg05n")
[node name="ButtonMesh" type="MeshInstance3D" parent="NoduleSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.25)
mesh = SubResource("SphereMesh_awnx0")
skeleton = NodePath("")
[node name="InteractiveBody" type="StaticBody3D" parent="NoduleSpawner/ButtonMesh"]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="NoduleSpawner/ButtonMesh/InteractiveBody"]
shape = SubResource("SphereShape3D_cgmn0")
[node name="Interactive" type="Node" parent="NoduleSpawner/ButtonMesh/InteractiveBody"]
script = ExtResource("4_qjnj2")
enabled = true
label = "Level"
verb = "spawn nodule"
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
[node name="WallSwitch" parent="NoduleSpawner" instance=ExtResource("3_awnx0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.35)
clean = true
[node name="Label3D" type="Label3D" parent="NoduleSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0.3)
@ -229,6 +203,10 @@ mesh = SubResource("BoxMesh_goufh")
[node name="CollisionShape3D" type="CollisionShape3D" parent="AlarmSpawner"]
shape = SubResource("ConcavePolygonShape3D_bg05n")
[node name="WallSwitch" parent="AlarmSpawner" instance=ExtResource("3_awnx0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.35)
clean = true
[node name="Label3D" type="Label3D" parent="AlarmSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0.3)
text = "Spawn
@ -238,25 +216,6 @@ Alarm"
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.7, -4)
[node name="ButtonMesh" type="MeshInstance3D" parent="AlarmSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.25)
mesh = SubResource("SphereMesh_awnx0")
skeleton = NodePath("")
[node name="InteractiveBody" type="StaticBody3D" parent="AlarmSpawner/ButtonMesh"]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="AlarmSpawner/ButtonMesh/InteractiveBody"]
shape = SubResource("SphereShape3D_cgmn0")
[node name="Interactive" type="Node" parent="AlarmSpawner/ButtonMesh/InteractiveBody"]
script = ExtResource("4_qjnj2")
enabled = true
label = "Level"
verb = "spawn alarm"
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
[node name="AlarmTrigger" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.5, 1, -6)
@ -266,29 +225,14 @@ mesh = SubResource("BoxMesh_goufh")
[node name="CollisionShape3D" type="CollisionShape3D" parent="AlarmTrigger"]
shape = SubResource("ConcavePolygonShape3D_bg05n")
[node name="AlarmTriggerSwitch" parent="AlarmTrigger" instance=ExtResource("3_awnx0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.35)
clean = true
[node name="Label3D" type="Label3D" parent="AlarmTrigger"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0.3)
text = "Trigger"
[node name="ButtonMesh" type="MeshInstance3D" parent="AlarmTrigger"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.25)
mesh = SubResource("SphereMesh_awnx0")
skeleton = NodePath("")
[node name="InteractiveBody" type="StaticBody3D" parent="AlarmTrigger/ButtonMesh"]
collision_layer = 2
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="AlarmTrigger/ButtonMesh/InteractiveBody"]
shape = SubResource("SphereShape3D_cgmn0")
[node name="Interactive" type="Node" parent="AlarmTrigger/ButtonMesh/InteractiveBody"]
script = ExtResource("4_qjnj2")
enabled = true
label = "Level"
verb = "trigger alarm"
metadata/_custom_type_script = "uid://deg5xd87cy8rg"
[node name="GunkHall" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -31)
mesh = SubResource("ArrayMesh_x2vho")
@ -301,12 +245,14 @@ collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="GunkHall/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_qjnj2")
[node name="Gunkable" parent="GunkHall/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("8_awnx0")]
[node name="Gunkable" type="Node" parent="GunkHall/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") groups=["Persistent"] instance=ExtResource("8_awnx0")]
unique_name_in_owner = true
script = ExtResource("9_cgmn0")
body = NodePath("..")
mesh_instance = NodePath("../..")
initial_mask = ExtResource("5_aix42")
source_gunk_material = SubResource("ShaderMaterial_aix42")
metadata/_custom_type_script = "uid://co0g2klfmor48"
[node name="Bulkhead" parent="." instance=ExtResource("8_ujrcv")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.5, 0, -2)
@ -367,9 +313,9 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13, 0, -2)
[node name="ItemTest" parent="ItemTestSpawnPoint" instance=ExtResource("11_8natv")]
[connection signal="activated" from="ResetPodium/ResetSwitch" to="." method="reset"]
[connection signal="activated" from="NoduleSpawner/ButtonMesh/InteractiveBody/Interactive" to="." method="spawn_nodule"]
[connection signal="activated" from="AlarmSpawner/ButtonMesh/InteractiveBody/Interactive" to="." method="spawn_alarm"]
[connection signal="activated" from="AlarmTrigger/ButtonMesh/InteractiveBody/Interactive" to="." method="trigger_spawned_alarm"]
[connection signal="activated" from="NoduleSpawner/WallSwitch" to="." method="spawn_nodule"]
[connection signal="activated" from="AlarmSpawner/WallSwitch" to="." method="spawn_alarm"]
[connection signal="activated" from="AlarmTrigger/AlarmTriggerSwitch" to="." method="trigger_spawned_alarm"]
[connection signal="activated" from="Bulkhead/Podium/OpenSwitch" to="Bulkhead" method="open"]
[connection signal="activated" from="Bulkhead/Podium/OpenSwitch" to="Bulkhead/Podium/OpenSwitch" method="disable"]
[connection signal="activated" from="Bulkhead/Podium/OpenSwitch" to="Bulkhead/Podium2/CloseSwitch" method="enable"]

View File

@ -61,11 +61,11 @@ texture_filter = 2
[sub_resource type="BoxShape3D" id="BoxShape3D_ibd1t"]
size = Vector3(2.35, 3.1, 1.5)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hb05j"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ibd1t"]
albedo_color = Color(0.866667, 0.109804, 0.101961, 1)
[sub_resource type="SphereMesh" id="SphereMesh_ibd1t"]
material = SubResource("StandardMaterial3D_hb05j")
material = SubResource("StandardMaterial3D_ibd1t")
radius = 0.2
height = 0.4

View File

@ -1,7 +1,7 @@
class_name GrunkSplatter extends GPUParticles3D
## Splatter effect with adjustable volume
const BASE_VOLUME := -4.0
const BASE_VOLUME := -12.0
const SCALE_FACTOR := 4.0
const SCENE := preload("res://src/effects/grunk_splatter/grunk_splatter.tscn")

View File

@ -141,12 +141,11 @@ point_count = 2
curve = SubResource("Curve_opa8j")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_opa8j"]
lifetime_randomness = 0.5
angle_min = -184.7
angle_max = 239.3
direction = Vector3(0, 0, -1)
spread = 180.0
initial_velocity_min = 4.0
spread = 90.0
initial_velocity_min = 5.0
initial_velocity_max = 5.0
angular_velocity_min = -360.0
angular_velocity_max = 360.0
@ -194,7 +193,7 @@ autostart = true
[node name="SplatterSFX" type="AudioStreamPlayer3D" parent="."]
unique_name_in_owner = true
stream = SubResource("AudioStreamRandomizer_6adkd")
volume_db = -3.0
volume_db = -12.0
unit_size = 6.0
autoplay = true
bus = &"SFX"
@ -212,11 +211,10 @@ shape = SubResource("SphereShape3D_6adkd")
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0)
emitting = false
amount = 512
amount = 64
lifetime = 1.2
one_shot = true
explosiveness = 0.9
randomness = 1.0
process_material = SubResource("ParticleProcessMaterial_opa8j")
[connection signal="ready" from="." to="SplatterSFX" method="play"]

View File

@ -66,7 +66,6 @@ transform = Transform3D(1, 0, 0, 0, 0.997564, -0.0697565, 0, 0.0697565, 0.997564
unique_name_in_owner = true
target_position = Vector3(0, 0, -3)
parent_tool = NodePath("../..")
dust_emission_scale = 0.03
[node name="SpraySFX" parent="Muzzle/LaserCast" instance=ExtResource("3_5h54c")]
unique_name_in_owner = true

View File

@ -182,21 +182,21 @@ unique_name_in_owner = true
[node name="LaserCast" parent="Muzzle/Pivot/SprayCasts" node_paths=PackedStringArray("parent_tool") instance=ExtResource("3_xahet")]
target_position = Vector3(-0.5, 0, -2)
parent_tool = NodePath("../../../..")
dust_emission_scale = 0.005
dust_emission_scale = 0.01
[node name="LaserCast2" parent="Muzzle/Pivot/SprayCasts" node_paths=PackedStringArray("parent_tool") instance=ExtResource("3_xahet")]
target_position = Vector3(-0.333, 0, -2)
parent_tool = NodePath("../../../..")
dust_emission_scale = 0.005
dust_emission_scale = 0.01
[node name="LaserCast3" parent="Muzzle/Pivot/SprayCasts" node_paths=PackedStringArray("parent_tool") instance=ExtResource("3_xahet")]
target_position = Vector3(-0.167, 0, -2)
parent_tool = NodePath("../../../..")
dust_emission_scale = 0.005
dust_emission_scale = 0.01
[node name="LaserCast4" parent="Muzzle/Pivot/SprayCasts" node_paths=PackedStringArray("parent_tool") instance=ExtResource("3_xahet")]
parent_tool = NodePath("../../../..")
dust_emission_scale = 0.005
dust_emission_scale = 0.01
[node name="SpraySFX" parent="Muzzle/Pivot/SprayCasts/LaserCast4" instance=ExtResource("3_v0jnx")]
unique_name_in_owner = true
@ -205,17 +205,17 @@ attenuation_model = 0
[node name="LaserCast5" parent="Muzzle/Pivot/SprayCasts" node_paths=PackedStringArray("parent_tool") instance=ExtResource("3_xahet")]
target_position = Vector3(0.167, 0, -2)
parent_tool = NodePath("../../../..")
dust_emission_scale = 0.005
dust_emission_scale = 0.01
[node name="LaserCast6" parent="Muzzle/Pivot/SprayCasts" node_paths=PackedStringArray("parent_tool") instance=ExtResource("3_xahet")]
target_position = Vector3(0.333, 0, -2)
parent_tool = NodePath("../../../..")
dust_emission_scale = 0.005
dust_emission_scale = 0.01
[node name="LaserCast7" parent="Muzzle/Pivot/SprayCasts" node_paths=PackedStringArray("parent_tool") instance=ExtResource("3_xahet")]
target_position = Vector3(0.5, 0, -2)
parent_tool = NodePath("../../../..")
dust_emission_scale = 0.005
dust_emission_scale = 0.01
[node name="SprayEffect" type="MeshInstance3D" parent="Muzzle/Pivot"]
unique_name_in_owner = true

View File

@ -64,14 +64,4 @@ func write() -> void:
print_debug("Writing settings to ", settings_file)
ProjectSettings.save_custom(settings_file)
print_debug("Writing audio bus levels to ", audio_bus_file)
# Write a bus layout with all effects removed
var base_layout := AudioServer.generate_bus_layout()
_strip_bus_effects()
ResourceSaver.save(AudioServer.generate_bus_layout(), audio_bus_file)
AudioServer.set_bus_layout(base_layout)
func _strip_bus_effects() -> void:
for bus_idx: int in AudioServer.bus_count:
for fx_idx: int in AudioServer.get_bus_effect_count(bus_idx):
AudioServer.remove_bus_effect(bus_idx, fx_idx)

View File

@ -13,37 +13,37 @@ script = ExtResource("1_xjjma")
[node name="Confirm" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("2_xjjma")
volume_db = -2.0
volume_db = -20.0
bus = &"SFX"
[node name="Accept" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("3_xl3ms")
volume_db = -2.0
volume_db = -20.0
bus = &"SFX"
[node name="Forward" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("3_xjjma")
volume_db = -2.0
volume_db = -20.0
pitch_scale = 0.7
bus = &"SFX"
[node name="Back" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("3_xjjma")
volume_db = -2.0
volume_db = -20.0
bus = &"SFX"
[node name="Bonk" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("4_ywyuo")
volume_db = -5.0
volume_db = -16.0
pitch_scale = 1.1
bus = &"SFX"
[node name="Bloop" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("6_ywyuo")
volume_db = -4.0
volume_db = -20.0
bus = &"SFX"

View File

@ -728,18 +728,16 @@ script = ExtResource("9_l271a")
[node name="Metal" type="AudioStreamPlayer3D" parent="FootstepController/LeftFoot"]
stream = SubResource("AudioStreamRandomizer_8ydov")
volume_db = -30.0
unit_size = 18.0
volume_db = -42.0
bus = &"SFX"
[node name="Grunk" type="AudioStreamPlayer3D" parent="FootstepController/LeftFoot"]
stream = SubResource("AudioStreamRandomizer_wcxbk")
unit_size = 24.0
bus = &"SFX"
[node name="Plastic" type="AudioStreamPlayer3D" parent="FootstepController/LeftFoot"]
stream = SubResource("AudioStreamRandomizer_o04tx")
unit_size = 16.0
volume_db = -24.0
bus = &"SFX"
[node name="RightFoot" type="Node3D" parent="FootstepController"]
@ -749,19 +747,17 @@ script = ExtResource("9_l271a")
[node name="Metal" type="AudioStreamPlayer3D" parent="FootstepController/RightFoot"]
stream = SubResource("AudioStreamRandomizer_ylhto")
volume_db = -30.0
unit_size = 18.0
volume_db = -42.0
bus = &"SFX"
[node name="Grunk" type="AudioStreamPlayer3D" parent="FootstepController/RightFoot"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.8, 0, 0)
stream = SubResource("AudioStreamRandomizer_p6grl")
unit_size = 24.0
bus = &"SFX"
[node name="Plastic" type="AudioStreamPlayer3D" parent="FootstepController/RightFoot"]
stream = SubResource("AudioStreamRandomizer_e7e1q")
unit_size = 16.0
volume_db = -24.0
bus = &"SFX"
[node name="FootCast" type="RayCast3D" parent="FootstepController"]
@ -833,4 +829,5 @@ tutorial_key = &"game/tutorial/progress/move"
[node name="ToolSwitchSFX" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("39_gsylq")
volume_db = -12.0
pitch_scale = 1.8

View File

@ -317,6 +317,7 @@ shape = SubResource("ConcavePolygonShape3D_w7oba")
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.9, 0)
stream = ExtResource("5_4jho1")
volume_db = -10.0
[node name="Ramp" type="StaticBody3D" parent="." index="4" groups=["MetalMaterial"]]
@ -363,7 +364,7 @@ libraries = {
[node name="DustSFX" type="AudioStreamPlayer3D" parent="Dust" index="5"]
stream = ExtResource("7_4jho1")
volume_db = -14.0
volume_db = -24.0
[node name="NavLink" type="NavigationLink3D" parent="." index="6"]
unique_name_in_owner = true

View File

@ -228,7 +228,7 @@ mesh = SubResource("BoxMesh_a6hjm")
[node name="SuccessSFX" type="AudioStreamPlayer3D" parent="Lights/SuccessLight" index="0"]
stream = ExtResource("11_7shuc")
volume_db = -9.0
volume_db = -16.0
unit_size = 4.0
bus = &"SFX"

View File

@ -410,6 +410,7 @@ libraries = {
[node name="TankAlertBonkSFX" type="AudioStreamPlayer" parent="AlertHUD/TankAlert"]
stream = ExtResource("7_bu2tv")
volume_db = -8.0
bus = &"SFX"
[node name="GrunkAlert" type="Control" parent="AlertHUD"]
@ -458,10 +459,10 @@ anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -20.2593
offset_top = -19.6536
offset_right = -20.2593
offset_bottom = -19.6536
offset_left = -19.0295
offset_top = -20.3157
offset_right = -19.0295
offset_bottom = -20.3157
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("4_ud8na")

View File

@ -1,7 +1,7 @@
class_name VolumeSlider extends VBoxContainer
## Input element for adjusting the volume of a single bus.
const VOLUME_FACTOR := 100.0
const VOLUME_FACTOR := 50.0
@export var bus_idx: int

View File

@ -32,7 +32,6 @@ unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 1
size_flags_vertical = 3
max_value = 200.0
step = 0.1
[node name="DigitalDisplay" type="HBoxContainer" parent="."]
@ -42,7 +41,6 @@ size_flags_horizontal = 4
[node name="SpinBox" type="SpinBox" parent="DigitalDisplay"]
unique_name_in_owner = true
layout_mode = 2
max_value = 200.0
step = 0.1
alignment = 2
suffix = "%"
@ -50,7 +48,7 @@ suffix = "%"
[node name="AudioDemo" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("3_y4yh3")
volume_db = -2.0
volume_db = -20.0
[connection signal="drag_ended" from="Slider" to="." method="_on_slider_drag_ended"]
[connection signal="value_changed" from="Slider" to="." method="_on_component_value_changed"]

View File

@ -607,7 +607,7 @@ tracks/22/keys = {
"times": PackedFloat32Array(6.15, 10),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [-40.0, 0.0]
"values": [-40.0, -10.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3qdtd"]
@ -841,14 +841,14 @@ autoplay = "display"
[node name="TitleSFX" type="AudioStreamPlayer" parent="TitleScreenContent"]
unique_name_in_owner = true
volume_db = -10.0
volume_db = -20.0
bus = &"SFX"
[node name="TitleDrone" type="AudioStreamPlayer" parent="TitleScreenContent"]
unique_name_in_owner = true
stream = ExtResource("11_gdkv4")
volume_db = -40.0
bus = &"Ambient"
bus = &"Music"
[node name="SettingsContainer" type="Control" parent="."]
unique_name_in_owner = true

View File

@ -37,7 +37,7 @@ shape = SubResource("ConcavePolygonShape3D_530fq")
[node name="ChitterSFX" type="AudioStreamPlayer3D" parent="."]
unique_name_in_owner = true
stream = SubResource("AudioStreamRandomizer_yg8lg")
volume_db = -8.0
volume_db = -14.0
unit_size = 1.5
panning_strength = 3.0
bus = &"SFX"

View File

@ -6,7 +6,7 @@
[ext_resource type="Material" uid="uid://bmab6i16v748m" path="res://assets/materials/grunk_jittery.material" id="3_g4yos"]
[ext_resource type="Script" uid="uid://b274q7uvn0cvp" path="res://src/ui/rumbler_3d.gd" id="3_vokcn"]
[ext_resource type="Material" uid="uid://cdpvcruywnp4x" path="res://assets/grunk/alarm/alarm_core.material" id="5_6vdvf"]
[ext_resource type="AudioStream" uid="uid://6yo1n0l1jgok" path="res://assets/sfx/grunk/alarm_screech.wav" id="6_6vdvf"]
[ext_resource type="AudioStream" uid="uid://ypk1d4adrcs" path="res://assets/sfx/grunk/alarm_screech.wav" id="6_6vdvf"]
[sub_resource type="SphereMesh" id="SphereMesh_b6er8"]
radius = 0.285

View File

@ -132,7 +132,7 @@ speed_scale = 4.0
[node name="HeartbeatSFX" type="AudioStreamPlayer3D" parent="."]
stream = ExtResource("3_eu6st")
unit_size = 1.0
unit_size = 0.4
bus = &"SFX"
[connection signal="timeout" from="PulseTimer" to="." method="pulse"]

View File

@ -4,7 +4,7 @@
[ext_resource type="Resource" uid="uid://tgac5tnfx56r" path="res://src/world/world_manager.tres" id="2_5kmgb"]
[ext_resource type="PackedScene" uid="uid://byvjsvavbg5xe" path="res://src/ui/menus/pause_menu/pause_menu.tscn" id="2_6fy3g"]
[ext_resource type="Resource" uid="uid://0i72bf8ip1lx" path="res://src/world/spook_manager.tres" id="3_l0av5"]
[ext_resource type="PackedScene" uid="uid://b8rv6dg4tgaeb" path="res://levels/mechanic_test/mechanic_test.tscn" id="4_5kmgb"]
[ext_resource type="PackedScene" uid="uid://dc4tts6342cuj" path="res://levels/prop_test/prop_test.tscn" id="4_5kmgb"]
[ext_resource type="PackedScene" uid="uid://c0uitm5cg88h1" path="res://src/ui/menus/kill_screen/kill_screen.tscn" id="6_l0av5"]
[ext_resource type="PackedScene" uid="uid://brknr57xc2cp0" path="res://src/ui/elements/save_icon/save_icon.tscn" id="7_5kmgb"]