added the game

This commit is contained in:
JHDev2006
2025-09-13 16:30:32 +01:00
parent 5ef689109b
commit 3773bdaf64
3616 changed files with 263702 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
[gd_scene load_steps=2 format=3 uid="uid://ch20va50duqps"]
[ext_resource type="PackedScene" uid="uid://dkgu57is78lro" path="res://Scenes/Parts/PipeArea.tscn" id="1_0lajc"]
[node name="AutoExitPipeArea" instance=ExtResource("1_0lajc")]
[node name="Visual" parent="." index="0"]
debug_color = Color(0.65145713, 0.34785283, 0.72637105, 0.41960785)
[connection signal="ready" from="." to="." method="exit_pipe"]

View File

@@ -0,0 +1,77 @@
[gd_scene load_steps=5 format=3 uid="uid://cijkvfkthetn5"]
[ext_resource type="Script" uid="uid://bna1qn33m01d5" path="res://Scripts/Parts/BlockAnimations.gd" id="1_j0pkw"]
[sub_resource type="Animation" id="Animation_w2x6g"]
resource_name = "BlockHit"
length = 0.2
step = 0.1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Joint:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.05, 0.15),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(0, -8), Vector2(0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".:z_index")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.15),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [3, 0]
}
[sub_resource type="Animation" id="Animation_j0pkw"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Joint:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".:z_index")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_tid1o"]
_data = {
&"BlockHit": SubResource("Animation_w2x6g"),
&"RESET": SubResource("Animation_j0pkw")
}
[node name="BlockAnimations" type="Node2D"]
script = ExtResource("1_j0pkw")
[node name="Animations" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_tid1o")
}
[node name="Joint" type="RemoteTransform2D" parent="."]
update_rotation = false
update_scale = false

View File

@@ -0,0 +1,29 @@
[gd_scene load_steps=5 format=3 uid="uid://c3mc7ptiywhvw"]
[ext_resource type="Texture2D" uid="uid://dt0qtxu2l646n" path="res://Assets/Sprites/Tilesets/Terrain/Overworld.png" id="1_beitk"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="2_beitk"]
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/Terrain/TerrainTiles.json" id="3_ipntr"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_nqr4v"]
size = Vector2(16, 16)
[node name="CastleBridgeSegment" type="StaticBody2D"]
physics_interpolation_mode = 2
collision_layer = 2
collision_mask = 0
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("1_beitk")
region_enabled = true
region_rect = Rect2(64, 48, 16, 16)
[node name="ResourceSetterNew" type="Node" parent="Sprite2D" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("2_beitk")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("3_ipntr")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Collision" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_nqr4v")

36
Scenes/Parts/CastleTiles.tscn Executable file
View File

@@ -0,0 +1,36 @@
[gd_scene load_steps=7 format=3 uid="uid://pi38pjp8fwm6"]
[ext_resource type="Texture2D" uid="uid://deesmqkpjjwds" path="res://Assets/Sprites/Tilesets/CastleTiles.png" id="1_lmh1j"]
[ext_resource type="Script" uid="uid://cve2q420hiur1" path="res://Scripts/Parts/Tileset.gd" id="2_uyuum"]
[ext_resource type="Script" uid="uid://cq6f682453q6o" path="res://Scripts/Classes/Components/ResourceSetter.gd" id="3_74m05"]
[ext_resource type="Resource" uid="uid://dfmek6gee3f7r" path="res://Resources/ThemedResources/CastleTiles.tres" id="4_p4jkf"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_miuov"]
texture = ExtResource("1_lmh1j")
0:0/0 = 0
1:0/0 = 0
2:0/0 = 0
1:1/0 = 0
0:1/0 = 0
2:1/0 = 0
[sub_resource type="TileSet" id="TileSet_4vrqr"]
sources/0 = SubResource("TileSetAtlasSource_miuov")
[node name="Tiles" type="TileMapLayer"]
z_index = -5
position = Vector2(-8, 8)
tile_set = SubResource("TileSet_4vrqr")
script = ExtResource("2_uyuum")
[node name="TextureRect" type="TextureRect" parent="."]
visible = false
offset_right = 40.0
offset_bottom = 40.0
[node name="ResourceSetter" type="Node" parent="." node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_74m05")
node_to_affect = NodePath("../TextureRect")
property_name = "texture"
themed_resource = ExtResource("4_p4jkf")
metadata/_custom_type_script = "uid://cq6f682453q6o"

View File

@@ -0,0 +1,83 @@
[gd_scene load_steps=9 format=3 uid="uid://ckc73w2p3cdvj"]
[ext_resource type="Texture2D" uid="uid://3p2l7rec0gh5" path="res://Assets/Sprites/UI/Cursor.png" id="1_744m4"]
[ext_resource type="StyleBox" uid="uid://comkghpj0djcl" path="res://Resources/UI/Panel.tres" id="2_oamdf"]
[ext_resource type="StyleBox" uid="uid://dlbdmqmnl30sq" path="res://Resources/UI/PanelSelected.tres" id="3_d66fe"]
[ext_resource type="Texture2D" uid="uid://hg5ql8d3dck7" path="res://Assets/Sprites/UI/CustomLevelActionIcon.png" id="4_g3205"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="5_d66fe"]
[ext_resource type="JSON" path="res://Assets/Sprites/UI/Cursor.json" id="6_g3205"]
[sub_resource type="AtlasTexture" id="AtlasTexture_hykrg"]
atlas = ExtResource("4_g3205")
region = Rect2(24, 0, 12, 12)
[sub_resource type="AtlasTexture" id="AtlasTexture_744m4"]
atlas = ExtResource("1_744m4")
region = Rect2(0, 0, 8, 8)
[node name="BoxContainer" type="MarginContainer"]
offset_right = 16.0
offset_bottom = 16.0
focus_mode = 2
focus_behavior_recursive = 2
theme_override_constants/margin_left = 8
[node name="Button" type="Button" parent="."]
layout_mode = 2
size_flags_horizontal = 3
focus_behavior_recursive = 2
theme_override_styles/normal = ExtResource("2_oamdf")
theme_override_styles/pressed = ExtResource("3_d66fe")
theme_override_styles/hover = ExtResource("2_oamdf")
theme_override_styles/focus = ExtResource("3_d66fe")
[node name="Icon" type="TextureRect" parent="."]
layout_mode = 2
size_flags_horizontal = 4
texture = SubResource("AtlasTexture_hykrg")
stretch_mode = 3
[node name="Label" type="Label" parent="."]
visible = false
layout_mode = 2
text = "Play"
uppercase = true
[node name="Cursor" type="Control" parent="."]
visible = false
layout_mode = 2
[node name="Control" type="Control" parent="Cursor"]
layout_mode = 1
anchors_preset = 9
anchor_bottom = 1.0
grow_vertical = 2
[node name="TextureRect" type="TextureRect" parent="Cursor/Control"]
layout_mode = 1
anchors_preset = -1
anchor_top = 0.5
anchor_bottom = 0.5
offset_left = -9.0
offset_top = -4.0
offset_right = -1.0
offset_bottom = 4.0
grow_vertical = 2
texture = SubResource("AtlasTexture_744m4")
[node name="ResourceSetterNew" type="Node" parent="Cursor/Control/TextureRect" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("5_d66fe")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("6_g3205")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[connection signal="focus_entered" from="." to="." method="show"]
[connection signal="focus_entered" from="." to="Button" method="grab_focus"]
[connection signal="focus_entered" from="Button" to="Icon" method="hide"]
[connection signal="focus_entered" from="Button" to="Label" method="show"]
[connection signal="focus_entered" from="Button" to="Cursor" method="show"]
[connection signal="focus_exited" from="Button" to="Icon" method="show"]
[connection signal="focus_exited" from="Button" to="Label" method="hide"]
[connection signal="focus_exited" from="Button" to="Cursor" method="hide"]

View File

@@ -0,0 +1,102 @@
[gd_scene load_steps=8 format=3 uid="uid://bqy0nm0h7f5sl"]
[ext_resource type="Script" uid="uid://cmxqrlwdt6tst" path="res://Scripts/UI/DataDeletionNode.gd" id="1_ecqb2"]
[ext_resource type="Texture2D" uid="uid://3p2l7rec0gh5" path="res://Assets/Sprites/UI/Cursor.png" id="2_4prjd"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_a8hnx"]
[ext_resource type="JSON" path="res://Assets/Sprites/UI/Cursor.json" id="4_k0d70"]
[ext_resource type="Script" uid="uid://d63p6qr5a748" path="res://Scripts/UI/AutoScrollContainer.gd" id="5_85bta"]
[ext_resource type="Script" uid="uid://co6tjg3w6qpd8" path="res://Scripts/Parts/LabelFontChanger.gd" id="6_tyvfd"]
[sub_resource type="AtlasTexture" id="AtlasTexture_qti1l"]
atlas = ExtResource("2_4prjd")
region = Rect2(0, 0, 8, 8)
[node name="SelectableOptionNode" type="HBoxContainer"]
offset_right = 253.0
offset_bottom = 8.0
focus_mode = 2
theme_override_constants/separation = 0
script = ExtResource("1_ecqb2")
campaigns = Array[String](["SMB1", "SMBLL", "SMBS", "SMBANN"])
[node name="Cursor" type="Control" parent="."]
custom_minimum_size = Vector2(8, 0)
layout_mode = 2
[node name="Cursor" type="TextureRect" parent="Cursor"]
layout_mode = 0
offset_top = 4.0
offset_right = 8.0
offset_bottom = 12.0
texture = SubResource("AtlasTexture_qti1l")
stretch_mode = 2
[node name="ResourceSetter" type="Node" parent="Cursor/Cursor" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_a8hnx")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("4_k0d70")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="AutoScrollContainer" type="ScrollContainer" parent="."]
layout_mode = 2
size_flags_horizontal = 3
horizontal_scroll_mode = 3
vertical_scroll_mode = 0
script = ExtResource("5_85bta")
metadata/_custom_type_script = "uid://d63p6qr5a748"
[node name="Title" type="Label" parent="AutoScrollContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
text = "modeadpiawjda:"
uppercase = true
[node name="LabelFontChanger" type="Node" parent="." node_paths=PackedStringArray("labels")]
script = ExtResource("6_tyvfd")
labels = [NodePath("../AutoScrollContainer/Title"), NodePath("../VBoxContainer/HBoxContainer/AutoScrollContainer2/Value")]
metadata/_custom_type_script = "uid://co6tjg3w6qpd8"
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 2
theme_override_constants/separation = -4
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
layout_mode = 2
theme_override_constants/separation = -4
[node name="LeftArrow" type="Label" parent="VBoxContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "◄"
uppercase = true
[node name="AutoScrollContainer2" type="ScrollContainer" parent="VBoxContainer/HBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(56, 0)
layout_mode = 2
horizontal_scroll_mode = 3
vertical_scroll_mode = 0
script = ExtResource("5_85bta")
is_active = true
auto_minimum_resize = true
metadata/_custom_type_script = "uid://d63p6qr5a748"
[node name="Value" type="Label" parent="VBoxContainer/HBoxContainer/AutoScrollContainer2"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 10
text = "aaaaaa"
horizontal_alignment = 1
uppercase = true
[node name="RightArrow" type="Label" parent="VBoxContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "►"
uppercase = true
[connection signal="focus_entered" from="." to="." method="set_selected" binds= [true]]
[connection signal="focus_exited" from="." to="." method="set_selected" binds= [false]]

View File

@@ -0,0 +1,40 @@
[gd_scene load_steps=7 format=3 uid="uid://c145qqkvy8pr5"]
[ext_resource type="Texture2D" uid="uid://cnexuteg5rvye" path="res://Assets/Sprites/Tilesets/Deco/DecoTemplate.png" id="1_lawed"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_lawed"]
[ext_resource type="Script" uid="uid://73oviwf6bbys" path="res://Scripts/Classes/Components/TilesetTextureSetter.gd" id="3_mv6fy"]
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/Deco/DecoTiles.json" id="4_boeqk"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_3eywr"]
texture = ExtResource("1_lawed")
0:0/0 = 0
1:0/0 = 0
2:0/0 = 0
3:0/0 = 0
4:0/0 = 0
0:1/0 = 0
1:1/0 = 0
2:1/0 = 0
3:1/0 = 0
4:1/0 = 0
[sub_resource type="TileSet" id="TileSet_b50pv"]
sources/0 = SubResource("TileSetAtlasSource_3eywr")
[node name="DecoTiles" type="TileMapLayer"]
visibility_layer = 2
z_index = -10
tile_set = SubResource("TileSet_b50pv")
[node name="TilesetTextureSetter" type="Node" parent="." node_paths=PackedStringArray("tile_map")]
script = ExtResource("3_mv6fy")
tile_map = NodePath("..")
metadata/_custom_type_script = "uid://73oviwf6bbys"
[node name="ResourceSetterNew" type="Node" parent="." node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_lawed")
node_to_affect = NodePath("../TilesetTextureSetter")
property_name = "texture"
mode = 1
resource_json = ExtResource("4_boeqk")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"

View File

@@ -0,0 +1,18 @@
shader_type canvas_item;
void fragment() {
vec4 tex_color = texture(TEXTURE, UV);
vec4 color = tex_color;
// Get pixel coordinate in texture space
vec2 tex_size = vec2(textureSize(TEXTURE, 0)); // Godot 4
ivec2 coord = ivec2(floor(UV * tex_size));
// Simple checker pattern based on texture pixel positions
bool checker = (coord.x + coord.y) % 2 == 0;
if (checker)
{
discard;
}
}

View File

@@ -0,0 +1 @@
uid://cjfd0fbhvx370

View File

@@ -0,0 +1,65 @@
[gd_scene load_steps=7 format=3 uid="uid://cinr6kcbmo6gr"]
[ext_resource type="Script" uid="uid://c3krxjp4ye4ko" path="res://Scripts/Parts/DropShadowRenderer.gd" id="1_q8gs4"]
[ext_resource type="Shader" uid="uid://x7lh23cq2u38" path="res://Scenes/Parts/ShadowShader.gdshader" id="2_g76ny"]
[ext_resource type="Script" uid="uid://dwtrmo82e12ud" path="res://Scripts/Parts/ColourPaletteSampler.gd" id="6_03isl"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="7_5ikpa"]
[ext_resource type="JSON" path="res://Assets/Sprites/Particles/DropShadow.json" id="8_u22ru"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_q8gs4"]
shader = ExtResource("2_g76ny")
shader_parameter/shadow_colour = Vector4(0, 0, 0, 0)
shader_parameter/allow_transparency = false
[node name="DropShadow" type="Node2D"]
process_mode = 3
process_priority = 1
process_physics_priority = 1
physics_interpolation_mode = 2
script = ExtResource("1_q8gs4")
offset = Vector2(2, 0)
[node name="SubViewportContainer" type="SubViewportContainer" parent="."]
process_mode = 3
visibility_layer = 2
z_index = -50
z_as_relative = false
material = SubResource("ShaderMaterial_q8gs4")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -1.0
offset_top = 1.0
offset_right = 1.0
offset_bottom = 3.0
grow_horizontal = 2
grow_vertical = 2
[node name="SubViewport" type="SubViewport" parent="SubViewportContainer"]
process_mode = 3
transparent_bg = true
handle_input_locally = false
snap_2d_transforms_to_pixel = true
canvas_item_default_texture_filter = 0
canvas_cull_mask = 4293918721
size = Vector2i(2, 2)
render_target_update_mode = 4
[node name="Camera2D" type="Camera2D" parent="SubViewportContainer/SubViewport"]
process_mode = 3
physics_interpolation_mode = 2
[node name="ColourPaletteSampler" type="Node" parent="." node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("6_03isl")
node_to_affect = NodePath("..")
value_to_set = "shadow_colour"
metadata/_custom_type_script = "uid://dwtrmo82e12ud"
[node name="ResourceSetter" type="Node" parent="ColourPaletteSampler" node_paths=PackedStringArray("node_to_affect")]
process_mode = 3
script = ExtResource("7_5ikpa")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("8_u22ru")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"

View File

@@ -0,0 +1,110 @@
[gd_scene load_steps=5 format=3 uid="uid://d2c5ut4rtjf3p"]
[ext_resource type="Script" uid="uid://cit6racuc8c60" path="res://Scripts/Parts/DropShadowRendererSmooth.gd" id="1_sh8t5"]
[sub_resource type="Shader" id="Shader_xx2dm"]
code = "shader_type canvas_item;
uniform vec3 shadow_colour: source_color;
uniform float transparency = 0.0;
void fragment() {
if (COLOR.a >= 0.025)
{
COLOR = vec4(shadow_colour.r, shadow_colour.g, shadow_colour.b, transparency * COLOR.a);
}
}
//void light() {
// Called for every pixel for every light affecting the CanvasItem.
// Uncomment to replace the default light processing function with this one.
//}
"
[sub_resource type="ShaderMaterial" id="ShaderMaterial_o48cx"]
shader = SubResource("Shader_xx2dm")
shader_parameter/shadow_colour = Color(0.368102, 0.368102, 0.368102, 1)
shader_parameter/transparency = 0.25
[sub_resource type="GDScript" id="GDScript_tdilq"]
script/source = "# https://github.com/godotengine/godot/issues/77149
class_name SubViewportContainerBug77149
extends SubViewportContainer
@export var stretch_without_bug_77149 : bool
func _ready() -> void:
_on_resized()
get_window().size_changed.connect(_on_resized)
var _dont_recurse : bool
func _on_resized() -> void:
assert(not stretch)
if not stretch_without_bug_77149 or _dont_recurse:
return
var window := get_window()
var viewport_size := Vector2(window.size)
var reference_size := Vector2(window.content_scale_size)
var viewport_scale := viewport_size / reference_size
var size_scale := minf(viewport_scale.x, viewport_scale.y)
var scaled_size := Vector2i((size * scale * size_scale).round()) / stretch_shrink
if Vector2i(size.round()) == scaled_size:
return
_dont_recurse = true
# we need to set the container's size first or it'll get resized by the viewport resize (ugh)
scale = Vector2(1.0 / size_scale, 1.0 / size_scale)
size = scaled_size
for subviewport : SubViewport in find_children(\"*\", \"SubViewport\", false, false):
# avoid reallocating textures we don't need to reallocate
if subviewport.size != scaled_size:
subviewport.size = scaled_size
_dont_recurse = false
"
[node name="DropShadowRenderer" type="Node"]
physics_interpolation_mode = 1
script = ExtResource("1_sh8t5")
[node name="Point" type="Node2D" parent="."]
unique_name_in_owner = true
physics_interpolation_mode = 1
visibility_layer = 2
z_index = -45
position = Vector2(4, 0)
[node name="Container" type="SubViewportContainer" parent="Point"]
unique_name_in_owner = true
physics_interpolation_mode = 1
visibility_layer = 2
material = SubResource("ShaderMaterial_o48cx")
offset_left = -240.0
offset_top = -135.0
offset_right = 240.0
offset_bottom = 135.0
localize_numeral_system = false
mouse_filter = 2
script = SubResource("GDScript_tdilq")
stretch_without_bug_77149 = true
metadata/_edit_use_anchors_ = true
[node name="SubViewport" type="SubViewport" parent="Point/Container"]
unique_name_in_owner = true
transparent_bg = true
handle_input_locally = false
canvas_item_default_texture_filter = 0
canvas_cull_mask = 4293918721
size = Vector2i(480, 270)
size_2d_override = Vector2i(1440, 810)
render_target_update_mode = 4
[node name="Camera" type="Camera2D" parent="Point/Container/SubViewport"]
unique_name_in_owner = true
offset = Vector2(-3, -3)
zoom = Vector2(3, 3)
process_callback = 0

View File

@@ -0,0 +1,15 @@
[gd_scene load_steps=3 format=3 uid="uid://bn8v1j5t12bpk"]
[ext_resource type="Script" uid="uid://bg8681ssontei" path="res://Scripts/Parts/EntityTileContainer.gd" id="1_l30to"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ormaw"]
size = Vector2(16, 16)
[node name="EntityTileContainer" type="Node2D"]
script = ExtResource("1_l30to")
[node name="MouseArea" type="Area2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="MouseArea"]
position = Vector2(8, 8)
shape = SubResource("RectangleShape2D_ormaw")

View File

@@ -0,0 +1,21 @@
[gd_scene load_steps=4 format=4 uid="uid://bikdod5ra10ra"]
[ext_resource type="PackedScene" uid="uid://qn4g0qkjcuiy" path="res://Scenes/Parts/SmallCastleVisual.tscn" id="1_kxe1w"]
[ext_resource type="Texture2D" uid="uid://dkcs5i8l1y4y6" path="res://Assets/Sprites/Tilesets/EndingFinalCastleSprite.png" id="2_3bs51"]
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/FinalCastle.json" id="3_f0rgi"]
[node name="SmallCastleVisual" instance=ExtResource("1_kxe1w")]
[node name="Tiles" parent="." index="0"]
tile_map_data = PackedByteArray("AAD+////AAAHAAcAAAD+/wAAAAAHAAcAAAD+/wEAAAAHAAcAAAD///7/AAAHAAcAAAD/////AAAHAAcAAAD//wAAAAAHAAcAAAD//wEAAAAHAAcAAAAAAP7/AAAHAAcAAAAAAP//AAAHAAcAAAAAAAAAAAAGAAoAAAABAP//AAAHAAcAAAABAAAAAAAHAAcAAAABAAEAAAAHAAcAAAACAP//AAAHAAcAAAACAAAAAAAGAAoAAAD///3/AAAHAAcAAAAAAP3/AAAHAAcAAAABAP3/AAAGAAoAAAADAAAAAAAHAAcAAAADAAEAAAAHAAcAAAAFAAAAAAAHAAcAAAAFAAEAAAAHAAcAAAAGAAAAAAAHAAcAAAAGAAEAAAAHAAcAAAADAP//AAAHAAcAAAAEAP//AAAHAAcAAAAFAP//AAAHAAcAAAAGAP//AAAHAAcAAAACAP3/AAAHAAcAAAACAP7/AAAHAAcAAAAEAP3/AAAHAAcAAAAEAP7/AAAHAAcAAAAFAP3/AAAHAAcAAAAFAP7/AAAHAAcAAAAGAP3/AAAHAAcAAAAGAP7/AAAHAAcAAAD+//3/AAAHAAcAAAD+//7/AAAHAAcAAAAEAAAAAAAGAAoAAAADAP3/AAAGAAoAAAD+//z/AAAGAAcAAAD///z/AAAGAAcAAAAFAPz/AAAGAAcAAAAGAPz/AAAGAAcAAAAAAPz/AAAFAAoAAAABAPz/AAAFAAoAAAACAPz/AAAFAAoAAAADAPz/AAAFAAoAAAAEAPz/AAAFAAoAAAAAAPr/AAAHAAcAAAAAAPv/AAAHAAcAAAABAPr/AAAHAAcAAAABAPv/AAAHAAcAAAADAPr/AAAHAAcAAAADAPv/AAAHAAcAAAAEAPr/AAAHAAcAAAAEAPv/AAAHAAcAAAACAPr/AAAGAAoAAAAAAPn/AAAGAAcAAAABAPn/AAAFAAoAAAACAPn/AAAFAAoAAAADAPn/AAAFAAoAAAAEAPn/AAAGAAcAAAABAPf/AAAGAAcAAAACAPf/AAAGAAcAAAADAPf/AAAGAAcAAAACAPj/AAAHAAcAAAABAPj/AAADAAoAAAADAPj/AAAEAAoAAAA=")
[node name="BG" parent="Tiles" index="1"]
tile_map_data = PackedByteArray("AAAAAAAAAAAHABQAAAAAAAEAAAAHABQAAAAAAAIAAAAHABQAAAAAAAMAAAAHABQAAAABAAAAAAAHABQAAAABAAEAAAAHABQAAAABAAIAAAAHABQAAAABAAMAAAAHABQAAAD///z/AAAHABQAAAD///3/AAAHABQAAAACAPz/AAAHABQAAAACAP3/AAAHABQAAAADAPT/AAAHABQAAAADAPX/AAAHABQAAAADAPb/AAAHABQAAAADAPf/AAAHABQAAAADAPj/AAAHABQAAAADAPn/AAAHABQAAAADAPr/AAAHABQAAAADAPv/AAAHABQAAAADAPz/AAAHABQAAAADAP3/AAAHABQAAAADAP7/AAAHABQAAAADAP//AAAHABQAAAADAAAAAAAHABQAAAADAAEAAAAHABQAAAADAAIAAAAHABQAAAADAAMAAAAHABQAAAAEAPT/AAAHABQAAAAEAPX/AAAHABQAAAAEAPb/AAAHABQAAAAEAPf/AAAHABQAAAAEAPj/AAAHABQAAAAEAPn/AAAHABQAAAAEAPr/AAAHABQAAAAEAPv/AAAHABQAAAAEAPz/AAAHABQAAAAEAP3/AAAHABQAAAAEAP7/AAAHABQAAAAEAP//AAAHABQAAAAEAAAAAAAHABQAAAAEAAEAAAAHABQAAAAEAAIAAAAHABQAAAAEAAMAAAAHABQAAAAFAPT/AAAHABQAAAAFAPX/AAAHABQAAAAFAPb/AAAHABQAAAAFAPf/AAAHABQAAAAFAPj/AAAHABQAAAAFAPn/AAAHABQAAAAFAPr/AAAHABQAAAAFAPv/AAAHABQAAAAFAPz/AAAHABQAAAAFAP3/AAAHABQAAAAFAP7/AAAHABQAAAAFAP//AAAHABQAAAAFAAAAAAAHABQAAAAFAAEAAAAHABQAAAAFAAIAAAAHABQAAAAFAAMAAAAHABQAAAAGAPT/AAAHABQAAAAGAPX/AAAHABQAAAAGAPb/AAAHABQAAAAGAPf/AAAHABQAAAAGAPj/AAAHABQAAAAGAPn/AAAHABQAAAAGAPr/AAAHABQAAAAGAPv/AAAHABQAAAAGAPz/AAAHABQAAAAGAP3/AAAHABQAAAAGAP7/AAAHABQAAAAGAP//AAAHABQAAAAGAAAAAAAHABQAAAAGAAEAAAAHABQAAAAGAAIAAAAHABQAAAAGAAMAAAAHABQAAAAHAPT/AAAHABQAAAAHAPX/AAAHABQAAAAHAPb/AAAHABQAAAAHAPf/AAAHABQAAAAHAPj/AAAHABQAAAAHAPn/AAAHABQAAAAHAPr/AAAHABQAAAAHAPv/AAAHABQAAAAHAPz/AAAHABQAAAAHAP3/AAAHABQAAAAHAP7/AAAHABQAAAAHAP//AAAHABQAAAAHAAAAAAAHABQAAAAHAAEAAAAHABQAAAAHAAIAAAAHABQAAAAHAAMAAAAHABQAAAAIAAAAAAAHABQAAAAIAAEAAAAHABQAAAAIAAIAAAAHABQAAAAIAAMAAAAHABQAAAAJAAAAAAAHABQAAAAJAAEAAAAHABQAAAAJAAIAAAAHABQAAAAJAAMAAAAHABQAAAAKAAAAAAAHABQAAAAKAAEAAAAHABQAAAAKAAIAAAAHABQAAAAKAAMAAAAHABQAAAACAPr/AAAHABQAAAACAPv/AAAHABQAAAA=")
[node name="Sprite" parent="." index="1"]
visible = false
position = Vector2(32, -48)
texture = ExtResource("2_3bs51")
[node name="ResourceSetterNew" parent="Sprite" index="0"]
resource_json = ExtResource("3_f0rgi")

View File

@@ -0,0 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://dn2oonncrmxb3"]
[ext_resource type="PackedScene" uid="uid://cbl8l51osppso" path="res://Scenes/Parts/LargeStartCastle.tscn" id="1_wnk7n"]
[ext_resource type="PackedScene" uid="uid://bem5ht17ukgcs" path="res://Scenes/Parts/LargeSPCastleVisual.tscn" id="2_12kkg"]
[node name="LargeCastleDeco" instance=ExtResource("1_wnk7n")]
[node name="SmallCastleVisual" parent="." index="0"]
visible = false
[node name="SmallCastleVisual2" parent="." index="1" instance=ExtResource("2_12kkg")]
position = Vector2(0, 48)

View File

@@ -0,0 +1,14 @@
[gd_scene load_steps=2 format=4 uid="uid://bem5ht17ukgcs"]
[ext_resource type="PackedScene" uid="uid://bikdod5ra10ra" path="res://Scenes/Parts/LargeCastleVisual.tscn" id="1_3hodr"]
[node name="SmallCastleVisual" instance=ExtResource("1_3hodr")]
[node name="Tiles" parent="." index="0"]
tile_map_data = PackedByteArray("AAD+////AAAHAAcAAAD+/wAAAAAGAAoAAAD/////AAAHAAcAAAD//wAAAAAHAAcAAAD//wEAAAAHAAcAAAAAAP7/AAAHAAcAAAAAAP//AAAHAAcAAAAAAAAAAAAGAAoAAAABAP//AAAHAAcAAAABAAAAAAAHAAcAAAABAAEAAAAHAAcAAAACAP//AAAHAAcAAAACAAAAAAAGAAoAAAD///3/AAAGAAoAAAAAAP3/AAAHAAcAAAABAP3/AAAGAAoAAAADAAAAAAAHAAcAAAADAAEAAAAHAAcAAAADAP//AAAHAAcAAAAEAP//AAAHAAcAAAACAP3/AAAHAAcAAAACAP7/AAAHAAcAAAAEAP3/AAAHAAcAAAAEAP7/AAAHAAcAAAD+//3/AAAHAAcAAAD+//7/AAAHAAcAAAAEAAAAAAAHAAcAAAADAP3/AAAHAAcAAAD+//z/AAAFAAoAAAD///z/AAAFAAoAAAAAAPz/AAAFAAoAAAABAPz/AAAFAAoAAAACAPz/AAAFAAoAAAADAPz/AAAGAAcAAAAEAPz/AAAGAAcAAAAAAPr/AAAFAAoAAAAAAPv/AAAHAAcAAAABAPr/AAAFAAoAAAABAPv/AAAEAAoAAAACAPr/AAAGAAcAAAAAAPn/AAAHAAcAAAABAPn/AAAEAAoAAAABAPj/AAAGAAcAAAD///n/AAADAAoAAAD9//z/AAAGAAcAAAD8//z/AAAGAAcAAAD///j/AAAGAAcAAAAAAPj/AAAGAAcAAAD8//3/AAAHAAcAAAD8//7/AAAHAAcAAAD8////AAAHAAcAAAD9//3/AAAHAAcAAAD9//7/AAAHAAcAAAD9////AAAHAAcAAAADAP7/AAAHAAcAAAAEAAEAAAAHAAcAAAD8/wAAAAAHAAcAAAD8/wEAAAAHAAcAAAD9/wAAAAAHAAcAAAD9/wEAAAAHAAcAAAD+//r/AAAGAAcAAAD///r/AAAFAAoAAAD+//v/AAADAAoAAAD///v/AAADAAoAAAACAPv/AAAEAAoAAAA=")
[node name="BG" parent="Tiles" index="1"]
tile_map_data = PackedByteArray("AAAAAAAAAAAHABQAAAAAAAEAAAAHABQAAAAAAAIAAAAHABQAAAAAAAMAAAAHABQAAAABAAAAAAAHABQAAAABAAEAAAAHABQAAAABAAIAAAAHABQAAAABAAMAAAAHABQAAAD///z/AAAHABQAAAD///3/AAAHABQAAAACAPz/AAAHABQAAAACAP3/AAAHABQAAAADAPj/AAAHABQAAAADAPn/AAAHABQAAAADAPr/AAAHABQAAAADAPv/AAAHABQAAAADAPz/AAAHABQAAAADAP3/AAAHABQAAAADAP7/AAAHABQAAAADAP//AAAHABQAAAADAAAAAAAHABQAAAADAAEAAAAHABQAAAADAAIAAAAHABQAAAADAAMAAAAHABQAAAAEAPj/AAAHABQAAAAEAPn/AAAHABQAAAAEAPr/AAAHABQAAAAEAPv/AAAHABQAAAAEAPz/AAAHABQAAAAEAP3/AAAHABQAAAAEAP7/AAAHABQAAAAEAP//AAAHABQAAAAEAAAAAAAHABQAAAAEAAEAAAAHABQAAAAEAAIAAAAHABQAAAAEAAMAAAAHABQAAAAFAPr/AAAHABQAAAAFAPv/AAAHABQAAAAFAPz/AAAHABQAAAAFAP3/AAAHABQAAAAFAP7/AAAHABQAAAAFAP//AAAHABQAAAAFAAAAAAAHABQAAAAFAAEAAAAHABQAAAAFAAIAAAAHABQAAAAFAAMAAAAHABQAAAAGAPr/AAAHABQAAAAGAPv/AAAHABQAAAAGAPz/AAAHABQAAAAGAP3/AAAHABQAAAAGAP7/AAAHABQAAAAGAP//AAAHABQAAAAGAAAAAAAHABQAAAAGAAEAAAAHABQAAAAGAAIAAAAHABQAAAAGAAMAAAAHABQAAAAHAPr/AAAHABQAAAAHAPv/AAAHABQAAAAHAPz/AAAHABQAAAAHAP3/AAAHABQAAAAHAP7/AAAHABQAAAAHAP//AAAHABQAAAAHAAAAAAAHABQAAAAHAAEAAAAHABQAAAAHAAIAAAAHABQAAAAHAAMAAAAHABQAAAACAPr/AAAHABQAAAACAPv/AAAHABQAAAAAAAQAAAAHABQAAAABAAQAAAAHABQAAAACAP7/AAAHABQAAAD5//r/AAAHABQAAAD5//v/AAAHABQAAAD5//z/AAAHABQAAAD5//3/AAAHABQAAAD5//7/AAAHABQAAAD5////AAAHABQAAAD5/wAAAAAHABQAAAD5/wEAAAAHABQAAAD5/wIAAAAHABQAAAD5/wMAAAAHABQAAAD5/wQAAAAHABQAAAD5/wUAAAAHABQAAAD6//r/AAAHABQAAAD6//v/AAAHABQAAAD6//z/AAAHABQAAAD6//3/AAAHABQAAAD6//7/AAAHABQAAAD6////AAAHABQAAAD6/wAAAAAHABQAAAD6/wEAAAAHABQAAAD6/wIAAAAHABQAAAD6/wMAAAAHABQAAAD6/wQAAAAHABQAAAD6/wUAAAAHABQAAAD7//r/AAAHABQAAAD7//v/AAAHABQAAAD7//z/AAAHABQAAAD7//3/AAAHABQAAAD7//7/AAAHABQAAAD7////AAAHABQAAAD7/wAAAAAHABQAAAD7/wEAAAAHABQAAAD7/wIAAAAHABQAAAD7/wMAAAAHABQAAAD7/wQAAAAHABQAAAD7/wUAAAAHABQAAAD8//r/AAAHABQAAAD8//v/AAAHABQAAAD8//z/AAAHABQAAAD8//3/AAAHABQAAAD8//7/AAAHABQAAAD8////AAAHABQAAAD8/wAAAAAHABQAAAD8/wEAAAAHABQAAAD8/wIAAAAHABQAAAD8/wMAAAAHABQAAAD8/wQAAAAHABQAAAD8/wUAAAAHABQAAAD9//r/AAAHABQAAAD9//v/AAAHABQAAAD9//z/AAAHABQAAAD9//3/AAAHABQAAAD9//7/AAAHABQAAAD9////AAAHABQAAAD9/wAAAAAHABQAAAD9/wEAAAAHABQAAAD9/wIAAAAHABQAAAD9/wMAAAAHABQAAAD9/wQAAAAHABQAAAD9/wUAAAAHABQAAAD+//r/AAAHABQAAAD+//v/AAAHABQAAAD+//z/AAAHABQAAAD+//3/AAAHABQAAAD+//7/AAAHABQAAAD+////AAAHABQAAAD+/wAAAAAHABQAAAD+/wEAAAAHABQAAAD+/wIAAAAHABQAAAD+/wMAAAAHABQAAAD+/wQAAAAHABQAAAD+/wUAAAAHABQAAAD///r/AAAHABQAAAD///v/AAAHABQAAAD///7/AAAHABQAAAD/////AAAHABQAAAD//wAAAAAHABQAAAD//wEAAAAHABQAAAD//wIAAAAHABQAAAD//wMAAAAHABQAAAD//wQAAAAHABQAAAD//wUAAAAHABQAAAAAAPr/AAAHABQAAAAAAPv/AAAHABQAAAAAAPz/AAAHABQAAAAAAP3/AAAHABQAAAAAAP7/AAAHABQAAAAAAP//AAAHABQAAAAAAAUAAAAHABQAAAABAPr/AAAHABQAAAABAPv/AAAHABQAAAABAPz/AAAHABQAAAABAP3/AAAHABQAAAABAP7/AAAHABQAAAABAP//AAAHABQAAAABAAUAAAAHABQAAAACAP//AAAHABQAAAACAAAAAAAHABQAAAACAAEAAAAHABQAAAACAAIAAAAHABQAAAACAAMAAAAHABQAAAACAAQAAAAHABQAAAACAAUAAAAHABQAAAADAAQAAAAHABQAAAADAAUAAAAHABQAAAAEAAQAAAAHABQAAAAEAAUAAAAHABQAAAAFAAQAAAAHABQAAAAFAAUAAAAHABQAAAAGAAQAAAAHABQAAAAGAAUAAAAHABQAAAAHAAQAAAAHABQAAAAHAAUAAAAHABQAAAD8//b/AAAHABQAAAD8//f/AAAHABQAAAD8//j/AAAHABQAAAD8//n/AAAHABQAAAD9//X/AAAHABQAAAD9//b/AAAHABQAAAD9//f/AAAHABQAAAD9//j/AAAHABQAAAD9//n/AAAHABQAAAD+//P/AAAHABQAAAD+//T/AAAHABQAAAD+//X/AAAHABQAAAD+//b/AAAHABQAAAD+//f/AAAHABQAAAD+//j/AAAHABQAAAD+//n/AAAHABQAAAD///P/AAAHABQAAAD///T/AAAHABQAAAD///X/AAAHABQAAAD///b/AAAHABQAAAD///f/AAAHABQAAAD///j/AAAHABQAAAD///n/AAAHABQAAAAAAPP/AAAHABQAAAAAAPT/AAAHABQAAAAAAPX/AAAHABQAAAAAAPb/AAAHABQAAAAAAPf/AAAHABQAAAAAAPj/AAAHABQAAAAAAPn/AAAHABQAAAABAPP/AAAHABQAAAABAPT/AAAHABQAAAABAPX/AAAHABQAAAABAPb/AAAHABQAAAABAPf/AAAHABQAAAABAPj/AAAHABQAAAABAPn/AAAHABQAAAACAPP/AAAHABQAAAACAPT/AAAHABQAAAACAPX/AAAHABQAAAACAPb/AAAHABQAAAACAPf/AAAHABQAAAACAPj/AAAHABQAAAACAPn/AAAHABQAAAA=")
[node name="Sprite" parent="." index="1"]
position = Vector2(0, -48)

View File

@@ -0,0 +1,11 @@
[gd_scene load_steps=2 format=3 uid="uid://cbl8l51osppso"]
[ext_resource type="PackedScene" uid="uid://bikdod5ra10ra" path="res://Scenes/Parts/LargeCastleVisual.tscn" id="2_lpq2f"]
[node name="LargeCastleDeco" type="Sprite2D"]
region_enabled = true
region_rect = Rect2(0, 0, 144, 176)
region_filter_clip_enabled = true
[node name="SmallCastleVisual" parent="." instance=ExtResource("2_lpq2f")]
position = Vector2(0, 48)

View File

@@ -0,0 +1,13 @@
[gd_scene load_steps=3 format=3 uid="uid://bdxd6shyk8duj"]
[ext_resource type="Script" uid="uid://dxt4s20sjndph" path="res://Scripts/Parts/LeapingCheepCheepArea.gd" id="1_jinga"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_bjkhe"]
size = Vector2(16, 16)
[node name="LeapingCheepCheepArea" type="Area2D"]
script = ExtResource("1_jinga")
[node name="Shape" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_bjkhe")
debug_color = Color(1, 0.6, 0, 0.419608)

View File

@@ -0,0 +1,83 @@
[gd_scene load_steps=10 format=3 uid="uid://m5o0l71ne3u4"]
[ext_resource type="Texture2D" uid="uid://c6pd7cdhx78od" path="res://Assets/Sprites/UI/Tab.png" id="1_3ufth"]
[ext_resource type="Script" uid="uid://kvlxhhkgtuk2" path="res://Scripts/UI/LevelEditorTab.gd" id="1_8b8gk"]
[ext_resource type="Texture2D" uid="uid://bgjdnv8n8l1hb" path="res://Assets/Sprites/UI/TabSelected.png" id="2_8b8gk"]
[ext_resource type="StyleBox" uid="uid://btw30ed0dg4bt" path="res://Resources/UI/Tab.tres" id="2_sup1d"]
[ext_resource type="Texture2D" uid="uid://xsfs2psb84ql" path="res://Assets/Sprites/UI/EditorButtons.png" id="3_sup1d"]
[sub_resource type="AtlasTexture" id="AtlasTexture_5mw2n"]
atlas = ExtResource("3_sup1d")
region = Rect2(0, 0, 16, 16)
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_wt4vx"]
texture = ExtResource("2_8b8gk")
texture_margin_left = 2.0
texture_margin_top = 2.0
texture_margin_right = 2.0
texture_margin_bottom = 2.0
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_qebwb"]
texture = ExtResource("1_3ufth")
texture_margin_left = 2.0
texture_margin_top = 2.0
texture_margin_right = 2.0
texture_margin_bottom = 2.0
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_5mw2n"]
texture = ExtResource("2_8b8gk")
texture_margin_left = 2.0
texture_margin_top = 2.0
texture_margin_right = 2.0
texture_margin_bottom = 2.0
[node name="Parts" type="MarginContainer" groups=["EditorTabs"]]
offset_right = 24.0
offset_bottom = 24.0
focus_mode = 2
mouse_filter = 2
theme_override_constants/margin_left = 0
script = ExtResource("1_8b8gk")
icon = SubResource("AtlasTexture_5mw2n")
title = "Parts"
[node name="Panel" type="Panel" parent="."]
layout_mode = 2
mouse_filter = 2
theme_override_styles/panel = ExtResource("2_sup1d")
[node name="Selected" type="Panel" parent="."]
visible = false
layout_mode = 2
mouse_filter = 2
theme_override_styles/panel = SubResource("StyleBoxTexture_wt4vx")
[node name="Button" type="Button" parent="."]
layout_mode = 2
theme_override_styles/normal = SubResource("StyleBoxTexture_qebwb")
theme_override_styles/pressed = SubResource("StyleBoxTexture_qebwb")
theme_override_styles/hover = SubResource("StyleBoxTexture_qebwb")
theme_override_styles/focus = SubResource("StyleBoxTexture_5mw2n")
flat = true
[node name="HBoxContainer" type="HBoxContainer" parent="."]
layout_mode = 2
mouse_filter = 2
theme_override_constants/separation = -4
[node name="TextureRect" type="TextureRect" parent="HBoxContainer"]
custom_minimum_size = Vector2(24, 0)
layout_mode = 2
mouse_filter = 2
texture = SubResource("AtlasTexture_5mw2n")
stretch_mode = 3
[node name="Label" type="Label" parent="HBoxContainer"]
visible = false
layout_mode = 2
theme_override_colors/font_shadow_color = Color(0.96862745, 0.22352941, 0.0627451, 1)
text = "Parts"
uppercase = true
[connection signal="focus_entered" from="." to="." method="tab_clicked"]
[connection signal="pressed" from="Button" to="." method="tab_clicked"]

View File

@@ -0,0 +1,20 @@
[gd_scene load_steps=4 format=3 uid="uid://dvpfo3flk1efm"]
[ext_resource type="Script" uid="uid://b41sx3mmdq1pi" path="res://Scripts/Parts/MinusWorldBlock.gd" id="1_b4qvh"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_06uwf"]
size = Vector2(16, 16)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_b4qvh"]
[node name="StaticBody2D" type="StaticBody2D"]
collision_mask = 0
script = ExtResource("1_b4qvh")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_06uwf")
[node name="Area2D" type="Area2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
shape = SubResource("RectangleShape2D_b4qvh")

54
Scenes/Parts/OneUpNote.tscn Executable file
View File

@@ -0,0 +1,54 @@
[gd_scene load_steps=8 format=3 uid="uid://dopxwjj37gu0l"]
[ext_resource type="PackedScene" uid="uid://b5feqg7nwyety" path="res://Scenes/Parts/ScoreNote.tscn" id="1_t77qk"]
[ext_resource type="Texture2D" uid="uid://b2674tr54wqw7" path="res://Assets/Sprites/UI/OneUpNote.png" id="2_btd7m"]
[ext_resource type="Script" uid="uid://cq6f682453q6o" path="res://Scripts/Classes/Components/ResourceSetter.gd" id="3_inlc1"]
[ext_resource type="Shader" uid="uid://x7lh23cq2u38" path="res://Scenes/Parts/ShadowShader.gdshader" id="3_xovp3"]
[ext_resource type="Script" uid="uid://cmvlgsjmsk0v5" path="res://Scripts/Classes/Resources/ThemedResource.gd" id="4_xovp3"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_q33f0"]
shader = ExtResource("3_xovp3")
shader_parameter/shadow_colour = Vector4(0, 0, 0, 1)
shader_parameter/allow_transparency = true
[sub_resource type="Resource" id="Resource_q33f0"]
script = ExtResource("4_xovp3")
Overworld = ExtResource("2_btd7m")
metadata/_custom_type_script = "uid://cmvlgsjmsk0v5"
[node name="ScoreNote" instance=ExtResource("1_t77qk")]
visibility_layer = 2
[node name="Label" parent="Container" index="0"]
visible = false
[node name="TextureRect" type="TextureRect" parent="Container" index="1"]
layout_mode = 2
texture = ExtResource("2_btd7m")
[node name="TextureRect2" type="TextureRect" parent="Container/TextureRect" index="0"]
show_behind_parent = true
material = SubResource("ShaderMaterial_q33f0")
layout_mode = 0
offset_left = 1.0
offset_top = 1.0
offset_right = 17.0
offset_bottom = 9.0
texture = ExtResource("2_btd7m")
[node name="ResourceSetter" type="Node" parent="Container/TextureRect/TextureRect2" index="0" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_inlc1")
node_to_affect = NodePath("..")
property_name = "texture"
themed_resource = SubResource("Resource_q33f0")
metadata/_custom_type_script = "uid://cq6f682453q6o"
[node name="ResourceSetter" type="Node" parent="Container/TextureRect" index="1" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_inlc1")
node_to_affect = NodePath("..")
property_name = "texture"
themed_resource = SubResource("Resource_q33f0")
metadata/_custom_type_script = "uid://cq6f682453q6o"
[node name="TextShadowColourChanger" parent="." index="2" node_paths=PackedStringArray("shadow_node")]
shadow_node = NodePath("../Container/TextureRect/TextureRect2")

View File

@@ -0,0 +1,88 @@
[gd_scene load_steps=5 format=3 uid="uid://cyw7kk1em8h16"]
[ext_resource type="Script" uid="uid://f50767fxajwh" path="res://Scripts/Parts/BlockDestructionParticles.gd" id="1_amyt7"]
[ext_resource type="Texture2D" uid="uid://dt0qtxu2l646n" path="res://Assets/Sprites/Tilesets/Terrain/Overworld.png" id="2_8gw0u"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_8gw0u"]
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/Terrain/TerrainTiles.json" id="4_8gw0u"]
[node name="BlockDestructionParticles" type="Node2D"]
z_index = 5
script = ExtResource("1_amyt7")
[node name="TL" type="Node2D" parent="."]
position = Vector2(-4, -4)
[node name="Sprite" type="Sprite2D" parent="TL"]
texture = ExtResource("2_8gw0u")
region_enabled = true
region_rect = Rect2(0, 160, 16, 16)
region_filter_clip_enabled = true
[node name="ResourceSetterNew" type="Node" parent="TL/Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_8gw0u")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("4_8gw0u")
use_cache = false
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="TR" type="Node2D" parent="."]
position = Vector2(4, -4)
[node name="Sprite" type="Sprite2D" parent="TR"]
texture = ExtResource("2_8gw0u")
region_enabled = true
region_rect = Rect2(0, 160, 16, 16)
region_filter_clip_enabled = true
[node name="ResourceSetterNew" type="Node" parent="TR/Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_8gw0u")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("4_8gw0u")
use_cache = false
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="BL" type="Node2D" parent="."]
position = Vector2(-4, 4)
[node name="Sprite" type="Sprite2D" parent="BL"]
texture = ExtResource("2_8gw0u")
region_enabled = true
region_rect = Rect2(0, 160, 16, 16)
region_filter_clip_enabled = true
[node name="ResourceSetterNew" type="Node" parent="BL/Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_8gw0u")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("4_8gw0u")
use_cache = false
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="BR" type="Node2D" parent="."]
position = Vector2(4, 4)
[node name="Sprite" type="Sprite2D" parent="BR"]
texture = ExtResource("2_8gw0u")
region_enabled = true
region_rect = Rect2(0, 160, 16, 16)
region_filter_clip_enabled = true
[node name="ResourceSetterNew" type="Node" parent="BR/Sprite" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_8gw0u")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("4_8gw0u")
use_cache = false
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Timer" type="Timer" parent="."]
wait_time = 3.0
autostart = true
[connection signal="timeout" from="Timer" to="." method="queue_free"]

View File

@@ -0,0 +1,74 @@
[gd_scene load_steps=5 format=3 uid="uid://cnoc8w00gkwba"]
[ext_resource type="Script" uid="uid://f50767fxajwh" path="res://Scripts/Parts/BlockDestructionParticles.gd" id="1_grxvh"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="2_3y2s4"]
[ext_resource type="JSON" path="res://Assets/Sprites/Particles/IcicleDestructionParticles.json" id="3_rw0un"]
[sub_resource type="AtlasTexture" id="AtlasTexture_8gw0u"]
region = Rect2(0, 0, 8, 8)
[node name="BlockDestructionParticles" type="Node2D"]
z_index = 5
script = ExtResource("1_grxvh")
[node name="TL" type="Node2D" parent="."]
position = Vector2(-4, -4)
[node name="Sprite" type="Sprite2D" parent="TL"]
texture = SubResource("AtlasTexture_8gw0u")
[node name="ResourceSetter" type="Node" parent="TL" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("2_3y2s4")
node_to_affect = NodePath("../Sprite")
property_name = "texture"
mode = 1
resource_json = ExtResource("3_rw0un")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="TR" type="Node2D" parent="."]
position = Vector2(4, -4)
[node name="Sprite" type="Sprite2D" parent="TR"]
texture = SubResource("AtlasTexture_8gw0u")
[node name="ResourceSetter" type="Node" parent="TR" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("2_3y2s4")
node_to_affect = NodePath("../Sprite")
property_name = "texture"
mode = 1
resource_json = ExtResource("3_rw0un")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="BL" type="Node2D" parent="."]
position = Vector2(-4, 4)
[node name="Sprite" type="Sprite2D" parent="BL"]
texture = SubResource("AtlasTexture_8gw0u")
[node name="ResourceSetter" type="Node" parent="BL" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("2_3y2s4")
node_to_affect = NodePath("../Sprite")
property_name = "texture"
mode = 1
resource_json = ExtResource("3_rw0un")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="BR" type="Node2D" parent="."]
position = Vector2(4, 4)
[node name="Sprite" type="Sprite2D" parent="BR"]
texture = SubResource("AtlasTexture_8gw0u")
[node name="ResourceSetter" type="Node" parent="BR" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("2_3y2s4")
node_to_affect = NodePath("../Sprite")
property_name = "texture"
mode = 1
resource_json = ExtResource("3_rw0un")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Timer" type="Timer" parent="."]
wait_time = 3.0
autostart = true
[connection signal="timeout" from="Timer" to="." method="queue_free"]

View File

@@ -0,0 +1,68 @@
[gd_scene load_steps=8 format=3 uid="uid://dkgu57is78lro"]
[ext_resource type="Texture2D" uid="uid://c8yio3lpcsvqu" path="res://Assets/Sprites/UI/PipeArrow.png" id="1_5qh6k"]
[ext_resource type="Script" uid="uid://bqqbvhchdvhyv" path="res://Scripts/Classes/Entities/PipeArea.gd" id="1_w8y82"]
[ext_resource type="Script" uid="uid://ctfbuoxtnnl0q" path="res://Scripts/Classes/Components/EditorPropertyExposer.gd" id="3_0pvle"]
[ext_resource type="Texture2D" uid="uid://dlldh5aks0wff" path="res://Assets/Sprites/Editor/GhostTile.png" id="3_4vmio"]
[ext_resource type="PackedScene" uid="uid://dse5pwhodrqcr" path="res://Scenes/Prefabs/Editor/EditorProperties/TilePropertyIntRangeSpin.tscn" id="4_g36rp"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_lv0oh"]
size = Vector2(16, 16)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_5qh6k"]
size = Vector2(4, 4)
[node name="PipeArea" type="Node2D" groups=["Pipes"]]
script = ExtResource("1_w8y82")
target_level = "uid://gbcmqonky63j"
[node name="Visual" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_lv0oh")
debug_color = Color(0, 0.6, 0, 0.419608)
[node name="Hitbox" type="Area2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
shape = SubResource("RectangleShape2D_5qh6k")
[node name="ArrowJoint" type="Node2D" parent="."]
[node name="Arrow" type="Sprite2D" parent="ArrowJoint"]
position = Vector2(0, -8)
texture = ExtResource("1_5qh6k")
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="ArrowJoint"]
position = Vector2(0, 8)
remote_path = NodePath("../../Node2D")
update_rotation = false
update_scale = false
[node name="TargetPoint" type="Node2D" parent="ArrowJoint"]
position = Vector2(0, 32)
[node name="Node2D" type="Node2D" parent="."]
z_index = 50
z_as_relative = false
position = Vector2(-3.496911e-07, 8)
[node name="CenterContainer" type="CenterContainer" parent="Node2D"]
use_top_left = true
[node name="Label" type="Label" parent="Node2D/CenterContainer"]
layout_mode = 2
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
text = "0"
[node name="ColorRect" type="TextureRect" parent="Node2D"]
show_behind_parent = true
offset_left = -16.0
offset_top = -8.0
offset_bottom = 8.0
texture = ExtResource("3_4vmio")
[node name="EditorPropertyExposer" type="Node" parent="."]
script = ExtResource("3_0pvle")
properties = Array[String](["enter_direction", "pipe_id", "target_sub_level", "exit_only"])
properties_force_selector = Dictionary[String, PackedScene]({
"pipe_id": ExtResource("4_g36rp")
})

View File

@@ -0,0 +1,38 @@
[gd_scene load_steps=6 format=3 uid="uid://dcilapu1q4pgk"]
[ext_resource type="Shader" uid="uid://dic2q1vuqqxce" path="res://Scenes/Parts/colour_palette.gdshader" id="1_4tvwn"]
[ext_resource type="Script" uid="uid://bt8mlibikh6ah" path="res://Scripts/Parts/PostProcessingNode.gd" id="1_enso0"]
[ext_resource type="Texture2D" uid="uid://cmsts1l0f8es7" path="res://Assets/Sprites/NESNTSC.png" id="2_enso0"]
[ext_resource type="PackedScene" uid="uid://cinr6kcbmo6gr" path="res://Scenes/Parts/DropShadowRenderer.tscn" id="3_r14f3"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_wyqk4"]
shader = ExtResource("1_4tvwn")
shader_parameter/palette_texture = ExtResource("2_enso0")
shader_parameter/shadow_colour = Color(0, 0, 0, 1)
shader_parameter/y_offset = 1.0
shader_parameter/palette_size = 64
shader_parameter/is_debug = false
[node name="PostProcessingNode" type="Node"]
script = ExtResource("1_enso0")
[node name="CanvasLayer" type="CanvasLayer" parent="."]
[node name="ColorRect" type="ColorRect" parent="CanvasLayer"]
unique_name_in_owner = true
visibility_layer = 2
z_index = 4096
z_as_relative = false
material = SubResource("ShaderMaterial_wyqk4")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -2728.0
offset_top = -1328.0
offset_right = 7271.0
offset_bottom = 98671.0
grow_horizontal = 2
grow_vertical = 2
color = Color(1, 1, 1, 0)
[node name="DropShadow" parent="." instance=ExtResource("3_r14f3")]

View File

@@ -0,0 +1,49 @@
[gd_scene load_steps=8 format=3 uid="uid://c5ea03ob6ncq7"]
[ext_resource type="Script" uid="uid://cu43fwblwup82" path="res://Scripts/UI/ResourcePackConfigOptionNode.gd" id="1_dgc7v"]
[ext_resource type="Texture2D" uid="uid://3p2l7rec0gh5" path="res://Assets/Sprites/UI/Cursor.png" id="2_p6kha"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_ru6uv"]
[ext_resource type="JSON" path="res://Assets/Sprites/UI/Cursor.json" id="4_7f2hm"]
[ext_resource type="Script" uid="uid://co6tjg3w6qpd8" path="res://Scripts/Parts/LabelFontChanger.gd" id="5_s1byh"]
[ext_resource type="Resource" uid="uid://8dcuxbc3h2u2" path="res://Resources/ThemedResources/Font.tres" id="6_aqhx3"]
[sub_resource type="AtlasTexture" id="AtlasTexture_qti1l"]
atlas = ExtResource("2_p6kha")
region = Rect2(0, 0, 8, 8)
[node name="PackOptionNode" type="HBoxContainer"]
offset_right = 253.0
offset_bottom = 8.0
theme_override_constants/separation = 0
script = ExtResource("1_dgc7v")
[node name="Cursor" type="TextureRect" parent="."]
layout_mode = 2
texture = SubResource("AtlasTexture_qti1l")
stretch_mode = 3
[node name="ResourceSetter" type="Node" parent="Cursor" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_ru6uv")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("4_7f2hm")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Title" type="Label" parent="."]
layout_mode = 2
size_flags_horizontal = 3
text = "mode:"
uppercase = true
[node name="Value" type="Label" parent="."]
layout_mode = 2
size_flags_horizontal = 10
text = "◄windowed►"
uppercase = true
[node name="LabelFontChanger" type="Node" parent="." node_paths=PackedStringArray("labels")]
script = ExtResource("5_s1byh")
labels = [NodePath("../Title"), NodePath("../Value")]
resource = ExtResource("6_aqhx3")
metadata/_custom_type_script = "uid://co6tjg3w6qpd8"

View File

@@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://bh2jvsv1dluwe"]
[ext_resource type="Script" uid="uid://dcx77vdfvwq4y" path="res://Scripts/Parts/ResourcePackTemplateCreator.gd" id="1_xmawd"]
[node name="ResourcePackTemplateCreator" type="Node"]
script = ExtResource("1_xmawd")

117
Scenes/Parts/ScoreNote.tscn Normal file
View File

@@ -0,0 +1,117 @@
[gd_scene load_steps=6 format=3 uid="uid://b5feqg7nwyety"]
[ext_resource type="FontVariation" uid="uid://cflgloiossd8a" path="res://Resources/ThemedResources/ScoreFont.tres" id="1_il157"]
[ext_resource type="Script" uid="uid://dt2p68xl462v2" path="res://Scripts/Parts/TextShadowColourChanger.gd" id="2_il157"]
[sub_resource type="Animation" id="Animation_qwh6q"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("..:modulate")
tracks/1/interp = 0
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_il157"]
resource_name = "Rise"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(0, -32)]
}
tracks/1/type = "method"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("..")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.53333336),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"queue_free"
}]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("..:modulate")
tracks/2/interp = 0
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.4, 0.5),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
}
tracks/3/type = "method"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("../..")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(),
"transitions": PackedFloat32Array(),
"values": []
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_uog6q"]
_data = {
&"RESET": SubResource("Animation_qwh6q"),
&"Rise": SubResource("Animation_il157")
}
[node name="ScoreNote" type="Node2D"]
process_mode = 3
z_index = 50
z_as_relative = false
[node name="Container" type="CenterContainer" parent="."]
use_top_left = true
[node name="Label" type="Label" parent="Container"]
visibility_layer = 2
layout_mode = 2
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
theme_override_fonts/font = ExtResource("1_il157")
text = "8"
[node name="Animation" type="AnimationPlayer" parent="."]
root_node = NodePath("../Container")
libraries = {
&"": SubResource("AnimationLibrary_uog6q")
}
autoplay = "Rise"
speed_scale = 0.7
[node name="TextShadowColourChanger" type="Node" parent="." node_paths=PackedStringArray("labels")]
script = ExtResource("2_il157")
labels = [NodePath("../Container/Label")]
metadata/_custom_type_script = "uid://dt2p68xl462v2"

View File

@@ -0,0 +1,53 @@
[gd_scene load_steps=8 format=3 uid="uid://bflpf2fdtbgkt"]
[ext_resource type="Script" uid="uid://w6t6q5vfow5p" path="res://Scripts/UI/SelectableInputOptionNode.gd" id="1_74gxt"]
[ext_resource type="Texture2D" uid="uid://3p2l7rec0gh5" path="res://Assets/Sprites/UI/Cursor.png" id="2_voltx"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_voltx"]
[ext_resource type="JSON" path="res://Assets/Sprites/UI/Cursor.json" id="4_q1ixt"]
[ext_resource type="Script" uid="uid://co6tjg3w6qpd8" path="res://Scripts/Parts/LabelFontChanger.gd" id="5_voltx"]
[ext_resource type="Resource" uid="uid://8dcuxbc3h2u2" path="res://Resources/ThemedResources/Font.tres" id="6_q1ixt"]
[sub_resource type="AtlasTexture" id="AtlasTexture_qti1l"]
atlas = ExtResource("2_voltx")
region = Rect2(0, 0, 8, 8)
[node name="SelectableOptionNode" type="HBoxContainer"]
theme_override_constants/separation = 0
script = ExtResource("1_74gxt")
settings_category = "keyboard"
[node name="Cursor" type="TextureRect" parent="."]
layout_mode = 2
texture = SubResource("AtlasTexture_qti1l")
stretch_mode = 3
[node name="ResourceSetter" type="Node" parent="Cursor" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_voltx")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("4_q1ixt")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Title" type="Label" parent="."]
layout_mode = 2
text = "action:"
uppercase = true
[node name="Value" type="Label" parent="."]
layout_mode = 2
size_flags_horizontal = 10
text = "press any.."
uppercase = true
[node name="Timer" type="Timer" parent="."]
wait_time = 3.0
one_shot = true
[node name="LabelFontChanger" type="Node" parent="." node_paths=PackedStringArray("labels")]
script = ExtResource("5_voltx")
labels = [NodePath("../Title"), NodePath("../Value")]
resource = ExtResource("6_q1ixt")
metadata/_custom_type_script = "uid://co6tjg3w6qpd8"
[connection signal="timeout" from="Timer" to="." method="cancel_remap"]

View File

@@ -0,0 +1,47 @@
[gd_scene load_steps=7 format=3 uid="uid://bmn81e10obpjv"]
[ext_resource type="Script" uid="uid://c8xv30jxw6uum" path="res://Scripts/UI/SelectableLabel.gd" id="1_bg4p8"]
[ext_resource type="Texture2D" uid="uid://3p2l7rec0gh5" path="res://Assets/Sprites/UI/Cursor.png" id="2_rfswy"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_tbqr7"]
[ext_resource type="JSON" path="res://Assets/Sprites/UI/Cursor.json" id="4_2podj"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_bg4p8"]
[sub_resource type="AtlasTexture" id="AtlasTexture_wit67"]
atlas = ExtResource("2_rfswy")
region = Rect2(0, 0, 8, 8)
[node name="SelectableLabel" type="Label"]
offset_right = 40.0
offset_bottom = 16.0
focus_mode = 2
theme_override_styles/focus = SubResource("StyleBoxEmpty_bg4p8")
text = "adada"
uppercase = true
script = ExtResource("1_bg4p8")
[node name="Cursor" type="TextureRect" parent="."]
visible = false
layout_mode = 1
anchors_preset = -1
anchor_top = 0.5
anchor_bottom = 0.5
offset_left = -6.0
offset_top = -4.0
offset_bottom = 4.0
grow_vertical = 2
texture = SubResource("AtlasTexture_wit67")
[node name="ResourceSetterNew" type="Node" parent="Cursor" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_tbqr7")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("4_2podj")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[connection signal="focus_entered" from="." to="Cursor" method="show"]
[connection signal="focus_entered" from="." to="." method="toggle_process" binds= [true]]
[connection signal="focus_exited" from="." to="Cursor" method="hide"]
[connection signal="focus_exited" from="." to="." method="toggle_process" binds= [false]]
[connection signal="ready" from="." to="." method="toggle_process" binds= [false]]

View File

@@ -0,0 +1,43 @@
[gd_scene load_steps=8 format=3 uid="uid://bhaekyi2jfwok"]
[ext_resource type="Script" uid="uid://b8vx7oox0ca8p" path="res://Scripts/UI/SelectableOptionButton.gd" id="1_fm273"]
[ext_resource type="Texture2D" uid="uid://3p2l7rec0gh5" path="res://Assets/Sprites/UI/Cursor.png" id="2_ixmqv"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_flns2"]
[ext_resource type="JSON" path="res://Assets/Sprites/UI/Cursor.json" id="4_hus4q"]
[ext_resource type="Script" uid="uid://co6tjg3w6qpd8" path="res://Scripts/Parts/LabelFontChanger.gd" id="5_flns2"]
[ext_resource type="Resource" uid="uid://8dcuxbc3h2u2" path="res://Resources/ThemedResources/Font.tres" id="6_hus4q"]
[sub_resource type="AtlasTexture" id="AtlasTexture_qti1l"]
atlas = ExtResource("2_ixmqv")
region = Rect2(0, 0, 8, 8)
[node name="SelectableOptionNode" type="HBoxContainer"]
offset_right = 253.0
offset_bottom = 8.0
theme_override_constants/separation = 0
script = ExtResource("1_fm273")
[node name="Cursor" type="TextureRect" parent="."]
layout_mode = 2
texture = SubResource("AtlasTexture_qti1l")
stretch_mode = 3
[node name="ResourceSetter" type="Node" parent="Cursor" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_flns2")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("4_hus4q")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Title" type="Label" parent="."]
layout_mode = 2
size_flags_horizontal = 3
text = "mode:"
uppercase = true
[node name="LabelFontChanger" type="Node" parent="." node_paths=PackedStringArray("labels")]
script = ExtResource("5_flns2")
labels = [NodePath("../Title")]
resource = ExtResource("6_hus4q")
metadata/_custom_type_script = "uid://co6tjg3w6qpd8"

View File

@@ -0,0 +1,61 @@
[gd_scene load_steps=9 format=3 uid="uid://ctw1isl6cmayh"]
[ext_resource type="Script" uid="uid://d0tcqr0x101j" path="res://Scripts/UI/SelectableOptionLabel.gd" id="1_o5udk"]
[ext_resource type="Texture2D" uid="uid://3p2l7rec0gh5" path="res://Assets/Sprites/UI/Cursor.png" id="2_o5udk"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_7ee3v"]
[ext_resource type="JSON" path="res://Assets/Sprites/UI/Cursor.json" id="4_a8eby"]
[ext_resource type="Script" uid="uid://co6tjg3w6qpd8" path="res://Scripts/Parts/LabelFontChanger.gd" id="5_7ee3v"]
[ext_resource type="Resource" uid="uid://8dcuxbc3h2u2" path="res://Resources/ThemedResources/Font.tres" id="6_a8eby"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_bg4p8"]
[sub_resource type="AtlasTexture" id="AtlasTexture_wit67"]
atlas = ExtResource("2_o5udk")
region = Rect2(0, 0, 8, 8)
[node name="SelectableOptionLabel" type="HBoxContainer"]
offset_right = 184.0
offset_bottom = 16.0
focus_mode = 2
theme_override_constants/separation = -8
script = ExtResource("1_o5udk")
[node name="Title" type="Label" parent="."]
layout_mode = 2
theme_override_styles/focus = SubResource("StyleBoxEmpty_bg4p8")
text = "adada:"
uppercase = true
[node name="Cursor" type="TextureRect" parent="Title"]
layout_mode = 1
anchors_preset = -1
anchor_top = 0.5
anchor_bottom = 0.5
offset_left = -6.0
offset_top = -4.0
offset_bottom = 4.0
grow_vertical = 2
texture = SubResource("AtlasTexture_wit67")
[node name="ResourceSetterNew" type="Node" parent="Title/Cursor" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_7ee3v")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("4_a8eby")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Value" type="Label" parent="."]
layout_mode = 2
size_flags_horizontal = 8
text = "◄aduhauda►"
uppercase = true
[node name="LabelFontChanger" type="Node" parent="." node_paths=PackedStringArray("labels")]
script = ExtResource("5_7ee3v")
labels = [NodePath("../Title"), NodePath("../Value")]
resource = ExtResource("6_a8eby")
metadata/_custom_type_script = "uid://co6tjg3w6qpd8"
[connection signal="focus_entered" from="." to="." method="set_selected" binds= [true]]
[connection signal="focus_exited" from="." to="." method="set_selected" binds= [false]]

View File

@@ -0,0 +1,97 @@
[gd_scene load_steps=8 format=3 uid="uid://dbvy0rhwpv4w4"]
[ext_resource type="Script" uid="uid://vm4py6u87p6d" path="res://Scripts/UI/SelectableOptionNode.gd" id="1_qeqfu"]
[ext_resource type="Texture2D" uid="uid://3p2l7rec0gh5" path="res://Assets/Sprites/UI/Cursor.png" id="1_r2b5m"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_on6n3"]
[ext_resource type="JSON" path="res://Assets/Sprites/UI/Cursor.json" id="4_mljen"]
[ext_resource type="Script" uid="uid://d63p6qr5a748" path="res://Scripts/UI/AutoScrollContainer.gd" id="5_mljen"]
[ext_resource type="Script" uid="uid://co6tjg3w6qpd8" path="res://Scripts/Parts/LabelFontChanger.gd" id="5_on6n3"]
[sub_resource type="AtlasTexture" id="AtlasTexture_qti1l"]
atlas = ExtResource("1_r2b5m")
region = Rect2(0, 0, 8, 8)
[node name="SelectableOptionNode" type="HBoxContainer"]
offset_right = 253.0
offset_bottom = 8.0
focus_mode = 2
theme_override_constants/separation = 0
script = ExtResource("1_qeqfu")
[node name="Cursor" type="Control" parent="."]
custom_minimum_size = Vector2(8, 0)
layout_mode = 2
[node name="Cursor" type="TextureRect" parent="Cursor"]
layout_mode = 0
offset_top = 4.0
offset_right = 8.0
offset_bottom = 12.0
texture = SubResource("AtlasTexture_qti1l")
stretch_mode = 2
[node name="ResourceSetter" type="Node" parent="Cursor/Cursor" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_on6n3")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("4_mljen")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="AutoScrollContainer" type="ScrollContainer" parent="."]
layout_mode = 2
size_flags_horizontal = 3
horizontal_scroll_mode = 3
vertical_scroll_mode = 0
script = ExtResource("5_mljen")
metadata/_custom_type_script = "uid://d63p6qr5a748"
[node name="Title" type="Label" parent="AutoScrollContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
text = "modeadpiawjda:"
uppercase = true
[node name="LabelFontChanger" type="Node" parent="." node_paths=PackedStringArray("labels")]
script = ExtResource("5_on6n3")
labels = [NodePath("../AutoScrollContainer/Title"), NodePath("../HBoxContainer/AutoScrollContainer2/Value")]
metadata/_custom_type_script = "uid://co6tjg3w6qpd8"
[node name="HBoxContainer" type="HBoxContainer" parent="."]
layout_mode = 2
theme_override_constants/separation = -4
[node name="LeftArrow" type="Label" parent="HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "◄"
uppercase = true
[node name="AutoScrollContainer2" type="ScrollContainer" parent="HBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(56, 0)
layout_mode = 2
horizontal_scroll_mode = 3
vertical_scroll_mode = 0
script = ExtResource("5_mljen")
is_active = true
auto_minimum_resize = true
metadata/_custom_type_script = "uid://d63p6qr5a748"
[node name="Value" type="Label" parent="HBoxContainer/AutoScrollContainer2"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 10
text = "aaaaaa"
horizontal_alignment = 1
uppercase = true
[node name="RightArrow" type="Label" parent="HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "►"
uppercase = true
[connection signal="focus_entered" from="." to="." method="set_selected" binds= [true]]
[connection signal="focus_exited" from="." to="." method="set_selected" binds= [false]]

View File

@@ -0,0 +1,66 @@
[gd_scene load_steps=10 format=3 uid="uid://dtiqcfrw110kd"]
[ext_resource type="Script" uid="uid://cufb1mxff7b8f" path="res://Scripts/UI/SelectableSliderNode.gd" id="1_ro726"]
[ext_resource type="Texture2D" uid="uid://3p2l7rec0gh5" path="res://Assets/Sprites/UI/Cursor.png" id="2_rggaq"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_5rt0a"]
[ext_resource type="JSON" path="res://Assets/Sprites/UI/Cursor.json" id="4_b21k4"]
[ext_resource type="AudioStream" uid="uid://drs3md0tuek2w" path="res://Assets/Audio/SFX/Beep.wav" id="4_rggaq"]
[ext_resource type="Script" uid="uid://d63p6qr5a748" path="res://Scripts/UI/AutoScrollContainer.gd" id="5_b21k4"]
[ext_resource type="Script" uid="uid://co6tjg3w6qpd8" path="res://Scripts/Parts/LabelFontChanger.gd" id="6_5rt0a"]
[ext_resource type="Resource" uid="uid://8dcuxbc3h2u2" path="res://Resources/ThemedResources/Font.tres" id="7_b21k4"]
[sub_resource type="AtlasTexture" id="AtlasTexture_vnuis"]
atlas = ExtResource("2_rggaq")
region = Rect2(0, 0, 8, 8)
[node name="SelectableOptionNode" type="HBoxContainer"]
offset_right = 256.0
offset_bottom = 16.0
size_flags_horizontal = 3
theme_override_constants/separation = 0
script = ExtResource("1_ro726")
selected = true
[node name="Cursor" type="TextureRect" parent="."]
layout_mode = 2
texture = SubResource("AtlasTexture_vnuis")
stretch_mode = 3
[node name="ResourceSetter" type="Node" parent="Cursor" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_5rt0a")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("4_b21k4")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="AutoScrollContainer" type="ScrollContainer" parent="."]
layout_mode = 2
size_flags_horizontal = 3
horizontal_scroll_mode = 3
vertical_scroll_mode = 0
script = ExtResource("5_b21k4")
metadata/_custom_type_script = "uid://d63p6qr5a748"
[node name="Title" type="Label" parent="AutoScrollContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "mode:"
uppercase = true
[node name="Value" type="Label" parent="."]
layout_mode = 2
size_flags_horizontal = 10
text = "◄├-----┼----┤►"
uppercase = true
[node name="SFX" type="AudioStreamPlayer" parent="."]
stream = ExtResource("4_rggaq")
volume_db = 10.0
bus = &"SFX"
[node name="LabelFontChanger" type="Node" parent="." node_paths=PackedStringArray("labels")]
script = ExtResource("6_5rt0a")
labels = [NodePath("../AutoScrollContainer/Title"), NodePath("../Value")]
resource = ExtResource("7_b21k4")
metadata/_custom_type_script = "uid://co6tjg3w6qpd8"

View File

@@ -0,0 +1,9 @@
shader_type canvas_item;
uniform vec4 shadow_colour;
uniform bool allow_transparency = true;
void fragment() {
COLOR = vec4(shadow_colour.r, shadow_colour.g, shadow_colour.b, COLOR.a * (shadow_colour.a * float(allow_transparency || COLOR.a == 1.0)));
}

View File

@@ -0,0 +1 @@
uid://x7lh23cq2u38

View File

@@ -0,0 +1,90 @@
[gd_scene load_steps=11 format=4 uid="uid://qn4g0qkjcuiy"]
[ext_resource type="Script" uid="uid://cdvxqkeqa7en5" path="res://Scripts/Parts/CastleVisual.gd" id="1_oxmfh"]
[ext_resource type="Texture2D" uid="uid://dt0qtxu2l646n" path="res://Assets/Sprites/Tilesets/Terrain/Overworld.png" id="2_tt5sy"]
[ext_resource type="Script" uid="uid://73oviwf6bbys" path="res://Scripts/Classes/Components/TilesetTextureSetter.gd" id="2_ulvy5"]
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/Terrain/TerrainTiles.json" id="5_my1op"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="7_vjwyw"]
[ext_resource type="JSON" path="res://Assets/Sprites/Tilesets/SmallCastle.json" id="8_tt5sy"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_80q5s"]
texture = ExtResource("2_tt5sy")
5:10/0 = 0
6:10/0 = 0
6:7/0 = 0
7:7/0 = 0
3:10/0 = 0
4:10/0 = 0
[sub_resource type="TileSet" id="TileSet_0n6c4"]
sources/0 = SubResource("TileSetAtlasSource_80q5s")
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_oxmfh"]
texture = ExtResource("2_tt5sy")
texture_region_size = Vector2i(8, 8)
5:10/0 = 0
6:10/0 = 0
7:10/0 = 0
8:10/0 = 0
6:7/0 = 0
7:7/0 = 0
7:20/0 = 0
[sub_resource type="TileSet" id="TileSet_vjwyw"]
tile_size = Vector2i(8, 8)
sources/0 = SubResource("TileSetAtlasSource_oxmfh")
[node name="SmallCastleVisual" type="Node2D" node_paths=PackedStringArray("sprite")]
process_mode = 3
z_index = -5
script = ExtResource("1_oxmfh")
sprite = NodePath("Sprite")
[node name="Tiles" type="TileMapLayer" parent="."]
position = Vector2(-8, 8)
tile_map_data = PackedByteArray("AAD+////AAAGAAcAAAD+/wAAAAAHAAcAAAD+/wEAAAAHAAcAAAD///7/AAADAAoAAAD/////AAAFAAoAAAD//wAAAAAHAAcAAAD//wEAAAAHAAcAAAAAAP7/AAAHAAcAAAAAAP//AAAFAAoAAAAAAAAAAAAGAAoAAAABAP7/AAAEAAoAAAABAP//AAAFAAoAAAABAAAAAAAHAAcAAAABAAEAAAAHAAcAAAACAP//AAAGAAcAAAACAAAAAAAHAAcAAAACAAEAAAAHAAcAAAD///3/AAAGAAcAAAAAAP3/AAAGAAcAAAABAP3/AAAGAAcAAAA=")
tile_set = SubResource("TileSet_0n6c4")
[node name="TilesetTextureSetter" type="Node" parent="Tiles" node_paths=PackedStringArray("tile_map")]
script = ExtResource("2_ulvy5")
tile_map = NodePath("..")
metadata/_custom_type_script = "uid://73oviwf6bbys"
[node name="ResourceSetterNew" type="Node" parent="Tiles/TilesetTextureSetter" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("7_vjwyw")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("5_my1op")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="BG" type="TileMapLayer" parent="Tiles"]
show_behind_parent = true
tile_map_data = PackedByteArray("AAAAAAAAAAAHABQAAAAAAAEAAAAHABQAAAAAAAIAAAAHABQAAAAAAAMAAAAHABQAAAABAAAAAAAHABQAAAABAAEAAAAHABQAAAABAAIAAAAHABQAAAABAAMAAAAHABQAAAA=")
tile_set = SubResource("TileSet_vjwyw")
[node name="TilesetTextureSetter" type="Node" parent="Tiles/BG" node_paths=PackedStringArray("tile_map")]
script = ExtResource("2_ulvy5")
tile_map = NodePath("..")
metadata/_custom_type_script = "uid://73oviwf6bbys"
[node name="ResourceSetterNew" type="Node" parent="Tiles/BG/TilesetTextureSetter" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("7_vjwyw")
node_to_affect = NodePath("..")
property_name = "texture"
mode = 1
resource_json = ExtResource("5_my1op")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="Sprite" type="Sprite2D" parent="."]
hframes = 2
region_rect = Rect2(0, 0, 80, 80)
[node name="ResourceSetterNew" type="Node" parent="Sprite" node_paths=PackedStringArray("node_to_affect", "property_node")]
script = ExtResource("7_vjwyw")
node_to_affect = NodePath("..")
property_node = NodePath("../..")
property_name = "texture"
mode = 1
resource_json = ExtResource("8_tt5sy")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"

9
Scenes/Parts/StartCastle.tscn Executable file
View File

@@ -0,0 +1,9 @@
[gd_scene load_steps=2 format=3 uid="uid://githt8ci1xal"]
[ext_resource type="PackedScene" uid="uid://qn4g0qkjcuiy" path="res://Scenes/Parts/SmallCastleVisual.tscn" id="1_ntu57"]
[node name="StartCastle" type="Node2D"]
self_modulate = Color(0.449099, 0.449099, 0.449099, 1)
z_index = -10
[node name="SmallCastleVisual" parent="." instance=ExtResource("1_ntu57")]

View File

@@ -0,0 +1,61 @@
[gd_scene load_steps=5 format=3 uid="uid://c6t324yc5gx7p"]
[ext_resource type="Script" uid="uid://cp4040k6fqwow" path="res://Scripts/Classes/Entities/TeleportPipeArea.gd" id="1_40l7q"]
[ext_resource type="Texture2D" uid="uid://c8yio3lpcsvqu" path="res://Assets/Sprites/UI/PipeArrow.png" id="2_fkbuh"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_lv0oh"]
size = Vector2(16, 16)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_5qh6k"]
size = Vector2(4, 4)
[node name="TeleportPipeArea" type="Node2D" groups=["Pipes"]]
script = ExtResource("1_40l7q")
[node name="Visual" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_lv0oh")
debug_color = Color(0, 0.6, 1, 0.419608)
[node name="Hitbox" type="Area2D" parent="."]
visible = false
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
shape = SubResource("RectangleShape2D_5qh6k")
[node name="ArrowJoint" type="Node2D" parent="."]
[node name="Arrow" type="Sprite2D" parent="ArrowJoint"]
position = Vector2(0, -8)
texture = ExtResource("2_fkbuh")
[node name="RemoteTransform2D" type="RemoteTransform2D" parent="ArrowJoint"]
position = Vector2(0, 8)
remote_path = NodePath("../../Node2D")
update_rotation = false
update_scale = false
[node name="TargetPoint" type="Node2D" parent="ArrowJoint"]
position = Vector2(0, 32)
[node name="Node2D" type="Node2D" parent="."]
position = Vector2(-3.496911e-07, 8)
[node name="CenterContainer" type="CenterContainer" parent="Node2D"]
use_top_left = true
[node name="Label" type="Label" parent="Node2D/CenterContainer"]
layout_mode = 2
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
text = "0"
[node name="CanvasLayer" type="CanvasLayer" parent="."]
layer = 2147483647
visible = false
[node name="ColorRect" type="ColorRect" parent="CanvasLayer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 1)

1857
Scenes/Parts/Tiles.tscn Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,22 @@
[gd_scene format=3 uid="uid://c0ndjh0wikbuw"]
[node name="ColorRect" type="ColorRect"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0, 1, 0, 1)
[node name="Label" type="Label" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
text = "smas pack - hot cross bun"
horizontal_alignment = 2
autowrap_mode = 2
uppercase = true

View File

@@ -0,0 +1,18 @@
[gd_scene load_steps=3 format=3 uid="uid://bhmlkk0b6od2o"]
[ext_resource type="PackedScene" uid="uid://dkgu57is78lro" path="res://Scenes/Parts/PipeArea.tscn" id="1_38i6l"]
[ext_resource type="Script" uid="uid://donxumox54nfo" path="res://Scripts/Parts/WarpPipeArea.gd" id="2_6mf6l"]
[node name="WarpPipeArea" instance=ExtResource("1_38i6l")]
script = ExtResource("2_6mf6l")
world_num = 1
level_num = 1
pipe_id = -1
target_level = "uid://ckpuxdilk5u0"
[node name="Visual" parent="." index="0"]
debug_color = Color(1, 0.6, 0, 0.419608)
[node name="Label" parent="Node2D/CenterContainer" index="0"]
text = "1-1"
horizontal_alignment = 1

View File

@@ -0,0 +1,11 @@
[gd_scene load_steps=2 format=3 uid="uid://b0peppjq7jrcp"]
[ext_resource type="Script" uid="uid://cm3twgvpdyjbw" path="res://Scripts/Parts/WarpZoneCameraLimit.gd" id="1_0xtta"]
[node name="WarpZoneCameraLimit" type="Node2D"]
process_mode = 4
script = ExtResource("1_0xtta")
[node name="VisibleOnScreenEnabler2D" type="VisibleOnScreenEnabler2D" parent="."]
[connection signal="screen_entered" from="VisibleOnScreenEnabler2D" to="." method="enter_screen"]

16
Scenes/Parts/WaterArea.tscn Executable file
View File

@@ -0,0 +1,16 @@
[gd_scene load_steps=3 format=3 uid="uid://e3wkbwtm7sh"]
[ext_resource type="Script" uid="uid://crsejaxbaluhf" path="res://Scripts/Parts/WaterArea.gd" id="1_u0i0t"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_rn8yh"]
resource_local_to_scene = true
size = Vector2(16, 16)
[node name="WaterArea" type="Area2D"]
z_index = 4096
z_as_relative = false
script = ExtResource("1_u0i0t")
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_rn8yh")
debug_color = Color(0, 0.6, 0.701961, 1)

44
Scenes/Parts/Wing.tscn Normal file
View File

@@ -0,0 +1,44 @@
[gd_scene load_steps=8 format=3 uid="uid://bupy7th8ln45c"]
[ext_resource type="Texture2D" uid="uid://tidb7wgqraj2" path="res://Assets/Sprites/Items/Wings.png" id="1_r7kgt"]
[ext_resource type="Script" uid="uid://caq1qiwmy0mox" path="res://Scripts/Parts/BetterAnimatedSprite.gd" id="2_io3xw"]
[ext_resource type="Script" uid="uid://cbal8ms2oe1ik" path="res://Scripts/Classes/Components/ResourceSetterNew.gd" id="3_r7kgt"]
[ext_resource type="JSON" path="res://Assets/Sprites/Items/Wings.json" id="4_r7kgt"]
[sub_resource type="AtlasTexture" id="AtlasTexture_vpjxo"]
atlas = ExtResource("1_r7kgt")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_f1h07"]
atlas = ExtResource("1_r7kgt")
region = Rect2(16, 0, 16, 16)
[sub_resource type="SpriteFrames" id="SpriteFrames_hpedc"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_vpjxo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_f1h07")
}],
"loop": true,
"name": &"Flap",
"speed": 5.0
}]
[node name="Wing" type="AnimatedSprite2D"]
sprite_frames = SubResource("SpriteFrames_hpedc")
animation = &"Flap"
autoplay = "default"
frame_progress = 0.594451
script = ExtResource("2_io3xw")
do_offset = false
metadata/_custom_type_script = "uid://caq1qiwmy0mox"
[node name="ResourceSetterNew" type="Node" parent="." node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("3_r7kgt")
node_to_affect = NodePath("..")
property_name = "sprite_frames"
resource_json = ExtResource("4_r7kgt")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"

View File

@@ -0,0 +1,52 @@
shader_type canvas_item;
uniform sampler2D screen_texture : hint_screen_texture, filter_nearest;
uniform sampler2D palette_texture;
uniform vec4 shadow_colour : source_color;
uniform float y_offset : hint_range(0, 2);
uniform int palette_size = 8;
uniform bool is_debug = false;
int get_palette_index(vec4 color) {
ivec4 quantized_color = ivec4(floor(color * 255.0 + 0.5)); // Quantize the color
for (int i = 0; i < palette_size; i++) {
float index = (float(i) + 0.5) / float(palette_size); // Sample at the center of each color slot
vec4 palette_color = texture(palette_texture, vec2(index, 0.0));
ivec4 quantized_palette = ivec4(floor(palette_color * 255.0 + 0.5)); // Quantize the palette color
if (quantized_color == quantized_palette) {
return i; // Found exact match
}
}
return -1; // No match found
}
void fragment() {
vec4 screen_color = texture(screen_texture, SCREEN_UV);
// Check if the color is close to the shadow colo
int palette_index;
palette_index = get_palette_index(screen_color);
// Normalize the palette index for UV lookup
if (palette_index != -1) {
float palette_uv_x = (float(palette_index) + 0.5) / float(palette_size);
float palette_uv_y = (float(y_offset) + 0.5) / float(3);
COLOR = texture(palette_texture, vec2(palette_uv_x, palette_uv_y));
} else {
// Fallback if no match (this should only happen if no matching palette index is found)
if (is_debug)
{
COLOR = texture(palette_texture, vec2(float(palette_size), 0.0));
} else
{
COLOR = screen_color;
}
}
}

View File

@@ -0,0 +1 @@
uid://dic2q1vuqqxce