generated from krampus/template-godot4
Computer does a little jingle jangle on reload
All checks were successful
linting & formatting / build (push) Successful in 22s
All checks were successful
linting & formatting / build (push) Successful in 22s
This commit is contained in:
parent
2440103f66
commit
f966dc43df
BIN
asset_dev/sfx/computer_noise.aup3
Normal file
BIN
asset_dev/sfx/computer_noise.aup3
Normal file
Binary file not shown.
BIN
asset_dev/sfx/computer_noise.aup3-shm
Normal file
BIN
asset_dev/sfx/computer_noise.aup3-shm
Normal file
Binary file not shown.
BIN
asset_dev/sfx/computer_noise.aup3-wal
Normal file
BIN
asset_dev/sfx/computer_noise.aup3-wal
Normal file
Binary file not shown.
BIN
assets/sfx/computer_noise.wav
Normal file
BIN
assets/sfx/computer_noise.wav
Normal file
Binary file not shown.
24
assets/sfx/computer_noise.wav.import
Normal file
24
assets/sfx/computer_noise.wav.import
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://c838ofbu4bqrn"
|
||||||
|
path="res://.godot/imported/computer_noise.wav-1bfe3b9b5e4b3c21bd96289c75340c5a.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/sfx/computer_noise.wav"
|
||||||
|
dest_files=["res://.godot/imported/computer_noise.wav-1bfe3b9b5e4b3c21bd96289c75340c5a.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
|
@ -18,6 +18,7 @@ const STALLING_MSG := "\n\n\n\n\n. . . C a l c u l a t i n G . . ."
|
|||||||
|
|
||||||
@onready var text_terminal: TextTerminal = %TextTerminal
|
@onready var text_terminal: TextTerminal = %TextTerminal
|
||||||
@onready var stall_timer: Timer = %StallTimer
|
@onready var stall_timer: Timer = %StallTimer
|
||||||
|
@onready var terminal_animation: AnimationPlayer = %TerminalAnimation
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
@ -56,6 +57,7 @@ func build_message() -> String:
|
|||||||
## Under the hood this is instantaneous, but we want to stall for dramatic effect.
|
## Under the hood this is instantaneous, but we want to stall for dramatic effect.
|
||||||
func recompute() -> void:
|
func recompute() -> void:
|
||||||
text_terminal.text = STALLING_MSG
|
text_terminal.text = STALLING_MSG
|
||||||
|
terminal_animation.play("jangle")
|
||||||
stall_timer.start()
|
stall_timer.start()
|
||||||
|
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@ func deposit_grunk() -> void:
|
|||||||
# Tank is disabled until the player collects more grunk.
|
# Tank is disabled until the player collects more grunk.
|
||||||
tank_interactor.enabled = false
|
tank_interactor.enabled = false
|
||||||
Game.manager.deposit_tank()
|
Game.manager.deposit_tank()
|
||||||
|
|
||||||
set_liquid_level(clampf(Game.manager.grunk_vault / MAX_GRUNK, 0.0, 1.0))
|
set_liquid_level(clampf(Game.manager.grunk_vault / MAX_GRUNK, 0.0, 1.0))
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=22 format=3 uid="uid://oowut88kr2ox"]
|
[gd_scene load_steps=29 format=3 uid="uid://oowut88kr2ox"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://lfd36ps52xgk" path="res://levels/ghost_ship/player_ship/player_ship.gd" id="1_0r2ng"]
|
[ext_resource type="Script" uid="uid://lfd36ps52xgk" path="res://levels/ghost_ship/player_ship/player_ship.gd" id="1_0r2ng"]
|
||||||
[ext_resource type="ArrayMesh" uid="uid://dq4aj5ph31rce" path="res://assets/level/player_ship/player_ship.obj" id="1_nafoa"]
|
[ext_resource type="ArrayMesh" uid="uid://dq4aj5ph31rce" path="res://assets/level/player_ship/player_ship.obj" id="1_nafoa"]
|
||||||
@ -13,6 +13,8 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://cm1jrvx7ftx4c" path="res://assets/black.png" id="9_xuj2g"]
|
[ext_resource type="Texture2D" uid="uid://cm1jrvx7ftx4c" path="res://assets/black.png" id="9_xuj2g"]
|
||||||
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="10_2mvif"]
|
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="10_2mvif"]
|
||||||
[ext_resource type="PackedScene" uid="uid://mgygam1kakb7" path="res://levels/ghost_ship/player_ship/grunk_terminal/grunk_terminal.tscn" id="13_3trrp"]
|
[ext_resource type="PackedScene" uid="uid://mgygam1kakb7" path="res://levels/ghost_ship/player_ship/grunk_terminal/grunk_terminal.tscn" id="13_3trrp"]
|
||||||
|
[ext_resource type="Script" uid="uid://vewq8h8uulbg" path="res://src/util/translator_path_3d.gd" id="13_i4yi7"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://c838ofbu4bqrn" path="res://assets/sfx/computer_noise.wav" id="14_was05"]
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xpsdy"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xpsdy"]
|
||||||
transparency = 1
|
transparency = 1
|
||||||
@ -79,6 +81,143 @@ shader_parameter/jitter_noise = SubResource("NoiseTexture3D_omayi")
|
|||||||
shader_parameter/vertex_inflation = 0.0
|
shader_parameter/vertex_inflation = 0.0
|
||||||
shader_parameter/inflation_pixellation = 10.0
|
shader_parameter/inflation_pixellation = 10.0
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_i4yi7"]
|
||||||
|
albedo_color = Color(0.243137, 0.231373, 0.219608, 1)
|
||||||
|
|
||||||
|
[sub_resource type="Curve3D" id="Curve3D_ta4yu"]
|
||||||
|
_data = {
|
||||||
|
"points": PackedVector3Array(0, 0, 0, -0.6, -0.525, 0, 0, 0, 0, -0.6, 0, 0, 0.05, 0, 0, 0, -1.4, 0),
|
||||||
|
"tilts": PackedFloat32Array(0, 0)
|
||||||
|
}
|
||||||
|
point_count = 2
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_i4yi7"]
|
||||||
|
resource_name = "jangle"
|
||||||
|
length = 3.0
|
||||||
|
tracks/0/type = "bezier"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Path3D:curve:point_1/position:x")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
||||||
|
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0.15, 0, -0.25, 0.15, 0.25, -0.15, 0, -0.25, -0.025, 0.266667, 0.0459175, 0, -0.366667, -0.00160158, 0.25, 0),
|
||||||
|
"times": PackedFloat32Array(0, 1, 2, 3)
|
||||||
|
}
|
||||||
|
tracks/1/type = "bezier"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Path3D:curve:point_1/position:y")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0, 0, 0, 0, 0, 0, 0),
|
||||||
|
"points": PackedFloat32Array(-1.4, -0.25, 0, 0.16, 0.25, -1.4, -0.25, 0.25, 0.25, -0.2, -1.4, -0.25, -0.2, 0.25, 0.15, -1.4, -0.25, 0.15, 0.25, -0.1, -1.4, -0.25, -0.1, 0.25, 0.05, -1.4, -0.25, 0.05, 0.25, 0, -1.4, -0.25, 0, 0.25, 0),
|
||||||
|
"times": PackedFloat32Array(0, 0.6, 1, 1.5, 2, 2.5, 3)
|
||||||
|
}
|
||||||
|
tracks/2/type = "bezier"
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/path = NodePath("Path3D:curve:point_1/position:z")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0, 0, 0, 0, 0, 0),
|
||||||
|
"points": PackedFloat32Array(0, -0.25, 0, 0.2, 0.2, 0, -0.2, 0.2, 0.233333, -0.227317, 0, -0.2, 0.0429476, 0.2, -0.025, 0, -0.2, -0.025, 0.2, 0.013, 0, -0.2, 0.013, 0.2, -0.001, 0, -0.0666666, 0.00136808, 0.25, 0),
|
||||||
|
"times": PackedFloat32Array(0, 0.8, 1.9, 2.3, 2.6, 3)
|
||||||
|
}
|
||||||
|
tracks/3/type = "value"
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/path = NodePath("Path3D/GrunkTerminal:rotation")
|
||||||
|
tracks/3/interp = 2
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.5, 1.3, 2.2, 3),
|
||||||
|
"transitions": PackedFloat32Array(0.618, 1, 1, 1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Vector3(0.2618, 1.5708, 0), Vector3(0.158825, 1.5708, 0.174533), Vector3(0.467748, 1.5708, -0.139626), Vector3(0.261799, 1.5708, 0.0698132), Vector3(0.261799, 1.5708, 0)]
|
||||||
|
}
|
||||||
|
tracks/4/type = "value"
|
||||||
|
tracks/4/imported = false
|
||||||
|
tracks/4/enabled = true
|
||||||
|
tracks/4/path = NodePath("Path3D/GrunkTerminal/AudioStreamPlayer3D:playing")
|
||||||
|
tracks/4/interp = 1
|
||||||
|
tracks/4/loop_wrap = true
|
||||||
|
tracks/4/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_ta4yu"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "bezier"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Path3D:curve:point_1/position:x")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0),
|
||||||
|
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
||||||
|
"times": PackedFloat32Array(0)
|
||||||
|
}
|
||||||
|
tracks/1/type = "bezier"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("Path3D:curve:point_1/position:y")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0),
|
||||||
|
"points": PackedFloat32Array(-1.4, -0.25, 0, 0.25, 0),
|
||||||
|
"times": PackedFloat32Array(0)
|
||||||
|
}
|
||||||
|
tracks/2/type = "bezier"
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/path = NodePath("Path3D:curve:point_1/position:z")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0),
|
||||||
|
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
||||||
|
"times": PackedFloat32Array(0)
|
||||||
|
}
|
||||||
|
tracks/3/type = "value"
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/path = NodePath("Path3D/GrunkTerminal:rotation")
|
||||||
|
tracks/3/interp = 1
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Vector3(0.2618, 1.5708, 0)]
|
||||||
|
}
|
||||||
|
tracks/4/type = "value"
|
||||||
|
tracks/4/imported = false
|
||||||
|
tracks/4/enabled = true
|
||||||
|
tracks/4/path = NodePath("Path3D/GrunkTerminal/AudioStreamPlayer3D:playing")
|
||||||
|
tracks/4/interp = 1
|
||||||
|
tracks/4/loop_wrap = true
|
||||||
|
tracks/4/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [false]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_fw23o"]
|
||||||
|
_data = {
|
||||||
|
&"RESET": SubResource("Animation_ta4yu"),
|
||||||
|
&"jangle": SubResource("Animation_i4yi7")
|
||||||
|
}
|
||||||
|
|
||||||
[node name="PlayerShip" type="Node3D"]
|
[node name="PlayerShip" type="Node3D"]
|
||||||
script = ExtResource("1_0r2ng")
|
script = ExtResource("1_0r2ng")
|
||||||
|
|
||||||
@ -126,7 +265,38 @@ light_energy = 2.0
|
|||||||
light_indirect_energy = 8.0
|
light_indirect_energy = 8.0
|
||||||
omni_range = 10.0
|
omni_range = 10.0
|
||||||
|
|
||||||
[node name="GrunkTerminal" parent="." instance=ExtResource("13_3trrp")]
|
[node name="TerminalCable" type="CSGPolygon3D" parent="."]
|
||||||
transform = Transform3D(-0.707107, 0.183013, 0.683013, 0, 0.965926, -0.258819, -0.707107, -0.183013, -0.683013, -1.87678, 1.71247, 4.17322)
|
transform = Transform3D(0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, -1.87678, 3.21247, 4.17322)
|
||||||
|
polygon = PackedVector2Array(0.25, 0, 0.125, 0.217, -0.125, 0.217, -0.25, 0, -0.125, -0.216, 0.125, -0.216)
|
||||||
|
mode = 2
|
||||||
|
path_node = NodePath("Path3D")
|
||||||
|
path_interval_type = 0
|
||||||
|
path_interval = 0.25
|
||||||
|
path_simplify_angle = 0.0
|
||||||
|
path_rotation = 2
|
||||||
|
path_rotation_accurate = false
|
||||||
|
path_local = true
|
||||||
|
path_continuous_u = true
|
||||||
|
path_u_distance = 1.0
|
||||||
|
path_joined = false
|
||||||
|
material = SubResource("StandardMaterial3D_i4yi7")
|
||||||
|
|
||||||
|
[node name="Path3D" type="Path3D" parent="TerminalCable"]
|
||||||
|
curve = SubResource("Curve3D_ta4yu")
|
||||||
|
script = ExtResource("13_i4yi7")
|
||||||
|
|
||||||
|
[node name="GrunkTerminal" parent="TerminalCable/Path3D" instance=ExtResource("13_3trrp")]
|
||||||
|
transform = Transform3D(-4.37114e-08, 0.258819, 0.965926, 0, 0.965926, -0.258819, -1, -1.13134e-08, -4.2222e-08, 0, -1.4, 0)
|
||||||
|
|
||||||
|
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="TerminalCable/Path3D/GrunkTerminal"]
|
||||||
|
stream = ExtResource("14_was05")
|
||||||
|
volume_db = -6.0
|
||||||
|
unit_size = 1.0
|
||||||
|
|
||||||
|
[node name="TerminalAnimation" type="AnimationPlayer" parent="TerminalCable"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
libraries = {
|
||||||
|
&"": SubResource("AnimationLibrary_fw23o")
|
||||||
|
}
|
||||||
|
|
||||||
[connection signal="activated" from="TankInteractor" to="." method="deposit_grunk"]
|
[connection signal="activated" from="TankInteractor" to="." method="deposit_grunk"]
|
||||||
|
10
src/util/translator_path_3d.gd
Normal file
10
src/util/translator_path_3d.gd
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
@tool
|
||||||
|
class_name TranslatorPath3D extends Path3D
|
||||||
|
## Keeps all child elements at the last point on the curve.
|
||||||
|
|
||||||
|
|
||||||
|
func _process(_delta: float) -> void:
|
||||||
|
if curve and curve.point_count > 1:
|
||||||
|
var endpoint := curve.get_point_position(curve.point_count - 1)
|
||||||
|
for c: Node3D in get_children():
|
||||||
|
c.position = endpoint
|
1
src/util/translator_path_3d.gd.uid
Normal file
1
src/util/translator_path_3d.gd.uid
Normal file
@ -0,0 +1 @@
|
|||||||
|
uid://vewq8h8uulbg
|
@ -48,7 +48,7 @@
|
|||||||
- [ ] SFX:
|
- [ ] SFX:
|
||||||
- [ ] ui bonk
|
- [ ] ui bonk
|
||||||
- [ ] prop clear glitter
|
- [ ] prop clear glitter
|
||||||
- [ ] computer bleep on reload
|
- [x] computer bleep on reload
|
||||||
- [ ] grunk tank deposit schlorp
|
- [ ] grunk tank deposit schlorp
|
||||||
- [ ] player ship door
|
- [ ] player ship door
|
||||||
- [x] metal footsteps
|
- [x] metal footsteps
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
- CC0
|
- CC0
|
||||||
- retrieved from https://freesound.org/people/lowpolygon/sounds/421722/
|
- retrieved from https://freesound.org/people/lowpolygon/sounds/421722/
|
||||||
- assets/sfx/mechanical_door.wav
|
- assets/sfx/mechanical_door.wav
|
||||||
|
- modified
|
||||||
- "Footsteps_Mountain_Boots_Mud_Mono.wav"
|
- "Footsteps_Mountain_Boots_Mud_Mono.wav"
|
||||||
- author: Nox_Sound
|
- author: Nox_Sound
|
||||||
- CC0
|
- CC0
|
||||||
@ -44,4 +45,10 @@
|
|||||||
- author: jerry.berumen
|
- author: jerry.berumen
|
||||||
- CC BY 4.0
|
- CC BY 4.0
|
||||||
- retrieved from https://freesound.org/people/jerry.berumen/sounds/769512/
|
- retrieved from https://freesound.org/people/jerry.berumen/sounds/769512/
|
||||||
- assets/sfx/ambient/metal_creak2-8.wav
|
- assets/sfx/ambient/metal_creak2-8.wav
|
||||||
|
- "Printer startup"
|
||||||
|
- author: Clagnar
|
||||||
|
- CC0
|
||||||
|
- retrieved from https://freesound.org/people/Clagnar/sounds/547256/
|
||||||
|
- assets/sfx/computer_noise.wav
|
||||||
|
- modified
|
Loading…
x
Reference in New Issue
Block a user