From de0e1500a821f2f1f864360ce60c0e05cf49aff8 Mon Sep 17 00:00:00 2001 From: betalars Date: Tue, 11 Jul 2023 23:12:00 +0200 Subject: [PATCH 01/19] updating board of devs --- src/dev-util/board of devs.tscn | 69 +++++++++++++++++++++------------ 1 file changed, 44 insertions(+), 25 deletions(-) diff --git a/src/dev-util/board of devs.tscn b/src/dev-util/board of devs.tscn index 7af0066b..d8688f2f 100644 --- a/src/dev-util/board of devs.tscn +++ b/src/dev-util/board of devs.tscn @@ -1,8 +1,14 @@ -[gd_scene load_steps=3 format=3 uid="uid://bvowj4l8dtceu"] +[gd_scene load_steps=4 format=3 uid="uid://bvowj4l8dtceu"] [ext_resource type="PackedScene" uid="uid://dy5rd437h5hsw" path="res://logic-scenes/board/card.tscn" id="1_xrckx"] [ext_resource type="PackedScene" uid="uid://vkcdj8c3ytbq" path="res://logic-scenes/board/post-it.tscn" id="2_ucudl"] +[sub_resource type="GDScript" id="GDScript_cr445"] +script/source = "extends Control + +var has_stage: bool = false +" + [node name="board of devs" type="Control"] layout_mode = 3 anchors_preset = 15 @@ -10,6 +16,7 @@ anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +script = SubResource("GDScript_cr445") [node name="childhood" type="Control" parent="."] anchors_preset = 0 @@ -20,44 +27,47 @@ offset_bottom = 181.0 [node name="c_homework" parent="childhood" instance=ExtResource("1_xrckx")] text = "I never put in much effort for homework " +metadata/type = "card" [node name="p_good_grades" parent="childhood/c_homework" groups=["c_body", "c_boy_stuff", "c_teachers"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 50) text = "but at least I get good grades." -is_dragable = false +metadata/type = "post-it" [node name="p_upset_peers" parent="childhood/c_homework" groups=["c_Joy", "c_backlash", "c_boy_stuff", "c_comic_heroes", "c_teachers"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 140) text = "and my peers were upset about that." -is_dragable = false +metadata/type = "post-it" [node name="c_teachers" parent="childhood" instance=ExtResource("1_xrckx")] position = Vector2(0, 300) text = "I like my teachers more than my classmates " +metadata/type = "card" [node name="p_volunteering" parent="childhood/c_teachers" groups=["c_Joy", "c_backlash", "c_boy_stuff"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 50) text = "doing voluntary social service at my school would be great." -is_dragable = false +metadata/type = "post-it" [node name="p_becoming_teacher" parent="childhood/c_teachers" groups=["c_Joy", "c_backlash", "c_homework"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 140) text = "maybe I want to become a teacher." -is_dragable = false +metadata/type = "post-it" [node name="c_Joy" parent="childhood" instance=ExtResource("1_xrckx")] position = Vector2(0, 600) text = "I can put ages into things I enjoy " +metadata/type = "card" [node name="p_worried_mother" parent="childhood/c_Joy" groups=["c_body", "c_boy_stuff", "c_comic_heroes", "c_homework", "c_teachers"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 50) text = "my mother would be worried about that" -is_dragable = false +metadata/type = "post-it" [node name="p_thomas" parent="childhood/c_Joy" groups=["c_backlash", "c_comic_heroes", "c_homework", "c_teachers"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 140) text = "Mr Thomas thinks that makes me gifted." -is_dragable = false +metadata/type = "post-it" [node name="voice_training" type="Control" parent="."] anchors_preset = 0 @@ -68,44 +78,47 @@ offset_bottom = 141.0 [node name="c_comic_heroes" parent="voice_training" instance=ExtResource("1_xrckx")] text = "Comic heroes are my role models " +metadata/type = "card" [node name="p_effort" parent="voice_training/c_comic_heroes" groups=["c_Joy", "c_hit", "c_teachers"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 50) text = "when I put in the effort, I can make the world a better place" -is_dragable = false +metadata/type = "post-it" [node name="p_upset_peers" parent="voice_training/c_comic_heroes" groups=["c_Joy", "c_body", "c_boy_stuff", "c_hit"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 140) text = "and I want to be like agent q!" -is_dragable = false +metadata/type = "post-it" [node name="c_boy_stuff" parent="voice_training" instance=ExtResource("1_xrckx")] position = Vector2(0, 300) text = "I like boy stuff " +metadata/type = "card" [node name="p_slut" parent="voice_training/c_boy_stuff" groups=["c_Joy", "c_body", "c_hit", "c_homework", "c_teachers"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 50) text = "others think I only pretend to." -is_dragable = false +metadata/type = "post-it" [node name="p_girls" parent="voice_training/c_boy_stuff" groups=["c_Joy", "c_body", "c_comic_heroes", "c_hit", "c_homework", "c_teachers"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 140) text = "and girls don't get that." -is_dragable = false +metadata/type = "post-it" [node name="c_backlash" parent="voice_training" instance=ExtResource("1_xrckx")] position = Vector2(0, 600) text = "Despite the backlash, I protected Joyo in front of class " +metadata/type = "card" [node name="p_cross_friend" parent="voice_training/c_backlash" groups=["c_Joy", "c_boy_stuff", "c_comic_heroes", "c_hit"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 50) text = "I would never cross a friend, even if it was for my own good." -is_dragable = false +metadata/type = "post-it" [node name="p_reward" parent="voice_training/c_backlash" groups=["c_Joy"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 140) text = "those who put in the effort should be rewarded." -is_dragable = false +metadata/type = "post-it" [node name="juijutsu" type="Control" parent="."] anchors_preset = 0 @@ -116,43 +129,46 @@ offset_bottom = 141.0 [node name="c_body" parent="juijutsu" instance=ExtResource("1_xrckx")] text = "my body makes me uncomfortable " +metadata/type = "card" [node name="p_boobs" parent="juijutsu/c_body" groups=["c_boy_stuff"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 50) text = "boobs are just not made for fighting." -is_dragable = false +metadata/type = "post-it" [node name="p_fat" parent="juijutsu/c_body" instance=ExtResource("2_ucudl")] position = Vector2(-32, 140) text = "I despise all the fat on my hips." -is_dragable = false +metadata/type = "post-it" [node name="c_hit" parent="juijutsu" instance=ExtResource("1_xrckx")] position = Vector2(0, 300) text = "I know how to properly hit people " +metadata/type = "card" [node name="p_confidence" parent="juijutsu/c_hit" groups=["c_Joy", "c_backlash", "c_boy_stuff", "c_comic_heroes", "c_homework"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 50) text = "..., that gives me a lot of confidence." -is_dragable = false +metadata/type = "post-it" [node name="p_vent" parent="juijutsu/c_hit" groups=["c_Joy", "c_backlash", "c_boy_stuff", "c_comic_heroes", "c_homework", "c_teachers"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 140) text = "and that’s a great vent." -is_dragable = false +metadata/type = "post-it" [node name="c_void" parent="juijutsu" instance=ExtResource("1_xrckx")] position = Vector2(0, 600) +metadata/type = "card" [node name="p_wet" parent="juijutsu/c_void" groups=["c_void"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 50) text = "… I was wet, so I must have been into it." -is_dragable = false +metadata/type = "post-it" [node name="p_stop" parent="juijutsu/c_void" groups=["c_void"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 140) text = "… I didn’t say stop." -is_dragable = false +metadata/type = "post-it" [node name="test" type="Control" parent="."] anchors_preset = 0 @@ -162,39 +178,42 @@ offset_right = 1274.0 offset_bottom = 181.0 [node name="c_random1" parent="test" instance=ExtResource("1_xrckx")] +metadata/type = "card" [node name="p_random11" parent="test/c_random1" groups=["c_boy_stuff"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 50) text = "random 1" -is_dragable = false +metadata/type = "post-it" [node name="p_random12" parent="test/c_random1" instance=ExtResource("2_ucudl")] position = Vector2(-32, 140) text = "random 1" -is_dragable = false +metadata/type = "post-it" [node name="c_pick" parent="test" instance=ExtResource("1_xrckx")] position = Vector2(0, 300) +metadata/type = "card" [node name="p_pick" parent="test/c_pick" groups=["c_Joy", "c_backlash", "c_boy_stuff", "c_comic_heroes", "c_homework"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 50) text = "pick me 2" -is_dragable = false +metadata/type = "post-it" [node name="p_goof" parent="test/c_pick" groups=["c_Joy", "c_backlash", "c_boy_stuff", "c_comic_heroes", "c_homework", "c_teachers"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 140) text = "you done goofed" -is_dragable = false +metadata/type = "post-it" [node name="c_random2" parent="test" instance=ExtResource("1_xrckx")] position = Vector2(0, 600) +metadata/type = "card" [node name="p_random21" parent="test/c_random2" groups=["c_void"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 50) text = "random 2" -is_dragable = false +metadata/type = "post-it" [node name="p_random22" parent="test/c_random2" groups=["c_void"] instance=ExtResource("2_ucudl")] position = Vector2(-32, 140) text = "random 2" -is_dragable = false +metadata/type = "post-it" From 1e83e05ac44eb5c7d891076b2f2f2fa30c29f125 Mon Sep 17 00:00:00 2001 From: betalars Date: Tue, 11 Jul 2023 23:13:04 +0200 Subject: [PATCH 02/19] adding stage handling to card --- src/logic-scenes/board/card.gd | 40 +++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/src/logic-scenes/board/card.gd b/src/logic-scenes/board/card.gd index caf015d5..ea2580c3 100644 --- a/src/logic-scenes/board/card.gd +++ b/src/logic-scenes/board/card.gd @@ -10,6 +10,8 @@ var noise: Noise = FastNoiseLite.new() var wiggle_tween var scale_tween +var on_stage = false + @export var text: String = "" : set (value): text = value @@ -80,11 +82,11 @@ func _ready(): _handle_wiggle(0) func _process(delta: float) -> void: - - if highlighted: - _handle_wiggle(delta) - - _move_card() + if self.on_stage: + if highlighted: + _handle_wiggle(delta) + + _move_card() func _handle_wiggle(delta): wiggle_pos += delta * wiggle_speed * wiggle_intensity @@ -104,23 +106,25 @@ func _on_focus_exited(): print(self, "is not focused") func _on_mouse_entered(): - if not Input.is_action_pressed("mouse_left"): - highlighted = true - if "handle_hover" in owner: - owner.handle_hover(self) + if self.on_stage: + if not Input.is_action_pressed("mouse_left"): + highlighted = true + if "handle_hover" in owner: + owner.handle_hover(self) func _on_mouse_exited(): - highlighted = false + if self.on_stage: + highlighted = false func _on_input_event(viewport, event, shape_idx): - - if event is InputEventMouseMotion: - _move_card() - - if event is InputEventMouseButton: - if event.button_index == MOUSE_BUTTON_LEFT: - if is_dragable and "handle_mouse_button" in owner: - owner.handle_mouse_button(self, event) + if self.on_stage: + if event is InputEventMouseMotion: + _move_card() + + if event is InputEventMouseButton: + if event.button_index == MOUSE_BUTTON_LEFT: + if is_dragable and "handle_mouse_button" in owner: + owner.handle_mouse_button(self, event) func _move_card(): if is_dragged: From 362ba1a665df43f418d0395e8e02ed97b5ec7547 Mon Sep 17 00:00:00 2001 From: betalars Date: Tue, 11 Jul 2023 23:14:04 +0200 Subject: [PATCH 03/19] build script update --- flake.lock | 30 ++++++++++++++++++++++++------ flake.nix | 2 +- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index f126826a..7c5aaf96 100644 --- a/flake.lock +++ b/flake.lock @@ -17,12 +17,15 @@ } }, "flake-utils": { + "inputs": { + "systems": "systems" + }, "locked": { - "lastModified": 1678901627, - "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", + "lastModified": 1689068808, + "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", "owner": "numtide", "repo": "flake-utils", - "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", + "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", "type": "github" }, "original": { @@ -32,11 +35,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1679793451, - "narHash": "sha256-JafTtgMDATE8dZOImBhWMA9RCn9AP8FVOpN+9K/tTlg=", + "lastModified": 1689078114, + "narHash": "sha256-osG8BrX5RpKJ7wH+vI6auOU+ctvNOblT4XXCgknK47c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0cd51a933d91078775b300cf0f29aa3495231aa2", + "rev": "b6cc7ff8fee93789bc871a267ab876c3fca042cb", "type": "github" }, "original": { @@ -50,6 +53,21 @@ "flake-utils": "flake-utils", "nixpkgs": "nixpkgs" } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 4e26134f..9f7c7869 100644 --- a/flake.nix +++ b/flake.nix @@ -85,7 +85,7 @@ mkdir -p $out/share/${pname} # This just copies the export template and packs the game files next to it - godot --headless --export-release "linux" $out/share/${pname}/${pname} + godot4 --headless --export-release "linux" $out/share/${pname}/${pname} runHook postBuild ''; From c951d525e42449324c565740b9081ff7d136449a Mon Sep 17 00:00:00 2001 From: betalars Date: Tue, 11 Jul 2023 23:49:27 +0200 Subject: [PATCH 04/19] adding state handling to post_its --- src/logic-scenes/board/post-it.gd | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/logic-scenes/board/post-it.gd b/src/logic-scenes/board/post-it.gd index 0a9f785a..b5883ba7 100644 --- a/src/logic-scenes/board/post-it.gd +++ b/src/logic-scenes/board/post-it.gd @@ -6,6 +6,8 @@ var sibling var shift_tween var modulate_tween +var on_stage = false + @export var text: String = "" : set (value): if is_inside_tree() or Engine.is_editor_hint(): @@ -60,8 +62,8 @@ func replace_with(postit: PostIt): self.sibling = postit.sibling func _process(_delta: float) -> void: - _move_post_it() - + if on_stage: + _move_post_it() func _on_focus_entered(): print(self, "is focused") @@ -70,7 +72,7 @@ func _on_focus_exited(): print(self, "is not focused") func _on_mouse_entered(): - if not Input.is_action_pressed("mouse_left"): + if on_stage and not Input.is_action_pressed("mouse_left"): highlighted = true if "handle_hover" in owner: owner.handle_hover(self) @@ -79,13 +81,14 @@ func _on_mouse_exited(): highlighted = false func _on_input_event(viewport, event, shape_idx): - if event is InputEventMouseMotion: - _move_post_it() - - if event is InputEventMouseButton: - if event.button_index == MOUSE_BUTTON_LEFT: - if is_dragable and "handle_mouse_button" in owner: - owner.handle_mouse_button(self, event) + if on_stage: + if event is InputEventMouseMotion: + _move_post_it() + + if event is InputEventMouseButton: + if event.button_index == MOUSE_BUTTON_LEFT: + if is_dragable and "handle_mouse_button" in owner: + owner.handle_mouse_button(self, event) func _move_post_it(): if is_dragged: From fa0b130523f4001387c41fc46651480e837346da Mon Sep 17 00:00:00 2001 From: betalars Date: Wed, 12 Jul 2023 10:22:06 +0200 Subject: [PATCH 05/19] fixme: setting on stage property of board children when stage is set --- src/logic-scenes/board/card-board.gd | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/logic-scenes/board/card-board.gd b/src/logic-scenes/board/card-board.gd index bc2b4cab..77733c2f 100644 --- a/src/logic-scenes/board/card-board.gd +++ b/src/logic-scenes/board/card-board.gd @@ -5,13 +5,18 @@ enum ui_context {DROPZONE, POST_IT_LIST, ASSIGN_POST_IT} var has_stage = false: set(focus): - if focus != has_stage: - if focus: - has_stage = true - self.mouse_filter = Control.MOUSE_FILTER_PASS - else: - has_stage = false - self.mouse_filter = Control.MOUSE_FILTER_IGNORE + if focus: + has_stage = true + self.mouse_filter = Control.MOUSE_FILTER_PASS + else: + has_stage = false + self.mouse_filter = Control.MOUSE_FILTER_IGNORE + if is_node_ready(): + #fixme: thie should be replaced by a reference that holds all children ... + for child in dropzone.get_children(): + child.on_stage = has_stage + for child in postit_container.get_children(): + child.get_child(1).on_stage = has_stage @onready var dropzone = $HBoxContainer/dropzone @onready var postit_container = $HBoxContainer/ScrollContainer/VBoxContainer @@ -36,6 +41,7 @@ func _ready(): reorder_areas("dropzone_content") active_context = ui_context.DROPZONE + has_stage = has_stage # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): From bd53394d6efefe8bb575589a6995c9bc0a63ddec Mon Sep 17 00:00:00 2001 From: betalars Date: Wed, 12 Jul 2023 18:46:19 +0200 Subject: [PATCH 06/19] adding foundations to Soundterack --- design/contributions.md | 6 ++++-- .../audio/Azure Studios - mgd-723687677.mp3 | 3 +++ .../Azure Studios - mgd-723687677.mp3.import | 19 +++++++++++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 src/base-environments/youth_room/audio/Azure Studios - mgd-723687677.mp3 create mode 100644 src/base-environments/youth_room/audio/Azure Studios - mgd-723687677.mp3.import diff --git a/design/contributions.md b/design/contributions.md index 1fe456b3..6fb95b09 100644 --- a/design/contributions.md +++ b/design/contributions.md @@ -20,14 +20,16 @@ - [Wood Substance 009](https://ambientcg.com/view?id=WoodSubstance009) - [Wicker 010 B](https://ambientcg.com/view?id=Wicker010B) - ## Comic Illustrations - by [Fernand0FC](https://www.deviantart.com/fernand0fc), CC-BY-3.0 + [Corporate level bodyguard](https://www.deviantart.com/fernand0fc/art/Corporate-level-bodyguard-803579124) + [Into the glowing sea](https://www.deviantart.com/fernand0fc/art/Into-the-glowing-sea-834238466) + [Anti-Hero](https://www.deviantart.com/fernand0fc/art/Anti-Hero-555054767) - + +## Music + - [Foundations I by Azure Studios](https://azurestudios.bandcamp.com/album/foundations-i-24bit), CC-BY 3.0 + ## Sounds Effects - [Rain on Windows, Interior](https://freesound.org/people/InspectorJ/sounds/346641/) by [InspectorJ](https://freesound.org/people/InspectorJ/) CC-BY 3.0 - [Rain and thunder](https://freesound.org/people/MrAuralization/sounds/241294/) by [MrAuralization](https://freesound.org/people/MrAuralization/) CC-BY 3.0 diff --git a/src/base-environments/youth_room/audio/Azure Studios - mgd-723687677.mp3 b/src/base-environments/youth_room/audio/Azure Studios - mgd-723687677.mp3 new file mode 100644 index 00000000..e7e2cf17 --- /dev/null +++ b/src/base-environments/youth_room/audio/Azure Studios - mgd-723687677.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e52c9f57af34bca122ca3f4ed076ab478290f464cf09305d632779eabc8958d +size 2724674 diff --git a/src/base-environments/youth_room/audio/Azure Studios - mgd-723687677.mp3.import b/src/base-environments/youth_room/audio/Azure Studios - mgd-723687677.mp3.import new file mode 100644 index 00000000..29777385 --- /dev/null +++ b/src/base-environments/youth_room/audio/Azure Studios - mgd-723687677.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://1tvopjmo6dp2" +path="res://.godot/imported/Azure Studios - mgd-723687677.mp3-ffcb00059cdac7ecd24487bd9e38d9cb.mp3str" + +[deps] + +source_file="res://base-environments/youth_room/audio/Azure Studios - mgd-723687677.mp3" +dest_files=["res://.godot/imported/Azure Studios - mgd-723687677.mp3-ffcb00059cdac7ecd24487bd9e38d9cb.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 From 5943ac7f456ff9e9f77f83ceea4cb835579ea3a6 Mon Sep 17 00:00:00 2001 From: betalars Date: Wed, 12 Jul 2023 18:47:31 +0200 Subject: [PATCH 07/19] fixing void card --- src/logic-scenes/board/card.gd | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/logic-scenes/board/card.gd b/src/logic-scenes/board/card.gd index ea2580c3..3801963a 100644 --- a/src/logic-scenes/board/card.gd +++ b/src/logic-scenes/board/card.gd @@ -13,15 +13,15 @@ var scale_tween var on_stage = false @export var text: String = "" : - set (value): + set(value): text = value - if is_inside_tree() or Engine.is_editor_hint(): + if get_children() != [] or Engine.is_editor_hint(): $Label.text = value $BackgroundSprite.frame = text.hash() % $BackgroundSprite.sprite_frames.get_frame_count($BackgroundSprite.animation) - if is_inside_tree() and !Engine.is_editor_hint(): + if !Engine.is_editor_hint(): wiggle_pos = float(text.hash() % 100) _handle_wiggle(0) - if is_inside_tree() and value == "": + if get_children() != [] and !Engine.is_editor_hint() and text == "": $BackgroundSprite.void_active = true @export var wiggle_strength: float = 0.2 @export var wiggle_speed: float = 5 @@ -76,6 +76,7 @@ func _ready(): $BackgroundSprite.frame = text.hash() % $BackgroundSprite.sprite_frames.get_frame_count($BackgroundSprite.animation) $Label.text = self.text + if not Engine.is_editor_hint(): $BackgroundSprite.void_active = text == "" wiggle_pos = float(text.hash() % 100) if not Engine.is_editor_hint(): From e761c38a0a0a69425a6b2559ba16cb9a1f3c4639 Mon Sep 17 00:00:00 2001 From: betalars Date: Wed, 12 Jul 2023 18:48:18 +0200 Subject: [PATCH 08/19] fixme: Updating void card logic --- src/logic-scenes/board/card.tscn | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/src/logic-scenes/board/card.tscn b/src/logic-scenes/board/card.tscn index 29f1a821..e054e43d 100644 --- a/src/logic-scenes/board/card.tscn +++ b/src/logic-scenes/board/card.tscn @@ -58,28 +58,23 @@ script/source = "extends AnimatedSprite2D @onready var particles = $GPUParticles2D @onready var initial_position = position +@export var noise_speed: float = 10 +@export var noise_power: float = 1 var noise_position = randf() var noise: Noise = FastNoiseLite.new() -var void_active: - set(become_void): - if not (void_active == become_void): - if is_inside_tree(): - $GPUParticles2D.is_void = become_void - $GPUParticles2D.emitting = become_void - $Sprite2D.is_void = become_void - void_active = become_void - +@export var void_active: bool = true + func _process(delta): if void_active and not State.reduce_motion: - noise_position += delta * 10 + noise_position += delta * noise_speed var random_position = Vector2(noise.get_noise_1d(noise_position*2), noise.get_noise_1d(-noise_position)) - random_position = random_position.normalized() * pow(random_position.length()*2, 3) * 5 + random_position = random_position.normalized() * pow(random_position.length()*2, noise_power) * 10 position = initial_position - random_position - rotation = noise.get_noise_1d(noise_position*10) * random_position.length() * 0.01 + rotation = noise.get_noise_1d(noise_position*7) * random_position.length() * 0.01 particles.position = random_position @@ -130,23 +125,20 @@ attractor_interaction_enabled = false [sub_resource type="GDScript" id="GDScript_vjwk7"] script/source = "extends GPUParticles2D -var is_void:bool = false - func _process(_delta): - self.visible = !State.reduce_motion and is_void + self.visible = !State.reduce_motion " [sub_resource type="GDScript" id="GDScript_tgc0b"] script/source = "extends Sprite2D -var is_void:bool = false - func _process(_delta): - self.visible = State.reduce_motion and is_void + self.visible = State.reduce_motion " [node name="card" type="Area2D"] script = ExtResource("1_emip0") +metadata/type = "card" [node name="CollisionShape2D" type="CollisionShape2D" parent="."] position = Vector2(-0.0713516, 0.997451) From 285dc4228dba5d2751bd31575e01c2c783468f63 Mon Sep 17 00:00:00 2001 From: betalars Date: Wed, 12 Jul 2023 18:48:51 +0200 Subject: [PATCH 09/19] adding jui jitsu scene to room --- .../youth_room/room_handle.gd | 2 + .../youth_room/youth_room.tscn | 1320 ++++++++++++----- src/default_bus_layout.tres | 1 - 3 files changed, 977 insertions(+), 346 deletions(-) diff --git a/src/base-environments/youth_room/room_handle.gd b/src/base-environments/youth_room/room_handle.gd index 7c322235..70d7fcf8 100644 --- a/src/base-environments/youth_room/room_handle.gd +++ b/src/base-environments/youth_room/room_handle.gd @@ -11,6 +11,7 @@ enum Modes { signal freeze signal unfreeze +signal startup var current_mode: int = Modes.FREEZE: set(new_mode): @@ -18,6 +19,7 @@ var current_mode: int = Modes.FREEZE: current_mode = _update_scene(new_mode) func start(): + emit_signal("startup") $light_animation.play("light_up") $AudioPlayer.play("intro") State.pass_stage_to($PlayerController) diff --git a/src/base-environments/youth_room/youth_room.tscn b/src/base-environments/youth_room/youth_room.tscn index d0403bc4..2ea2c7f4 100644 --- a/src/base-environments/youth_room/youth_room.tscn +++ b/src/base-environments/youth_room/youth_room.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=67 format=3 uid="uid://b3b0gyvklqn50"] +[gd_scene load_steps=87 format=3 uid="uid://b3b0gyvklqn50"] [ext_resource type="Script" path="res://base-environments/youth_room/room_handle.gd" id="1_aitp0"] [ext_resource type="PackedScene" uid="uid://c0i4ydmxtxfho" path="res://base-environments/youth_room/import/youth_room.glb" id="1_jf3oi"] @@ -7,15 +7,19 @@ [ext_resource type="PackedScene" uid="uid://mkccbig41bqb" path="res://logic-scenes/player_controller/player_controller.tscn" id="3_foj4y"] [ext_resource type="AudioStream" uid="uid://bbpo1hu35yer8" path="res://base-environments/youth_room/import/sounds/thunder.mp3" id="3_wcypa"] [ext_resource type="Texture2D" uid="uid://bwicl5q0lw06q" path="res://import/interface-elements/bottom.png" id="3_xqd4w"] +[ext_resource type="AudioStream" uid="uid://1tvopjmo6dp2" path="res://base-environments/youth_room/audio/Azure Studios - mgd-723687677.mp3" id="5_fe1yj"] [ext_resource type="ArrayMesh" uid="uid://wuxbl6u3s8yo" path="res://base-environments/youth_room/shaders/starlight-mesh.res" id="6_gy6jv"] [ext_resource type="AudioStream" uid="uid://cudna8k7fw06t" path="res://base-environments/youth_room/audio/Moving Loop.wav" id="8_egnow"] [ext_resource type="AudioStream" uid="uid://bwh60165c3saj" path="res://base-environments/youth_room/audio/lisa_youth_voice.ogg" id="9_dqdgk"] [ext_resource type="AudioStream" uid="uid://cl74a68tjwinh" path="res://base-environments/youth_room/audio/Youth Loop.wav" id="9_i8mqk"] +[ext_resource type="Texture2D" uid="uid://sv0nhkkur1tt" path="res://logic-scenes/board/card-textures/cardsheet.png" id="10_ftoxq"] [ext_resource type="AudioStream" uid="uid://cho5neuxkvpyh" path="res://base-environments/youth_room/audio/Voice Loop.wav" id="10_wwwdq"] [ext_resource type="Script" path="res://base-environments/youth_room/Collectable.gd" id="11_6fwv8"] [ext_resource type="Script" path="res://dev-util/click-trough-area.gd" id="11_7uxd8"] [ext_resource type="PackedScene" uid="uid://d3pb25xuef2t2" path="res://logic-scenes/collectable/collectable_ui.tscn" id="11_jxai0"] +[ext_resource type="Texture2D" uid="uid://kpmk21d8rlso" path="res://logic-scenes/board/particle_textures/star.png" id="11_maw5c"] [ext_resource type="PackedScene" uid="uid://bdnesuqroi7ss" path="res://vfx/collectable_particles.tscn" id="12_qxx2k"] +[ext_resource type="Texture2D" uid="uid://bqilajx05t0eb" path="res://logic-scenes/board/particle_textures/void_nomotion.png" id="12_xnele"] [ext_resource type="Texture2D" uid="uid://d005qvnbnishb" path="res://import/interface-elements/cursor_grab.png" id="13_lqj71"] [ext_resource type="PackedScene" uid="uid://brk4hjdf2x81a" path="res://logic-scenes/card_picker/card_picker.tscn" id="19_a4n1o"] [ext_resource type="ArrayMesh" uid="uid://bfc3d4g40n0wy" path="res://logic-scenes/collectable/import/old-mask.res" id="19_jr2bb"] @@ -105,221 +109,6 @@ size = Vector3(1.63347, 0.305693, 0.775269) [sub_resource type="BoxShape3D" id="BoxShape3D_bq15k"] size = Vector3(0.375967, 1, 0.245859) -[sub_resource type="GDScript" id="GDScript_35dmj"] -script/source = "extends SpotLight3D - -@export var strength:float = 0.3 -@export var speed:float = 5 -var noise = FastNoiseLite.new() -var spot:float = randf() -var base_energy = light_energy -@export var lit: bool = false - -@onready var secondary_light: OmniLight3D = $desk_secondary - -var litnes: float = float(lit) - -func _ready(): - if not lit: light_energy = 0 - - -func _process(delta): - spot += speed*delta - light_energy = base_energy * (1 + noise.get_noise_1d(spot) * strength) * litnes - secondary_light.light_energy = light_energy/16 - -func switch_on(): - var tween:Tween = create_tween() - tween.tween_property(self, \"litnes\", 1, 10) - -func switch_off(): - var tween:Tween = create_tween() - tween.tween_property(self, \"litnes\", 0, 1) -" - -[sub_resource type="Animation" id="Animation_hqls1"] -length = 0.001 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("OmniLight3D2:light_energy") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [1.0] -} - -[sub_resource type="Animation" id="Animation_hxk3n"] -resource_name = "light_up" -length = 10.0 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("OmniLight3D2:light_energy") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 10), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0.0, 1.0] -} -tracks/1/type = "method" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("desk_light") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"values": [{ -"args": [], -"method": &"switch_on" -}] -} - -[sub_resource type="Animation" id="Animation_wa80i"] -resource_name = "lights_out" -length = 2.0 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("OmniLight3D2:light_energy") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [1.0, 0.0] -} -tracks/1/type = "method" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("desk_light") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"values": [{ -"args": [], -"method": &"switch_off" -}] -} - -[sub_resource type="Animation" id="Animation_upogh"] -resource_name = "menu" -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("OmniLight3D2:light_energy") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} - -[sub_resource type="AnimationLibrary" id="AnimationLibrary_k8op5"] -_data = { -"RESET": SubResource("Animation_hqls1"), -"light_up": SubResource("Animation_hxk3n"), -"lights_out": SubResource("Animation_wa80i"), -"menu": SubResource("Animation_upogh") -} - -[sub_resource type="GDScript" id="GDScript_yn0pl"] -script/source = "extends SpotLight3D - -@export var flicker_strength:float = 0.7 -@export var speed:float = 4 -var noise = FastNoiseLite.new() -var light_spot:float = randf() -var base_energy = light_energy - -func _process(delta): - light_spot += speed*delta - light_energy = base_energy * (1 + noise.get_noise_1d(light_spot) * flicker_strength) -" - -[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_kcdrx"] -sky_top_color = Color(0, 0, 1, 1) -sky_horizon_color = Color(0.858824, 0.541176, 0.4, 1) -sky_curve = 0.54075 - -[sub_resource type="Sky" id="Sky_lumfb"] -sky_material = SubResource("ProceduralSkyMaterial_kcdrx") - -[sub_resource type="Environment" id="Environment_pllnm"] -background_mode = 2 -background_energy_multiplier = 0.2 -sky = SubResource("Sky_lumfb") -sky_rotation = Vector3(0, 0.352557, 0) -ambient_light_source = 3 -ambient_light_color = Color(1, 1, 1, 1) -reflected_light_source = 1 -tonemap_mode = 2 -ssr_enabled = true -ssr_max_steps = 512 -ssr_depth_tolerance = 0.01 -ssao_enabled = true -ssao_radius = 1.24 -ssao_intensity = 3.09 -ssao_power = 1.91184 -ssao_detail = 3.0 -ssil_intensity = 0.72 -ssil_normal_rejection = 0.56 -sdfgi_enabled = true -sdfgi_use_occlusion = true -sdfgi_cascades = 3 -sdfgi_min_cell_size = 0.0664062 -glow_enabled = true -glow_levels/2 = 0.3 -glow_levels/7 = 2.0 -glow_intensity = 0.4 -glow_strength = 0.7 -glow_bloom = 0.13 -glow_blend_mode = 1 -glow_hdr_threshold = 0.46 -fog_enabled = true -fog_light_color = Color(0.141176, 0.133333, 0.301961, 1) -fog_sky_affect = 0.0 -fog_height = 1.0 -fog_height_density = 0.1 -adjustment_enabled = true - -[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_26mp0"] -auto_exposure_enabled = true -auto_exposure_scale = 0.2 -dof_blur_far_enabled = true -dof_blur_far_distance = 0.4 -dof_blur_far_transition = 0.2 -dof_blur_near_distance = 0.79 -dof_blur_amount = 0.0 -auto_exposure_min_sensitivity = 100.0 - -[sub_resource type="GDScript" id="GDScript_wb8kg"] -script/source = "extends WorldEnvironment - -func _ready(): - focus_env() - -func focus_env(): - var dof_strength_tween: Tween = create_tween() - dof_strength_tween.tween_property(camera_attributes, \"dof_blur_amount\", 0, 1) - -func focus_object(): - var dof_strength_tween: Tween = create_tween() - dof_strength_tween.tween_property(camera_attributes, \"dof_blur_amount\", 0.6, 1) -" - [sub_resource type="Animation" id="Animation_nwry8"] length = 0.001 tracks/0/type = "value" @@ -337,31 +126,31 @@ tracks/0/keys = { tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("AudioPlayer/Jui Jutsu:playing") +tracks/1/path = NodePath("AudioPlayer/Moving:volume_db") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] +"update": 0, +"values": [-80.0] } tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("AudioPlayer/Moving:volume_db") +tracks/2/path = NodePath("AudioPlayer/Childhood:volume_db") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [-80.0] +"values": [0.0] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true -tracks/3/path = NodePath("AudioPlayer/Childhood:volume_db") +tracks/3/path = NodePath("AudioPlayer/VoiceTraining:volume_db") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { @@ -373,7 +162,7 @@ tracks/3/keys = { tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true -tracks/4/path = NodePath("AudioPlayer/VoiceTraining:volume_db") +tracks/4/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_ratio") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { @@ -385,87 +174,195 @@ tracks/4/keys = { tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true -tracks/5/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_ratio") +tracks/5/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] +"update": 1, +"values": [0] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true -tracks/6/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/6/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, -"values": [0] +"values": [1] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true -tracks/7/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") +tracks/7/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 1, -"values": [1] +"update": 0, +"values": [Vector2(800, 750)] } tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true -tracks/8/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") +tracks/8/path = NodePath("AudioPlayer/childhood:modulate") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(800, 750)] +"values": [Color(1, 1, 1, 0)] } tracks/9/type = "value" tracks/9/imported = false tracks/9/enabled = true -tracks/9/path = NodePath("AudioPlayer/childhood:modulate") +tracks/9/path = NodePath("AudioPlayer/childhood/PanelContainer:self_modulate") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Color(1, 1, 1, 0)] +"values": [Color(1, 1, 1, 1)] } tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true -tracks/10/path = NodePath("AudioPlayer/childhood/PanelContainer:self_modulate") +tracks/10/path = NodePath("AudioPlayer/childhood:visible") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), -"update": 0, -"values": [Color(1, 1, 1, 1)] +"update": 1, +"values": [false] } tracks/11/type = "value" tracks/11/imported = false tracks/11/enabled = true -tracks/11/path = NodePath("AudioPlayer/childhood:visible") +tracks/11/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") tracks/11/interp = 1 tracks/11/loop_wrap = true tracks/11/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, +"values": [43] +} +tracks/12/type = "value" +tracks/12/imported = false +tracks/12/enabled = true +tracks/12/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [638] +} +tracks/13/type = "value" +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:emitting") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, "values": [false] } +tracks/14/type = "value" +tracks/14/imported = false +tracks/14/enabled = true +tracks/14/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:amount") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [500] +} +tracks/15/type = "value" +tracks/15/imported = false +tracks/15/enabled = true +tracks/15/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_speed") +tracks/15/interp = 1 +tracks/15/loop_wrap = true +tracks/15/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/16/type = "value" +tracks/16/imported = false +tracks/16/enabled = true +tracks/16/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:one_shot") +tracks/16/interp = 1 +tracks/16/loop_wrap = true +tracks/16/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/17/type = "value" +tracks/17/imported = false +tracks/17/enabled = true +tracks/17/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:lifetime") +tracks/17/interp = 1 +tracks/17/loop_wrap = true +tracks/17/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.0] +} +tracks/18/type = "value" +tracks/18/imported = false +tracks/18/enabled = true +tracks/18/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:explosiveness") +tracks/18/interp = 1 +tracks/18/loop_wrap = true +tracks/18/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.29] +} +tracks/19/type = "value" +tracks/19/imported = false +tracks/19/enabled = true +tracks/19/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:speed_scale") +tracks/19/interp = 1 +tracks/19/loop_wrap = true +tracks/19/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.9] +} +tracks/20/type = "value" +tracks/20/imported = false +tracks/20/enabled = true +tracks/20/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_power") +tracks/20/interp = 1 +tracks/20/loop_wrap = true +tracks/20/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [5.0] +} [sub_resource type="Animation" id="Animation_g5l1m"] resource_name = "childhood" @@ -801,6 +698,250 @@ tracks/1/keys = { "values": [-80.0, 0.0] } +[sub_resource type="Animation" id="Animation_dot4p"] +resource_name = "jui_jutsu" +length = 210.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AudioPlayer/Moving:volume_db") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 9, 171.8, 207.7), +"transitions": PackedFloat32Array(1.93187, 1, 0.189465, 1.93187), +"update": 0, +"values": [0.0, -80.0, -80.0, 0.0] +} +tracks/1/type = "audio" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("AudioPlayer/Lisa") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"clips": [{ +"end_offset": 62.4779, +"start_offset": 183.499, +"stream": ExtResource("9_dqdgk") +}, { +"end_offset": 0.0, +"start_offset": 322.397, +"stream": ExtResource("9_dqdgk") +}], +"times": PackedFloat32Array(1.1, 139.2) +} +tracks/1/use_blend = true +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/2/interp = 2 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(78.1, 81, 148.1, 152, 155.7, 155.8, 158.009), +"transitions": PackedFloat32Array(0.307786, 0.307786, 12.1257, 0.554785, 1, 1, 1), +"update": 0, +"values": [0, 638, 638, 677, 1220, 1252, 1252] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 90), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [2, 0] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") +tracks/4/interp = 2 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 0.4), +"transitions": PackedFloat32Array(0.466516, 1), +"update": 0, +"values": [Vector2(800, 750), Vector2(800, 800)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("AudioPlayer/jui_jutsu:modulate") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0, 0.4, 203.8, 204.7), +"transitions": PackedFloat32Array(1, 1, 1.93187, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer:self_modulate") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(201.4, 203.9), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} +tracks/7/type = "method" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath(".") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(91.9), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"_on_childhood_done" +}] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("AudioPlayer/childhood:visible") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0, 93.1), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} +tracks/9/type = "audio" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("AudioPlayer/Jui_Jutsu") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"clips": [{ +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource("5_fe1yj") +}], +"times": PackedFloat32Array(3) +} +tracks/9/use_blend = true +tracks/10/type = "value" +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = { +"times": PackedFloat32Array(0.7, 2.5, 4.2, 8.59882, 11.202, 17.9, 22.9, 28.4866, 34.1, 40.7, 44.6, 50, 53.9237, 58.9, 63.2334, 71.5, 75.5, 79.8, 84.7, 88.7, 91.9227, 98.6, 102.972, 106, 106.8, 109.1, 110.3, 114.8, 117.385, 120.6, 121.989, 125.4, 128.512, 136.313, 143.8, 149.7, 153, 156.2, 160.1, 163, 170.3, 175.771, 182.9, 183.9, 184.6, 188.4, 189.5, 195.1, 198.112, 201), +"transitions": PackedFloat32Array(0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 1, 0.287175, 0.965937, 0.287175, 0.287175, 0.287175, 0.287175, 1, 1, 0.287175, 0.287175, 0.287175, 0.517633, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175, 0.287175), +"update": 0, +"values": [0, 43, 43, 110, 110, 275, 275, 360, 508, 540, 540, 648, 648, 735, 735, 1024, 1091, 1091, 1162, 1279, 1279, 1434, 1434, 1452, 1452, 1483, 1483, 1596, 1596, 1647, 1647, 1698, 1698, 1790, 1906, 2061, 2061, 2101, 2150, 2150, 2229, 2313, 2352, 2357, 2363, 2412, 2412, 2503, 2503, 2540] +} +tracks/11/type = "value" +tracks/11/imported = false +tracks/11/enabled = true +tracks/11/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:emitting") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/keys = { +"times": PackedFloat32Array(0, 5.8, 11.3, 18.2, 26.1, 34.4, 43.7, 53.2, 65.1, 75.7, 93), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), +"update": 1, +"values": [false, true, true, true, true, true, true, true, true, true, true] +} +tracks/12/type = "value" +tracks/12/imported = false +tracks/12/enabled = true +tracks/12/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:amount") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/keys = { +"times": PackedFloat32Array(4, 11.1, 18, 25.9, 34.2, 43.5, 53, 65, 75.6, 92.1), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1), +"update": 1, +"values": [1, 10, 20, 40, 80, 180, 160, 320, 400, 500] +} +tracks/13/type = "value" +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_speed") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/keys = { +"times": PackedFloat32Array(2, 129.7, 149.1, 167.15), +"transitions": PackedFloat32Array(0.482968, 1.86607, 1, 1), +"update": 0, +"values": [0.0, 10.0, 5.0, 10.0] +} +tracks/14/type = "value" +tracks/14/imported = false +tracks/14/enabled = true +tracks/14/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:one_shot") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/keys = { +"times": PackedFloat32Array(0, 93), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} +tracks/15/type = "value" +tracks/15/imported = false +tracks/15/enabled = true +tracks/15/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:lifetime") +tracks/15/interp = 1 +tracks/15/loop_wrap = true +tracks/15/keys = { +"times": PackedFloat32Array(93, 129.9, 136.6, 164.8), +"transitions": PackedFloat32Array(1, 0.31864, 2.21914, 1), +"update": 0, +"values": [5.0, 1.5, 4.0, 2.0] +} +tracks/16/type = "value" +tracks/16/imported = false +tracks/16/enabled = true +tracks/16/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:explosiveness") +tracks/16/interp = 1 +tracks/16/loop_wrap = true +tracks/16/keys = { +"times": PackedFloat32Array(96.3, 129.9, 136.6, 159.5, 176.7), +"transitions": PackedFloat32Array(1, 0.31864, 1, 0.406126, 1), +"update": 0, +"values": [0.29, 0.69, 0.74, 0.9, 0.2] +} +tracks/17/type = "value" +tracks/17/imported = false +tracks/17/enabled = true +tracks/17/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:speed_scale") +tracks/17/interp = 1 +tracks/17/loop_wrap = true +tracks/17/keys = { +"times": PackedFloat32Array(105.6, 129.8, 150.5, 164.7), +"transitions": PackedFloat32Array(1, 0.466516, 1, 1), +"update": 0, +"values": [1.0, 1.9, 0.4, 1.0] +} +tracks/18/type = "value" +tracks/18/imported = false +tracks/18/enabled = true +tracks/18/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_power") +tracks/18/interp = 1 +tracks/18/loop_wrap = true +tracks/18/keys = { +"times": PackedFloat32Array(8.4, 93.4, 129.7, 159.4, 169.4), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 0, +"values": [5.0, 2.0, 0.3, 0.3, 1.5] +} + [sub_resource type="AnimationLibrary" id="AnimationLibrary_ilekd"] _data = { "RESET": SubResource("Animation_nwry8"), @@ -808,6 +949,7 @@ _data = { "childhood_intro": SubResource("Animation_as75l"), "childhood_outro": SubResource("Animation_60him"), "intro": SubResource("Animation_1pmhi"), +"jui_jutsu": SubResource("Animation_dot4p"), "voice training": SubResource("Animation_t64y4"), "voice_intro": SubResource("Animation_8gaqi") } @@ -822,6 +964,354 @@ func start_soundtrack(): func _on_childhood_collected(): play(\"childhood\") + +func _on_youth_room_startup(): + play(\"intro\") +" + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_foovg"] +radius = 110.0 +height = 336.0 + +[sub_resource type="AtlasTexture" id="AtlasTexture_ykk13"] +atlas = ExtResource("10_ftoxq") +region = Rect2(0, 0, 600, 440) + +[sub_resource type="AtlasTexture" id="AtlasTexture_l43eo"] +atlas = ExtResource("10_ftoxq") +region = Rect2(600, 0, 600, 440) + +[sub_resource type="AtlasTexture" id="AtlasTexture_x2vcn"] +atlas = ExtResource("10_ftoxq") +region = Rect2(0, 440, 600, 440) + +[sub_resource type="AtlasTexture" id="AtlasTexture_e7401"] +atlas = ExtResource("10_ftoxq") +region = Rect2(600, 440, 600, 440) + +[sub_resource type="AtlasTexture" id="AtlasTexture_j7wh6"] +atlas = ExtResource("10_ftoxq") +region = Rect2(0, 880, 600, 440) + +[sub_resource type="SpriteFrames" id="SpriteFrames_ckivt"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_ykk13") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_l43eo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_x2vcn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_e7401") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_j7wh6") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] + +[sub_resource type="GDScript" id="GDScript_8bs16"] +script/source = "extends AnimatedSprite2D + +@onready var particles = $GPUParticles2D +@onready var initial_position = position +@export var noise_speed: float = 10 +@export var noise_power: float = 1 +var noise_position = randf() +var noise: Noise = FastNoiseLite.new() +@export var void_active: bool = true + +func _process(delta): + if void_active and not State.reduce_motion: + noise_position += delta * noise_speed + + var random_position = Vector2(noise.get_noise_1d(noise_position*2), noise.get_noise_1d(-noise_position)) + + random_position = random_position.normalized() * pow(random_position.length()*2, noise_power) * 10 + + position = initial_position - random_position + + rotation = noise.get_noise_1d(noise_position*7) * random_position.length() * 0.01 + + particles.position = random_position + + else: position = initial_position +" + +[sub_resource type="Gradient" id="Gradient_v70nd"] +interpolation_mode = 2 +offsets = PackedFloat32Array(0, 0.0529197, 0.191606, 1) +colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0.491329, 1, 1, 1, 0) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_xxq8p"] +gradient = SubResource("Gradient_v70nd") + +[sub_resource type="Curve" id="Curve_q6cmf"] +_data = [Vector2(0, 0), 0.0, 3.16529, 0, 0, Vector2(0.241056, 0.191336), 0.132446, 0.132446, 0, 0, Vector2(1, 1), 3.94797, 0.0, 0, 0] +point_count = 3 + +[sub_resource type="CurveTexture" id="CurveTexture_cg0w1"] +curve = SubResource("Curve_q6cmf") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_by44l"] +emission_shape = 6 +emission_ring_axis = Vector3(0, 0, 1) +emission_ring_height = 0.0 +emission_ring_radius = 180.0 +emission_ring_inner_radius = 185.0 +particle_flag_disable_z = true +spread = 180.0 +gravity = Vector3(0, 0, 0) +initial_velocity_min = -10.0 +initial_velocity_max = 10.0 +angular_velocity_min = -150.0 +angular_velocity_max = -150.0 +orbit_velocity_min = 0.0 +orbit_velocity_max = 0.0 +radial_accel_min = -20.0 +radial_accel_max = -5.0 +tangential_accel_min = 20.0 +tangential_accel_max = 30.0 +scale_min = 3.0 +scale_max = 5.0 +scale_curve = SubResource("CurveTexture_cg0w1") +color_ramp = SubResource("GradientTexture1D_xxq8p") +turbulence_noise_strength = 0.1 +attractor_interaction_enabled = false + +[sub_resource type="GDScript" id="GDScript_vjwk7"] +script/source = "extends GPUParticles2D + +func _process(_delta): + self.visible = !State.reduce_motion +" + +[sub_resource type="GDScript" id="GDScript_tgc0b"] +script/source = "extends Sprite2D + +func _process(_delta): + self.visible = State.reduce_motion +" + +[sub_resource type="GDScript" id="GDScript_35dmj"] +script/source = "extends SpotLight3D + +@export var strength:float = 0.3 +@export var speed:float = 5 +var noise = FastNoiseLite.new() +var spot:float = randf() +var base_energy = light_energy +@export var lit: bool = false + +@onready var secondary_light: OmniLight3D = $desk_secondary + +var litnes: float = float(lit) + +func _ready(): + if not lit: light_energy = 0 + + +func _process(delta): + spot += speed*delta + light_energy = base_energy * (1 + noise.get_noise_1d(spot) * strength) * litnes + secondary_light.light_energy = light_energy/16 + +func switch_on(): + var tween:Tween = create_tween() + tween.tween_property(self, \"litnes\", 1, 10) + +func switch_off(): + var tween:Tween = create_tween() + tween.tween_property(self, \"litnes\", 0, 1) +" + +[sub_resource type="Animation" id="Animation_hqls1"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("OmniLight3D2:light_energy") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.0] +} + +[sub_resource type="Animation" id="Animation_hxk3n"] +resource_name = "light_up" +length = 10.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("OmniLight3D2:light_energy") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 10), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 1.0] +} +tracks/1/type = "method" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("desk_light") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"switch_on" +}] +} + +[sub_resource type="Animation" id="Animation_wa80i"] +resource_name = "lights_out" +length = 2.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("OmniLight3D2:light_energy") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [1.0, 0.0] +} +tracks/1/type = "method" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("desk_light") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"values": [{ +"args": [], +"method": &"switch_off" +}] +} + +[sub_resource type="Animation" id="Animation_upogh"] +resource_name = "menu" +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("OmniLight3D2:light_energy") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_k8op5"] +_data = { +"RESET": SubResource("Animation_hqls1"), +"light_up": SubResource("Animation_hxk3n"), +"lights_out": SubResource("Animation_wa80i"), +"menu": SubResource("Animation_upogh") +} + +[sub_resource type="GDScript" id="GDScript_yn0pl"] +script/source = "extends SpotLight3D + +@export var flicker_strength:float = 0.7 +@export var speed:float = 4 +var noise = FastNoiseLite.new() +var light_spot:float = randf() +var base_energy = light_energy + +func _process(delta): + light_spot += speed*delta + light_energy = base_energy * (1 + noise.get_noise_1d(light_spot) * flicker_strength) +" + +[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_kcdrx"] +sky_top_color = Color(0, 0, 1, 1) +sky_horizon_color = Color(0.858824, 0.541176, 0.4, 1) +sky_curve = 0.54075 + +[sub_resource type="Sky" id="Sky_lumfb"] +sky_material = SubResource("ProceduralSkyMaterial_kcdrx") + +[sub_resource type="Environment" id="Environment_pllnm"] +background_mode = 2 +background_energy_multiplier = 0.2 +sky = SubResource("Sky_lumfb") +sky_rotation = Vector3(0, 0.352557, 0) +ambient_light_source = 3 +ambient_light_color = Color(1, 1, 1, 1) +reflected_light_source = 1 +tonemap_mode = 2 +ssr_enabled = true +ssr_max_steps = 512 +ssr_depth_tolerance = 0.01 +ssao_enabled = true +ssao_radius = 1.24 +ssao_intensity = 3.09 +ssao_power = 1.91184 +ssao_detail = 3.0 +ssil_intensity = 0.72 +ssil_normal_rejection = 0.56 +sdfgi_enabled = true +sdfgi_use_occlusion = true +sdfgi_cascades = 3 +sdfgi_min_cell_size = 0.0664062 +glow_enabled = true +glow_levels/2 = 0.3 +glow_levels/7 = 2.0 +glow_intensity = 0.4 +glow_strength = 0.7 +glow_bloom = 0.13 +glow_blend_mode = 1 +glow_hdr_threshold = 0.46 +fog_enabled = true +fog_light_color = Color(0.141176, 0.133333, 0.301961, 1) +fog_sky_affect = 0.0 +fog_height = 1.0 +fog_height_density = 0.1 +adjustment_enabled = true + +[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_26mp0"] +auto_exposure_enabled = true +auto_exposure_scale = 0.2 +dof_blur_far_enabled = true +dof_blur_far_distance = 0.4 +dof_blur_far_transition = 0.2 +dof_blur_near_distance = 0.79 +dof_blur_amount = 0.0 +auto_exposure_min_sensitivity = 100.0 + +[sub_resource type="GDScript" id="GDScript_wb8kg"] +script/source = "extends WorldEnvironment + +func _ready(): + focus_env() + +func focus_env(): + var dof_strength_tween: Tween = create_tween() + dof_strength_tween.tween_property(camera_attributes, \"dof_blur_amount\", 0, 1) + +func focus_object(): + var dof_strength_tween: Tween = create_tween() + dof_strength_tween.tween_property(camera_attributes, \"dof_blur_amount\", 0.6, 1) " [sub_resource type="BoxShape3D" id="BoxShape3D_cb3g8"] @@ -1009,6 +1499,246 @@ mouse_filter = 1 visible = false layout_mode = 1 +[node name="AudioPlayer" type="AnimationPlayer" parent="logic" groups=["animation_player"]] +autoplay = "jui_jutsu" +libraries = { +"": SubResource("AnimationLibrary_ilekd") +} +script = SubResource("GDScript_tfc2r") + +[node name="Lisa" type="AudioStreamPlayer" parent="logic/AudioPlayer"] +volume_db = 5.0 +bus = &"text" + +[node name="Moving" type="AudioStreamPlayer" parent="logic/AudioPlayer"] +stream = ExtResource("8_egnow") +volume_db = -80.0 +autoplay = true +bus = &"music" + +[node name="Childhood" type="AudioStreamPlayer" parent="logic/AudioPlayer"] +stream = ExtResource("9_i8mqk") +bus = &"music" + +[node name="childhood" type="CenterContainer" parent="logic/AudioPlayer"] +visible = false +modulate = Color(1, 1, 1, 0) +self_modulate = Color(1, 1, 1, 0.923078) +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_right = -424.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="PanelContainer" type="PanelContainer" parent="logic/AudioPlayer/childhood"] +layout_mode = 2 +mouse_filter = 1 + +[node name="StartFrame" type="TextureRect" parent="logic/AudioPlayer/childhood/PanelContainer"] +custom_minimum_size = Vector2(0, 900) +layout_mode = 2 +size_flags_vertical = 0 +texture = ExtResource("2_21x33") +expand_mode = 2 +stretch_mode = 4 + +[node name="Panel" type="PanelContainer" parent="logic/AudioPlayer/childhood/PanelContainer/StartFrame"] +show_behind_parent = true +layout_mode = 2 +offset_left = 199.0 +offset_top = -112.0 +offset_right = 1039.0 +offset_bottom = 697.0 +rotation = 0.459022 +mouse_filter = 1 + +[node name="VBoxContainer" type="VBoxContainer" parent="logic/AudioPlayer/childhood/PanelContainer"] +layout_mode = 2 + +[node name="Label" type="Label" parent="logic/AudioPlayer/childhood/PanelContainer/VBoxContainer"] +layout_mode = 2 +theme_type_variation = &"HeaderLarge" +text = " Childhood" + +[node name="ScrollContainer" type="ScrollContainer" parent="logic/AudioPlayer/childhood/PanelContainer/VBoxContainer"] +custom_minimum_size = Vector2(800, 750) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +horizontal_scroll_mode = 0 +vertical_scroll_mode = 3 + +[node name="Label" type="Label" parent="logic/AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Oh, my old mask. I have so many good memories about theatre club. I would stand on my bed for entire afternoons, weeks on end, practicing my lines. Pretending to be on the big stage ... my mom would get mad at me, when she had to call me three or four times for dinner. I just … didn’t like the interruptions. We both were often mad at each other. + +Dinner was difficult. I just couldn’t bring myself to eat, because I couldn’t deal with the bread and my mom. She was always so worried. ‘Lisa, you forgot your homework, Lisa why won’t you play with the other girls, Lisa why didn’t Steffi invite you to her birthday, Lisa this, Lisa that.’ + +But I was fine. She just wouldn’t listen. +Yes, I didn’t do homework, but my teachers didn’t mind it as much with me - which the other kids wouldn’t shut up about. But like … they also made fun of me reading school books and talking to my teachers during breaks. + +But at least I could fucking talk to teachers and they had stuff to say. Mr Thomas probably even understood me better than my own mom. + +He said I was gifted. He said I just didn’t need homework for good grades. And he also made sure to always include extra credits. So my silly slip-ups wouldn’t get me a B." +autowrap_mode = 3 +visible_characters = 0 +visible_characters_behavior = 1 +visible_ratio = 0.0 + +[node name="StartBottom" type="TextureRect" parent="logic/AudioPlayer/childhood/PanelContainer/VBoxContainer"] +custom_minimum_size = Vector2(0, 64) +layout_mode = 2 +size_flags_vertical = 8 +texture = ExtResource("3_xqd4w") +expand_mode = 2 +stretch_mode = 4 + +[node name="jui_jutsu" type="CenterContainer" parent="logic/AudioPlayer"] +self_modulate = Color(1, 1, 1, 0.923078) +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_right = -424.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="PanelContainer" type="PanelContainer" parent="logic/AudioPlayer/jui_jutsu"] +layout_mode = 2 +mouse_filter = 1 + +[node name="StartFrame" type="TextureRect" parent="logic/AudioPlayer/jui_jutsu/PanelContainer"] +custom_minimum_size = Vector2(0, 900) +layout_mode = 2 +size_flags_vertical = 0 +texture = ExtResource("2_21x33") +expand_mode = 2 +stretch_mode = 4 + +[node name="Panel" type="PanelContainer" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/StartFrame"] +show_behind_parent = true +layout_mode = 2 +offset_left = 199.0 +offset_top = -112.0 +offset_right = 1039.0 +offset_bottom = 697.0 +rotation = 0.459022 +mouse_filter = 1 + +[node name="VBoxContainer" type="VBoxContainer" parent="logic/AudioPlayer/jui_jutsu/PanelContainer"] +layout_mode = 2 + +[node name="Label" type="Label" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer"] +layout_mode = 2 +theme_type_variation = &"HeaderLarge" +text = " Childhood" + +[node name="ScrollContainer" type="ScrollContainer" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer"] +custom_minimum_size = Vector2(800, 800) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +mouse_filter = 0 +scroll_vertical = 638 +horizontal_scroll_mode = 0 +vertical_scroll_mode = 3 + +[node name="Label" type="Label" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "Why do i still have this junk lying around? It’s not like I want to do ju jutsu ever again. I just fucked it. +I mean I did enjoy it while it lasted. Being able to properly hit people was great. It gave me the confidence to intimidate students, that were begging to get folded and - as I only once actually golt to do that - it also was a great vent for anger. I mean my tits just about killed me during warmup and the changing room really didn’t need mirrors - thank you I know my hips are fat and disgusting - but at least there was Lukas. + +He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion. Also: my math grades pretty much leaped for my final year in high shool thanks to him. +He also helped me so much with jui jitsu, as he properly floored me when I slipped up. Also - unlike everyone else - he understood that I didn’t want people to mind my chest. So Fighting for wins with him was actually rewarding even tho more often than not I ended up having to tap out. + +We also had my first proper kiss. I thought I loved him. But now? + +He was weird that evening. Even more huggy and hyperactive than usual. We were under my bed, reading my secret comic stash when I got tired of the floor and told him we should go upstairs. +We had a play fight on my mattress. I’ve never seen him fight like this. His fingers Curled across my Skin without grabbing me, like he would normally do. And he let me win … with this smirk on his face. +I rolled over exhausted when suddently he sat on top of me, a pearl of sweat dropped from his nose on my throat. +He started undoing his shirt. +Do you have condoms? +Yes, of course everybody has Why did he ask that? + +I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars. My body didn’t move. It didn’t say a word when the butterflies tried to escape from it’s stomach as he kissed it. + +I … observed him from afar. He … didn’t seem to notice, that I had left. That I didn’t return to kiss him good bye. That I didn’t hug him when he went home. + +My hands knocked on my brother’s door. He let me lie on his carpet. +I slowly returned. + +\"How did it go?, Fabian asked. +\"It was moist”, I said. +“That usually helps.” + +He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried. It took him a while to say something. “I … you … it’s fine Lisa. I know it hurts the first time.” He gently stroked the back I was curling towards him. + +That was good. He was a sweet angel. Why must he be so bad at comforting? +" +autowrap_mode = 3 +visible_characters = 43 +visible_characters_behavior = 1 +visible_ratio = 0.0169225 + +[node name="StartBottom" type="TextureRect" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer"] +custom_minimum_size = Vector2(0, 64) +layout_mode = 2 +size_flags_vertical = 8 +texture = ExtResource("3_xqd4w") +expand_mode = 2 +stretch_mode = 4 + +[node name="card" type="Area2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer"] +position = Vector2(1136, 457) +scale = Vector2(1.2, 1.2) +metadata/type = "card" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/card"] +position = Vector2(-0.0713516, 0.997451) +rotation = 1.5708 +shape = SubResource("CapsuleShape2D_foovg") + +[node name="BackgroundSprite" type="AnimatedSprite2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/card"] +clip_children = 2 +scale = Vector2(0.6, 0.6) +sprite_frames = SubResource("SpriteFrames_ckivt") +frame = 1 +script = SubResource("GDScript_8bs16") +noise_speed = 0.0 +noise_power = 5.0 + +[node name="GPUParticles2D" type="GPUParticles2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite"] +emitting = false +amount = 500 +process_material = SubResource("ParticleProcessMaterial_by44l") +texture = ExtResource("11_maw5c") +one_shot = true +speed_scale = 1.9 +explosiveness = 0.29 +randomness = 0.14 +local_coords = true +script = SubResource("GDScript_vjwk7") + +[node name="Sprite2D" type="Sprite2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite"] +visible = false +scale = Vector2(0.4, 0.4) +texture = ExtResource("12_xnele") +script = SubResource("GDScript_tgc0b") + +[node name="VoiceTraining" type="AudioStreamPlayer" parent="logic/AudioPlayer"] +stream = ExtResource("10_wwwdq") +bus = &"music" + +[node name="VoiceTraining2" type="AudioStreamPlayer" parent="logic/AudioPlayer"] +stream = ExtResource("10_wwwdq") +bus = &"music" + +[node name="Jui_Jutsu" type="AudioStreamPlayer" parent="logic/AudioPlayer"] +volume_db = -10.0 +bus = &"music" + [node name="sfx" type="Node3D" parent="."] [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="sfx"] @@ -1169,110 +1899,6 @@ environment = SubResource("Environment_pllnm") camera_attributes = SubResource("CameraAttributesPractical_26mp0") script = SubResource("GDScript_wb8kg") -[node name="AudioPlayer" type="AnimationPlayer" parent="." groups=["animation_player"]] -libraries = { -"": SubResource("AnimationLibrary_ilekd") -} -script = SubResource("GDScript_tfc2r") - -[node name="Lisa" type="AudioStreamPlayer" parent="AudioPlayer"] -bus = &"text" - -[node name="Moving" type="AudioStreamPlayer" parent="AudioPlayer"] -stream = ExtResource("8_egnow") -volume_db = -80.0 -bus = &"music" - -[node name="Childhood" type="AudioStreamPlayer" parent="AudioPlayer"] -stream = ExtResource("9_i8mqk") -bus = &"music" - -[node name="childhood" type="CenterContainer" parent="AudioPlayer"] -visible = false -modulate = Color(1, 1, 1, 0) -self_modulate = Color(1, 1, 1, 0.923078) -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -offset_right = -424.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="PanelContainer" type="PanelContainer" parent="AudioPlayer/childhood"] -layout_mode = 2 -mouse_filter = 1 - -[node name="StartFrame" type="TextureRect" parent="AudioPlayer/childhood/PanelContainer"] -custom_minimum_size = Vector2(0, 900) -layout_mode = 2 -size_flags_vertical = 0 -texture = ExtResource("2_21x33") -expand_mode = 2 -stretch_mode = 4 - -[node name="Panel" type="PanelContainer" parent="AudioPlayer/childhood/PanelContainer/StartFrame"] -show_behind_parent = true -layout_mode = 2 -offset_left = 199.0 -offset_top = -112.0 -offset_right = 1039.0 -offset_bottom = 697.0 -rotation = 0.459022 -mouse_filter = 1 - -[node name="VBoxContainer" type="VBoxContainer" parent="AudioPlayer/childhood/PanelContainer"] -layout_mode = 2 - -[node name="Label" type="Label" parent="AudioPlayer/childhood/PanelContainer/VBoxContainer"] -layout_mode = 2 -theme_type_variation = &"HeaderLarge" -text = " Childhood" - -[node name="ScrollContainer" type="ScrollContainer" parent="AudioPlayer/childhood/PanelContainer/VBoxContainer"] -custom_minimum_size = Vector2(800, 750) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -horizontal_scroll_mode = 0 -vertical_scroll_mode = 3 - -[node name="Label" type="Label" parent="AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "Oh, my old mask. I have so many good memories about theatre club. I would stand on my bed for entire afternoons, weeks on end, practicing my lines. Pretending to be on the big stage ... my mom would get mad at me, when she had to call me three or four times for dinner. I just … didn’t like the interruptions. We both were often mad at each other. - -Dinner was difficult. I just couldn’t bring myself to eat, because I couldn’t deal with the bread and my mom. She was always so worried. ‘Lisa, you forgot your homework, Lisa why won’t you play with the other girls, Lisa why didn’t Steffi invite you to her birthday, Lisa this, Lisa that.’ - -But I was fine. She just wouldn’t listen. -Yes, I didn’t do homework, but my teachers didn’t mind it as much with me - which the other kids wouldn’t shut up about. But like … they also made fun of me reading school books and talking to my teachers during breaks. - -But at least I could fucking talk to teachers and they had stuff to say. Mr Thomas probably even understood me better than my own mom. - -He said I was gifted. He said I just didn’t need homework for good grades. And he also made sure to always include extra credits. So my silly slip-ups wouldn’t get me a B." -autowrap_mode = 3 -visible_characters = 0 -visible_characters_behavior = 1 -visible_ratio = 0.0 - -[node name="StartBottom" type="TextureRect" parent="AudioPlayer/childhood/PanelContainer/VBoxContainer"] -custom_minimum_size = Vector2(0, 64) -layout_mode = 2 -size_flags_vertical = 8 -texture = ExtResource("3_xqd4w") -expand_mode = 2 -stretch_mode = 4 - -[node name="VoiceTraining" type="AudioStreamPlayer" parent="AudioPlayer"] -stream = ExtResource("10_wwwdq") -bus = &"music" - -[node name="VoiceTraining2" type="AudioStreamPlayer" parent="AudioPlayer"] -stream = ExtResource("10_wwwdq") -bus = &"music" - -[node name="Jui Jutsu" type="AudioStreamPlayer" parent="AudioPlayer"] -bus = &"music" - [node name="Mask-interaction" type="Area3D" parent="." groups=["interactables"]] transform = Transform3D(-0.863025, 0, 0.50516, 0, 1, 0, -0.50516, 0, -0.863025, 0.121309, 0.803665, 2.4765) collision_layer = 16 @@ -1349,6 +1975,7 @@ light_specular = 0.0 omni_range = 0.457129 omni_attenuation = 0.659754 +[connection signal="startup" from="." to="logic/AudioPlayer" method="_on_youth_room_startup"] [connection signal="ui_entered" from="logic/PlayerController" to="SceneUI" method="show"] [connection signal="ui_exited" from="logic/PlayerController" to="SceneUI" method="hide"] [connection signal="body_entered" from="logic/Bed and Ladders/ladder_trigger" to="logic/PlayerController" method="_on_bed_enter"] @@ -1358,9 +1985,12 @@ omni_attenuation = 0.659754 [connection signal="body_entered" from="logic/Bed and Ladders/bed_enter" to="logic/PlayerController" method="_on_bed_enter"] [connection signal="body_exited" from="logic/Bed and Ladders/bed_reset" to="logic/PlayerController" method="_on_bed_exit"] [connection signal="body_exited" from="logic/Bed and Ladders/reset_failover" to="logic/PlayerController" method="_on_bed_exit"] -[connection signal="animation_finished" from="AudioPlayer" to="logic/PlayerController" method="_on_childhood_done"] +[connection signal="animation_finished" from="logic/AudioPlayer" to="logic/PlayerController" method="_on_childhood_done"] +[connection signal="input_event" from="logic/AudioPlayer/jui_jutsu/PanelContainer/card" to="logic/AudioPlayer/jui_jutsu/PanelContainer/card" method="_on_input_event" flags=18] +[connection signal="mouse_entered" from="logic/AudioPlayer/jui_jutsu/PanelContainer/card" to="logic/AudioPlayer/jui_jutsu/PanelContainer/card" method="_on_mouse_entered" flags=18] +[connection signal="mouse_exited" from="logic/AudioPlayer/jui_jutsu/PanelContainer/card" to="logic/AudioPlayer/jui_jutsu/PanelContainer/card" method="_on_mouse_exited" flags=18] [connection signal="input_event" from="Mask-interaction/UiWrapper" to="Mask-interaction/UiWrapper" method="_on_input_event" flags=18] [connection signal="card_collected" from="Mask-interaction/UiWrapper/UiSprite/SubViewport/Collectable_ui" to="." method="_on_childhood_collected"] [connection signal="card_collected" from="Mask-interaction/UiWrapper/UiSprite/SubViewport/Collectable_ui" to="logic/PlayerController" method="_on_childhood_collected"] +[connection signal="card_collected" from="Mask-interaction/UiWrapper/UiSprite/SubViewport/Collectable_ui" to="logic/AudioPlayer" method="_on_childhood_collected"] [connection signal="card_collected" from="Mask-interaction/UiWrapper/UiSprite/SubViewport/Collectable_ui" to="WorldEnvironment" method="focus_object"] -[connection signal="card_collected" from="Mask-interaction/UiWrapper/UiSprite/SubViewport/Collectable_ui" to="AudioPlayer" method="_on_childhood_collected"] diff --git a/src/default_bus_layout.tres b/src/default_bus_layout.tres index 144a4b73..3d80367d 100644 --- a/src/default_bus_layout.tres +++ b/src/default_bus_layout.tres @@ -1,7 +1,6 @@ [gd_resource type="AudioBusLayout" format=3 uid="uid://djkwd76o033io"] [resource] -bus/0/mute = true bus/1/name = &"text" bus/1/solo = false bus/1/mute = false From c3d6b946ea9b929c079e3254606300881318b144 Mon Sep 17 00:00:00 2001 From: betalars Date: Wed, 12 Jul 2023 21:08:23 +0200 Subject: [PATCH 10/19] adding itch.io header image --- design/itch-header.png | 3 + design/itch-header.svg | 16340 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 16343 insertions(+) create mode 100644 design/itch-header.png create mode 100644 design/itch-header.svg diff --git a/design/itch-header.png b/design/itch-header.png new file mode 100644 index 00000000..832cc98e --- /dev/null +++ b/design/itch-header.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b632abc11330779af6e7c809af4ed55ad8788e12d379cdaef376e72190d395c0 +size 288438 diff --git a/design/itch-header.svg b/design/itch-header.svg new file mode 100644 index 00000000..359504d2 --- /dev/null +++ b/design/itch-header.svg @@ -0,0 +1,16340 @@ + + + +of mindframe From c94ed3dfa35a428c050302ed447d0178355b843f Mon Sep 17 00:00:00 2001 From: betalars Date: Wed, 12 Jul 2023 22:07:01 +0200 Subject: [PATCH 11/19] Revert "fixme: Updating void card logic" This reverts commit ce2f6af8f8c4999c1d17983420e4f0dc8c15d41b. --- src/logic-scenes/board/card.tscn | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/src/logic-scenes/board/card.tscn b/src/logic-scenes/board/card.tscn index e054e43d..29f1a821 100644 --- a/src/logic-scenes/board/card.tscn +++ b/src/logic-scenes/board/card.tscn @@ -58,23 +58,28 @@ script/source = "extends AnimatedSprite2D @onready var particles = $GPUParticles2D @onready var initial_position = position -@export var noise_speed: float = 10 -@export var noise_power: float = 1 var noise_position = randf() var noise: Noise = FastNoiseLite.new() -@export var void_active: bool = true - +var void_active: + set(become_void): + if not (void_active == become_void): + if is_inside_tree(): + $GPUParticles2D.is_void = become_void + $GPUParticles2D.emitting = become_void + $Sprite2D.is_void = become_void + void_active = become_void + func _process(delta): if void_active and not State.reduce_motion: - noise_position += delta * noise_speed + noise_position += delta * 10 var random_position = Vector2(noise.get_noise_1d(noise_position*2), noise.get_noise_1d(-noise_position)) - random_position = random_position.normalized() * pow(random_position.length()*2, noise_power) * 10 + random_position = random_position.normalized() * pow(random_position.length()*2, 3) * 5 position = initial_position - random_position - rotation = noise.get_noise_1d(noise_position*7) * random_position.length() * 0.01 + rotation = noise.get_noise_1d(noise_position*10) * random_position.length() * 0.01 particles.position = random_position @@ -125,20 +130,23 @@ attractor_interaction_enabled = false [sub_resource type="GDScript" id="GDScript_vjwk7"] script/source = "extends GPUParticles2D +var is_void:bool = false + func _process(_delta): - self.visible = !State.reduce_motion + self.visible = !State.reduce_motion and is_void " [sub_resource type="GDScript" id="GDScript_tgc0b"] script/source = "extends Sprite2D +var is_void:bool = false + func _process(_delta): - self.visible = State.reduce_motion + self.visible = State.reduce_motion and is_void " [node name="card" type="Area2D"] script = ExtResource("1_emip0") -metadata/type = "card" [node name="CollisionShape2D" type="CollisionShape2D" parent="."] position = Vector2(-0.0713516, 0.997451) From ca0fae5f0980a1d8a72db4b0a273c1808db25555 Mon Sep 17 00:00:00 2001 From: betalars Date: Thu, 13 Jul 2023 16:11:44 +0200 Subject: [PATCH 12/19] shader tweaking --- .../youth_room/shaders/starlight_shader.gdshader | 2 +- src/vfx/collectable_particles.tscn | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/base-environments/youth_room/shaders/starlight_shader.gdshader b/src/base-environments/youth_room/shaders/starlight_shader.gdshader index 86d97aa6..2f847dbb 100644 --- a/src/base-environments/youth_room/shaders/starlight_shader.gdshader +++ b/src/base-environments/youth_room/shaders/starlight_shader.gdshader @@ -5,7 +5,7 @@ uniform float nebula_brightness = 4; uniform vec2 nebula_scale = vec2(1.5); uniform sampler2D starlight_noise; uniform sampler2D starlight_textures; -uniform float rotation_speed = 0.05; +uniform float rotation_speed = 0.02; uniform vec2 rotation_pivot = vec2(.8); uniform vec2 drift_compensation = vec2(0.1, -0.2); uniform float noise_strength = 0.2; diff --git a/src/vfx/collectable_particles.tscn b/src/vfx/collectable_particles.tscn index e93420f9..dd3d7458 100644 --- a/src/vfx/collectable_particles.tscn +++ b/src/vfx/collectable_particles.tscn @@ -25,7 +25,7 @@ gradient = SubResource("Gradient_c8r4y") [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_eegys"] emission_shape = 1 -emission_sphere_radius = 0.3 +emission_sphere_radius = 0.2 spread = 180.0 gravity = Vector3(0, 0.02, 0) initial_velocity_max = 0.2 @@ -37,7 +37,7 @@ turbulence_noise_scale = 2.0 turbulence_noise_speed = Vector3(0.1, 0.3, 0.5) turbulence_noise_speed_random = 0.3 turbulence_influence_min = 0.01 -turbulence_influence_max = 0.03 +turbulence_influence_max = 0.02 turbulence_initial_displacement_max = 1.0 [sub_resource type="Shader" id="Shader_p2314"] @@ -127,12 +127,13 @@ shader_parameter/texture_backlight = ExtResource("2_h5y3k") [sub_resource type="QuadMesh" id="QuadMesh_ea2fp"] material = SubResource("ShaderMaterial_fgrmi") -size = Vector2(0.1, 0.1) +size = Vector2(0.06, 0.06) [node name="collectable_particles" type="GPUParticles3D"] material_override = SubResource("ShaderMaterial_lpenh") cast_shadow = 0 amount = 50 lifetime = 10.0 +speed_scale = 0.5 process_material = SubResource("ParticleProcessMaterial_eegys") draw_pass_1 = SubResource("QuadMesh_ea2fp") From 1dc75e4b226c1b2c493d1859c6397a3baa815e99 Mon Sep 17 00:00:00 2001 From: betalars Date: Thu, 13 Jul 2023 16:14:40 +0200 Subject: [PATCH 13/19] stage management updates --- .../youth_room/Collectable.gd | 19 +++++++++++++++++-- src/singletons/global_state.gd | 18 +++++++++++++----- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/src/base-environments/youth_room/Collectable.gd b/src/base-environments/youth_room/Collectable.gd index b7406528..997d54d1 100644 --- a/src/base-environments/youth_room/Collectable.gd +++ b/src/base-environments/youth_room/Collectable.gd @@ -1,6 +1,19 @@ extends Area3D @onready var pass_to_actor = $UiWrapper/UiSprite/SubViewport/Collectable_ui +@onready var wrapper = $UiWrapper +@onready var ui = $UiWrapper/UiSprite/SubViewport.get_child(0) + +var revealed: bool = false: + set(on_stage): + revealed = on_stage + if on_stage: + wrapper.show() + ui.show() + else: + wrapper.hide() + ui.hide() + var has_mouse: bool = false # Called when the node enters the scene tree for the first time. @@ -9,9 +22,11 @@ func _ready(): func _on_mouse_entered(): input_ray_pickable = false - $UiWrapper.show() - $UiWrapper/UiSprite/SubViewport/Collectable_ui.show() + ui.collapsed = false has_mouse = true func _on_mouse_exited(): assert(false) + +func reveal(): + revealed = true diff --git a/src/singletons/global_state.gd b/src/singletons/global_state.gd index 3f220f1b..483e22f4 100644 --- a/src/singletons/global_state.gd +++ b/src/singletons/global_state.gd @@ -26,6 +26,7 @@ func take_stage(actor: Object, reclaim: bool = false) -> bool: if stage_list.has(actor): while stage_list.pop_front() != actor: break actor.has_stage = true + stage_list.push_front(actor) return actor.has_stage push_warning(actor, " wanted to reclaim focus, but was not on list.") return pass_stage_to(actor) @@ -55,10 +56,11 @@ func pass_stage_to(target:Object) -> bool: push_error("Focus instance not valid") elif !"has_stage" in target: push_error(target, " has no has focus method.") - if stage_list.size() > 0: - if stage_list.front() == target: - push_warning(target, " is already target. Abort passing focus.") else: + if stage_list.size() > 0: + if stage_list.front() == target: + push_warning(target, " is already target. Abort passing focus.") + return false if not stage_list.size() == 0: stage_list.front().has_stage = false target.has_stage = true if target.has_stage: @@ -69,7 +71,13 @@ func pass_stage_to(target:Object) -> bool: # Currently focused element loses focus, but remains in stack. func free_focus(): - if not stage_list.front() == null: stage_list.front().has_stage = false + if stage_list.size() > 0: stage_list.front().has_stage = false -func queue_for_stage(target: Object, index: int): +func transition_stage_to(thief: Object): + if stage_list.size() > 0: + if stage_list.front().has_stage: + stage_list.pop_front().has_stage = false + return pass_stage_to(thief) + +func queue_for_stage(target: Object, index: int = 1): stage_list.insert(index, target) From 2301cd8d3b93a2d7b070db014341d4973e6127d9 Mon Sep 17 00:00:00 2001 From: betalars Date: Thu, 13 Jul 2023 16:14:53 +0200 Subject: [PATCH 14/19] typo --- src/singletons/scene_reference.gd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/singletons/scene_reference.gd b/src/singletons/scene_reference.gd index 4ffd27c0..cbdae22a 100644 --- a/src/singletons/scene_reference.gd +++ b/src/singletons/scene_reference.gd @@ -1,8 +1,8 @@ extends Node -enum { +enum id { YOUTH_CHILDHOOD, - YOUTH_THEATRE, + YOUTH_VOICE_TRAINING, YOUTH_JUI_JUTSU, ADULT_DND, ADULD_VOLUNTARY, From 035dc7f05b943d33210acd809bcc2d8f7d1b231f Mon Sep 17 00:00:00 2001 From: betalars Date: Thu, 13 Jul 2023 16:16:42 +0200 Subject: [PATCH 15/19] implementing signaling and staging, wip --- .../youth_room/room_handle.gd | 8 +- .../youth_room/youth_room.tscn | 838 +++++++++++------- src/dev-util/click-trough-area.gd | 5 - src/logic-scenes/card_picker/card_picker.tscn | 3 - .../collectable/collectable_ui.gd | 31 +- .../collectable/collectable_ui.tscn | 2 + .../player_controller/player_controller.gd | 17 +- src/project.godot | 1 + 8 files changed, 554 insertions(+), 351 deletions(-) diff --git a/src/base-environments/youth_room/room_handle.gd b/src/base-environments/youth_room/room_handle.gd index 70d7fcf8..656773da 100644 --- a/src/base-environments/youth_room/room_handle.gd +++ b/src/base-environments/youth_room/room_handle.gd @@ -11,7 +11,8 @@ enum Modes { signal freeze signal unfreeze -signal startup +signal ini_room +signal resume_room var current_mode: int = Modes.FREEZE: set(new_mode): @@ -19,10 +20,7 @@ var current_mode: int = Modes.FREEZE: current_mode = _update_scene(new_mode) func start(): - emit_signal("startup") - $light_animation.play("light_up") - $AudioPlayer.play("intro") - State.pass_stage_to($PlayerController) + emit_signal("ini_room") current_mode = Modes.WALKING func _update_scene(new_mode) -> int: diff --git a/src/base-environments/youth_room/youth_room.tscn b/src/base-environments/youth_room/youth_room.tscn index 2ea2c7f4..a91a5633 100644 --- a/src/base-environments/youth_room/youth_room.tscn +++ b/src/base-environments/youth_room/youth_room.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=87 format=3 uid="uid://b3b0gyvklqn50"] +[gd_scene load_steps=84 format=3 uid="uid://b3b0gyvklqn50"] [ext_resource type="Script" path="res://base-environments/youth_room/room_handle.gd" id="1_aitp0"] [ext_resource type="PackedScene" uid="uid://c0i4ydmxtxfho" path="res://base-environments/youth_room/import/youth_room.glb" id="1_jf3oi"] @@ -114,7 +114,7 @@ length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("AudioPlayer/VoiceTraining:playing") +tracks/0/path = NodePath("ScenePlayer/VoiceTraining:playing") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -126,7 +126,7 @@ tracks/0/keys = { tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("AudioPlayer/Moving:volume_db") +tracks/1/path = NodePath("ScenePlayer/Moving:volume_db") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { @@ -138,7 +138,7 @@ tracks/1/keys = { tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("AudioPlayer/Childhood:volume_db") +tracks/2/path = NodePath("ScenePlayer/Childhood:volume_db") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { @@ -150,7 +150,7 @@ tracks/2/keys = { tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true -tracks/3/path = NodePath("AudioPlayer/VoiceTraining:volume_db") +tracks/3/path = NodePath("ScenePlayer/VoiceTraining:volume_db") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { @@ -162,7 +162,7 @@ tracks/3/keys = { tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true -tracks/4/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_ratio") +tracks/4/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_ratio") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { @@ -174,7 +174,7 @@ tracks/4/keys = { tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true -tracks/5/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/5/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { @@ -186,7 +186,7 @@ tracks/5/keys = { tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true -tracks/6/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") +tracks/6/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { @@ -198,7 +198,7 @@ tracks/6/keys = { tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true -tracks/7/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") +tracks/7/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { @@ -210,7 +210,7 @@ tracks/7/keys = { tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true -tracks/8/path = NodePath("AudioPlayer/childhood:modulate") +tracks/8/path = NodePath("ScenePlayer/childhood:modulate") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { @@ -222,7 +222,7 @@ tracks/8/keys = { tracks/9/type = "value" tracks/9/imported = false tracks/9/enabled = true -tracks/9/path = NodePath("AudioPlayer/childhood/PanelContainer:self_modulate") +tracks/9/path = NodePath("ScenePlayer/childhood/PanelContainer:self_modulate") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { @@ -234,7 +234,7 @@ tracks/9/keys = { tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true -tracks/10/path = NodePath("AudioPlayer/childhood:visible") +tracks/10/path = NodePath("ScenePlayer/childhood:visible") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { @@ -246,7 +246,7 @@ tracks/10/keys = { tracks/11/type = "value" tracks/11/imported = false tracks/11/enabled = true -tracks/11/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") +tracks/11/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") tracks/11/interp = 1 tracks/11/loop_wrap = true tracks/11/keys = { @@ -258,7 +258,7 @@ tracks/11/keys = { tracks/12/type = "value" tracks/12/imported = false tracks/12/enabled = true -tracks/12/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/12/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/keys = { @@ -270,7 +270,7 @@ tracks/12/keys = { tracks/13/type = "value" tracks/13/imported = false tracks/13/enabled = true -tracks/13/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:emitting") +tracks/13/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:emitting") tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/keys = { @@ -282,7 +282,7 @@ tracks/13/keys = { tracks/14/type = "value" tracks/14/imported = false tracks/14/enabled = true -tracks/14/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:amount") +tracks/14/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:amount") tracks/14/interp = 1 tracks/14/loop_wrap = true tracks/14/keys = { @@ -294,19 +294,19 @@ tracks/14/keys = { tracks/15/type = "value" tracks/15/imported = false tracks/15/enabled = true -tracks/15/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_speed") +tracks/15/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_speed") tracks/15/interp = 1 tracks/15/loop_wrap = true tracks/15/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [0.0] +"values": [10.0] } tracks/16/type = "value" tracks/16/imported = false tracks/16/enabled = true -tracks/16/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:one_shot") +tracks/16/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:one_shot") tracks/16/interp = 1 tracks/16/loop_wrap = true tracks/16/keys = { @@ -318,7 +318,7 @@ tracks/16/keys = { tracks/17/type = "value" tracks/17/imported = false tracks/17/enabled = true -tracks/17/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:lifetime") +tracks/17/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:lifetime") tracks/17/interp = 1 tracks/17/loop_wrap = true tracks/17/keys = { @@ -330,7 +330,7 @@ tracks/17/keys = { tracks/18/type = "value" tracks/18/imported = false tracks/18/enabled = true -tracks/18/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:explosiveness") +tracks/18/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:explosiveness") tracks/18/interp = 1 tracks/18/loop_wrap = true tracks/18/keys = { @@ -342,7 +342,7 @@ tracks/18/keys = { tracks/19/type = "value" tracks/19/imported = false tracks/19/enabled = true -tracks/19/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:speed_scale") +tracks/19/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:speed_scale") tracks/19/interp = 1 tracks/19/loop_wrap = true tracks/19/keys = { @@ -354,14 +354,86 @@ tracks/19/keys = { tracks/20/type = "value" tracks/20/imported = false tracks/20/enabled = true -tracks/20/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_power") +tracks/20/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_power") tracks/20/interp = 1 tracks/20/loop_wrap = true tracks/20/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [5.0] +"values": [3.0] +} +tracks/21/type = "value" +tracks/21/imported = false +tracks/21/enabled = true +tracks/21/path = NodePath("ScenePlayer/jui_jutsu:visible") +tracks/21/interp = 1 +tracks/21/loop_wrap = true +tracks/21/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/22/type = "value" +tracks/22/imported = false +tracks/22/enabled = true +tracks/22/path = NodePath("ScenePlayer/Voice Training:modulate") +tracks/22/interp = 1 +tracks/22/loop_wrap = true +tracks/22/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 0.923078)] +} +tracks/23/type = "value" +tracks/23/imported = false +tracks/23/enabled = true +tracks/23/path = NodePath("ScenePlayer/Voice Training:visible") +tracks/23/interp = 1 +tracks/23/loop_wrap = true +tracks/23/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} +tracks/24/type = "value" +tracks/24/imported = false +tracks/24/enabled = true +tracks/24/path = NodePath("ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") +tracks/24/interp = 1 +tracks/24/loop_wrap = true +tracks/24/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(800, 800)] +} +tracks/25/type = "value" +tracks/25/imported = false +tracks/25/enabled = true +tracks/25/path = NodePath("ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") +tracks/25/interp = 1 +tracks/25/loop_wrap = true +tracks/25/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [-1] +} +tracks/26/type = "value" +tracks/26/imported = false +tracks/26/enabled = true +tracks/26/path = NodePath("ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/26/interp = 1 +tracks/26/loop_wrap = true +tracks/26/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] } [sub_resource type="Animation" id="Animation_g5l1m"] @@ -370,7 +442,7 @@ length = 100.0 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("AudioPlayer/Moving:volume_db") +tracks/0/path = NodePath("ScenePlayer/Moving:volume_db") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -382,7 +454,7 @@ tracks/0/keys = { tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("AudioPlayer/Childhood:volume_db") +tracks/1/path = NodePath("ScenePlayer/Childhood:volume_db") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { @@ -394,7 +466,7 @@ tracks/1/keys = { tracks/2/type = "audio" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("AudioPlayer/Lisa") +tracks/2/path = NodePath("ScenePlayer/Lisa") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { @@ -409,7 +481,7 @@ tracks/2/use_blend = true tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true -tracks/3/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_ratio") +tracks/3/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_ratio") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { @@ -421,7 +493,7 @@ tracks/3/keys = { tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true -tracks/4/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/4/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") tracks/4/interp = 2 tracks/4/loop_wrap = true tracks/4/keys = { @@ -433,7 +505,7 @@ tracks/4/keys = { tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true -tracks/5/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") +tracks/5/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { @@ -445,7 +517,7 @@ tracks/5/keys = { tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true -tracks/6/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") +tracks/6/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") tracks/6/interp = 2 tracks/6/loop_wrap = true tracks/6/keys = { @@ -457,7 +529,7 @@ tracks/6/keys = { tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true -tracks/7/path = NodePath("AudioPlayer/childhood:modulate") +tracks/7/path = NodePath("ScenePlayer/childhood:modulate") tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { @@ -469,7 +541,7 @@ tracks/7/keys = { tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true -tracks/8/path = NodePath("AudioPlayer/childhood/PanelContainer:self_modulate") +tracks/8/path = NodePath("ScenePlayer/childhood/PanelContainer:self_modulate") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { @@ -495,7 +567,7 @@ tracks/9/keys = { tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true -tracks/10/path = NodePath("AudioPlayer/childhood:visible") +tracks/10/path = NodePath("ScenePlayer/childhood:visible") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { @@ -505,81 +577,13 @@ tracks/10/keys = { "values": [true, false] } -[sub_resource type="Animation" id="Animation_as75l"] -resource_name = "childhood_intro" -length = 10.0 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("AudioPlayer/Moving:volume_db") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 9), -"transitions": PackedFloat32Array(1.93187, 1), -"update": 0, -"values": [0.0, -80.0] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("AudioPlayer/Childhood:volume_db") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 9), -"transitions": PackedFloat32Array(0.176777, 1), -"update": 0, -"values": [-80.0, 0.0] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("AudioPlayer/Lisa:playing") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [true] -} - -[sub_resource type="Animation" id="Animation_60him"] -resource_name = "childhood_outro" -length = 10.0 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("AudioPlayer/Moving:volume_db") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 9), -"transitions": PackedFloat32Array(0.307786, 1), -"update": 0, -"values": [-80.0, 0.0] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("AudioPlayer/Childhood:volume_db") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 9), -"transitions": PackedFloat32Array(2.54912, 1), -"update": 0, -"values": [0.0, -80.0] -} - [sub_resource type="Animation" id="Animation_1pmhi"] resource_name = "intro" length = 20.0 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("AudioPlayer/Moving:volume_db") +tracks/0/path = NodePath("ScenePlayer/Moving:volume_db") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -591,7 +595,7 @@ tracks/0/keys = { tracks/1/type = "method" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("AudioPlayer") +tracks/1/path = NodePath("ScenePlayer") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { @@ -605,7 +609,7 @@ tracks/1/keys = { tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("AudioPlayer/Childhood:volume_db") +tracks/2/path = NodePath("ScenePlayer/Childhood:volume_db") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { @@ -617,7 +621,7 @@ tracks/2/keys = { tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true -tracks/3/path = NodePath("AudioPlayer/VoiceTraining:volume_db") +tracks/3/path = NodePath("ScenePlayer/VoiceTraining:volume_db") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { @@ -627,84 +631,13 @@ tracks/3/keys = { "values": [-80.0] } -[sub_resource type="Animation" id="Animation_t64y4"] -resource_name = "voice training" -length = 100.0 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("AudioPlayer/Moving:volume_db") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 5.6, 89.4, 97.5), -"transitions": PackedFloat32Array(1.93187, 1, 0.189465, 1.93187), -"update": 0, -"values": [0.0, -80.0, -80.0, 0.0] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("AudioPlayer/VoiceTraining:volume_db") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0.1, 5.7, 89.4, 97.7), -"transitions": PackedFloat32Array(0.176777, 1, 1.93187, 0.176777), -"update": 0, -"values": [-80.0, 0.0, 0.0, -80.0] -} -tracks/2/type = "audio" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("AudioPlayer/Lisa") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"clips": [{ -"end_offset": 290.288, -"start_offset": 0.0, -"stream": ExtResource("9_dqdgk") -}], -"times": PackedFloat32Array(0.4) -} -tracks/2/use_blend = true - -[sub_resource type="Animation" id="Animation_8gaqi"] -resource_name = "voice_intro" -length = 10.0 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("AudioPlayer/Moving:volume_db") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 9), -"transitions": PackedFloat32Array(1.93187, 1), -"update": 0, -"values": [0.0, -80.0] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("AudioPlayer/VoiceTraining:volume_db") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 9.1), -"transitions": PackedFloat32Array(0.241484, 1), -"update": 0, -"values": [-80.0, 0.0] -} - [sub_resource type="Animation" id="Animation_dot4p"] resource_name = "jui_jutsu" length = 210.0 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("AudioPlayer/Moving:volume_db") +tracks/0/path = NodePath("ScenePlayer/Moving:volume_db") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -716,7 +649,7 @@ tracks/0/keys = { tracks/1/type = "audio" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("AudioPlayer/Lisa") +tracks/1/path = NodePath("ScenePlayer/Lisa") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { @@ -735,7 +668,7 @@ tracks/1/use_blend = true tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/2/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") tracks/2/interp = 2 tracks/2/loop_wrap = true tracks/2/keys = { @@ -747,7 +680,7 @@ tracks/2/keys = { tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true -tracks/3/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") +tracks/3/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer:mouse_filter") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { @@ -759,7 +692,7 @@ tracks/3/keys = { tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true -tracks/4/path = NodePath("AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") +tracks/4/path = NodePath("ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") tracks/4/interp = 2 tracks/4/loop_wrap = true tracks/4/keys = { @@ -771,7 +704,7 @@ tracks/4/keys = { tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true -tracks/5/path = NodePath("AudioPlayer/jui_jutsu:modulate") +tracks/5/path = NodePath("ScenePlayer/jui_jutsu:modulate") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { @@ -783,7 +716,7 @@ tracks/5/keys = { tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true -tracks/6/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer:self_modulate") +tracks/6/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer:self_modulate") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { @@ -809,11 +742,11 @@ tracks/7/keys = { tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true -tracks/8/path = NodePath("AudioPlayer/childhood:visible") +tracks/8/path = NodePath("ScenePlayer/jui_jutsu:visible") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { -"times": PackedFloat32Array(0, 93.1), +"times": PackedFloat32Array(0, 206.7), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -821,7 +754,7 @@ tracks/8/keys = { tracks/9/type = "audio" tracks/9/imported = false tracks/9/enabled = true -tracks/9/path = NodePath("AudioPlayer/Jui_Jutsu") +tracks/9/path = NodePath("ScenePlayer/Jui_Jutsu") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { @@ -836,7 +769,7 @@ tracks/9/use_blend = true tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true -tracks/10/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") +tracks/10/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { @@ -848,7 +781,7 @@ tracks/10/keys = { tracks/11/type = "value" tracks/11/imported = false tracks/11/enabled = true -tracks/11/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:emitting") +tracks/11/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:emitting") tracks/11/interp = 1 tracks/11/loop_wrap = true tracks/11/keys = { @@ -860,7 +793,7 @@ tracks/11/keys = { tracks/12/type = "value" tracks/12/imported = false tracks/12/enabled = true -tracks/12/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:amount") +tracks/12/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:amount") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/keys = { @@ -872,7 +805,7 @@ tracks/12/keys = { tracks/13/type = "value" tracks/13/imported = false tracks/13/enabled = true -tracks/13/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_speed") +tracks/13/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_speed") tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/keys = { @@ -884,7 +817,7 @@ tracks/13/keys = { tracks/14/type = "value" tracks/14/imported = false tracks/14/enabled = true -tracks/14/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:one_shot") +tracks/14/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:one_shot") tracks/14/interp = 1 tracks/14/loop_wrap = true tracks/14/keys = { @@ -896,7 +829,7 @@ tracks/14/keys = { tracks/15/type = "value" tracks/15/imported = false tracks/15/enabled = true -tracks/15/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:lifetime") +tracks/15/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:lifetime") tracks/15/interp = 1 tracks/15/loop_wrap = true tracks/15/keys = { @@ -908,7 +841,7 @@ tracks/15/keys = { tracks/16/type = "value" tracks/16/imported = false tracks/16/enabled = true -tracks/16/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:explosiveness") +tracks/16/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:explosiveness") tracks/16/interp = 1 tracks/16/loop_wrap = true tracks/16/keys = { @@ -920,7 +853,7 @@ tracks/16/keys = { tracks/17/type = "value" tracks/17/imported = false tracks/17/enabled = true -tracks/17/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:speed_scale") +tracks/17/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite/GPUParticles2D:speed_scale") tracks/17/interp = 1 tracks/17/loop_wrap = true tracks/17/keys = { @@ -932,7 +865,7 @@ tracks/17/keys = { tracks/18/type = "value" tracks/18/imported = false tracks/18/enabled = true -tracks/18/path = NodePath("AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_power") +tracks/18/path = NodePath("ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite:noise_power") tracks/18/interp = 1 tracks/18/loop_wrap = true tracks/18/keys = { @@ -941,13 +874,153 @@ tracks/18/keys = { "update": 0, "values": [5.0, 2.0, 0.3, 0.3, 1.5] } +tracks/19/type = "method" +tracks/19/imported = false +tracks/19/enabled = true +tracks/19/path = NodePath("ScenePlayer") +tracks/19/interp = 1 +tracks/19/loop_wrap = true +tracks/19/keys = { +"times": PackedFloat32Array(), +"transitions": PackedFloat32Array(), +"values": [] +} + +[sub_resource type="Animation" id="Animation_t64y4"] +resource_name = "voice training" +length = 105.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("ScenePlayer/Moving:volume_db") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 5.6, 94.8, 102.9), +"transitions": PackedFloat32Array(1.93187, 1, 0.189465, 1.93187), +"update": 0, +"values": [0.0, -80.0, -80.0, 0.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("ScenePlayer/VoiceTraining:volume_db") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.1, 5.7, 94.8, 103.1), +"transitions": PackedFloat32Array(0.176777, 1, 1.93187, 0.176777), +"update": 0, +"values": [-80.0, 0.0, 0.0, -80.0] +} +tracks/2/type = "audio" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("ScenePlayer/Lisa") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"clips": [{ +"end_offset": 290.288, +"start_offset": 0.0, +"stream": ExtResource("9_dqdgk") +}], +"times": PackedFloat32Array(0.4) +} +tracks/2/use_blend = true +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("ScenePlayer/Voice Training:modulate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.6, 97.2, 98.8), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 0.923078), Color(1, 1, 1, 0.923078), Color(1, 1, 1, 0)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("ScenePlayer/Voice Training:visible") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 100.5), +"transitions": PackedFloat32Array(1, 1), +"update": 1, +"values": [true, false] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer:custom_minimum_size") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0.1, 0.8, 97, 98.9), +"transitions": PackedFloat32Array(0.535887, 1, 2, 0.535887), +"update": 0, +"values": [Vector2(800, 750), Vector2(800, 800), Vector2(800, 800), Vector2(800, 750)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer/Label:visible_characters") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0.6, 3.4, 7.9, 9.5, 14.1, 20.839, 29.8, 31.8233, 37.1, 39.5, 42.3, 45.8, 47.3949, 51.2, 55.5952, 61.1605, 63.5, 64.7412, 65.8, 70.1, 71.5212, 76.9388, 79.1504, 82.3541, 85.6, 86.4, 89.3, 90, 92.1, 94), +"transitions": PackedFloat32Array(0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604, 0.594604), +"update": 0, +"values": [0, 23, 114, 114, 161, 265, 419, 419, 538, 538, 570, 644, 644, 690, 753, 833, 900, 900, 903, 959, 959, 1067, 1067, 1105, 1154, 1154, 1210, 1210, 1239, 1265] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer:scroll_vertical") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(70.9, 72, 95.5, 98.8), +"transitions": PackedFloat32Array(0.466516, 1, 2.46229, 1), +"update": 0, +"values": [0, 226, 226, 0] +} + +[sub_resource type="Animation" id="Animation_8gaqi"] +resource_name = "voice_intro" +length = 10.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("ScenePlayer/Moving:volume_db") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 9), +"transitions": PackedFloat32Array(1.93187, 1), +"update": 0, +"values": [0.0, -80.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("ScenePlayer/VoiceTraining:volume_db") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 9.1), +"transitions": PackedFloat32Array(0.241484, 1), +"update": 0, +"values": [-80.0, 0.0] +} [sub_resource type="AnimationLibrary" id="AnimationLibrary_ilekd"] _data = { "RESET": SubResource("Animation_nwry8"), "childhood": SubResource("Animation_g5l1m"), -"childhood_intro": SubResource("Animation_as75l"), -"childhood_outro": SubResource("Animation_60him"), "intro": SubResource("Animation_1pmhi"), "jui_jutsu": SubResource("Animation_dot4p"), "voice training": SubResource("Animation_t64y4"), @@ -957,15 +1030,24 @@ _data = { [sub_resource type="GDScript" id="GDScript_tfc2r"] script/source = "extends AnimationPlayer +var has_stage + func start_soundtrack(): $Moving.play(70) $Childhood.play(70) $VoiceTraining.play(70) -func _on_childhood_collected(): - play(\"childhood\") +func play_scene(id: int): + State.queue_for_stage(self) + match id: + Scenes.id.YOUTH_CHILDHOOD: + play(\"childhood\") + Scenes.id.YOUTH_VOICE_TRAINING: + play(\"voice training\") + Scenes.id.YOUTH_JUI_JUTSU: + play(\"jui_jutsu\") -func _on_youth_room_startup(): +func _on_ini_room(): play(\"intro\") " @@ -1016,7 +1098,7 @@ animations = [{ "speed": 5.0 }] -[sub_resource type="GDScript" id="GDScript_8bs16"] +[sub_resource type="GDScript" id="GDScript_252ei"] script/source = "extends AnimatedSprite2D @onready var particles = $GPUParticles2D @@ -1027,6 +1109,9 @@ var noise_position = randf() var noise: Noise = FastNoiseLite.new() @export var void_active: bool = true +func _ready(): + reduce_motion_changed(State.reduce_motion) + func _process(delta): if void_active and not State.reduce_motion: noise_position += delta * noise_speed @@ -1042,6 +1127,10 @@ func _process(delta): particles.position = random_position else: position = initial_position + +func reduce_motion_changed(value:bool): + $GPUParticles2D.visible = !value + $Sprite2D.visible = value " [sub_resource type="Gradient" id="Gradient_v70nd"] @@ -1085,19 +1174,15 @@ color_ramp = SubResource("GradientTexture1D_xxq8p") turbulence_noise_strength = 0.1 attractor_interaction_enabled = false -[sub_resource type="GDScript" id="GDScript_vjwk7"] -script/source = "extends GPUParticles2D +[sub_resource type="BoxShape3D" id="BoxShape3D_cb3g8"] +size = Vector3(1.81843, 2.13395, 0.0774798) -func _process(_delta): - self.visible = !State.reduce_motion -" +[sub_resource type="ViewportTexture" id="ViewportTexture_7hana"] +viewport_path = NodePath("logic/clothes_interaction/UiWrapper/UiSprite/SubViewport") -[sub_resource type="GDScript" id="GDScript_tgc0b"] -script/source = "extends Sprite2D - -func _process(_delta): - self.visible = State.reduce_motion -" +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_72g2i"] +radius = 0.342951 +height = 1.08154 [sub_resource type="GDScript" id="GDScript_35dmj"] script/source = "extends SpotLight3D @@ -1229,6 +1314,16 @@ _data = { "menu": SubResource("Animation_upogh") } +[sub_resource type="GDScript" id="GDScript_5ot1o"] +script/source = "extends AnimationPlayer + +func _on_ini_room(): + play(\"light_up\") + +func play_scene(_id: int): + play(\"lights_out\") +" + [sub_resource type="GDScript" id="GDScript_yn0pl"] script/source = "extends SpotLight3D @@ -1312,18 +1407,11 @@ func focus_env(): func focus_object(): var dof_strength_tween: Tween = create_tween() dof_strength_tween.tween_property(camera_attributes, \"dof_blur_amount\", 0.6, 1) + +func play_scene(_id: int): + focus_object() " -[sub_resource type="BoxShape3D" id="BoxShape3D_cb3g8"] -size = Vector3(1.81843, 2.13395, 0.0774798) - -[sub_resource type="ViewportTexture" id="ViewportTexture_7hana"] -viewport_path = NodePath("Collectable/UiWrapper/UiSprite/SubViewport") - -[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_72g2i"] -radius = 0.342951 -height = 1.08154 - [node name="youth room" type="Node3D"] script = ExtResource("1_aitp0") @@ -1499,28 +1587,26 @@ mouse_filter = 1 visible = false layout_mode = 1 -[node name="AudioPlayer" type="AnimationPlayer" parent="logic" groups=["animation_player"]] -autoplay = "jui_jutsu" +[node name="ScenePlayer" type="AnimationPlayer" parent="logic" groups=["animation_player"]] +autoplay = "RESET" libraries = { "": SubResource("AnimationLibrary_ilekd") } script = SubResource("GDScript_tfc2r") -[node name="Lisa" type="AudioStreamPlayer" parent="logic/AudioPlayer"] -volume_db = 5.0 +[node name="Lisa" type="AudioStreamPlayer" parent="logic/ScenePlayer"] bus = &"text" -[node name="Moving" type="AudioStreamPlayer" parent="logic/AudioPlayer"] +[node name="Moving" type="AudioStreamPlayer" parent="logic/ScenePlayer"] stream = ExtResource("8_egnow") volume_db = -80.0 -autoplay = true bus = &"music" -[node name="Childhood" type="AudioStreamPlayer" parent="logic/AudioPlayer"] +[node name="Childhood" type="AudioStreamPlayer" parent="logic/ScenePlayer"] stream = ExtResource("9_i8mqk") bus = &"music" -[node name="childhood" type="CenterContainer" parent="logic/AudioPlayer"] +[node name="childhood" type="CenterContainer" parent="logic/ScenePlayer"] visible = false modulate = Color(1, 1, 1, 0) self_modulate = Color(1, 1, 1, 0.923078) @@ -1531,11 +1617,11 @@ offset_right = -424.0 grow_horizontal = 2 grow_vertical = 2 -[node name="PanelContainer" type="PanelContainer" parent="logic/AudioPlayer/childhood"] +[node name="PanelContainer" type="PanelContainer" parent="logic/ScenePlayer/childhood"] layout_mode = 2 mouse_filter = 1 -[node name="StartFrame" type="TextureRect" parent="logic/AudioPlayer/childhood/PanelContainer"] +[node name="StartFrame" type="TextureRect" parent="logic/ScenePlayer/childhood/PanelContainer"] custom_minimum_size = Vector2(0, 900) layout_mode = 2 size_flags_vertical = 0 @@ -1543,7 +1629,7 @@ texture = ExtResource("2_21x33") expand_mode = 2 stretch_mode = 4 -[node name="Panel" type="PanelContainer" parent="logic/AudioPlayer/childhood/PanelContainer/StartFrame"] +[node name="Panel" type="PanelContainer" parent="logic/ScenePlayer/childhood/PanelContainer/StartFrame"] show_behind_parent = true layout_mode = 2 offset_left = 199.0 @@ -1553,15 +1639,15 @@ offset_bottom = 697.0 rotation = 0.459022 mouse_filter = 1 -[node name="VBoxContainer" type="VBoxContainer" parent="logic/AudioPlayer/childhood/PanelContainer"] +[node name="VBoxContainer" type="VBoxContainer" parent="logic/ScenePlayer/childhood/PanelContainer"] layout_mode = 2 -[node name="Label" type="Label" parent="logic/AudioPlayer/childhood/PanelContainer/VBoxContainer"] +[node name="Label" type="Label" parent="logic/ScenePlayer/childhood/PanelContainer/VBoxContainer"] layout_mode = 2 theme_type_variation = &"HeaderLarge" text = " Childhood" -[node name="ScrollContainer" type="ScrollContainer" parent="logic/AudioPlayer/childhood/PanelContainer/VBoxContainer"] +[node name="ScrollContainer" type="ScrollContainer" parent="logic/ScenePlayer/childhood/PanelContainer/VBoxContainer"] custom_minimum_size = Vector2(800, 750) layout_mode = 2 size_flags_horizontal = 4 @@ -1569,7 +1655,7 @@ size_flags_vertical = 4 horizontal_scroll_mode = 0 vertical_scroll_mode = 3 -[node name="Label" type="Label" parent="logic/AudioPlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer"] +[node name="Label" type="Label" parent="logic/ScenePlayer/childhood/PanelContainer/VBoxContainer/ScrollContainer"] layout_mode = 2 size_flags_horizontal = 3 text = "Oh, my old mask. I have so many good memories about theatre club. I would stand on my bed for entire afternoons, weeks on end, practicing my lines. Pretending to be on the big stage ... my mom would get mad at me, when she had to call me three or four times for dinner. I just … didn’t like the interruptions. We both were often mad at each other. @@ -1587,7 +1673,7 @@ visible_characters = 0 visible_characters_behavior = 1 visible_ratio = 0.0 -[node name="StartBottom" type="TextureRect" parent="logic/AudioPlayer/childhood/PanelContainer/VBoxContainer"] +[node name="StartBottom" type="TextureRect" parent="logic/ScenePlayer/childhood/PanelContainer/VBoxContainer"] custom_minimum_size = Vector2(0, 64) layout_mode = 2 size_flags_vertical = 8 @@ -1595,7 +1681,13 @@ texture = ExtResource("3_xqd4w") expand_mode = 2 stretch_mode = 4 -[node name="jui_jutsu" type="CenterContainer" parent="logic/AudioPlayer"] +[node name="VoiceTraining" type="AudioStreamPlayer" parent="logic/ScenePlayer"] +stream = ExtResource("10_wwwdq") +bus = &"music" + +[node name="Voice Training" type="CenterContainer" parent="logic/ScenePlayer"] +visible = false +modulate = Color(1, 1, 1, 0.923078) self_modulate = Color(1, 1, 1, 0.923078) anchors_preset = 15 anchor_right = 1.0 @@ -1604,11 +1696,11 @@ offset_right = -424.0 grow_horizontal = 2 grow_vertical = 2 -[node name="PanelContainer" type="PanelContainer" parent="logic/AudioPlayer/jui_jutsu"] +[node name="PanelContainer" type="PanelContainer" parent="logic/ScenePlayer/Voice Training"] layout_mode = 2 mouse_filter = 1 -[node name="StartFrame" type="TextureRect" parent="logic/AudioPlayer/jui_jutsu/PanelContainer"] +[node name="StartFrame" type="TextureRect" parent="logic/ScenePlayer/Voice Training/PanelContainer"] custom_minimum_size = Vector2(0, 900) layout_mode = 2 size_flags_vertical = 0 @@ -1616,7 +1708,7 @@ texture = ExtResource("2_21x33") expand_mode = 2 stretch_mode = 4 -[node name="Panel" type="PanelContainer" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/StartFrame"] +[node name="Panel" type="PanelContainer" parent="logic/ScenePlayer/Voice Training/PanelContainer/StartFrame"] show_behind_parent = true layout_mode = 2 offset_left = 199.0 @@ -1626,25 +1718,110 @@ offset_bottom = 697.0 rotation = 0.459022 mouse_filter = 1 -[node name="VBoxContainer" type="VBoxContainer" parent="logic/AudioPlayer/jui_jutsu/PanelContainer"] +[node name="VBoxContainer" type="VBoxContainer" parent="logic/ScenePlayer/Voice Training/PanelContainer"] layout_mode = 2 -[node name="Label" type="Label" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer"] +[node name="Label" type="Label" parent="logic/ScenePlayer/Voice Training/PanelContainer/VBoxContainer"] layout_mode = 2 theme_type_variation = &"HeaderLarge" -text = " Childhood" +text = "voice Training" -[node name="ScrollContainer" type="ScrollContainer" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer"] +[node name="ScrollContainer" type="ScrollContainer" parent="logic/ScenePlayer/Voice Training/PanelContainer/VBoxContainer"] custom_minimum_size = Vector2(800, 800) layout_mode = 2 size_flags_horizontal = 4 size_flags_vertical = 4 -mouse_filter = 0 +mouse_filter = 2 +horizontal_scroll_mode = 0 +vertical_scroll_mode = 3 + +[node name="Label" type="Label" parent="logic/ScenePlayer/Voice Training/PanelContainer/VBoxContainer/ScrollContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "My secret comic stash. I remember playing Que-Men with the boys. I had a voice for every character in that comic. But more often than not I played him: Agent Q. Going under the radar, putting in precise work to save the world. Not having to deal with being a girl. + +Boys were so much easier. They like cars, bikes, guns and agents. They don’t talk behind your back. They don’t think everything is about relationships. + +Girls don’t get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid … I mean, maybe they were right? Like I won’t deny I was probably the first girl in my class to see a dick. + +But like - that’s what the boys do, right? + +At least it has gotten better after me and Jojo became friends. + +I still remember how that happend. I did a voice acting workshop in art class. Being allowed to share my technique in front of everyone was just :D +I mean next to nobody put in any effort. But Jojo did. + +When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded. +After this, we suddenly were besties. And my class finally started to just leave me be. Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both. +" +autowrap_mode = 3 +visible_characters_behavior = 1 +visible_ratio = -0.000798722 + +[node name="StartBottom" type="TextureRect" parent="logic/ScenePlayer/Voice Training/PanelContainer/VBoxContainer"] +custom_minimum_size = Vector2(0, 64) +layout_mode = 2 +size_flags_vertical = 8 +texture = ExtResource("3_xqd4w") +expand_mode = 2 +stretch_mode = 4 + +[node name="Jui_Jutsu" type="AudioStreamPlayer" parent="logic/ScenePlayer"] +volume_db = -10.0 +bus = &"music" + +[node name="jui_jutsu" type="CenterContainer" parent="logic/ScenePlayer"] +visible = false +modulate = Color(1, 1, 1, 0) +self_modulate = Color(1, 1, 1, 0.923078) +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_right = -424.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="PanelContainer" type="PanelContainer" parent="logic/ScenePlayer/jui_jutsu"] +layout_mode = 2 +mouse_filter = 1 + +[node name="StartFrame" type="TextureRect" parent="logic/ScenePlayer/jui_jutsu/PanelContainer"] +custom_minimum_size = Vector2(0, 900) +layout_mode = 2 +size_flags_vertical = 0 +texture = ExtResource("2_21x33") +expand_mode = 2 +stretch_mode = 4 + +[node name="Panel" type="PanelContainer" parent="logic/ScenePlayer/jui_jutsu/PanelContainer/StartFrame"] +show_behind_parent = true +layout_mode = 2 +offset_left = 199.0 +offset_top = -112.0 +offset_right = 1039.0 +offset_bottom = 697.0 +rotation = 0.459022 +mouse_filter = 1 + +[node name="VBoxContainer" type="VBoxContainer" parent="logic/ScenePlayer/jui_jutsu/PanelContainer"] +layout_mode = 2 + +[node name="Label" type="Label" parent="logic/ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer"] +layout_mode = 2 +theme_type_variation = &"HeaderLarge" +text = " Jiu Jutsu" + +[node name="ScrollContainer" type="ScrollContainer" parent="logic/ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer"] +custom_minimum_size = Vector2(800, 800) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +mouse_filter = 2 scroll_vertical = 638 horizontal_scroll_mode = 0 vertical_scroll_mode = 3 -[node name="Label" type="Label" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer"] +[node name="Label" type="Label" parent="logic/ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer/ScrollContainer"] layout_mode = 2 size_flags_horizontal = 3 text = "Why do i still have this junk lying around? It’s not like I want to do ju jutsu ever again. I just fucked it. @@ -1682,7 +1859,7 @@ visible_characters = 43 visible_characters_behavior = 1 visible_ratio = 0.0169225 -[node name="StartBottom" type="TextureRect" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/VBoxContainer"] +[node name="StartBottom" type="TextureRect" parent="logic/ScenePlayer/jui_jutsu/PanelContainer/VBoxContainer"] custom_minimum_size = Vector2(0, 64) layout_mode = 2 size_flags_vertical = 8 @@ -1690,26 +1867,25 @@ texture = ExtResource("3_xqd4w") expand_mode = 2 stretch_mode = 4 -[node name="card" type="Area2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer"] +[node name="card" type="Area2D" parent="logic/ScenePlayer/jui_jutsu/PanelContainer"] position = Vector2(1136, 457) scale = Vector2(1.2, 1.2) metadata/type = "card" -[node name="CollisionShape2D" type="CollisionShape2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/card"] +[node name="CollisionShape2D" type="CollisionShape2D" parent="logic/ScenePlayer/jui_jutsu/PanelContainer/card"] position = Vector2(-0.0713516, 0.997451) rotation = 1.5708 shape = SubResource("CapsuleShape2D_foovg") -[node name="BackgroundSprite" type="AnimatedSprite2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/card"] +[node name="BackgroundSprite" type="AnimatedSprite2D" parent="logic/ScenePlayer/jui_jutsu/PanelContainer/card" groups=["reduce_motion"]] clip_children = 2 scale = Vector2(0.6, 0.6) sprite_frames = SubResource("SpriteFrames_ckivt") frame = 1 -script = SubResource("GDScript_8bs16") -noise_speed = 0.0 -noise_power = 5.0 +script = SubResource("GDScript_252ei") +noise_power = 3.0 -[node name="GPUParticles2D" type="GPUParticles2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite"] +[node name="GPUParticles2D" type="GPUParticles2D" parent="logic/ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite"] emitting = false amount = 500 process_material = SubResource("ParticleProcessMaterial_by44l") @@ -1719,25 +1895,89 @@ speed_scale = 1.9 explosiveness = 0.29 randomness = 0.14 local_coords = true -script = SubResource("GDScript_vjwk7") -[node name="Sprite2D" type="Sprite2D" parent="logic/AudioPlayer/jui_jutsu/PanelContainer/card/BackgroundSprite"] +[node name="Sprite2D" type="Sprite2D" parent="logic/ScenePlayer/jui_jutsu/PanelContainer/card/BackgroundSprite"] visible = false scale = Vector2(0.4, 0.4) texture = ExtResource("12_xnele") -script = SubResource("GDScript_tgc0b") -[node name="VoiceTraining" type="AudioStreamPlayer" parent="logic/AudioPlayer"] -stream = ExtResource("10_wwwdq") -bus = &"music" +[node name="Mask-interaction" type="Area3D" parent="logic" groups=["interactables"]] +transform = Transform3D(-0.863025, 0, 0.50516, 0, 1, 0, -0.50516, 0, -0.863025, 0.121309, 0.803665, 2.4765) +collision_layer = 16 +script = ExtResource("11_6fwv8") -[node name="VoiceTraining2" type="AudioStreamPlayer" parent="logic/AudioPlayer"] -stream = ExtResource("10_wwwdq") -bus = &"music" +[node name="collectable_particles" parent="logic/Mask-interaction" instance=ExtResource("12_qxx2k")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00898492, -0.14171, 0.152755) +visible = false -[node name="Jui_Jutsu" type="AudioStreamPlayer" parent="logic/AudioPlayer"] -volume_db = -10.0 -bus = &"music" +[node name="UiWrapper" type="Area3D" parent="logic/Mask-interaction"] +transform = Transform3D(0.1, -1.86265e-09, 0, 0, 0.0906676, 0.0421827, 0, -0.0421827, 0.0906676, -2.38419e-07, 0, 0.0718942) +visible = false +script = ExtResource("11_7uxd8") + +[node name="UI_click_collider" type="CollisionShape3D" parent="logic/Mask-interaction/UiWrapper"] +transform = Transform3D(2.56, -5.96046e-08, 4.76837e-07, 1.78814e-07, 2.56, -4.17233e-07, -2.38419e-07, -5.96046e-08, 2.56, 0, 1.90735e-06, 0.238397) +shape = SubResource("BoxShape3D_cb3g8") + +[node name="UiSprite" type="Sprite3D" parent="logic/Mask-interaction/UiWrapper"] +transform = Transform3D(1, 0, 2.4869e-14, 0, 1, 0, -2.4869e-14, 0, 1, 0, 0, 0.610758) +pixel_size = 0.015 +no_depth_test = true +texture = SubResource("ViewportTexture_7hana") + +[node name="SubViewport" type="SubViewport" parent="logic/Mask-interaction/UiWrapper/UiSprite"] +transparent_bg = true +size = Vector2i(300, 350) +render_target_update_mode = 4 + +[node name="Collectable_ui" parent="logic/Mask-interaction/UiWrapper/UiSprite/SubViewport" instance=ExtResource("11_jxai0")] +visible = false +scene = 0 +is_story = true +item_name = "Sport Clothes" +content_notes = "CN: testing testing 123" + +[node name="HoverDetect" type="CollisionShape3D" parent="logic/Mask-interaction"] +shape = SubResource("CapsuleShape3D_72g2i") + +[node name="clothes_interaction" type="Area3D" parent="logic" groups=["interactables"]] +transform = Transform3D(0.86043, 0, -0.509567, 0, 1, 0, 0.509567, 0, 0.86043, 1.47102, 1.17096, -0.629588) +collision_layer = 16 +script = ExtResource("11_6fwv8") + +[node name="collectable_particles" parent="logic/clothes_interaction" instance=ExtResource("12_qxx2k")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00898492, -0.14171, 0.152755) +visible = false + +[node name="UiWrapper" type="Area3D" parent="logic/clothes_interaction"] +transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0) +script = ExtResource("11_7uxd8") + +[node name="UI_click_collider" type="CollisionShape3D" parent="logic/clothes_interaction/UiWrapper"] +transform = Transform3D(2.56, -5.96046e-08, 4.76837e-07, 1.78814e-07, 2.56, -4.17233e-07, -2.38419e-07, -5.96046e-08, 2.56, 0, 1.90735e-06, 0.238397) +shape = SubResource("BoxShape3D_cb3g8") + +[node name="UiSprite" type="Sprite3D" parent="logic/clothes_interaction/UiWrapper"] +transform = Transform3D(1, 0, 2.4869e-14, 0, 1, 0, -2.4869e-14, 0, 1, 0, 0, 0.610758) +pixel_size = 0.015 +no_depth_test = true +texture = SubResource("ViewportTexture_7hana") + +[node name="SubViewport" type="SubViewport" parent="logic/clothes_interaction/UiWrapper/UiSprite"] +transparent_bg = true +size = Vector2i(300, 350) +render_target_update_mode = 1 + +[node name="Collectable_ui" parent="logic/clothes_interaction/UiWrapper/UiSprite/SubViewport" instance=ExtResource("11_jxai0")] +visible = false +scene = 2 +is_story = true +item_name = "my old Mask" +content_notes = "CN: testing testing 123" + +[node name="HoverDetect" type="CollisionShape3D" parent="logic/clothes_interaction"] +transform = Transform3D(1, 0, 2.98023e-08, 0, 1, 0, -2.98023e-08, 0, 1, 0, -0.237872, 0) +shape = SubResource("CapsuleShape3D_72g2i") [node name="sfx" type="Node3D" parent="."] @@ -1796,11 +2036,12 @@ light_size = 0.1 shadow_enabled = true omni_range = 2.17653 -[node name="light_animation" type="AnimationPlayer" parent="visuals/lights"] +[node name="light_animation" type="AnimationPlayer" parent="visuals/lights" groups=["animation_player"]] autoplay = "menu" libraries = { "": SubResource("AnimationLibrary_k8op5") } +script = SubResource("GDScript_5ot1o") [node name="lighting aids" type="Node3D" parent="visuals"] @@ -1894,48 +2135,11 @@ spot_angle_attenuation = 1.18921 [node name="youth_room" parent="visuals" instance=ExtResource("1_jf3oi")] -[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +[node name="WorldEnvironment" type="WorldEnvironment" parent="." groups=["animation_player"]] environment = SubResource("Environment_pllnm") camera_attributes = SubResource("CameraAttributesPractical_26mp0") script = SubResource("GDScript_wb8kg") -[node name="Mask-interaction" type="Area3D" parent="." groups=["interactables"]] -transform = Transform3D(-0.863025, 0, 0.50516, 0, 1, 0, -0.50516, 0, -0.863025, 0.121309, 0.803665, 2.4765) -collision_layer = 16 -script = ExtResource("11_6fwv8") - -[node name="collectable_particles" parent="Mask-interaction" instance=ExtResource("12_qxx2k")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00898492, -0.14171, 0.152755) -visible = false - -[node name="UiWrapper" type="Area3D" parent="Mask-interaction"] -transform = Transform3D(0.1, -1.86265e-09, 0, 0, 0.0906676, 0.0421827, 0, -0.0421827, 0.0906676, -2.38419e-07, 0, 0.0718942) -script = ExtResource("11_7uxd8") - -[node name="UI_click_collider" type="CollisionShape3D" parent="Mask-interaction/UiWrapper"] -transform = Transform3D(2.56, -5.96046e-08, 4.76837e-07, 1.78814e-07, 2.56, -4.17233e-07, -2.38419e-07, -5.96046e-08, 2.56, 0, 1.90735e-06, 0.238397) -shape = SubResource("BoxShape3D_cb3g8") - -[node name="UiSprite" type="Sprite3D" parent="Mask-interaction/UiWrapper"] -transform = Transform3D(1, 0, 2.4869e-14, 0, 1, 0, -2.4869e-14, 0, 1, 0, 0, 0.610758) -pixel_size = 0.015 -no_depth_test = true -texture = SubResource("ViewportTexture_7hana") - -[node name="SubViewport" type="SubViewport" parent="Mask-interaction/UiWrapper/UiSprite"] -transparent_bg = true -size = Vector2i(300, 350) -render_target_update_mode = 4 - -[node name="Collectable_ui" parent="Mask-interaction/UiWrapper/UiSprite/SubViewport" instance=ExtResource("11_jxai0")] -visible = false -is_story = true -item_name = "my old Mask" -content_notes = "CN: testing testing 123" - -[node name="HoverDetect" type="CollisionShape3D" parent="Mask-interaction"] -shape = SubResource("CapsuleShape3D_72g2i") - [node name="SceneUI" type="Control" parent="."] visible = false layout_mode = 3 @@ -1975,7 +2179,9 @@ light_specular = 0.0 omni_range = 0.457129 omni_attenuation = 0.659754 -[connection signal="startup" from="." to="logic/AudioPlayer" method="_on_youth_room_startup"] +[connection signal="ini_room" from="." to="logic/PlayerController" method="_on_ini_room"] +[connection signal="ini_room" from="." to="logic/ScenePlayer" method="_on_ini_room"] +[connection signal="ini_room" from="." to="visuals/lights/light_animation" method="_on_ini_room"] [connection signal="ui_entered" from="logic/PlayerController" to="SceneUI" method="show"] [connection signal="ui_exited" from="logic/PlayerController" to="SceneUI" method="hide"] [connection signal="body_entered" from="logic/Bed and Ladders/ladder_trigger" to="logic/PlayerController" method="_on_bed_enter"] @@ -1985,12 +2191,8 @@ omni_attenuation = 0.659754 [connection signal="body_entered" from="logic/Bed and Ladders/bed_enter" to="logic/PlayerController" method="_on_bed_enter"] [connection signal="body_exited" from="logic/Bed and Ladders/bed_reset" to="logic/PlayerController" method="_on_bed_exit"] [connection signal="body_exited" from="logic/Bed and Ladders/reset_failover" to="logic/PlayerController" method="_on_bed_exit"] -[connection signal="animation_finished" from="logic/AudioPlayer" to="logic/PlayerController" method="_on_childhood_done"] -[connection signal="input_event" from="logic/AudioPlayer/jui_jutsu/PanelContainer/card" to="logic/AudioPlayer/jui_jutsu/PanelContainer/card" method="_on_input_event" flags=18] -[connection signal="mouse_entered" from="logic/AudioPlayer/jui_jutsu/PanelContainer/card" to="logic/AudioPlayer/jui_jutsu/PanelContainer/card" method="_on_mouse_entered" flags=18] -[connection signal="mouse_exited" from="logic/AudioPlayer/jui_jutsu/PanelContainer/card" to="logic/AudioPlayer/jui_jutsu/PanelContainer/card" method="_on_mouse_exited" flags=18] -[connection signal="input_event" from="Mask-interaction/UiWrapper" to="Mask-interaction/UiWrapper" method="_on_input_event" flags=18] -[connection signal="card_collected" from="Mask-interaction/UiWrapper/UiSprite/SubViewport/Collectable_ui" to="." method="_on_childhood_collected"] -[connection signal="card_collected" from="Mask-interaction/UiWrapper/UiSprite/SubViewport/Collectable_ui" to="logic/PlayerController" method="_on_childhood_collected"] -[connection signal="card_collected" from="Mask-interaction/UiWrapper/UiSprite/SubViewport/Collectable_ui" to="logic/AudioPlayer" method="_on_childhood_collected"] -[connection signal="card_collected" from="Mask-interaction/UiWrapper/UiSprite/SubViewport/Collectable_ui" to="WorldEnvironment" method="focus_object"] +[connection signal="input_event" from="logic/ScenePlayer/jui_jutsu/PanelContainer/card" to="logic/ScenePlayer/jui_jutsu/PanelContainer/card" method="_on_input_event" flags=18] +[connection signal="mouse_entered" from="logic/ScenePlayer/jui_jutsu/PanelContainer/card" to="logic/ScenePlayer/jui_jutsu/PanelContainer/card" method="_on_mouse_entered" flags=18] +[connection signal="mouse_exited" from="logic/ScenePlayer/jui_jutsu/PanelContainer/card" to="logic/ScenePlayer/jui_jutsu/PanelContainer/card" method="_on_mouse_exited" flags=18] +[connection signal="input_event" from="logic/Mask-interaction/UiWrapper" to="logic/Mask-interaction/UiWrapper" method="_on_input_event" flags=18] +[connection signal="input_event" from="logic/clothes_interaction/UiWrapper" to="logic/clothes_interaction/UiWrapper" method="_on_input_event" flags=18] diff --git a/src/dev-util/click-trough-area.gd b/src/dev-util/click-trough-area.gd index a86ee9dc..579b0094 100644 --- a/src/dev-util/click-trough-area.gd +++ b/src/dev-util/click-trough-area.gd @@ -14,11 +14,6 @@ func _process(_delta): look_at(look, Vector3.UP) func _unhandled_input(event): - if event is InputEventMouse: - if event is InputEventMouseButton: - if event.button_index == MOUSE_BUTTON_RIGHT: - assert(false) - return viewport.push_input(event) func _on_input_event(_camera: Camera3D, event: InputEvent, pos: Vector3, _normal: Vector3, _shape_idx: int): diff --git a/src/logic-scenes/card_picker/card_picker.tscn b/src/logic-scenes/card_picker/card_picker.tscn index 1aa837a7..b8c54596 100644 --- a/src/logic-scenes/card_picker/card_picker.tscn +++ b/src/logic-scenes/card_picker/card_picker.tscn @@ -1491,7 +1491,6 @@ libraries = { [node name="card" parent="cards/card_1" instance=ExtResource("2_dqebt")] text = "Slot 1" -metadata/type = "card" [node name="card_2" type="Control" parent="cards"] layout_mode = 2 @@ -1504,7 +1503,6 @@ libraries = { [node name="card" parent="cards/card_2" instance=ExtResource("2_dqebt")] text = "Slot 2" -metadata/type = "card" [node name="card_3" type="Control" parent="cards"] layout_mode = 2 @@ -1522,7 +1520,6 @@ libraries = { [node name="card" parent="cards/card_3" instance=ExtResource("2_dqebt")] text = "Slot 3" -metadata/type = "card" [node name="postIts" type="Panel" parent="."] layout_mode = 2 diff --git a/src/logic-scenes/collectable/collectable_ui.gd b/src/logic-scenes/collectable/collectable_ui.gd index 4e605cfd..96a4677e 100644 --- a/src/logic-scenes/collectable/collectable_ui.gd +++ b/src/logic-scenes/collectable/collectable_ui.gd @@ -2,6 +2,8 @@ extends CenterContainer class_name Collectable_Ui +@export var scene = Scenes.id + @export var collapsed = true: set(collapse): if is_inside_tree() and not Engine.is_editor_hint(): @@ -17,6 +19,8 @@ class_name Collectable_Ui _show_buttons() collapsed = collapse + if collapse and has_stage: State.leave_stage(self) + @export var is_story: bool = false @export var has_stage: bool = false: set(focused): @@ -36,9 +40,6 @@ class_name Collectable_Ui elif has_stage: has_stage = false get_viewport().gui_release_focus() - #hide() - - @export var collected: bool = false: set(set_collected): @@ -100,22 +101,26 @@ func hide(): _hide_buttons() await tween.finished visible = false + if has_stage: State.leave_stage(self) func show(): - if not collapsed: - _show_buttons() - modulate = Color() - visible = true - var tween = create_tween() - tween.tween_property(self, "modulate", Color(1, 1, 1), 0.4) + if !visible: + if not collapsed: + _show_buttons() + modulate = Color() + visible = true + var tween = create_tween() + tween.tween_property(self, "modulate", Color(1, 1, 1), 0.4) func _yoink_focus(): - return # fixme if not has_stage: - State.take_stage(self, true) + State.transition_stage_to(self) func _on_pick_button_pressed(): - hide() print("card collected!") - emit_signal("card_collected") + if scene != null: + get_tree().call_group("animation_player", "play_scene", scene) State.leave_stage(self) + +func _on_pick_button_released(): + hide() diff --git a/src/logic-scenes/collectable/collectable_ui.tscn b/src/logic-scenes/collectable/collectable_ui.tscn index c2217bf8..2893e863 100644 --- a/src/logic-scenes/collectable/collectable_ui.tscn +++ b/src/logic-scenes/collectable/collectable_ui.tscn @@ -99,6 +99,7 @@ grow_horizontal = 2 grow_vertical = 2 theme = ExtResource("1_2apkb") script = ExtResource("1_tgjc2") +scene = null [node name="Panel" type="PanelContainer" parent="."] layout_mode = 2 @@ -170,6 +171,7 @@ libraries = { } [connection signal="resized" from="Panel/Content/Buttons/VBoxContainer" to="Panel/Content/Buttons" method="_on_v_box_container_resized"] +[connection signal="button_up" from="Panel/Content/Buttons/VBoxContainer/collect_or_listen" to="." method="_on_pick_button_released"] [connection signal="focus_entered" from="Panel/Content/Buttons/VBoxContainer/collect_or_listen" to="." method="_yoink_focus"] [connection signal="pressed" from="Panel/Content/Buttons/VBoxContainer/collect_or_listen" to="." method="_on_pick_button_pressed"] [connection signal="focus_entered" from="Panel/Content/Buttons/VBoxContainer/Summary" to="." method="_yoink_focus"] diff --git a/src/logic-scenes/player_controller/player_controller.gd b/src/logic-scenes/player_controller/player_controller.gd index e04d169b..e10bcc81 100644 --- a/src/logic-scenes/player_controller/player_controller.gd +++ b/src/logic-scenes/player_controller/player_controller.gd @@ -65,6 +65,9 @@ signal ui_exited func _ready(): _handle_jitter(0) +func _on_ini_room(): + State.take_stage(self) + func _process(_delta): if focus_ray.get_collider() != null: @@ -148,15 +151,17 @@ func _input(event:InputEvent): if event is InputEventMouseMotion and Input.mouse_mode == Input.MOUSE_MODE_CAPTURED: _handle_mouse_input(event) get_viewport().set_input_as_handled() - if event is InputEventMouseButton and has_entered: + if event is InputEventMouseButton and event.pressed: State.free_focus() - get_viewport().set_input_as_handled() + get_tree().call_group("interactables", "reveal") #if event.is_action_pressed("ui_accept"): # State.pass_stage_to(focus_ray.get_collider()) # get_viewport().set_input_as_handled() - -func _on_empty_click(): - State.take_stage(self, true) + else: + if event is InputEventMouseButton: + if event.button_index == MOUSE_BUTTON_RIGHT and event.pressed: + if !Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT): + State.take_stage(self, true) func _on_bed_enter(_body): if not (crouched or on_crouch_cooldown): @@ -175,5 +180,3 @@ func _on_bed_exit(_body): on_crouch_cooldown = true await get_tree().create_timer(1.0).timeout on_crouch_cooldown = false - - diff --git a/src/project.godot b/src/project.godot index 7009d56f..458fd43d 100644 --- a/src/project.godot +++ b/src/project.godot @@ -19,6 +19,7 @@ config/icon="res://icon.png" [autoload] State="*res://singletons/global_state.gd" +Scenes="*res://singletons/scene_reference.gd" [debug] From fb2c731e8ce1a4de1c17748805166660daa6f04b Mon Sep 17 00:00:00 2001 From: betalars Date: Thu, 13 Jul 2023 20:59:10 +0200 Subject: [PATCH 16/19] cleaining up player animation and ladder behavior --- .../youth_room/youth_room.tscn | 24 +- .../player_controller/player_controller.tscn | 261 +----------------- 2 files changed, 16 insertions(+), 269 deletions(-) diff --git a/src/base-environments/youth_room/youth_room.tscn b/src/base-environments/youth_room/youth_room.tscn index a91a5633..64d1b5f9 100644 --- a/src/base-environments/youth_room/youth_room.tscn +++ b/src/base-environments/youth_room/youth_room.tscn @@ -69,6 +69,7 @@ size = Vector3(0.56931, 1.23778, 1.62664) [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_f1g8m"] radius = 0.156739 +height = 1.0 [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_kewqg"] radius = 0.787239 @@ -76,7 +77,7 @@ height = 3.19663 [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_k4x40"] radius = 1.0352 -height = 2.55391 +height = 2.3319 [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_4q8vc"] radius = 1.14469 @@ -91,12 +92,14 @@ script/source = "extends StaticBody3D var risen:bool = false var start_position:Vector3 = position -func raise(_discard): - if risen: - position = start_position - var raiser = create_tween() - raiser.tween_property(self, \"position\", position + Vector3(0,1.1,0), 1) - risen = true +func raise(entering_player): + if not entering_player.on_crouch_cooldown: + if risen: + position = start_position + var raiser = create_tween() + raiser.tween_property(self, \"position\", position + Vector3(0,1.1,0), 1) + risen = true + func reset(_discard): risen = false @@ -107,7 +110,7 @@ func reset(_discard): size = Vector3(1.63347, 0.305693, 0.775269) [sub_resource type="BoxShape3D" id="BoxShape3D_bq15k"] -size = Vector3(0.375967, 1, 0.245859) +size = Vector3(0.244565, 1, 0.245859) [sub_resource type="Animation" id="Animation_nwry8"] length = 0.001 @@ -1569,11 +1572,11 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.336261, -0.199846, 0.054946 shape = SubResource("BoxShape3D_gim5a") [node name="CollisionShape3D2" type="CollisionShape3D" parent="logic/Bed and Ladders/ladder"] -transform = Transform3D(0.833085, 0, -0.553144, 0, 1, 0, 0.553144, 0, 0.833085, -0.0238513, 0, -0.359131) +transform = Transform3D(0.833085, 0, -0.553144, 0, 1, 0, 0.553144, 0, 0.833085, 0.0114179, 0, -0.412249) shape = SubResource("BoxShape3D_bq15k") [node name="CollisionShape3D3" type="CollisionShape3D" parent="logic/Bed and Ladders/ladder"] -transform = Transform3D(0.707304, 0, 0.706909, 0, 1, 0, -0.706909, 0, 0.707304, 0.188369, 0, 0.502213) +transform = Transform3D(0.707304, 0, 0.706909, 0, 1, 0, -0.706909, 0, 0.707304, 0.240986, 0, 0.539403) shape = SubResource("BoxShape3D_bq15k") [node name="UI" type="Control" parent="logic"] @@ -1817,7 +1820,6 @@ layout_mode = 2 size_flags_horizontal = 4 size_flags_vertical = 4 mouse_filter = 2 -scroll_vertical = 638 horizontal_scroll_mode = 0 vertical_scroll_mode = 3 diff --git a/src/logic-scenes/player_controller/player_controller.tscn b/src/logic-scenes/player_controller/player_controller.tscn index f2fd71a9..d8980278 100644 --- a/src/logic-scenes/player_controller/player_controller.tscn +++ b/src/logic-scenes/player_controller/player_controller.tscn @@ -1,18 +1,10 @@ -[gd_scene load_steps=11 format=3 uid="uid://mkccbig41bqb"] +[gd_scene load_steps=8 format=3 uid="uid://mkccbig41bqb"] [ext_resource type="Script" path="res://logic-scenes/player_controller/player_controller.gd" id="1_0b4mi"] -[ext_resource type="ArrayMesh" uid="uid://bfc3d4g40n0wy" path="res://logic-scenes/collectable/import/old-mask.res" id="2_vnej0"] [sub_resource type="PhysicsMaterial" id="10"] friction = 0.0 -[sub_resource type="GDScript" id="GDScript_r0b38"] -script/source = "extends MeshInstance3D - -func _process(delta): - rotate_y(delta/3) -" - [sub_resource type="SphereShape3D" id="8"] radius = 0.307047 @@ -42,114 +34,6 @@ tracks/1/keys = { "update": 0, "values": [Vector3(0, 0, 0)] } -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Yaw/Pitch/Mount/Camera3D/memory mount/old_mask2:rotation") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector3(5.96046e-08, 1.74846e-07, -7.10543e-15)] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("Yaw/Pitch/Mount/Camera3D/memory mount:position") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector3(0.11067, -0.0251684, -0.309266)] -} -tracks/4/type = "value" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("Yaw/Pitch/Mount/Camera3D/memory mount:rotation") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector3(1.49012e-07, 0, 0)] -} -tracks/5/type = "value" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D:light_energy") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.4] -} -tracks/6/type = "value" -tracks/6/imported = false -tracks/6/enabled = true -tracks/6/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D2:light_energy") -tracks/6/interp = 1 -tracks/6/loop_wrap = true -tracks/6/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [1.5] -} -tracks/7/type = "value" -tracks/7/imported = false -tracks/7/enabled = true -tracks/7/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D:visible") -tracks/7/interp = 1 -tracks/7/loop_wrap = true -tracks/7/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} -tracks/8/type = "value" -tracks/8/imported = false -tracks/8/enabled = true -tracks/8/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D2:layers") -tracks/8/interp = 1 -tracks/8/loop_wrap = true -tracks/8/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [1] -} -tracks/9/type = "value" -tracks/9/imported = false -tracks/9/enabled = true -tracks/9/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D2:visible") -tracks/9/interp = 1 -tracks/9/loop_wrap = true -tracks/9/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} -tracks/10/type = "value" -tracks/10/imported = false -tracks/10/enabled = true -tracks/10/path = NodePath("Yaw/Pitch/Mount/Camera3D/memory mount/old_mask2:visible") -tracks/10/interp = 1 -tracks/10/loop_wrap = true -tracks/10/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] -} [sub_resource type="Animation" id="12"] resource_name = "crouch" @@ -179,106 +63,6 @@ tracks/1/keys = { "values": [Vector3(0, 0, 0), Vector3(-30, 0, -10), Vector3(-20, 0, 3), Vector3(0, 0, 0), Vector3(0, 0, 0)] } -[sub_resource type="Animation" id="Animation_5o0sk"] -resource_name = "mask_reveal" -length = 3.0 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Yaw/Pitch/Mount/Camera3D/memory mount:position") -tracks/0/interp = 2 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 3), -"transitions": PackedFloat32Array(0.366021, 1), -"update": 0, -"values": [Vector3(0.376781, -0.521269, -0.513588), Vector3(0.18, -0.025, -0.309)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Yaw/Pitch/Mount/Camera3D/memory mount:rotation") -tracks/1/interp = 2 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 3), -"transitions": PackedFloat32Array(1, 0.378929), -"update": 0, -"values": [Vector3(0, -0.698132, 0), Vector3(1.49012e-07, 0, 0)] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D:light_energy") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0.8, 3), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0.0, 0.4] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D2:light_energy") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0.2, 3), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0.0, 1.5] -} -tracks/4/type = "value" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D:visible") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/keys = { -"times": PackedFloat32Array(0, 0.1), -"transitions": PackedFloat32Array(1, 1), -"update": 1, -"values": [false, true] -} -tracks/5/type = "value" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D2:layers") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [1] -} -tracks/6/type = "value" -tracks/6/imported = false -tracks/6/enabled = true -tracks/6/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D2:visible") -tracks/6/interp = 1 -tracks/6/loop_wrap = true -tracks/6/keys = { -"times": PackedFloat32Array(0, 0.1), -"transitions": PackedFloat32Array(1, 1), -"update": 1, -"values": [false, true] -} -tracks/7/type = "value" -tracks/7/imported = false -tracks/7/enabled = true -tracks/7/path = NodePath("Yaw/Pitch/Mount/Camera3D/memory mount/old_mask2:visible") -tracks/7/interp = 1 -tracks/7/loop_wrap = true -tracks/7/keys = { -"times": PackedFloat32Array(0, 0.1), -"transitions": PackedFloat32Array(1, 1), -"update": 1, -"values": [false, true] -} - [sub_resource type="Animation" id="14"] resource_name = "stand_up" length = 3.0 @@ -289,10 +73,10 @@ tracks/0/path = NodePath("Yaw:position") tracks/0/interp = 2 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 0.9, 1.7, 3), +"times": PackedFloat32Array(0, 0.9, 1.8, 3), "transitions": PackedFloat32Array(1, 1, 1, 1), "update": 0, -"values": [Vector3(0, 0.327816, 0), Vector3(0, 0.331, 0), Vector3(0, 1.3, 0), Vector3(0, 1.22534, 0)] +"values": [Vector3(0, 0.327816, 0), Vector3(0, 0.331, 0), Vector3(0, 1, 0), Vector3(0, 1.22534, 0)] } tracks/1/type = "value" tracks/1/imported = false @@ -311,7 +95,6 @@ tracks/1/keys = { _data = { "RESET": SubResource("11"), "crouch": SubResource("12"), -"mask_reveal": SubResource("Animation_5o0sk"), "stand_up": SubResource("14") } @@ -343,44 +126,6 @@ collision_mask = 17 collide_with_areas = true collide_with_bodies = false -[node name="memory mount" type="Node3D" parent="Yaw/Pitch/Mount/Camera3D"] -transform = Transform3D(0.8, 0, 0, 0, 0.8, -7.15258e-08, 0, 1.1921e-07, 0.48, 0.11067, -0.0251684, -0.309266) - -[node name="old_mask2" type="MeshInstance3D" parent="Yaw/Pitch/Mount/Camera3D/memory mount"] -transform = Transform3D(1, 1.75271e-14, 1.74846e-07, -7.10543e-15, 1, -5.96046e-08, -1.74846e-07, 5.96046e-08, 1, 0.0250661, 0, 0) -visible = false -mesh = ExtResource("2_vnej0") -skeleton = NodePath("") -script = SubResource("GDScript_r0b38") - -[node name="OmniLight3D" type="OmniLight3D" parent="Yaw/Pitch/Mount/Camera3D/memory mount/old_mask2"] -transform = Transform3D(1, -3.8743e-07, 5.96046e-08, 3.57628e-07, 1, 8.9407e-08, -5.96046e-08, -8.9407e-08, 1, 0.083235, -0.219628, 0.176047) -light_color = Color(0.972549, 0.752941, 0.592157, 1) -light_energy = 0.1 -light_specular = 0.0 -omni_range = 0.457129 -omni_attenuation = 0.659754 - -[node name="SpotLight3D" type="SpotLight3D" parent="Yaw/Pitch/Mount/Camera3D"] -transform = Transform3D(0.584488, 0.621177, -0.522028, 0.363951, 0.374307, 0.852897, 0.725199, -0.688501, -0.00729993, 0.0601956, 0.21754, -0.271749) -visible = false -light_color = Color(0.97599, 0.669299, 0.509314, 1) -light_energy = 0.4 -light_size = 0.1 -shadow_enabled = true -spot_range = 0.394683 -spot_angle = 27.7927 - -[node name="SpotLight3D2" type="SpotLight3D" parent="Yaw/Pitch/Mount/Camera3D"] -transform = Transform3D(0.456583, 0.0747244, 0.886537, 0.819566, -0.423063, -0.386432, 0.346185, 0.903014, -0.254405, 0.475638, -0.147216, -0.329875) -visible = false -light_color = Color(0.317647, 0.427451, 1, 1) -light_energy = 1.5 -light_size = 0.1 -shadow_enabled = true -spot_range = 0.624277 -spot_angle = 22.1657 - [node name="PlayerCollision" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.322255, 0) shape = SubResource("8") From 7ce5b6120b3b737d9a5ba2c8fb632540013f385f Mon Sep 17 00:00:00 2001 From: betalars Date: Fri, 14 Jul 2023 15:29:53 +0200 Subject: [PATCH 17/19] creating a default bug report template --- src/.gitlab/issue_templates/bug_report.md | 38 +++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/.gitlab/issue_templates/bug_report.md diff --git a/src/.gitlab/issue_templates/bug_report.md b/src/.gitlab/issue_templates/bug_report.md new file mode 100644 index 00000000..d1ee344b --- /dev/null +++ b/src/.gitlab/issue_templates/bug_report.md @@ -0,0 +1,38 @@ +## Summary + +(This template will help you publicly describe an issue you have encountered. Contact email support, when you do not with to openly describe your Issue.) + +(Fill out what is relevant to your issue and delete what's not) + +## Steps to reproduce +(What did you do before finding the issue? Providing a step by step guide can help us solve it. Try if the issue still persists after restarting the game.) + +Example +1. Load the first Level +2. Go to the Laptop and click the screen 4 times +3. Run at the window. + +### What did you expect to happen? +(The player hits the window) + +### What happend? +(The player floats up towards the sky) + +## Did you change any settings? + +(We will provide you with an option to just dump your config here in the future, but for now just describe what you did.) + +## How do you play the game? + +(With a racing wheel and a touch screen, obviousely) + +## Please give us some System Info + +- OS: GameOS 42 +- Processor: intel Ryzen 1234XD +- Graphics Card: Radeon Battlemage Pro + +## Possible Fixes +(This is the section for nerds, that already dug up our source code and know exactly what is going on.) + +/label ~bug \ No newline at end of file From 152272ee80307aa671da2e1653706aeb0444a1f6 Mon Sep 17 00:00:00 2001 From: betalars Date: Fri, 14 Jul 2023 15:37:38 +0200 Subject: [PATCH 18/19] it is just too hot --- .../bug_report.md => .gitlab/issue-templates/bug-report.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/.gitlab/issue_templates/bug_report.md => .gitlab/issue-templates/bug-report.md (100%) diff --git a/src/.gitlab/issue_templates/bug_report.md b/.gitlab/issue-templates/bug-report.md similarity index 100% rename from src/.gitlab/issue_templates/bug_report.md rename to .gitlab/issue-templates/bug-report.md From 0569e13f9cbc745afe249c31bc72be088e886eb9 Mon Sep 17 00:00:00 2001 From: betalars Date: Fri, 14 Jul 2023 15:39:44 +0200 Subject: [PATCH 19/19] did I mention it is too hot? --- .gitlab/{issue-templates => issue_templates}/bug-report.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .gitlab/{issue-templates => issue_templates}/bug-report.md (100%) diff --git a/.gitlab/issue-templates/bug-report.md b/.gitlab/issue_templates/bug-report.md similarity index 100% rename from .gitlab/issue-templates/bug-report.md rename to .gitlab/issue_templates/bug-report.md