diff --git a/.gitignore b/.gitignore index c1c294a..56e9af1 100644 --- a/.gitignore +++ b/.gitignore @@ -59,3 +59,6 @@ $RECYCLE.BIN/ # Ignore folders releases and build Android releases + +# Ignore override godot +override.cfg diff --git a/assets/props/book/sm_book.tscn b/assets/props/book/sm_book.tscn index 485dc70..63a3e80 100644 --- a/assets/props/book/sm_book.tscn +++ b/assets/props/book/sm_book.tscn @@ -1,102 +1,8 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=2 format=2] [ext_resource path="res://assets/props/book/sm_book_lod1.mesh" type="ArrayMesh" id=2] -[sub_resource type="GDScript" id=1] -script/source = "# Copyright © 2020 Hugo Locurcio and contributors - MIT License -# See `LICENSE.md` included in the source distribution for details. -extends Spatial -class_name LODSpatial, \"res://addons/lod/lod_spatial.svg\" - -# If `false`, LOD won't update anymore. This can be used for performance comparison -# purposes. -export var enable_lod := true - -# The maximum LOD 0 (high quality) distance in units. -export(float, 0.0, 1000.0, 0.1) var lod_0_max_distance := 10 - -# The maximum LOD 1 (medium quality) distance in units. -export(float, 0.0, 1000.0, 0.1) var lod_1_max_distance := 25 - -# The maximum LOD 2 (low quality) distance in units. -# Past this distance, all LOD variants are hidden. -export(float, 0.0, 1000.0, 0.1) var lod_2_max_distance := 100 - -# The rate at which LODs will be updated (in seconds). Lower values are more reactive -# but use more CPU, which is especially noticeable with large amounts of LOD-enabled nodes. -# Set this accordingly depending on your camera movement speed. -# The default value should suit most projects already. -# Note: Slow cameras don't need to have LOD-enabled objects update their status often. -# This can overridden by setting the project setting `lod/refresh_rate`. -var refresh_rate := 0.25 - -# The LOD bias in units. -# Positive values will decrease the detail level and improve performance. -# Negative values will improve visual appearance at the cost of performance. -# This can overridden by setting the project setting `lod/bias`. -var lod_bias := 0.0 - -# The internal refresh timer. -var timer := 0.0 - - -func _ready() -> void: - if ProjectSettings.has_setting(\"lod/spatial_bias\"): - lod_bias = ProjectSettings.get_setting(\"lod/spatial_bias\") - if ProjectSettings.has_setting(\"lod/refresh_rate\"): - refresh_rate = ProjectSettings.get_setting(\"lod/refresh_rate\") - - # Add random jitter to the timer to ensure LODs don't all swap at the same time. - randomize() - timer += rand_range(0, refresh_rate) - - -# Despite LOD not being related to physics, we chose to run in `_physics_process()` -# to minimize the amount of method calls per second (and therefore decrease CPU usage). -func _physics_process(delta: float) -> void: - if not enable_lod: - return - - # We need a camera to do the rest. - var camera := get_viewport().get_camera() - if camera == null: - return - - if timer <= refresh_rate: - timer += delta - return - - timer = 0.0 - - var distance := camera.global_transform.origin.distance_to(global_transform.origin) + lod_bias - # The LOD level to choose (lower is more detailed). - var lod: int - if distance < lod_0_max_distance: - lod = 0 - elif distance < lod_1_max_distance: - lod = 1 - elif distance < lod_2_max_distance: - lod = 2 - else: - # Hide the LOD object entirely. - lod = 3 - - for node in get_children(): - # `-lod` also matches `-lod0`, `-lod1`, `-lod2`, … - if node.has_method(\"set_visible\"): - if \"-lod0\" in node.name: - node.visible = lod == 0 - if \"-lod1\" in node.name: - node.visible = lod == 1 - if \"-lod2\" in node.name: - node.visible = lod == 2 -" - [node name="sm_book" type="Spatial"] -script = SubResource( 1 ) -lod_0_max_distance = 1.0 -lod_1_max_distance = 5.0 -lod_2_max_distance = 10.0 [node name="sm_book-lod1" type="MeshInstance" parent="."] use_in_baked_light = true diff --git a/assets/props/parchment/parchment.gd b/assets/props/parchment/parchment.gd index c6c0ba8..f0d1e20 100644 --- a/assets/props/parchment/parchment.gd +++ b/assets/props/parchment/parchment.gd @@ -7,11 +7,10 @@ func activatePaper(showPaper): if Engine.editor_hint: paper = showPaper - var parent = get_node(".").name - print("[Parchment] Editor value " +String(showPaper) +" | " +String(parent)) + # var parent = get_node(".").name + # print("[Parchment] Editor value " +String(showPaper) +" | " +String(parent)) $paper.set_visible(paper) - func _ready(): activatePaper(paper) diff --git a/db/MScene.gd b/db/MScene.gd index 0cd2507..ca76e36 100644 --- a/db/MScene.gd +++ b/db/MScene.gd @@ -87,7 +87,7 @@ func _get_level(datas): return _get_data(datas, LEVEL_ID) as int func _get_mesh(datas): - return "Hidden Objects Items/" + String(_get_data(datas, MESH_ID)) + return "HiddenObjectsItems/" + String(_get_data(datas, MESH_ID)) func _get_label_counter(datas): return _get_data(datas, LABEL_COUNTER) as String diff --git a/db/ahog.json b/db/ahog.json index 477cd62..a129e4e 100644 --- a/db/ahog.json +++ b/db/ahog.json @@ -11,7 +11,7 @@ {"name":"resolution","type":"3","auto_increment":"0"}, {"name":"fullscreen","type":"0","auto_increment":"0"} ], - "data":["1","0","0","1280 x 720","0"] + "data":["0","0","0","1280 x 720","0"] }, { "table_name":"levels", @@ -19,7 +19,7 @@ {"name":"name","type":"3","auto_increment":"0"}, {"name":"thumb","type":"4","auto_increment":"0"} ], - "data":["WarCraft","res://assets/levels/warcraft.jpg"] + "data":["WarCraft","res://assets/levels/warcraft.jpg","Home","res://assets/levels/home.jpg"] }, { "table_name":"scenes", @@ -32,7 +32,7 @@ {"name":"label_counter","type":"1","auto_increment":"0"}, {"name":"counter","type":"1","auto_increment":"0"} ], - "data":["0","Dagger","dagger","0","dagger","0","1","0","Fiole","fiole1","0","fioles/fiole1","1","3","0","Fiole","fiole2","0","fioles/fiole2","1","3","0","Fiole","fiole3","0","fioles/fiole_socle/fiole3","1","3","0","Spyglass","spyglass","0","spyglass","2","1","0","Coins","coin1","0","golds/coin1","3","3","0","Coins","coin2","0","golds/coin2","3","3","0","Coins","coin3","0","golds/coin3","3","3","0","Weapon Gun","weapon","0","weapon","4","1","0","Apple","apple1","0","apples/apple1","5","4","0","Apple","apple2","0","apples/apple2","5","4","0","Apple","apple3","0","apples/apple3","5","4","0","Apple","apple4","0","apples/apple4","5","4","0","Beer","beer","0","beer","6","1","0","SuperDagger","gadder","1","sm_super_dager","0","1"] + "data":["0","Dagger","Dagger","0","Dagger","0","1","0","Fiole","Fiole1","0","Fioles/Fiole1","1","3","0","Fiole","Fiole2","0","Fioles/Fiole2","1","3","0","Fiole","Fiole3","0","Fioles/FioleSocle/Fiole3","1","3","0","Spyglass","Spyglass","0","Spyglass","2","1","0","Coins","Coin1","0","Coins/Coin1","3","3","0","Coins","Coin2","0","Coins/Coin2","3","3","0","Coins","Coin3","0","Coins/Coin3","3","3","0","Weapon Gun","Weapon","0","Weapon","4","1","0","Apple","Apple1","0","Apples/Apple1","5","4","0","Apple","Apple2","0","Apples/Apple2","5","4","0","Apple","Apple3","0","Apples/Apple3","5","4","0","Apple","Apple4","0","Apples/Apple4","5","4","0","Beer","Beer","0","Beer","6","1","0","SuperDagger","Gadder","1","sm_super_dager","0","1"] } ] } \ No newline at end of file diff --git a/project.godot b/project.godot index 30427b4..9b71199 100644 --- a/project.godot +++ b/project.godot @@ -204,6 +204,7 @@ config/name="Puzzle Quest" config/description="A treasure chest fill with any Jiggsaw !" run/main_scene="res://scenes/Main.tscn" boot_splash/image="res://releases/splash-screen.png" +boot_splash/fullsize=false config/icon="res://icon.png" config/macos_native_icon="res://releases/mac/project.icns" config/windows_native_icon="res://releases/windows/project.ico" @@ -219,15 +220,11 @@ gddb_globals="*res://addons/godot_db_manager/core/GDDBGlobals.gd" Setting="*res://scripts/Setting.gd" Event="*res://scripts/Event.gd" -[debug] - -settings/stdout/print_fps=true - [display] -window/size/width=1920 -window/size/height=1080 -window/size/fullscreen=true +window/size/width=1280 +window/size/height=720 +window/size/resizable=false window/dpi/allow_hidpi=true window/handheld/orientation="sensor_landscape" window/stretch/mode="2d" diff --git a/scenes/Main.gd b/scenes/Main.gd index 8a15e17..64e81f9 100644 --- a/scenes/Main.gd +++ b/scenes/Main.gd @@ -1,7 +1,8 @@ extends Node -export (PackedScene) var settings = load("res://scenes/UI/settings/Settings.tscn") -export (PackedScene) var scenes = load("res://scenes/UI/choose_scenes/ChooseScene.tscn") +export (PackedScene) var title = load("res://scenes/UI/title/Title.tscn") +export (PackedScene) var setting = load("res://scenes/UI/settings/Settings.tscn") +export (PackedScene) var choose_scene = load("res://scenes/UI/choose_scenes/ChooseScene.tscn") onready var current_scene = "title" onready var stream_button = preload("res://assets/sounds/click-button.ogg") @@ -11,7 +12,7 @@ func _ready(): _translation() home.set_focus_mode(2) home.grab_focus() - _apply_scene("Title") + _apply_scene(title) _configure_sound() func _configure_sound(): @@ -25,29 +26,27 @@ func _translation(): $MarginContainer/HBoxContainer/UI_summary/PanelWood/VBoxContainer/ButtonQuit/Label.text = tr("MAIN_BUTTON_QUIT") func _apply_scene(actual_scene): - var node = "MarginContainer/HBoxContainer/MarginContainer/" + var node = get_node("MarginContainer/HBoxContainer/MarginContainer/") - for scene in ["Title", "Settings", "ChooseScene"]: - get_node(node + scene).visible = true - if actual_scene == scene: - get_node(node + scene).visible = true - else: - get_node(node + scene).visible = false + if node.get_child_count() != 0: + node.get_child(0).queue_free() + + node.add_child(actual_scene.instance()) # Load scene for select game func _on_ButtonPuzzle_pressed(): _sound_button() - _apply_scene("ChooseScene") + _apply_scene(choose_scene) # Load scene settings func _on_ButtonSetting_pressed(): _sound_button() - _apply_scene("Settings") + _apply_scene(setting) # Click to icon game func _on_TextureRect_pressed(): _sound_button() - _apply_scene("Title") + _apply_scene(title) # Quit the game func _on_ButtonQuit_pressed(): diff --git a/scenes/Main.tscn b/scenes/Main.tscn index 7d49770..16a0680 100644 --- a/scenes/Main.tscn +++ b/scenes/Main.tscn @@ -1,9 +1,6 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=4 format=2] [ext_resource path="res://scenes/Main.gd" type="Script" id=1] -[ext_resource path="res://scenes/UI/title/Title.tscn" type="PackedScene" id=2] -[ext_resource path="res://scenes/UI/choose_scenes/ChooseScene.tscn" type="PackedScene" id=3] -[ext_resource path="res://scenes/UI/settings/Settings.tscn" type="PackedScene" id=4] [ext_resource path="res://scenes/UI/background/Background.tscn" type="PackedScene" id=5] [ext_resource path="res://scenes/UI/summary/Summary.tscn" type="PackedScene" id=8] @@ -26,85 +23,64 @@ __meta__ = { } [node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer"] -margin_right = 1920.0 -margin_bottom = 1080.0 +margin_right = 1280.0 +margin_bottom = 720.0 [node name="UI_summary" parent="MarginContainer/HBoxContainer" instance=ExtResource( 8 )] anchor_bottom = 0.0 margin_right = 446.0 -margin_bottom = 1080.0 +margin_bottom = 720.0 size_flags_horizontal = 0 size_flags_vertical = 3 [node name="PanelWood" parent="MarginContainer/HBoxContainer/UI_summary" index="0"] -margin_bottom = 1080.0 +margin_bottom = 720.0 [node name="CenterContainer" parent="MarginContainer/HBoxContainer/UI_summary/PanelWood/VBoxContainer" index="0"] -margin_bottom = 271.0 +margin_bottom = 128.0 [node name="TextureRect" parent="MarginContainer/HBoxContainer/UI_summary/PanelWood/VBoxContainer/CenterContainer" index="0"] -margin_top = 71.0 -margin_bottom = 199.0 +margin_top = 0.0 +margin_bottom = 128.0 [node name="ButtonPuzzle" parent="MarginContainer/HBoxContainer/UI_summary/PanelWood/VBoxContainer" index="1"] -margin_top = 301.0 -margin_bottom = 378.0 +margin_top = 158.0 +margin_bottom = 235.0 [node name="ButtonSetting" parent="MarginContainer/HBoxContainer/UI_summary/PanelWood/VBoxContainer" index="2"] -margin_top = 408.0 -margin_bottom = 485.0 +margin_top = 265.0 +margin_bottom = 342.0 [node name="ButtonCredits" parent="MarginContainer/HBoxContainer/UI_summary/PanelWood/VBoxContainer" index="3"] -margin_top = 515.0 -margin_bottom = 592.0 +margin_top = 372.0 +margin_bottom = 449.0 [node name="MarginContainer" parent="MarginContainer/HBoxContainer/UI_summary/PanelWood/VBoxContainer" index="4"] -margin_top = 622.0 -margin_bottom = 893.0 +margin_top = 479.0 +margin_bottom = 533.0 [node name="ButtonQuit" parent="MarginContainer/HBoxContainer/UI_summary/PanelWood/VBoxContainer" index="5"] -margin_top = 923.0 -margin_bottom = 1000.0 +margin_top = 563.0 +margin_bottom = 640.0 [node name="ContainerVersion" parent="MarginContainer/HBoxContainer/UI_summary/PanelWood/VBoxContainer" index="6"] -margin_top = 1030.0 -margin_bottom = 1050.0 +margin_top = 670.0 +margin_bottom = 690.0 [node name="MarginContainerBottom" parent="MarginContainer/HBoxContainer/UI_summary/PanelWood/VBoxContainer" index="7"] -margin_top = 1080.0 -margin_bottom = 1080.0 +margin_top = 720.0 +margin_bottom = 720.0 [node name="TextureRect" parent="MarginContainer/HBoxContainer/UI_summary" index="1"] -margin_bottom = 1080.0 +margin_bottom = 720.0 [node name="MarginContainer" type="MarginContainer" parent="MarginContainer/HBoxContainer"] margin_left = 450.0 -margin_right = 1920.0 -margin_bottom = 1080.0 +margin_right = 1280.0 +margin_bottom = 720.0 size_flags_horizontal = 7 size_flags_vertical = 3 -[node name="Title" parent="MarginContainer/HBoxContainer/MarginContainer" instance=ExtResource( 2 )] -anchor_right = 0.0 -anchor_bottom = 0.0 -margin_right = 1470.0 -margin_bottom = 1080.0 - -[node name="Settings" parent="MarginContainer/HBoxContainer/MarginContainer" instance=ExtResource( 4 )] -visible = false -anchor_right = 0.0 -anchor_bottom = 0.0 -margin_left = 0.0 -margin_right = 1470.0 -margin_bottom = 1080.0 - -[node name="ChooseScene" parent="MarginContainer/HBoxContainer/MarginContainer" instance=ExtResource( 3 )] -visible = false -anchor_right = 0.0 -anchor_bottom = 0.0 -margin_right = 1470.0 -margin_bottom = 1080.0 - [connection signal="pressed" from="MarginContainer/HBoxContainer/UI_summary/PanelWood/VBoxContainer/CenterContainer/TextureRect" to="." method="_on_TextureRect_pressed"] [connection signal="pressed" from="MarginContainer/HBoxContainer/UI_summary/PanelWood/VBoxContainer/ButtonPuzzle" to="." method="_on_ButtonPuzzle_pressed"] [connection signal="pressed" from="MarginContainer/HBoxContainer/UI_summary/PanelWood/VBoxContainer/ButtonSetting" to="." method="_on_ButtonSetting_pressed"] diff --git a/scenes/UI/choose_scenes/ChooseScene.gd b/scenes/UI/choose_scenes/ChooseScene.gd index 9a214d1..679d093 100644 --- a/scenes/UI/choose_scenes/ChooseScene.gd +++ b/scenes/UI/choose_scenes/ChooseScene.gd @@ -1,22 +1,22 @@ extends Control -export (PackedScene) var template = load("res://scenes/levels/parts/Template.tscn") - -onready var mlevel = load("res://db/MLevel.gd") +export (PackedScene) var template = load("res://scenes/UI/choose_scenes/parts/Template.tscn") func _ready(): - _apply_scenes() + _load_button_access_scenes() ## PRIVATE -func _apply_scenes(): +func _load_button_access_scenes(): for row_index in range(0, Global.database.get_table_by_name("levels").m_rows_count): - _apply_scene(mlevel.new(row_index), 0) + _apply_scene(load("res://db/MLevel.gd").new(row_index), row_index) -func _build_path(name): - return "MarginContainer/"+name - -func _build_method(name): - return "_on_"+name.to_lower()+"_pressed" +func _apply_scene(level, index): + $MarginContainer.add_child(_load_scene(level.name())) + var node = _build_path(level.name()) + + _configure_select(level, node) + configure_reset(level, node, index, false) + configure_counter(level, node) func _load_scene(name): var template_instance = template.instance() @@ -24,17 +24,15 @@ func _load_scene(name): return template_instance +func _build_path(name): + return "MarginContainer/"+name + +func _build_method(name): + return "_on_"+name.to_lower()+"_pressed" + func _load_texture(thumbnail): return load(thumbnail) -func _apply_scene(level, index): - $MarginContainer.add_child(_load_scene(level.name())) - var node = _build_path(level.name()) - - _configure_select(level, node) - configure_reset(level, node, index) - configure_counter(level, node) - func _configure_select(level, node): var selector = get_node(node+"/MarginContainer/CenterAlign/MainButton") var thumbnail = get_node(node+"/MarginContainer/CenterAlign/MainButton/MarginStich/ThumbnailLevel") @@ -42,18 +40,31 @@ func _configure_select(level, node): thumbnail.set_texture(_load_texture(level.thumbnail())) selector.connect("pressed", Event, _build_method(level.name())) -func configure_reset(level, node, index): - var reset = get_node(node+"/MarginContainer/CenterAlign/TabAlign/ButtonReset") - +func configure_reset(level, node, index, animate): + var reset = get_node(node+"/MarginContainer/CenterAlign/MainButton/TabAlign/ButtonReset") + var animation = get_node(node+"/AnimationPlayer") if int(level.object_finding()) == 0: - reset.set_disabled(true) - if reset.is_connected("pressed", Event, "_on_reset_level"): - reset.disconnect("pressed", Event, "_on_reset_level") + _configure_reset_disable(animation, reset, animate) else: - reset.set_disabled(false) - reset.connect("pressed", Event, "_on_reset_level", [level, node, index, self]) + _configure_reset_enable(animation, reset, level, node, index) + +func _configure_reset_disable(animation, reset, animate = false): + animation.play("SlideReset") + if !animate: + animation.seek(1, false) + + reset.set_disabled(true) + reset.set_default_cursor_shape(CURSOR_ARROW) + if reset.is_connected("pressed", Event, "_on_reset_level"): + reset.disconnect("pressed", Event, "_on_reset_level") + +func _configure_reset_enable(animation, reset, level, node, index): + animation.play_backwards("SlideReset") + reset.set_disabled(false) + reset.set_default_cursor_shape(CURSOR_POINTING_HAND) + reset.connect("pressed", Event, "_on_reset_level", [level, node, index, self]) func configure_counter(level, node): - var count = get_node(node+"/MarginContainer/CenterAlign/TabAlign/ButtonCount/MarginBottom/Label") + var count = get_node(node+"/MarginContainer/CenterAlign/MainButton/TabAlign/ButtonCount/MarginBottom/Label") count.set_text(level.object_finding()+" / "+level.object_to_find()) diff --git a/scenes/UI/choose_scenes/ChooseScene.tscn b/scenes/UI/choose_scenes/ChooseScene.tscn index 6b49590..ed1a2f7 100644 --- a/scenes/UI/choose_scenes/ChooseScene.tscn +++ b/scenes/UI/choose_scenes/ChooseScene.tscn @@ -14,8 +14,8 @@ __meta__ = { } [node name="MarginContainer" type="GridContainer" parent="."] -margin_right = 1920.0 -margin_bottom = 1080.0 +margin_right = 1280.0 +margin_bottom = 720.0 size_flags_horizontal = 3 size_flags_vertical = 3 columns = 3 diff --git a/scenes/levels/parts/Template.tscn b/scenes/UI/choose_scenes/parts/Template.tscn similarity index 68% rename from scenes/levels/parts/Template.tscn rename to scenes/UI/choose_scenes/parts/Template.tscn index 9d91021..b2c9e33 100644 --- a/scenes/levels/parts/Template.tscn +++ b/scenes/UI/choose_scenes/parts/Template.tscn @@ -1,13 +1,36 @@ -[gd_scene load_steps=9 format=2] +[gd_scene load_steps=10 format=2] [ext_resource path="res://assets/fonts/kirsty/kirsty_base.tres" type="DynamicFont" id=1] -[ext_resource path="res://assets/ui/themes/tab_select/UI-level-btn-shadow.png" type="Texture" id=2] -[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Count.png" type="Texture" id=3] -[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Reset-disabled.png" type="Texture" id=4] -[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Count-hover.png" type="Texture" id=5] -[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Reset-hover.png" type="Texture" id=6] -[ext_resource path="res://assets/ui/themes/tab_select/UI-level-btn-leather.png" type="Texture" id=7] -[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Reset.png" type="Texture" id=8] +[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Reset-hover.png" type="Texture" id=2] +[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Reset-disabled.png" type="Texture" id=3] +[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Count-hover.png" type="Texture" id=4] +[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Reset.png" type="Texture" id=5] +[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Count.png" type="Texture" id=6] +[ext_resource path="res://assets/ui/themes/tab_select/UI-level-btn-shadow.png" type="Texture" id=7] +[ext_resource path="res://assets/ui/themes/tab_select/UI-level-btn-leather.png" type="Texture" id=8] + +[sub_resource type="Animation" id=1] +resource_name = "SlideReset" +tracks/0/type = "bezier" +tracks/0/path = NodePath("MarginContainer/CenterAlign/MainButton/TabAlign/ButtonReset:rect_position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( ), +"times": PoolRealArray( ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("MarginContainer/CenterAlign/MainButton/TabAlign/ButtonReset:rect_position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.506539, 0.5, -40, -0.236722, -22.5, 0.25, 0 ), +"times": PoolRealArray( 0, 1 ) +} [node name="TilePuzzle" type="Control"] margin_left = 320.0 @@ -25,7 +48,7 @@ anchor_right = 0.5 margin_left = -114.0 margin_right = 115.0 margin_bottom = 456.0 -texture = ExtResource( 2 ) +texture = ExtResource( 7 ) __meta__ = { "_edit_use_anchors_": false } @@ -54,7 +77,7 @@ custom_constants/separation = 0 margin_right = 209.0 margin_bottom = 208.0 mouse_default_cursor_shape = 2 -texture_normal = ExtResource( 7 ) +texture_normal = ExtResource( 8 ) __meta__ = { "_edit_use_anchors_": false } @@ -94,37 +117,39 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="TabAlign" type="HBoxContainer" parent="MarginContainer/CenterAlign"] +[node name="TabAlign" type="HBoxContainer" parent="MarginContainer/CenterAlign/MainButton"] +show_behind_parent = true margin_top = 208.0 margin_right = 209.0 margin_bottom = 710.0 size_flags_horizontal = 3 size_flags_vertical = 3 alignment = 1 +__meta__ = { +"_edit_use_anchors_": false +} -[node name="ButtonReset" type="TextureButton" parent="MarginContainer/CenterAlign/TabAlign"] +[node name="ButtonReset" type="TextureButton" parent="MarginContainer/CenterAlign/MainButton/TabAlign"] +show_behind_parent = true margin_left = 1.0 margin_right = 90.0 margin_bottom = 57.0 -mouse_default_cursor_shape = 2 size_flags_vertical = 0 -disabled = true -texture_normal = ExtResource( 8 ) -texture_hover = ExtResource( 6 ) -texture_disabled = ExtResource( 4 ) -texture_focused = ExtResource( 6 ) +texture_normal = ExtResource( 5 ) +texture_hover = ExtResource( 2 ) +texture_disabled = ExtResource( 3 ) -[node name="ButtonCount" type="TextureButton" parent="MarginContainer/CenterAlign/TabAlign"] +[node name="ButtonCount" type="TextureButton" parent="MarginContainer/CenterAlign/MainButton/TabAlign"] margin_left = 94.0 margin_right = 207.0 margin_bottom = 57.0 mouse_default_cursor_shape = 2 size_flags_vertical = 0 -texture_normal = ExtResource( 3 ) -texture_hover = ExtResource( 5 ) -texture_focused = ExtResource( 5 ) +texture_normal = ExtResource( 6 ) +texture_hover = ExtResource( 4 ) +texture_focused = ExtResource( 4 ) -[node name="MarginBottom" type="MarginContainer" parent="MarginContainer/CenterAlign/TabAlign/ButtonCount"] +[node name="MarginBottom" type="MarginContainer" parent="MarginContainer/CenterAlign/MainButton/TabAlign/ButtonCount"] anchor_right = 1.0 anchor_bottom = 1.0 custom_constants/margin_bottom = 10 @@ -132,7 +157,7 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Label" type="Label" parent="MarginContainer/CenterAlign/TabAlign/ButtonCount/MarginBottom"] +[node name="Label" type="Label" parent="MarginContainer/CenterAlign/MainButton/TabAlign/ButtonCount/MarginBottom"] margin_right = 113.0 margin_bottom = 47.0 size_flags_horizontal = 3 @@ -144,3 +169,6 @@ valign = 1 __meta__ = { "_edit_use_anchors_": false } + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +anims/SlideReset = SubResource( 1 ) diff --git a/scenes/levels/Levels.gd b/scenes/levels/Levels.gd index 976999b..133e781 100644 --- a/scenes/levels/Levels.gd +++ b/scenes/levels/Levels.gd @@ -19,20 +19,39 @@ onready var mlevel = load("res://db/MLevel.gd") onready var mscene = load("res://db/MScene.gd") onready var victory_condition = 0 onready var victory_progress = 0 -onready var last_btn = null +onready var last_button = null +onready var animation_player = null func _ready(): _load_translations() _load_meshes() - _back_button() - _prepare_victory_condition() - _display_hud_menu() - _play_ambient_sound() + _load_back_button() + _load_prepare_victory_condition() + _load_hud_menu() + _load_ambient_sound() -func _back_button(): +func _load_translations(): + pass + +func _load_meshes(): + var scene_detail = null + + for row_index in range(0, table.m_rows_count): + scene_detail = mscene.new(row_index) + + if scene_detail.key() != null: + meshes[scene_detail.key()] = scene_detail + +func _load_back_button(): var _back = $Quit/TextureButton.connect("pressed", Event, "_on_main_scene_pressed") -func _display_hud_menu(): +func _load_prepare_victory_condition(): + var level = mlevel.new(Global.current_scene_int) + + victory_condition = level.object_to_find() + victory_progress = level.object_finding() + +func _load_hud_menu(): var counter = 0 var scene = null var label_counter = null @@ -43,40 +62,69 @@ func _display_hud_menu(): label_counter = scene.label_counter() counter = counter + 1 -func _create_button_info(scene, counter, label_counter): - var btn = null - - if counter == 0: - btn = object_first.instance() - elif counter == meshes.size() - 1: - btn = object_last.instance() - else: - btn = object_std.instance() - - if label_counter != null and label_counter == scene.label_counter(): - last_btn.get_node("Label").set_text(last_btn.get_node("Label").text + " " + String(scene.counter())) - last_btn.set_meta("name", scene.label()) - last_btn.set_meta("counter", scene.counter()) - last_btn.set_meta("counted", 0) - else: - $ListObjects/ListContainer.add_child(btn) - btn.get_node("Label").set_text(scene.label()) - btn.set_meta("name", scene.label()) - btn.set_meta("counter", scene.counter()) - btn.set_meta("counted", 0) - - last_btn = btn - -func _play_ambient_sound(): +func _load_ambient_sound(): if Setting.get_setting_ambient_sound(): $AmbientSound.play() $AmbientSound.stream_paused = false -func _prepare_victory_condition(): - var level = mlevel.new(Global.current_scene_int) +func _create_button_info(scene, counter, label_counter): + var button = _search_button_to_use(counter) + var name = scene.label() - victory_condition = level.object_to_find() - victory_progress = level.object_finding() + if label_counter != null and label_counter == scene.label_counter(): + name = last_button.get_node("Label").text + " " + String(scene.counter()) + _configure_button_object(last_button, scene, name) + _create_animation_warning(_get_node_animated().get_node("Label"), name) + else: + $ListObjects/ListContainer.add_child(button) + _configure_button_object(button, scene, name) + _create_animation_slide(_get_node_animated(), name) + + last_button = button + +func _get_node_animated(): + return $ListObjects/ListContainer.get_child($ListObjects/ListContainer.get_child_count() - 1 ) + +func _search_button_to_use(counter): + if counter == 0: + return object_first.instance() + elif counter == meshes.size() - 1: + return object_last.instance() + else: + return object_std.instance() + +func _configure_button_object(button, scene, label): + button.get_node("Label").set_text(label) + button.set_meta("animation", label) + button.set_meta("name", scene.label()) + button.set_meta("counter", scene.counter()) + button.set_meta("counted", 0) + +func _create_animation_slide(node, name): + var animation = Animation.new() + var track_index = animation.add_track(Animation.TYPE_BEZIER) + var node_element = String(node.get_path()) + ":rect_position:x" + + animation.track_set_path(track_index, node_element) + animation.bezier_track_insert_key(track_index, 0.0, 0.0, Vector2(-0.25, 0), Vector2(0.031, 190.492)) + animation.bezier_track_insert_key(track_index, 1.0, 170, Vector2(-0.349, 2.576), Vector2(0.25, 0)) + + $ListObjects/AnimationPlayer.add_animation(name, animation) + +func _create_animation_warning(node, name): + var animation = Animation.new() + var track_index = animation.add_track(Animation.TYPE_BEZIER) + var node_element = String(node.get_path()) + ":rect_position:x" + + animation.track_set_path(track_index, node_element) + animation.bezier_track_insert_key(track_index, 0.0, 0.0, Vector2(-0.25, 0), Vector2(0, 78.1)) + animation.bezier_track_insert_key(track_index, 0.2, 34.9, Vector2(-0.25, 0), Vector2(0, -66)) + animation.bezier_track_insert_key(track_index, 0.4, 12.1, Vector2(0, 73.2), Vector2(0, -124.8)) + animation.bezier_track_insert_key(track_index, 0.6, -41.9, Vector2(-0.095, 109.2), Vector2(0.062, -58.8)) + animation.bezier_track_insert_key(track_index, 0.8, 13.3, Vector2(-0.188, 93.6), Vector2(0.196, 104.4)) + animation.bezier_track_insert_key(track_index, 1.0, 0.0, Vector2(-0.155, -135.5), Vector2(0.25, 0)) + + $ListObjects/AnimationPlayer.add_animation(name, animation) func _process(_delta): _check_dissolve_mesh() @@ -172,7 +220,8 @@ func _start_dissolve(key): func _check_victory_condition(): if victory_condition == victory_progress: - print("[levels#_check_victory_condition] \\o/") + print("[levels#_check_victory_condition] \\o/\\o/ \\o/ \\o/ \\o/\\o/") + print("[levels#_check_victory_condition] Win !!") Global.goto_scene("res://scenes/UI/ending/Ending.tscn") func _node_to_mesh(key): @@ -182,30 +231,23 @@ func _node_to_area(key): return get_node(meshes[key].mesh()+"/Area") func _node_object_list(key): + var animation_played = null + for child in $ListObjects/ListContainer.get_children(): if child.get_meta("name") == meshes[key].label(): child.set_meta("counted", child.get_meta("counted") + 1) if child.get_meta("counter") == child.get_meta("counted"): - child.visible = false + animation_played = child.get_meta("name") else: var diff = child.get_meta("counter") - child.get_meta("counted") var txt = child.get_meta("name") if diff != 1: txt = txt + " " + String(diff) + animation_played = child.get_meta("animation") child.get_node("Label").set_text(txt) - -func _load_translations(): - pass - -func _load_meshes(): - var scene_detail = null - - for row_index in range(0, table.m_rows_count): - scene_detail = mscene.new(row_index) - - if scene_detail.key() != null: - meshes[scene_detail.key()] = scene_detail + + $ListObjects/AnimationPlayer.queue(animation_played) func _input(event): if event is InputEventMouseButton or event is InputEventScreenTouch: diff --git a/scenes/levels/parts/ListObjects.tscn b/scenes/levels/parts/ListObjects.tscn index 43baf65..e3134c4 100644 --- a/scenes/levels/parts/ListObjects.tscn +++ b/scenes/levels/parts/ListObjects.tscn @@ -1,14 +1,46 @@ -[gd_scene load_steps=10 format=2] +[gd_scene load_steps=8 format=2] -[ext_resource path="res://assets/ui/themes/UI-Button-ItemsList-first-hover.png" type="Texture" id=1] [ext_resource path="res://assets/ui/themes/leather.theme" type="Theme" id=2] [ext_resource path="res://assets/fonts/kirsty/kirsty_base.tres" type="DynamicFont" id=3] [ext_resource path="res://assets/ui/icones/skull.png" type="Texture" id=4] -[ext_resource path="res://assets/ui/themes/UI-Button-ItemsList.png" type="Texture" id=5] [ext_resource path="res://assets/ui/themes/UI-Button-ItemsList-last-hover.png" type="Texture" id=6] -[ext_resource path="res://assets/ui/themes/UI-Button-ItemsList-hover.png" type="Texture" id=7] [ext_resource path="res://assets/ui/themes/UI-Button-ItemsList-last.png" type="Texture" id=8] -[ext_resource path="res://assets/ui/themes/UI-Button-ItemsList-first.png" type="Texture" id=9] + +[sub_resource type="Animation" id=2] +resource_name = "ObjectFind" +tracks/0/type = "bezier" +tracks/0/path = NodePath("ListContainer/TextureButtonLast/Label:rect_position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0, 78.1, 34.9, -0.25, 0, 0, -66, 12.1, 0, 73.2, 0, -124.8, -41.9, -0.0948485, 109.2, 0.0619706, -58.8, 13.3, -0.187989, 93.6, 0.196425, 104.4, 0, -0.154843, -135.5, 0.25, 0 ), +"times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 1 ) +} + +[sub_resource type="Animation" id=1] +resource_name = "ObjectFindAll" +tracks/0/type = "bezier" +tracks/0/path = NodePath("ListContainer/TextureButtonLast:rect_position:x") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( 0, -0.25, 0, 0.0305311, 190.492, 170, -0.349132, 2.57608, 0.25, 0 ), +"times": PoolRealArray( 0, 1 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("ListContainer/TextureButtonLast:rect_position:y") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( ), +"times": PoolRealArray( ) +} [node name="Control" type="MarginContainer"] anchor_left = 1.0 @@ -31,54 +63,14 @@ margin_bottom = 900.0 rect_min_size = Vector2( 196, 900 ) size_flags_horizontal = 3 size_flags_vertical = 3 -custom_constants/separation = -10 - -[node name="TextureButtonFirst" type="TextureButton" parent="ListContainer"] -visible = false -margin_right = 196.0 -margin_bottom = 81.0 -focus_mode = 0 -texture_normal = ExtResource( 9 ) -texture_hover = ExtResource( 1 ) -texture_focused = ExtResource( 1 ) - -[node name="Label" type="Label" parent="ListContainer/TextureButtonFirst"] -anchor_right = 1.0 -anchor_bottom = 1.0 -custom_fonts/font = ExtResource( 3 ) -text = "First Entry" -align = 1 -valign = 1 -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="TextureButtonMiddle" type="TextureButton" parent="ListContainer"] -visible = false -margin_top = 71.0 -margin_right = 196.0 -margin_bottom = 152.0 -focus_mode = 0 -texture_normal = ExtResource( 5 ) -texture_hover = ExtResource( 7 ) -texture_focused = ExtResource( 7 ) - -[node name="Label" type="Label" parent="ListContainer/TextureButtonMiddle"] -anchor_right = 1.0 -anchor_bottom = 1.0 -custom_fonts/font = ExtResource( 3 ) -text = "Middle" -align = 1 -valign = 1 -__meta__ = { -"_edit_use_anchors_": false -} +custom_constants/separation = -14 +alignment = 1 [node name="TextureButtonLast" type="TextureButton" parent="ListContainer"] visible = false -margin_top = 142.0 +margin_top = 409.0 margin_right = 196.0 -margin_bottom = 223.0 +margin_bottom = 490.0 focus_mode = 0 texture_normal = ExtResource( 8 ) texture_hover = ExtResource( 6 ) @@ -97,8 +89,10 @@ __meta__ = { } [node name="HBoxContainer" type="HBoxContainer" parent="ListContainer"] +visible = false +margin_top = 419.0 margin_right = 196.0 -margin_bottom = 128.0 +margin_bottom = 547.0 alignment = 1 [node name="TextureButtonIndice" type="TextureButton" parent="ListContainer/HBoxContainer"] @@ -106,3 +100,7 @@ margin_left = 34.0 margin_right = 162.0 margin_bottom = 128.0 texture_normal = ExtResource( 4 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +anims/ObjectFind = SubResource( 2 ) +anims/ObjectFindAll = SubResource( 1 ) diff --git a/scenes/levels/parts/ObjectListFirst.tscn b/scenes/levels/parts/ObjectListFirst.tscn index acd6547..006c240 100644 --- a/scenes/levels/parts/ObjectListFirst.tscn +++ b/scenes/levels/parts/ObjectListFirst.tscn @@ -18,6 +18,7 @@ __meta__ = { [node name="Label" type="Label" parent="."] anchor_right = 1.0 anchor_bottom = 1.0 +margin_right = -3.05176e-05 custom_fonts/font = ExtResource( 2 ) text = "First Entry" align = 1 diff --git a/scenes/levels/warcraft/WarCraft.exr b/scenes/levels/warcraft/WarCraft.exr index c7ca7bb..492acea 100644 Binary files a/scenes/levels/warcraft/WarCraft.exr and b/scenes/levels/warcraft/WarCraft.exr differ diff --git a/scenes/levels/warcraft/WarCraft.lmbake b/scenes/levels/warcraft/WarCraft.lmbake index 53ba8fb..e0b625f 100644 Binary files a/scenes/levels/warcraft/WarCraft.lmbake and b/scenes/levels/warcraft/WarCraft.lmbake differ diff --git a/scenes/levels/warcraft/WarCraft.tscn b/scenes/levels/warcraft/WarCraft.tscn index 8a0c8ff..99d96e5 100644 --- a/scenes/levels/warcraft/WarCraft.tscn +++ b/scenes/levels/warcraft/WarCraft.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=62 format=2] +[gd_scene load_steps=61 format=2] [ext_resource path="res://scenes/levels/Levels.tscn" type="PackedScene" id=1] [ext_resource path="res://assets/props/stack gold/sm_stackgold.mesh" type="ArrayMesh" id=2] @@ -118,97 +118,7 @@ height = 0.169626 radius = 0.0931278 height = 0.171908 -[sub_resource type="GDScript" id=17] -script/source = "# Copyright © 2020 Hugo Locurcio and contributors - MIT License -# See `LICENSE.md` included in the source distribution for details. -extends Spatial -class_name LODSpatial, \"res://addons/lod/lod_spatial.svg\" - -# If `false`, LOD won't update anymore. This can be used for performance comparison -# purposes. -export var enable_lod := true - -# The maximum LOD 0 (high quality) distance in units. -export(float, 0.0, 1000.0, 0.1) var lod_0_max_distance := 10 - -# The maximum LOD 1 (medium quality) distance in units. -export(float, 0.0, 1000.0, 0.1) var lod_1_max_distance := 25 - -# The maximum LOD 2 (low quality) distance in units. -# Past this distance, all LOD variants are hidden. -export(float, 0.0, 1000.0, 0.1) var lod_2_max_distance := 100 - -# The rate at which LODs will be updated (in seconds). Lower values are more reactive -# but use more CPU, which is especially noticeable with large amounts of LOD-enabled nodes. -# Set this accordingly depending on your camera movement speed. -# The default value should suit most projects already. -# Note: Slow cameras don't need to have LOD-enabled objects update their status often. -# This can overridden by setting the project setting `lod/refresh_rate`. -var refresh_rate := 0.25 - -# The LOD bias in units. -# Positive values will decrease the detail level and improve performance. -# Negative values will improve visual appearance at the cost of performance. -# This can overridden by setting the project setting `lod/bias`. -var lod_bias := 0.0 - -# The internal refresh timer. -var timer := 0.0 - - -func _ready() -> void: - if ProjectSettings.has_setting(\"lod/spatial_bias\"): - lod_bias = ProjectSettings.get_setting(\"lod/spatial_bias\") - if ProjectSettings.has_setting(\"lod/refresh_rate\"): - refresh_rate = ProjectSettings.get_setting(\"lod/refresh_rate\") - - # Add random jitter to the timer to ensure LODs don't all swap at the same time. - randomize() - timer += rand_range(0, refresh_rate) - - -# Despite LOD not being related to physics, we chose to run in `_physics_process()` -# to minimize the amount of method calls per second (and therefore decrease CPU usage). -func _physics_process(delta: float) -> void: - if not enable_lod: - return - - # We need a camera to do the rest. - var camera := get_viewport().get_camera() - if camera == null: - return - - if timer <= refresh_rate: - timer += delta - return - - timer = 0.0 - - var distance := camera.global_transform.origin.distance_to(global_transform.origin) + lod_bias - # The LOD level to choose (lower is more detailed). - var lod: int - if distance < lod_0_max_distance: - lod = 0 - elif distance < lod_1_max_distance: - lod = 1 - elif distance < lod_2_max_distance: - lod = 2 - else: - # Hide the LOD object entirely. - lod = 3 - - for node in get_children(): - # `-lod` also matches `-lod0`, `-lod1`, `-lod2`, … - if node.has_method(\"set_visible\"): - if \"-lod0\" in node.name: - node.visible = lod == 0 - if \"-lod1\" in node.name: - node.visible = lod == 1 - if \"-lod2\" in node.name: - node.visible = lod == 2 -" - -[sub_resource type="ArrayMesh" id=18] +[sub_resource type="ArrayMesh" id=17] lightmap_size_hint = Vector2( 158, 158 ) surfaces/0 = { "aabb": AABB( -8.00194, 0.00112093, -7.00022, 10.0041, 0.0734728, 12.0031 ), @@ -223,12 +133,12 @@ surfaces/0 = { "vertex_count": 4110 } -[sub_resource type="PanoramaSky" id=19] +[sub_resource type="PanoramaSky" id=18] panorama = ExtResource( 11 ) -[sub_resource type="Environment" id=20] +[sub_resource type="Environment" id=19] background_mode = 3 -background_sky = SubResource( 19 ) +background_sky = SubResource( 18 ) ambient_light_sky_contribution = 0.5 fog_enabled = true fog_color = Color( 0.337255, 0.235294, 0.956863, 0.941176 ) @@ -254,348 +164,324 @@ __meta__ = { "_editor_description_": "" } -[node name="Hidden Objects Items" type="RayCast" parent="." index="5"] +[node name="HiddenObjectsItems" type="RayCast" parent="." index="5"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.233905, 1.0296, -0.405055 ) collision_mask = 2 collide_with_areas = true collide_with_bodies = false -[node name="fioles" type="Spatial" parent="Hidden Objects Items" index="0"] +[node name="Fioles" type="Spatial" parent="HiddenObjectsItems" index="0"] -[node name="fiole1" type="MeshInstance" parent="Hidden Objects Items/fioles" index="0"] +[node name="Fiole1" type="MeshInstance" parent="HiddenObjectsItems/Fioles" index="0"] transform = Transform( -0.210773, -0.635682, 0.742619, 0.949185, -0.314721, 0, 0.233718, 0.704883, 0.669714, 0.0481223, 0, -0.094099 ) use_in_baked_light = true mesh = ExtResource( 12 ) material/0 = ExtResource( 13 ) -[node name="Area" type="Area" parent="Hidden Objects Items/fioles/fiole1" index="0"] +[node name="Area" type="Area" parent="HiddenObjectsItems/Fioles/Fiole1" index="0"] collision_mask = 2 -[node name="CollisionShape" type="CollisionShape" parent="Hidden Objects Items/fioles/fiole1/Area" index="0"] +[node name="CollisionShape" type="CollisionShape" parent="HiddenObjectsItems/Fioles/Fiole1/Area" index="0"] transform = Transform( 1, 2.98023e-08, -4.47035e-08, -2.98023e-08, -8.9407e-08, 1, -1.19209e-07, -1, -1.49012e-07, 0, 0.0801148, -2.98023e-08 ) shape = SubResource( 3 ) -[node name="fiole2" type="MeshInstance" parent="Hidden Objects Items/fioles" index="1"] +[node name="Fiole2" type="MeshInstance" parent="HiddenObjectsItems/Fioles" index="1"] transform = Transform( 0.655275, 0.636944, -0.4061, 0.670978, -0.243833, 0.700239, 0.346993, -0.731333, -0.587153, -4.19531, -0.894133, 2.66915 ) use_in_baked_light = true mesh = ExtResource( 12 ) material/0 = ExtResource( 19 ) -[node name="Area" type="Area" parent="Hidden Objects Items/fioles/fiole2" index="0"] +[node name="Area" type="Area" parent="HiddenObjectsItems/Fioles/Fiole2" index="0"] transform = Transform( 1, -2.98023e-08, 0, -2.98023e-08, 1, 0, 1.49012e-08, -1.19209e-07, 1, -2.38419e-07, -0.0202575, 0 ) collision_mask = 2 -[node name="CollisionShape" type="CollisionShape" parent="Hidden Objects Items/fioles/fiole2/Area" index="0"] +[node name="CollisionShape" type="CollisionShape" parent="HiddenObjectsItems/Fioles/Fiole2/Area" index="0"] transform = Transform( 1, 5.96046e-08, -8.9407e-08, 2.98023e-08, -8.9407e-08, 1, -8.9407e-08, -1, 0, 2.38419e-07, 0.0823998, -1.19209e-07 ) shape = SubResource( 4 ) -[node name="fiole_socle" type="MeshInstance" parent="Hidden Objects Items/fioles" index="2"] +[node name="FioleSocle" type="MeshInstance" parent="HiddenObjectsItems/Fioles" index="2"] transform = Transform( 0.6773, -1.86265e-09, 0.735707, -0.0293841, 0.999202, 0.0270513, -0.73512, -0.03994, 0.67676, -2.27881, -0.11528, -1.23929 ) use_in_baked_light = true mesh = ExtResource( 3 ) material/0 = null -[node name="fiole3" type="MeshInstance" parent="Hidden Objects Items/fioles/fiole_socle" index="0"] +[node name="Fiole3" type="MeshInstance" parent="HiddenObjectsItems/Fioles/FioleSocle" index="0"] transform = Transform( 0.919703, -0.349433, -0.179005, 0.316708, 0.929754, -0.187758, 0.232039, 0.115989, 0.965766, -1.19209e-07, 0.1147, 0.00100636 ) use_in_baked_light = true mesh = ExtResource( 12 ) material/0 = ExtResource( 21 ) -[node name="Area" type="Area" parent="Hidden Objects Items/fioles/fiole_socle/fiole3" index="0"] +[node name="Area" type="Area" parent="HiddenObjectsItems/Fioles/FioleSocle/Fiole3" index="0"] collision_mask = 2 -[node name="CollisionShape" type="CollisionShape" parent="Hidden Objects Items/fioles/fiole_socle/fiole3/Area" index="0"] +[node name="CollisionShape" type="CollisionShape" parent="HiddenObjectsItems/Fioles/FioleSocle/Fiole3/Area" index="0"] transform = Transform( 1, 2.08616e-07, -7.45058e-08, -5.96046e-08, -1.49012e-07, 1, 5.96046e-08, -1, -1.04308e-07, -1.78814e-07, 0.0560231, 0 ) shape = SubResource( 5 ) -[node name="dagger" type="MeshInstance" parent="Hidden Objects Items" index="1"] +[node name="Dagger" type="MeshInstance" parent="HiddenObjectsItems" index="1"] transform = Transform( -0.625025, -0.777847, 0.0655765, 0, 0.0840072, 0.996466, -0.780606, 0.622816, -0.0525065, 0.69073, -0.117415, 0.830941 ) use_in_baked_light = true mesh = ExtResource( 17 ) material/0 = ExtResource( 14 ) -[node name="Area" type="Area" parent="Hidden Objects Items/dagger" index="0"] +[node name="Area" type="Area" parent="HiddenObjectsItems/Dagger" index="0"] collision_mask = 2 -[node name="CollisionShape" type="CollisionShape" parent="Hidden Objects Items/dagger/Area" index="0"] +[node name="CollisionShape" type="CollisionShape" parent="HiddenObjectsItems/Dagger/Area" index="0"] transform = Transform( 1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0.0802139, 0 ) shape = SubResource( 6 ) -[node name="spyglass" type="MeshInstance" parent="Hidden Objects Items" index="2"] +[node name="Spyglass" type="MeshInstance" parent="HiddenObjectsItems" index="2"] transform = Transform( 0.652362, 0.137749, 0.63579, -0.234678, 0.889605, 0.0480562, -0.606736, -0.195981, 0.665013, -2.884, -0.292075, -0.429783 ) use_in_baked_light = true mesh = ExtResource( 23 ) material/0 = ExtResource( 24 ) -[node name="Area" type="Area" parent="Hidden Objects Items/spyglass" index="0"] +[node name="Area" type="Area" parent="HiddenObjectsItems/Spyglass" index="0"] collision_mask = 2 -[node name="CollisionShape" type="CollisionShape" parent="Hidden Objects Items/spyglass/Area" index="0"] +[node name="CollisionShape" type="CollisionShape" parent="HiddenObjectsItems/Spyglass/Area" index="0"] transform = Transform( 1, 0, 2.98023e-08, 1.86265e-09, 1, 3.72529e-09, 0, 5.58794e-09, 1, 2.38419e-07, -1.19209e-07, 0.0177531 ) shape = SubResource( 7 ) -[node name="beer" type="MeshInstance" parent="Hidden Objects Items" index="3"] +[node name="Beer" type="MeshInstance" parent="HiddenObjectsItems" index="3"] transform = Transform( 0.996658, -0.053142, 0.0620432, 0.0548108, 0.998171, -0.0255105, -0.060574, 0.0288258, 0.997748, -2.8842, 0.173697, 1.98168 ) use_in_baked_light = true mesh = ExtResource( 22 ) material/0 = ExtResource( 5 ) -[node name="Area" type="Area" parent="Hidden Objects Items/beer" index="0"] +[node name="Area" type="Area" parent="HiddenObjectsItems/Beer" index="0"] transform = Transform( 1, 0, 7.45058e-09, -1.16415e-10, 1, -1.86265e-09, 0, 0, 1, -2.38419e-07, -0.21161, -1.19209e-07 ) collision_mask = 2 -[node name="CollisionShapeBeer" type="CollisionShape" parent="Hidden Objects Items/beer/Area" index="0"] +[node name="CollisionShapeBeer" type="CollisionShape" parent="HiddenObjectsItems/Beer/Area" index="0"] transform = Transform( 1, 0, -1.61817e-08, 1.83936e-08, -4.28408e-08, 1, 0, -1, -4.65661e-08, 9.53674e-07, 0.0746492, 2.38419e-07 ) shape = SubResource( 8 ) -[node name="weapon" type="MeshInstance" parent="Hidden Objects Items" index="4"] +[node name="Weapon" type="MeshInstance" parent="HiddenObjectsItems" index="4"] transform = Transform( 0.540284, -0.813497, 0.215212, -0.009216, 0.250018, 0.968198, -0.841432, -0.525085, 0.127583, -2.7508, -0.359206, 1.19589 ) use_in_baked_light = true mesh = ExtResource( 7 ) material/0 = ExtResource( 8 ) -[node name="Area" type="Area" parent="Hidden Objects Items/weapon" index="0"] +[node name="Area" type="Area" parent="HiddenObjectsItems/Weapon" index="0"] collision_mask = 2 -[node name="CollisionShapeWeapon" type="CollisionShape" parent="Hidden Objects Items/weapon/Area" index="0"] +[node name="CollisionShapeWeapon" type="CollisionShape" parent="HiddenObjectsItems/Weapon/Area" index="0"] transform = Transform( -1.49012e-07, 0, 1, -1, -1.49012e-08, 0, 3.72529e-08, -1, -5.21541e-08, 0.0388942, 0.0484145, -8.19564e-08 ) shape = SubResource( 9 ) -[node name="apples" type="Spatial" parent="Hidden Objects Items" index="5"] +[node name="Apples" type="Spatial" parent="HiddenObjectsItems" index="5"] -[node name="apple1" type="MeshInstance" parent="Hidden Objects Items/apples" index="0"] +[node name="Apple1" type="MeshInstance" parent="HiddenObjectsItems/Apples" index="0"] transform = Transform( 0.849809, -0.0462348, 0.525058, 0.0744364, 0.996689, -0.0327109, -0.521807, 0.0668814, 0.850438, -2.20275, -0.0779731, 2.45146 ) use_in_baked_light = true mesh = ExtResource( 4 ) material/0 = ExtResource( 15 ) -[node name="Area" type="Area" parent="Hidden Objects Items/apples/apple1" index="0"] +[node name="Area" type="Area" parent="HiddenObjectsItems/Apples/Apple1" index="0"] collision_mask = 2 -[node name="CollisionShapeApple" type="CollisionShape" parent="Hidden Objects Items/apples/apple1/Area" index="0"] +[node name="CollisionShapeApple" type="CollisionShape" parent="HiddenObjectsItems/Apples/Apple1/Area" index="0"] transform = Transform( -1.45286e-07, -2.98023e-08, 1, -1, -1.11759e-08, 0, 1.86265e-08, -1, -8.9407e-08, -1.90735e-06, 0.00575864, 0 ) shape = SubResource( 10 ) -[node name="apple2" type="MeshInstance" parent="Hidden Objects Items/apples" index="1"] +[node name="Apple2" type="MeshInstance" parent="HiddenObjectsItems/Apples" index="1"] transform = Transform( -0.190449, 0, 0.981697, 0, 1, 0, -0.981697, 0, -0.190449, -1.71166, -0.0869397, -1.29534 ) use_in_baked_light = true mesh = ExtResource( 4 ) material/0 = ExtResource( 9 ) -[node name="Area" type="Area" parent="Hidden Objects Items/apples/apple2" index="0"] +[node name="Area" type="Area" parent="HiddenObjectsItems/Apples/Apple2" index="0"] collision_mask = 2 -[node name="CollisionShapeApple2" type="CollisionShape" parent="Hidden Objects Items/apples/apple2/Area" index="0"] +[node name="CollisionShapeApple2" type="CollisionShape" parent="HiddenObjectsItems/Apples/Apple2/Area" index="0"] transform = Transform( -1.49012e-07, 4.47035e-08, 1, -1, -1.49012e-08, 0, 3.72529e-08, -1, -1.49012e-08, -4.76837e-07, -0.00566041, 0 ) shape = SubResource( 11 ) -[node name="apple3" type="MeshInstance" parent="Hidden Objects Items/apples" index="2"] +[node name="Apple3" type="MeshInstance" parent="HiddenObjectsItems/Apples" index="2"] transform = Transform( 0.823731, 0.226496, -0.519776, -0.248954, 0.96813, 0.0273319, 0.509401, 0.106886, 0.853865, -0.718663, -0.36046, 1.92043 ) use_in_baked_light = true mesh = ExtResource( 4 ) material/0 = ExtResource( 20 ) -[node name="Area" type="Area" parent="Hidden Objects Items/apples/apple3" index="0"] +[node name="Area" type="Area" parent="HiddenObjectsItems/Apples/Apple3" index="0"] collision_mask = 2 -[node name="CollisionShapeApple3" type="CollisionShape" parent="Hidden Objects Items/apples/apple3/Area" index="0"] +[node name="CollisionShapeApple3" type="CollisionShape" parent="HiddenObjectsItems/Apples/Apple3/Area" index="0"] transform = Transform( -1.71363e-07, 0, 1, -1, -3.72529e-08, 1.49012e-08, 2.98023e-08, -1, -1.19209e-07, -3.57628e-07, 0.0142345, 2.38419e-07 ) shape = SubResource( 12 ) -[node name="apple4" type="MeshInstance" parent="Hidden Objects Items/apples" index="3"] +[node name="Apple4" type="MeshInstance" parent="HiddenObjectsItems/Apples" index="3"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.38775, -0.940515, 0.233058 ) use_in_baked_light = true mesh = ExtResource( 4 ) material/0 = ExtResource( 10 ) -[node name="Area" type="Area" parent="Hidden Objects Items/apples/apple4" index="0"] +[node name="Area" type="Area" parent="HiddenObjectsItems/Apples/Apple4" index="0"] collision_mask = 2 -[node name="CollisionShapeApple4" type="CollisionShape" parent="Hidden Objects Items/apples/apple4/Area" index="0"] +[node name="CollisionShapeApple4" type="CollisionShape" parent="HiddenObjectsItems/Apples/Apple4/Area" index="0"] transform = Transform( -1.49012e-07, 0, 1, -1, -1.49012e-08, 0, 3.72529e-08, -1, -5.21541e-08, -4.76837e-07, 0.00115258, -1.17347e-07 ) shape = SubResource( 13 ) -[node name="golds" type="Spatial" parent="Hidden Objects Items" index="6"] +[node name="Coins" type="Spatial" parent="HiddenObjectsItems" index="6"] -[node name="coin1" type="MeshInstance" parent="Hidden Objects Items/golds" index="0"] +[node name="Coin1" type="MeshInstance" parent="HiddenObjectsItems/Coins" index="0"] transform = Transform( -0.958704, -0.0851446, 0.271362, -0.0825332, 0.996367, 0.0210433, -0.272167, -0.00222202, -0.962248, 0.215021, 0.00178671, 0.520763 ) use_in_baked_light = true mesh = ExtResource( 2 ) material/0 = ExtResource( 18 ) -[node name="Area" type="Area" parent="Hidden Objects Items/golds/coin1" index="0"] +[node name="Area" type="Area" parent="HiddenObjectsItems/Coins/Coin1" index="0"] transform = Transform( 1, -4.65661e-09, 0, 2.68919e-08, 1, 4.65661e-10, -1.19209e-07, -1.14087e-08, 1, -0.0781975, -0.0532835, -0.0615574 ) collision_mask = 2 -[node name="CollisionShapeGold1" type="CollisionShape" parent="Hidden Objects Items/golds/coin1/Area" index="0"] +[node name="CollisionShapeGold1" type="CollisionShape" parent="HiddenObjectsItems/Coins/Coin1/Area" index="0"] transform = Transform( 1, -4.65661e-08, 0, -1.38185e-07, 0.999999, 3.14321e-08, 4.17233e-07, -4.19095e-09, 1, 0.0276761, 0.00212932, 0.0336302 ) shape = SubResource( 14 ) -[node name="coin2" type="MeshInstance" parent="Hidden Objects Items/golds" index="1"] +[node name="Coin2" type="MeshInstance" parent="HiddenObjectsItems/Coins" index="1"] transform = Transform( 0.250245, 2.79397e-09, -0.968183, 0.0456076, 0.99889, 0.0117882, 0.967108, -0.0471065, 0.249967, 0.752443, -0.000386238, 1.36745 ) layers = 3 use_in_baked_light = true mesh = ExtResource( 2 ) material/0 = ExtResource( 16 ) -[node name="Area" type="Area" parent="Hidden Objects Items/golds/coin2" index="0"] +[node name="Area" type="Area" parent="HiddenObjectsItems/Coins/Coin2" index="0"] transform = Transform( 1, -1.49012e-08, 0, 0, 1, 9.31323e-10, 1.49012e-08, -3.72529e-09, 1, -0.0553267, -0.0679173, -0.0739018 ) collision_mask = 2 -[node name="CollisionShapeGold2" type="CollisionShape" parent="Hidden Objects Items/golds/coin2/Area" index="0"] +[node name="CollisionShapeGold2" type="CollisionShape" parent="HiddenObjectsItems/Coins/Coin2/Area" index="0"] transform = Transform( 1, 0, 2.98023e-08, 7.45058e-09, 1, -9.31323e-10, 5.96046e-08, 0, 1, 0.0499306, 1.19209e-07, 0.0191208 ) shape = SubResource( 15 ) -[node name="coin3" type="MeshInstance" parent="Hidden Objects Items/golds" index="2"] +[node name="Coin3" type="MeshInstance" parent="HiddenObjectsItems/Coins" index="2"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.74641, -0.885448, -0.198129 ) use_in_baked_light = true mesh = ExtResource( 2 ) material/0 = ExtResource( 6 ) -[node name="Area" type="Area" parent="Hidden Objects Items/golds/coin3" index="0"] +[node name="Area" type="Area" parent="HiddenObjectsItems/Coins/Coin3" index="0"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0744205, -0.0795707, -0.040606 ) collision_mask = 2 -[node name="CollisionShapeGold3" type="CollisionShape" parent="Hidden Objects Items/golds/coin3/Area" index="0"] +[node name="CollisionShapeGold3" type="CollisionShape" parent="HiddenObjectsItems/Coins/Coin3/Area" index="0"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0358186, 0, 0.0109152 ) shape = SubResource( 16 ) -[node name="Main Scene Props" type="Spatial" parent="." index="6"] +[node name="MainSceneProps" type="Spatial" parent="." index="6"] -[node name="sm_book" parent="Main Scene Props" index="0" instance=ExtResource( 33 )] +[node name="sm_book" parent="MainSceneProps" index="0" instance=ExtResource( 33 )] transform = Transform( 0.259561, 0, 0.965727, 0.0582327, 0.99818, -0.0156514, -0.963969, 0.0602995, 0.259089, 0.13025, 0.960907, -0.456389 ) -script = SubResource( 17 ) -lod_0_max_distance = 10.0 -lod_1_max_distance = 25.0 -lod_2_max_distance = 100.0 -[node name="sm_book2" parent="Main Scene Props/sm_book" index="1" instance=ExtResource( 33 )] +[node name="sm_book2" parent="MainSceneProps/sm_book" index="1" instance=ExtResource( 33 )] transform = Transform( 0.0229641, -0.00339183, -0.999731, 0.0393653, 0.999223, -0.00248598, 0.998961, -0.0392976, 0.0230803, 0.00279957, 0.066205, -0.000443451 ) -script = SubResource( 17 ) -lod_0_max_distance = 10.0 -lod_1_max_distance = 25.0 -lod_2_max_distance = 100.0 -[node name="sm_book3" parent="Main Scene Props/sm_book/sm_book2" index="1" instance=ExtResource( 33 )] +[node name="sm_book3" parent="MainSceneProps/sm_book/sm_book2" index="1" instance=ExtResource( 33 )] transform = Transform( 0.86032, -0.0497817, -0.507318, 0.0471006, 0.998725, -0.0181282, 0.507573, -0.00829895, 0.861568, 0.00110056, 0.070618, -0.00503528 ) -script = SubResource( 17 ) -lod_0_max_distance = 10.0 -lod_1_max_distance = 25.0 -lod_2_max_distance = 100.0 -[node name="sm_candlestick" parent="Main Scene Props/sm_book/sm_book2/sm_book3" index="1" instance=ExtResource( 29 )] +[node name="sm_candlestick" parent="MainSceneProps/sm_book/sm_book2/sm_book3" index="1" instance=ExtResource( 29 )] transform = Transform( 1.0543, -0.0109484, 1.03432, -0.0329634, 1.4758, 0.0492217, -1.03385, -0.0582193, 1.05321, 0.0299356, 0.0326169, -0.0690778 ) -[node name="sm_table" parent="Main Scene Props" index="1" instance=ExtResource( 28 )] +[node name="sm_table" parent="MainSceneProps" index="1" instance=ExtResource( 28 )] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0926853, 0.0400838, 0.290515 ) -[node name="sm_stool_b" parent="Main Scene Props" index="2" instance=ExtResource( 31 )] +[node name="sm_stool_b" parent="MainSceneProps" index="2" instance=ExtResource( 31 )] transform = Transform( -0.232037, 0, -0.972707, 0, 1, 0, 0.972707, 0, -0.232037, -2.91873, 0.0130518, 0.702275 ) -[node name="sm_stool_b2" parent="Main Scene Props" index="3" instance=ExtResource( 31 )] +[node name="sm_stool_b2" parent="MainSceneProps" index="3" instance=ExtResource( 31 )] transform = Transform( 0.769693, -0.034908, -0.637459, 0.0288114, 0.999386, -0.0199395, 0.637764, -0.00301879, 0.770226, -4.33166, 0.0231258, 1.08363 ) -[node name="sm_stool_b3" parent="Main Scene Props" index="4" instance=ExtResource( 31 )] +[node name="sm_stool_b3" parent="MainSceneProps" index="4" instance=ExtResource( 31 )] transform = Transform( 0.98104, 0, 0.193806, 0, 1, 0, -0.193806, 0, 0.98104, -3.04076, 0.0372323, -0.817556 ) -[node name="sm_stool_b7" parent="Main Scene Props" index="5" instance=ExtResource( 31 )] +[node name="sm_stool_b7" parent="MainSceneProps" index="5" instance=ExtResource( 31 )] transform = Transform( 0.656257, 0, 0.754538, 0, 1, 0, -0.754538, 0, 0.656257, -0.888955, 0.0130518, 1.64328 ) -[node name="sm_stool_b4" parent="Main Scene Props" index="6" instance=ExtResource( 31 )] +[node name="sm_stool_b4" parent="MainSceneProps" index="6" instance=ExtResource( 31 )] transform = Transform( 0.892389, 0, -0.451267, 0, 1, 0, 0.451267, 0, 0.892389, 1.35966, 0.013052, 1.23435 ) -[node name="sm_stool_b5" parent="Main Scene Props" index="7" instance=ExtResource( 31 )] +[node name="sm_stool_b5" parent="MainSceneProps" index="7" instance=ExtResource( 31 )] transform = Transform( 0.839193, 0, 0.543834, 0, 1, 0, -0.543834, 0, 0.839193, 0.474083, 0.013052, -1.39025 ) -[node name="sm_book2" parent="Main Scene Props" index="8" instance=ExtResource( 33 )] +[node name="sm_book2" parent="MainSceneProps" index="8" instance=ExtResource( 33 )] transform = Transform( 0.122577, 0.0288089, -0.992041, -0.0361233, 0.999045, 0.0245489, 0.991801, 0.0328267, 0.1235, 0.493202, 0.942654, -0.0854386 ) -script = SubResource( 17 ) -lod_0_max_distance = 10.0 -lod_1_max_distance = 25.0 -lod_2_max_distance = 100.0 -[node name="sm_book3" parent="Main Scene Props" index="9" instance=ExtResource( 33 )] +[node name="sm_book3" parent="MainSceneProps" index="9" instance=ExtResource( 33 )] transform = Transform( 0.5, 0, 0.866025, 0, 1, 0, -0.866025, 0, 0.5, 0.0106606, 0.96499, 0.981535 ) -script = SubResource( 17 ) -lod_0_max_distance = 10.0 -lod_1_max_distance = 25.0 -lod_2_max_distance = 100.0 -[node name="sm_book" parent="Main Scene Props/sm_book3" index="1" instance=ExtResource( 33 )] +[node name="sm_book" parent="MainSceneProps/sm_book3" index="1" instance=ExtResource( 33 )] transform = Transform( 0.992026, 0, 0.592682, 0, 1.15559, 0, -0.592682, 0, 0.992026, -0.000832617, 0.0791223, -0.012241 ) -script = SubResource( 17 ) -lod_0_max_distance = 10.0 -lod_1_max_distance = 25.0 -lod_2_max_distance = 100.0 -[node name="sm_godet" parent="Main Scene Props" index="10" instance=ExtResource( 32 )] +[node name="sm_godet" parent="MainSceneProps" index="10" instance=ExtResource( 32 )] transform = Transform( 0.875311, 0.480987, 0.0498184, 0.0206958, 0.0656668, -0.997627, -0.483117, 0.874265, 0.0475244, -0.191043, 0.95253, 0.11484 ) -[node name="sm_godet2" parent="Main Scene Props" index="11" instance=ExtResource( 32 )] +[node name="sm_godet2" parent="MainSceneProps" index="11" instance=ExtResource( 32 )] transform = Transform( 0.706057, 0, -0.708155, 0, 1, 0, 0.708155, 0, 0.706057, -0.112722, 0.901657, 0.00149509 ) -[node name="sm_godet6" parent="Main Scene Props" index="12" instance=ExtResource( 32 )] +[node name="sm_godet6" parent="MainSceneProps" index="12" instance=ExtResource( 32 )] transform = Transform( 0.757895, 0, 0.652376, 0, 1, 0, -0.652376, 0, 0.757895, -0.28474, 0.905096, 0.78228 ) -[node name="sm_godet5" parent="Main Scene Props" index="13" instance=ExtResource( 32 )] +[node name="sm_godet5" parent="MainSceneProps" index="13" instance=ExtResource( 32 )] transform = Transform( 0.886172, -0.463214, 0.0114893, -0.0309068, -0.0343508, 0.998932, -0.462324, -0.885581, -0.0447572, -0.0861932, 0.982616, 0.742759 ) -[node name="sm_godet4" parent="Main Scene Props" index="14" instance=ExtResource( 32 )] +[node name="sm_godet4" parent="MainSceneProps" index="14" instance=ExtResource( 32 )] transform = Transform( 0.690251, 0, 0.72357, 0, 1, 0, -0.72357, 0, 0.690251, -0.333186, 0.901657, 0.177792 ) -[node name="sm_growler" parent="Main Scene Props" index="15" instance=ExtResource( 34 )] +[node name="sm_growler" parent="MainSceneProps" index="15" instance=ExtResource( 34 )] transform = Transform( 0.0876426, 0, -0.996152, 0, 1, 0, 0.996152, 0, 0.0876426, -0.316595, 0.905106, -0.0726386 ) -[node name="sm_parchment" parent="Main Scene Props" index="16" instance=ExtResource( 30 )] +[node name="Parchment" parent="MainSceneProps" index="16" instance=ExtResource( 30 )] transform = Transform( 0.796076, 0.00917861, -0.605127, 0, 0.999885, 0.0151663, 0.605197, -0.0120736, 0.795984, 0.543303, 0.962739, 0.755265 ) paper = true -[node name="sm_parchment2" parent="Main Scene Props" index="17" instance=ExtResource( 30 )] +[node name="ParchmentWithoutPaper" parent="MainSceneProps" index="17" instance=ExtResource( 30 )] transform = Transform( -0.596381, 0.0184557, 0.802489, 0.0225364, 0.999726, -0.00624354, -0.802385, 0.0143617, -0.596634, 0.281044, 0.958449, -0.253034 ) -[node name="sm_candle_d2" type="MeshInstance" parent="Main Scene Props" index="18"] +[node name="sm_candle_d2" type="MeshInstance" parent="MainSceneProps" index="18"] transform = Transform( -0.927966, 1.10978e-07, -0.372664, 6.91459e-08, 1, 1.25617e-07, 0.372664, 9.08001e-08, -0.927966, 0.457262, 1.00485, -0.058084 ) use_in_baked_light = true mesh = ExtResource( 25 ) material/0 = null -[node name="sm_candle_top2" type="MeshInstance" parent="Main Scene Props" index="19"] +[node name="sm_candle_top2" type="MeshInstance" parent="MainSceneProps" index="19"] transform = Transform( 2.94906, 0, 0, 0, 2.85, 0, 0, 0, 2.94906, 0.347704, 1.00342, 1.16015 ) use_in_baked_light = true mesh = ExtResource( 26 ) material/0 = null -[node name="sm_candle_b" type="MeshInstance" parent="Main Scene Props/sm_candle_top2" index="0"] +[node name="sm_candle_b" type="MeshInstance" parent="MainSceneProps/sm_candle_top2" index="0"] transform = Transform( 0.553417, 0, 0, 0, 0.553417, 0, 0, 0, 0.553417, 0.0504003, -0.0129334, 0.00162044 ) use_in_baked_light = true mesh = ExtResource( 27 ) material/0 = null -[node name="sm_table_left" parent="." index="7" instance=ExtResource( 28 )] +[node name="Tableleft" parent="." index="7" instance=ExtResource( 28 )] transform = Transform( -0.958482, 0, -0.285153, 0, 1, 0, 0.285153, 0, -0.958482, -2.60247, 0.0491341, 2.15903 ) -[node name="sm_growler" parent="sm_table_left" index="1" instance=ExtResource( 34 )] +[node name="sm_growler" parent="Tableleft" index="1" instance=ExtResource( 34 )] transform = Transform( -0.958482, 0, 0.285153, 0, 1, 0, -0.285153, 0, -0.958482, 0.179069, 0.843493, 2.38419e-07 ) -[node name="sm_godet" parent="sm_table_left" index="2" instance=ExtResource( 32 )] +[node name="sm_godet" parent="Tableleft" index="2" instance=ExtResource( 32 )] transform = Transform( -0.958482, 0.0116327, 0.284916, 0, 0.999168, -0.0407945, -0.285153, -0.0391008, -0.957684, 0.00578856, 0.850618, 0.189056 ) -[node name="sm_godet2" parent="sm_table_left" index="3" instance=ExtResource( 32 )] +[node name="sm_godet2" parent="Tableleft" index="3" instance=ExtResource( 32 )] transform = Transform( -0.958482, -0.0136413, 0.284827, 0, 0.998855, 0.0478387, -0.285153, 0.0458525, -0.957385, 0.102124, 0.837641, -0.25378 ) -[node name="sm_table_right" parent="." index="8" instance=ExtResource( 28 )] +[node name="TableRight" parent="." index="8" instance=ExtResource( 28 )] transform = Transform( 0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, -2.1664, 0.0295653, -2.02667 ) -[node name="sm_growler" parent="sm_table_right" index="1" instance=ExtResource( 34 )] +[node name="Growler" parent="TableRight" index="1" instance=ExtResource( 34 )] transform = Transform( 0.428226, 0, -0.903672, 0, 1, 0, 0.903672, 0, 0.428226, 0.260903, 0.870654, 0.24329 ) -[node name="sm_godet" parent="sm_table_right" index="2" instance=ExtResource( 32 )] +[node name="Godet" parent="TableRight" index="2" instance=ExtResource( 32 )] transform = Transform( 0.869771, 0, 0.493456, 0, 1, 0, -0.493456, 0, 0.869771, 0.124432, 0.85553, -0.0287701 ) -[node name="sm_godet3" parent="sm_table_right" index="3" instance=ExtResource( 32 )] +[node name="Godet3" parent="TableRight" index="3" instance=ExtResource( 32 )] transform = Transform( 0.979508, 0.200153, 0.0224678, -0.0198889, -0.0148863, 0.999692, 0.200426, -0.979652, -0.0106004, 0.511135, 0.919194, 0.249402 ) -[node name="sm_godet4" parent="sm_table_right" index="4" instance=ExtResource( 32 )] +[node name="Godet4" parent="TableRight" index="4" instance=ExtResource( 32 )] transform = Transform( -0.236782, -0.0445638, 0.970541, -0.0267146, 0.998868, 0.039347, -0.971196, -0.0166109, -0.237705, 0.291596, 0.864092, -0.00375021 ) [node name="Building" type="Spatial" parent="." index="9"] @@ -637,9 +523,9 @@ mesh_library = ExtResource( 37 ) use_in_baked_light = true cell_center_y = false cell_center_z = false -baked_meshes = [ SubResource( 18 ) ] +baked_meshes = [ SubResource( 17 ) ] data = { -"cells": PoolIntArray( 0, 0, 0, 65531, 0, 3, 65532, 0, 0, 65533, 0, 0, 65534, 0, -2147483648, 65535, 0, 0, 0, 1, 0, 65531, 1, 3, 65532, 1, 0, 65533, 1, 0, 65534, 1, 0, 65535, 1, 0, 0, 2, 0, 65531, 2, 536870915, 65532, 2, 0, 65533, 2, 0, 65534, 2, 0, 65535, 2, 0, 0, 65533, 0, 65532, 65533, 0, 65533, 65533, 0, 65534, 65533, 0, 65535, 65533, 0, 0, 65534, 0, 65531, 65534, 3, 65532, 65534, 0, 65533, 65534, 0, 65534, 65534, 0, 65535, 65534, 0, 0, 65535, 0, 65531, 65535, 3, 65532, 65535, 0, 65533, 65535, 0, 65534, 65535, 0, 65535, 65535, 0 ) +"cells": PoolIntArray( 0, 0, 536870912, 65531, 0, 3, 65532, 0, 0, 65533, 0, 0, 65534, 0, 0, 65535, 0, 0, 0, 1, 0, 65531, 1, 3, 65532, 1, 536870912, 65533, 1, 0, 65534, 1, 0, 65535, 1, 0, 0, 2, 0, 65531, 2, 3, 65532, 2, 0, 65533, 2, 0, 65534, 2, 0, 65535, 2, 1073741824, 0, 65533, 0, 65532, 65533, 0, 65533, 65533, 0, 65534, 65533, 0, 65535, 65533, 536870912, 0, 65534, 536870912, 65531, 65534, 3, 65532, 65534, 0, 65533, 65534, 1610612736, 65534, 65534, 536870912, 65535, 65534, 0, 0, 65535, 0, 65531, 65535, 1073741827, 65532, 65535, 0, 65533, 65535, 0, 65534, 65535, 0, 65535, 65535, 0 ) } __meta__ = { "_editor_clip_": 0, @@ -719,7 +605,7 @@ spot_range = 15.1 spot_attenuation = 1.41 [node name="WorldEnvironment" type="WorldEnvironment" parent="Lighting" index="2"] -environment = SubResource( 20 ) +environment = SubResource( 19 ) [node name="Blue Color Right" type="SpotLight" parent="Lighting" index="3"] transform = Transform( -0.994228, 0.0863279, -0.0637094, 0.0626716, 0.949248, 0.308222, 0.0870842, 0.302451, -0.949179, -4.00108, 2.13555, -5.73587 ) diff --git a/scripts/Event.gd b/scripts/Event.gd index 75041f3..891c708 100644 --- a/scripts/Event.gd +++ b/scripts/Event.gd @@ -23,7 +23,7 @@ func _on_home_pressed(): func _on_reset_level(level, node, index, parent): Global.current_scene_int = index level.reset() - parent.configure_reset(level, node, index) + parent.configure_reset(level, node, index, true) parent.configure_counter(level, node) Global.current_scene_int = null diff --git a/scripts/Global.gd b/scripts/Global.gd index 66f51de..750ba6b 100644 --- a/scripts/Global.gd +++ b/scripts/Global.gd @@ -17,8 +17,6 @@ func _ready(): _initialize_loading_scene() func _initialize_loading_scene(): - print("[global#goto_scene] establish signal before") - animation.connect("animation_started", Event, "_loading_is_started") animation.connect("animation_finished", Event, "_loading_is_finished")