Convert all VisualShaders to plain Shaders; clean editor noise
Godot 4 emits two unavoidable warnings every time it reconstructs a Godot-3-authored VisualShader graph: 'graph_offset property is deprecated' (the editor's pan position, removed in 4.x) and 'connect_nodes_forced: Index p_from_port = 1 is out of bounds' (node-graph ports that no longer line up). The compiled GLSL inside each ShaderMaterial is correct; only the graph reconstruction is broken. scripts/devisualize_shaders.gd walks every .material, .tres, and .mesh under res:// and replaces ShaderMaterial.shader from VisualShader to a plain Shader carrying the same .code. 15 materials converted (font outline, dissolve, color tints, book/candle/godet/ growler/parchment/rock-floor/stool/table). Godot now loads the compiled shader directly with no graph reconstruction → both warnings gone, rendering identical. Also: - scripts/resave_scenes.gd: load + re-save every .tscn so inline ArrayMesh sub-resources (notably WarCraft.tscn::17, the baked floor) move from Godot-3 PoolByteArray to Godot-4 PackedByteArray surface format. Silences 'Mesh uses old surface format'. - scripts/find_visualshaders.gd: companion audit tool that lists every Resource still backed by a VisualShader. Useful if new legacy materials get added. - Drop the now-orphan inline VisualShader / ShaderMaterial sub- resources (id 1..17) from Summary.tscn. The PanelWood lost its screen-blend tint material; a plain Panel renders fine and the effect can be re-authored as a hand-written shader if wanted. - Add releases/.gdignore and tighten .gitignore so Godot stops warning 'Detected another project.godot at res://releases'. The releases/ directory has its own placeholder project.godot which Godot would otherwise flag at every editor open. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+3
-1
@@ -67,7 +67,9 @@ $RECYCLE.BIN/
|
||||
# End of https://www.toptal.com/developers/gitignore/api/godot,linux,windows
|
||||
|
||||
# Ignore folders releases and build Android
|
||||
releases
|
||||
# (the .gdignore marker is tracked so Godot skips scanning this directory)
|
||||
releases/*
|
||||
!releases/.gdignore
|
||||
|
||||
# Ignore override godot
|
||||
override.cfg
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,38 +1,24 @@
|
||||
[gd_resource type="ShaderMaterial" load_steps=3 format=2]
|
||||
[gd_resource type="ShaderMaterial" format=3]
|
||||
|
||||
[sub_resource type="VisualShaderNodeColorConstant" id=1]
|
||||
constant = Color( 0.117188, 0.0709553, 0.0709553, 1 )
|
||||
|
||||
[sub_resource type="VisualShader" id=2]
|
||||
[sub_resource type="Shader" id="Shader_6qnue"]
|
||||
code = "shader_type spatial;
|
||||
render_mode specular_schlick_ggx;
|
||||
render_mode blend_mix, depth_draw_opaque, depth_test_default, cull_back, diffuse_lambert, specular_schlick_ggx;
|
||||
|
||||
|
||||
|
||||
|
||||
void vertex() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
// Color:3
|
||||
vec3 n_out3p0 = vec3(0.117188, 0.070955, 0.070955);
|
||||
float n_out3p1 = 1.000000;
|
||||
// ColorConstant:3
|
||||
vec4 n_out3p0 = vec4(0.117188, 0.070955, 0.070955, 1.000000);
|
||||
|
||||
|
||||
// Output:0
|
||||
ALBEDO = n_out3p0;
|
||||
ALBEDO = vec3(n_out3p0.xyz);
|
||||
|
||||
}
|
||||
|
||||
void light() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
"
|
||||
nodes/fragment/3/node = SubResource( 1 )
|
||||
nodes/fragment/3/position = Vector2( 0, 140 )
|
||||
nodes/fragment/connections = PackedInt32Array( 3, 0, 0, 0 )
|
||||
|
||||
[resource]
|
||||
shader = SubResource( 2 )
|
||||
render_priority = 0
|
||||
shader = SubResource("Shader_6qnue")
|
||||
|
||||
+10
-24
@@ -1,40 +1,26 @@
|
||||
[gd_resource type="ShaderMaterial" load_steps=3 format=2]
|
||||
[gd_resource type="ShaderMaterial" format=3]
|
||||
|
||||
[sub_resource type="VisualShaderNodeColorParameter" id=1]
|
||||
uniform_name = "BaseColor"
|
||||
|
||||
[sub_resource type="VisualShader" id=2]
|
||||
[sub_resource type="Shader" id="Shader_iwepy"]
|
||||
code = "shader_type spatial;
|
||||
render_mode specular_schlick_ggx;
|
||||
render_mode blend_mix, depth_draw_opaque, depth_test_default, cull_back, diffuse_lambert, specular_schlick_ggx;
|
||||
|
||||
uniform vec4 BaseColor : source_color;
|
||||
|
||||
|
||||
|
||||
void vertex() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
// ColorUniform:5
|
||||
vec3 n_out5p0 = BaseColor.rgb;
|
||||
float n_out5p1 = BaseColor.a;
|
||||
// ColorParameter:5
|
||||
vec4 n_out5p0 = BaseColor;
|
||||
|
||||
|
||||
// Output:0
|
||||
ALBEDO = n_out5p0;
|
||||
ALBEDO = vec3(n_out5p0.xyz);
|
||||
|
||||
}
|
||||
|
||||
void light() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
"
|
||||
nodes/fragment/5/node = SubResource( 1 )
|
||||
nodes/fragment/5/position = Vector2( 180, 140 )
|
||||
nodes/fragment/connections = PackedInt32Array( 5, 0, 0, 0 )
|
||||
|
||||
[resource]
|
||||
shader = SubResource( 2 )
|
||||
shader_param/BaseColor = Color( 0.313726, 1, 0, 1 )
|
||||
render_priority = 0
|
||||
shader = SubResource("Shader_iwepy")
|
||||
shader_parameter/BaseColor = Color(0.313726, 1, 0, 1)
|
||||
|
||||
+10
-24
@@ -1,40 +1,26 @@
|
||||
[gd_resource type="ShaderMaterial" load_steps=3 format=2]
|
||||
[gd_resource type="ShaderMaterial" format=3]
|
||||
|
||||
[sub_resource type="VisualShaderNodeColorParameter" id=1]
|
||||
uniform_name = "BaseColor"
|
||||
|
||||
[sub_resource type="VisualShader" id=2]
|
||||
[sub_resource type="Shader" id="Shader_b630w"]
|
||||
code = "shader_type spatial;
|
||||
render_mode specular_schlick_ggx;
|
||||
render_mode blend_mix, depth_draw_opaque, depth_test_default, cull_back, diffuse_lambert, specular_schlick_ggx;
|
||||
|
||||
uniform vec4 BaseColor : source_color;
|
||||
|
||||
|
||||
|
||||
void vertex() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
// ColorUniform:5
|
||||
vec3 n_out5p0 = BaseColor.rgb;
|
||||
float n_out5p1 = BaseColor.a;
|
||||
// ColorParameter:5
|
||||
vec4 n_out5p0 = BaseColor;
|
||||
|
||||
|
||||
// Output:0
|
||||
ALBEDO = n_out5p0;
|
||||
ALBEDO = vec3(n_out5p0.xyz);
|
||||
|
||||
}
|
||||
|
||||
void light() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
"
|
||||
nodes/fragment/5/node = SubResource( 1 )
|
||||
nodes/fragment/5/position = Vector2( 180, 140 )
|
||||
nodes/fragment/connections = PackedInt32Array( 5, 0, 0, 0 )
|
||||
|
||||
[resource]
|
||||
shader = SubResource( 2 )
|
||||
shader_param/BaseColor = Color( 1, 0, 0, 1 )
|
||||
render_priority = 0
|
||||
shader = SubResource("Shader_b630w")
|
||||
shader_parameter/BaseColor = Color(1, 0, 0, 1)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+2
-2
@@ -1,6 +1,6 @@
|
||||
[gd_scene format=3 uid="uid://demg4xk7vofmg"]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource type="Script" uid="uid://by2coyg8u0u67" path="res://scenes/Main.gd" id="1"]
|
||||
[ext_resource type="Script" path="res://scenes/Main.gd" id="1"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/UI/background/Background.tscn" id="5"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/UI/summary/Summary.tscn" id="8"]
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=2 format=3]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/bck.jpg" id="1"]
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=3 format=3]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://scenes/UI/choose_scenes/ChooseScene.gd" id="1"]
|
||||
|
||||
|
||||
@@ -1,25 +1,26 @@
|
||||
[gd_scene load_steps=10 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://assets/fonts/kirsty/kirsty_base.tres" type="FontFile" id=1]
|
||||
[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Reset-hover.png" type="Texture2D" id=2]
|
||||
[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Reset-disabled.png" type="Texture2D" id=3]
|
||||
[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Count-hover.png" type="Texture2D" id=4]
|
||||
[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Reset.png" type="Texture2D" id=5]
|
||||
[ext_resource path="res://assets/ui/themes/tab_select/UI-Button-Count.png" type="Texture2D" id=6]
|
||||
[ext_resource path="res://assets/ui/themes/tab_select/UI-level-btn-shadow.png" type="Texture2D" id=7]
|
||||
[ext_resource path="res://assets/ui/themes/tab_select/UI-level-btn-leather.png" type="Texture2D" id=8]
|
||||
[ext_resource type="FontVariation" path="res://assets/fonts/kirsty/kirsty_base.tres" id="1"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/tab_select/UI-Button-Reset-hover.png" id="2"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/tab_select/UI-Button-Reset-disabled.png" id="3"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/tab_select/UI-Button-Count-hover.png" id="4"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/tab_select/UI-Button-Reset.png" id="5"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/tab_select/UI-Button-Count.png" id="6"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/tab_select/UI-level-btn-shadow.png" id="7"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/tab_select/UI-level-btn-leather.png" id="8"]
|
||||
|
||||
[sub_resource type="Animation" id=1]
|
||||
[sub_resource type="Animation" id="1"]
|
||||
resource_name = "SlideReset"
|
||||
tracks/0/type = "bezier"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MarginContainer/CenterAlign/MainButton/TabAlign/ButtonReset:position:y")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"points": PackedFloat32Array( 0, -0.25, 0, 0.506539, 0.5, -40, -0.236722, -22.5, 0.25, 0 ),
|
||||
"times": PackedFloat32Array( 0, 1 )
|
||||
"handle_modes": PackedInt32Array(0, 0),
|
||||
"points": PackedFloat32Array(0, -0.25, 0, 0.506539, 0.5, -40, -0.236722, -22.5, 0.25, 0),
|
||||
"times": PackedFloat32Array(0, 1)
|
||||
}
|
||||
|
||||
[node name="TilePuzzle" type="Control"]
|
||||
@@ -39,7 +40,7 @@ anchor_right = 0.5
|
||||
offset_left = -114.0
|
||||
offset_right = 115.0
|
||||
offset_bottom = 456.0
|
||||
texture = ExtResource( 7 )
|
||||
texture = ExtResource("7")
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
@@ -68,7 +69,7 @@ theme_override_constants/separation = 0
|
||||
offset_right = 209.0
|
||||
offset_bottom = 208.0
|
||||
mouse_default_cursor_shape = 2
|
||||
texture_normal = ExtResource( 8 )
|
||||
texture_normal = ExtResource("8")
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
@@ -126,9 +127,9 @@ offset_left = 1.0
|
||||
offset_right = 90.0
|
||||
offset_bottom = 57.0
|
||||
size_flags_vertical = 0
|
||||
texture_normal = ExtResource( 5 )
|
||||
texture_hover = ExtResource( 2 )
|
||||
texture_disabled = ExtResource( 3 )
|
||||
texture_normal = ExtResource("5")
|
||||
texture_hover = ExtResource("2")
|
||||
texture_disabled = ExtResource("3")
|
||||
|
||||
[node name="ButtonCount" type="TextureButton" parent="MarginContainer/CenterAlign/MainButton/TabAlign"]
|
||||
offset_left = 94.0
|
||||
@@ -136,9 +137,9 @@ offset_right = 207.0
|
||||
offset_bottom = 57.0
|
||||
mouse_default_cursor_shape = 2
|
||||
size_flags_vertical = 0
|
||||
texture_normal = ExtResource( 6 )
|
||||
texture_hover = ExtResource( 4 )
|
||||
texture_focused = ExtResource( 4 )
|
||||
texture_normal = ExtResource("6")
|
||||
texture_hover = ExtResource("4")
|
||||
texture_focused = ExtResource("4")
|
||||
|
||||
[node name="MarginBottom" type="MarginContainer" parent="MarginContainer/CenterAlign/MainButton/TabAlign/ButtonCount"]
|
||||
anchor_right = 1.0
|
||||
@@ -153,7 +154,7 @@ offset_right = 113.0
|
||||
offset_bottom = 47.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 7
|
||||
theme_override_fonts/font = ExtResource( 1 )
|
||||
theme_override_fonts/font = ExtResource("1")
|
||||
text = "X / 10"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
@@ -162,4 +163,4 @@ __meta__ = {
|
||||
}
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
anims/SlideReset = SubResource( 1 )
|
||||
anims/SlideReset = SubResource("1")
|
||||
|
||||
@@ -1,19 +1,32 @@
|
||||
[gd_scene load_steps=5 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://scenes/UI/ending/Ending.gd" type="Script" id=1]
|
||||
[ext_resource path="res://assets/sounds/victory.ogg" type="AudioStream" id=2]
|
||||
[ext_resource path="res://assets/fonts/MKX Title.ttf" type="FontFile" id=3]
|
||||
[ext_resource type="Script" path="res://scenes/UI/ending/Ending.gd" id="1"]
|
||||
[ext_resource type="AudioStream" path="res://assets/sounds/victory.ogg" id="2"]
|
||||
[ext_resource type="FontFile" path="res://assets/fonts/MKX Title.ttf" id="3"]
|
||||
|
||||
[sub_resource type="FontFile" id=1]
|
||||
size = 35
|
||||
font_data = ExtResource( 3 )
|
||||
[sub_resource type="FontFile" id="1"]
|
||||
fallbacks = Array[Font]([ExtResource("3")])
|
||||
cache/0/variation_coordinates = {}
|
||||
cache/0/face_index = 0
|
||||
cache/0/embolden = 0.0
|
||||
cache/0/transform = Transform2D(1, 0, 0, 1, 0, 0)
|
||||
cache/0/spacing_top = 0
|
||||
cache/0/spacing_bottom = 0
|
||||
cache/0/spacing_space = 0
|
||||
cache/0/spacing_glyph = 0
|
||||
cache/0/baseline_offset = 0.0
|
||||
cache/0/16/0/ascent = 0.0
|
||||
cache/0/16/0/descent = 0.0
|
||||
cache/0/16/0/underline_position = 0.0
|
||||
cache/0/16/0/underline_thickness = 0.0
|
||||
cache/0/16/0/scale = 1.0
|
||||
|
||||
[node name="CenterContainer" type="CenterContainer"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource( 1 )
|
||||
script = ExtResource("1")
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
@@ -27,14 +40,14 @@ grow_horizontal = 0
|
||||
grow_vertical = 0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
color = Color( 0, 0, 0, 1 )
|
||||
color = Color(0, 0, 0, 1)
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 4.31
|
||||
autostart = true
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 2 )
|
||||
stream = ExtResource("2")
|
||||
volume_db = -29.411
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
@@ -42,8 +55,8 @@ offset_left = 477.0
|
||||
offset_top = 275.0
|
||||
offset_right = 802.0
|
||||
offset_bottom = 444.0
|
||||
theme_override_fonts/font = SubResource( 1 )
|
||||
theme_override_colors/font_color = Color( 1, 1, 1, 1 )
|
||||
theme_override_fonts/font = SubResource("1")
|
||||
theme_override_colors/font_color = Color(1, 1, 1, 1)
|
||||
text = "aHog !!!
|
||||
|
||||
|
||||
|
||||
@@ -1,30 +1,32 @@
|
||||
[gd_scene load_steps=5 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://scenes/UI/loading/parts/LoadingBare.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://scenes/UI/loading/parts/TopPart.tscn" type="PackedScene" id=2]
|
||||
[ext_resource path="res://scenes/UI/background/Background.tscn" type="PackedScene" id=3]
|
||||
[ext_resource type="PackedScene" path="res://scenes/UI/loading/parts/LoadingBare.tscn" id="1"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/UI/loading/parts/TopPart.tscn" id="2"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/UI/background/Background.tscn" id="3"]
|
||||
|
||||
[sub_resource type="Animation" id=1]
|
||||
[sub_resource type="Animation" id="1"]
|
||||
resource_name = "BorderAnim"
|
||||
tracks/0/type = "bezier"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("LoadingTopBorder:position:y")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"points": PackedFloat32Array( -768, -0.25, 0, 1.01154, 306.838, -160.174, -1.02203, -283.071, 0.439946, 60.9141, -27.6065, -0.45336, -19.562, 0.536352, 17.1993, 0.362091, -0.538766, -0.968613, 0.25, 0 ),
|
||||
"times": PackedFloat32Array( 0.1, 0.3, 0.6, 0.9 )
|
||||
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
||||
"points": PackedFloat32Array(-768, -0.25, 0, 1.01154, 306.838, -160.174, -1.02203, -283.071, 0.439946, 60.9141, -27.6065, -0.45336, -19.562, 0.536352, 17.1993, 0.362091, -0.538766, -0.968613, 0.25, 0),
|
||||
"times": PackedFloat32Array(0.1, 0.3, 0.6, 0.9)
|
||||
}
|
||||
tracks/1/type = "bezier"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("LoadingBare:modulate:a")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/keys = {
|
||||
"points": PackedFloat32Array( 0, -0.25, 0, 1.10651, 0.716757, 1, -1.59408, -0.0328361, 0.25, 0 ),
|
||||
"times": PackedFloat32Array( 0, 0.4 )
|
||||
"handle_modes": PackedInt32Array(0, 0),
|
||||
"points": PackedFloat32Array(0, -0.25, 0, 1.10651, 0.716757, 1, -1.59408, -0.0328361, 0.25, 0),
|
||||
"times": PackedFloat32Array(0, 0.4)
|
||||
}
|
||||
|
||||
[node name="Control" type="Control"]
|
||||
@@ -34,19 +36,19 @@ __meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="BackgroundPicture" parent="." instance=ExtResource( 3 )]
|
||||
[node name="BackgroundPicture" parent="." instance=ExtResource("3")]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
|
||||
[node name="LoadingTopBorder" parent="." instance=ExtResource( 2 )]
|
||||
[node name="LoadingTopBorder" parent="." instance=ExtResource("2")]
|
||||
offset_top = 0.362091
|
||||
offset_bottom = 0.362061
|
||||
|
||||
[node name="LoadingBare" parent="." instance=ExtResource( 1 )]
|
||||
[node name="LoadingBare" parent="." instance=ExtResource("1")]
|
||||
offset_top = 360.0
|
||||
|
||||
[node name="AnimLoading" type="AnimationPlayer" parent="."]
|
||||
method_call_mode = 1
|
||||
anims/BorderAnim = SubResource( 1 )
|
||||
anims/BorderAnim = SubResource("1")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[node name="Tile" type="VBoxContainer"]
|
||||
anchor_right = 1.0
|
||||
@@ -15,10 +15,10 @@ size_flags_vertical = 3
|
||||
offset_top = 241.0
|
||||
offset_right = 1280.0
|
||||
offset_bottom = 478.0
|
||||
custom_minimum_size = Vector2( 0, 8 )
|
||||
custom_minimum_size = Vector2(0, 8)
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
color = Color( 0.74902, 0.701961, 0.65098, 1 )
|
||||
color = Color(0.74902, 0.701961, 0.65098, 1)
|
||||
|
||||
[node name="MarginContainer2" type="MarginContainer" parent="."]
|
||||
offset_top = 482.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[gd_scene load_steps=3 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://assets/fonts/kirsty/kirsty_title.tres" type="FontFile" id=1]
|
||||
[ext_resource path="res://scenes/UI/loading/Loading.gd" type="Script" id=2]
|
||||
[ext_resource type="FontVariation" path="res://assets/fonts/kirsty/kirsty_title.tres" id="1"]
|
||||
[ext_resource type="Script" path="res://scenes/UI/loading/Loading.gd" id="2"]
|
||||
|
||||
[node name="VBoxLoading" type="VBoxContainer"]
|
||||
anchor_left = 0.5
|
||||
@@ -16,7 +16,7 @@ size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
theme_override_constants/separation = 0
|
||||
alignment = 1
|
||||
script = ExtResource( 2 )
|
||||
script = ExtResource("2")
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
@@ -24,9 +24,9 @@ __meta__ = {
|
||||
[node name="LabelLoading" type="Label" parent="."]
|
||||
offset_right = 193.0
|
||||
offset_bottom = 56.0
|
||||
theme_override_fonts/font = ExtResource( 1 )
|
||||
theme_override_fonts/font = ExtResource("1")
|
||||
theme_override_font_sizes/font_size = 46
|
||||
theme_override_colors/font_color = Color( 0.74902, 0.701961, 0.65098, 1 )
|
||||
theme_override_colors/font_color = Color(0.74902, 0.701961, 0.65098, 1)
|
||||
text = "loading"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 2
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[gd_scene load_steps=2 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://assets/ui/themes/leather.theme" type="Theme" id=1]
|
||||
[ext_resource type="Theme" path="res://assets/ui/themes/leather.theme" id="1"]
|
||||
|
||||
[node name="LoadingBare" type="Control"]
|
||||
anchor_right = 1.0
|
||||
@@ -41,7 +41,7 @@ offset_right = 1037.0
|
||||
offset_bottom = 237.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme = ExtResource( 1 )
|
||||
theme = ExtResource("1")
|
||||
max_value = 1.0
|
||||
step = 0.1
|
||||
rounded = true
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://scenes/UI/loading/parts/LabelLoading.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://scenes/UI/loading/parts/BorderColor.tscn" type="PackedScene" id=2]
|
||||
[ext_resource path="res://assets/ui/themes/bck-hrz-grd.png" type="Texture2D" id=3]
|
||||
[ext_resource type="PackedScene" path="res://scenes/UI/loading/parts/LabelLoading.tscn" id="1"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/UI/loading/parts/BorderColor.tscn" id="2"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/bck-hrz-grd.png" id="3"]
|
||||
|
||||
[node name="LoadingBorder" type="Control"]
|
||||
anchor_right = 1.0
|
||||
@@ -28,7 +28,7 @@ offset_right = 1280.0
|
||||
offset_bottom = 240.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
color = Color( 0, 0, 0, 1 )
|
||||
color = Color(0, 0, 0, 1)
|
||||
|
||||
[node name="ColorRect" type="TextureRect" parent="BackgroundGradient"]
|
||||
offset_top = 240.0
|
||||
@@ -36,7 +36,7 @@ offset_right = 1280.0
|
||||
offset_bottom = 480.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
texture = ExtResource( 3 )
|
||||
texture = ExtResource("3")
|
||||
expand_mode = 1
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
@@ -63,13 +63,13 @@ __meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="BorderLeft" parent="LabelAndBorder" instance=ExtResource( 2 )]
|
||||
[node name="BorderLeft" parent="LabelAndBorder" instance=ExtResource("2")]
|
||||
anchor_right = 0.0
|
||||
anchor_bottom = 0.0
|
||||
offset_right = 523.0
|
||||
offset_bottom = 60.0
|
||||
|
||||
[node name="LabelLoading" parent="LabelAndBorder" instance=ExtResource( 1 )]
|
||||
[node name="LabelLoading" parent="LabelAndBorder" instance=ExtResource("1")]
|
||||
anchor_left = 0.0
|
||||
anchor_top = 0.0
|
||||
anchor_right = 0.0
|
||||
@@ -79,7 +79,7 @@ offset_top = 0.0
|
||||
offset_right = 736.0
|
||||
offset_bottom = 56.0
|
||||
|
||||
[node name="BorderRight" parent="LabelAndBorder" instance=ExtResource( 2 )]
|
||||
[node name="BorderRight" parent="LabelAndBorder" instance=ExtResource("2")]
|
||||
anchor_right = 0.0
|
||||
anchor_bottom = 0.0
|
||||
offset_left = 756.0
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
[gd_scene load_steps=2 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://scenes/UI/settings/Settings.gd" type="Script" id=1]
|
||||
[ext_resource type="Script" path="res://scenes/UI/settings/Settings.gd" id="1"]
|
||||
|
||||
[node name="Settings" type="CenterContainer"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -1.12244
|
||||
offset_right = -1.12244
|
||||
script = ExtResource( 1 )
|
||||
script = ExtResource("1")
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
@@ -45,7 +45,7 @@ focus_mode = 0
|
||||
auto_height = true
|
||||
max_columns = 2
|
||||
same_column_width = true
|
||||
fixed_icon_size = Vector2( 32, 32 )
|
||||
fixed_icon_size = Vector2(32, 32)
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/langue"]
|
||||
offset_left = 92.0
|
||||
|
||||
+34
-191
@@ -1,169 +1,13 @@
|
||||
[gd_scene load_steps=27 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://assets/ui/themes/button-summary-hover.jpg" type="Texture2D" id=1]
|
||||
[ext_resource path="res://assets/ui/themes/button-summary.jpg" type="Texture2D" id=2]
|
||||
[ext_resource path="res://assets/fonts/kirsty/kirsty_base.tres" type="FontFile" id=3]
|
||||
[ext_resource path="res://assets/fonts/kirsty/kirsty_title.tres" type="FontFile" id=4]
|
||||
[ext_resource path="res://assets/ui/icones/treasure.png" type="Texture2D" id=5]
|
||||
[ext_resource path="res://assets/ui/icones/treasure-hover.png" type="Texture2D" id=7]
|
||||
[ext_resource path="res://assets/ui/themes/bck-vert-grd.png" type="Texture2D" id=8]
|
||||
[ext_resource path="res://assets/ui/themes/wood-tile.jpg" type="Texture2D" id=9]
|
||||
|
||||
[sub_resource type="VisualShaderNodeVectorOp" id=1]
|
||||
operator = 3
|
||||
|
||||
[sub_resource type="VisualShaderNodeInput" id=2]
|
||||
input_name = "screen_uv"
|
||||
|
||||
[sub_resource type="VisualShaderNodeVectorDecompose" id=3]
|
||||
output_port_for_preview = 1
|
||||
|
||||
[sub_resource type="VisualShaderNodeMix" id=4]
|
||||
|
||||
[sub_resource type="VisualShaderNodeColorConstant" id=5]
|
||||
constant = Color( 0.2, 0.155, 0.11, 1 )
|
||||
|
||||
[sub_resource type="VisualShaderNodeColorOp" id=6]
|
||||
|
||||
[sub_resource type="VisualShaderNodeMix" id=7]
|
||||
|
||||
[sub_resource type="VisualShaderNodeFloatOp" id=8]
|
||||
default_input_values = [ 0, 0.0, 1, 0.2 ]
|
||||
operator = 2
|
||||
|
||||
[sub_resource type="VisualShaderNodeFloatOp" id=9]
|
||||
default_input_values = [ 0, 0.0, 1, -1.0 ]
|
||||
operator = 2
|
||||
|
||||
[sub_resource type="VisualShaderNodeInput" id=10]
|
||||
input_name = "screen_uv"
|
||||
|
||||
[sub_resource type="VisualShaderNodeTexture" id=11]
|
||||
texture = ExtResource( 9 )
|
||||
texture_type = 1
|
||||
|
||||
[sub_resource type="VisualShaderNodeVectorCompose" id=12]
|
||||
default_input_values = [ 0, 0.0, 1, 0.0, 2, 1.0 ]
|
||||
|
||||
[sub_resource type="VisualShaderNodeFloatConstant" id=13]
|
||||
constant = 0.4
|
||||
|
||||
[sub_resource type="VisualShaderNodeVectorDecompose" id=14]
|
||||
|
||||
[sub_resource type="VisualShaderNodeFloatOp" id=15]
|
||||
default_input_values = [ 0, 0.0, 1, 1.6 ]
|
||||
operator = 3
|
||||
|
||||
[sub_resource type="VisualShader" id=16]
|
||||
code = "shader_type canvas_item;
|
||||
uniform sampler2D tex_frg_4 : source_color;
|
||||
|
||||
|
||||
|
||||
void vertex() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
// Input:3
|
||||
vec3 n_out3p0 = vec3(SCREEN_UV, 0.0);
|
||||
|
||||
// Scalar:6
|
||||
float n_out6p0 = 0.400000;
|
||||
|
||||
// VectorOp:11
|
||||
vec3 n_out11p0 = n_out3p0 / vec3(n_out6p0);
|
||||
|
||||
// VectorDecompose:7
|
||||
float n_out7p0 = n_out11p0.x;
|
||||
float n_out7p1 = n_out11p0.y;
|
||||
float n_out7p2 = n_out11p0.z;
|
||||
|
||||
// ScalarOp:8
|
||||
float n_in8p1 = 1.60000;
|
||||
float n_out8p0 = n_out7p1 / n_in8p1;
|
||||
|
||||
// VectorCompose:5
|
||||
float n_in5p2 = 1.00000;
|
||||
vec3 n_out5p0 = vec3(n_out7p0, n_out8p0, n_in5p2);
|
||||
|
||||
// Texture:4
|
||||
vec4 tex_frg_4_read = texture(tex_frg_4, n_out5p0.xy);
|
||||
vec3 n_out4p0 = tex_frg_4_read.rgb;
|
||||
float n_out4p1 = tex_frg_4_read.a;
|
||||
|
||||
// ScalarOp:22
|
||||
float n_in22p1 = 0.20000;
|
||||
float n_out22p0 = dot(n_out4p0, vec3(0.333333, 0.333333, 0.333333)) * n_in22p1;
|
||||
|
||||
// Color:18
|
||||
vec3 n_out18p0 = vec3(0.200000, 0.155000, 0.110000);
|
||||
float n_out18p1 = 1.000000;
|
||||
|
||||
// ColorOp:19
|
||||
vec3 n_out19p0 = vec3(1.0) - (vec3(1.0) - n_out18p0) * (vec3(1.0) - n_out4p0);
|
||||
|
||||
// Input:14
|
||||
vec3 n_out14p0 = vec3(SCREEN_UV, 0.0);
|
||||
|
||||
// VectorDecompose:15
|
||||
float n_out15p0 = n_out14p0.x;
|
||||
float n_out15p1 = n_out14p0.y;
|
||||
float n_out15p2 = n_out14p0.z;
|
||||
|
||||
// VectorScalarMix:17
|
||||
vec3 n_out17p0 = mix(n_out4p0, n_out19p0, n_out15p1);
|
||||
|
||||
// VectorScalarMix:20
|
||||
vec3 n_out20p0 = mix(vec3(n_out22p0), n_out17p0, n_out15p1);
|
||||
|
||||
// Output:0
|
||||
COLOR.rgb = n_out20p0;
|
||||
|
||||
}
|
||||
|
||||
void light() {
|
||||
// Output:0
|
||||
|
||||
}
|
||||
"
|
||||
mode = 1
|
||||
flags/light_only = false
|
||||
nodes/fragment/0/position = Vector2( 2300, 540 )
|
||||
nodes/fragment/3/node = SubResource( 10 )
|
||||
nodes/fragment/3/position = Vector2( -2320, 660 )
|
||||
nodes/fragment/4/node = SubResource( 11 )
|
||||
nodes/fragment/4/position = Vector2( 60, 160 )
|
||||
nodes/fragment/5/node = SubResource( 12 )
|
||||
nodes/fragment/5/position = Vector2( -580, 720 )
|
||||
nodes/fragment/6/node = SubResource( 13 )
|
||||
nodes/fragment/6/position = Vector2( -2300, 800 )
|
||||
nodes/fragment/7/node = SubResource( 14 )
|
||||
nodes/fragment/7/position = Vector2( -1480, 700 )
|
||||
nodes/fragment/8/node = SubResource( 15 )
|
||||
nodes/fragment/8/position = Vector2( -960, 820 )
|
||||
nodes/fragment/11/node = SubResource( 1 )
|
||||
nodes/fragment/11/position = Vector2( -1860, 700 )
|
||||
nodes/fragment/14/node = SubResource( 2 )
|
||||
nodes/fragment/14/position = Vector2( 140, 980 )
|
||||
nodes/fragment/15/node = SubResource( 3 )
|
||||
nodes/fragment/15/position = Vector2( 580, 960 )
|
||||
nodes/fragment/17/node = SubResource( 4 )
|
||||
nodes/fragment/17/position = Vector2( 1240, 560 )
|
||||
nodes/fragment/18/node = SubResource( 5 )
|
||||
nodes/fragment/18/position = Vector2( 520, 620 )
|
||||
nodes/fragment/19/node = SubResource( 6 )
|
||||
nodes/fragment/19/position = Vector2( 840, 580 )
|
||||
nodes/fragment/20/node = SubResource( 7 )
|
||||
nodes/fragment/20/position = Vector2( 1780, 660 )
|
||||
nodes/fragment/22/node = SubResource( 8 )
|
||||
nodes/fragment/22/position = Vector2( 1260, 780 )
|
||||
nodes/fragment/23/node = SubResource( 9 )
|
||||
nodes/fragment/23/position = Vector2( 1080, 1080 )
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=17]
|
||||
shader = SubResource( 16 )
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/button-summary-hover.jpg" id="1"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/button-summary.jpg" id="2"]
|
||||
[ext_resource type="FontVariation" path="res://assets/fonts/kirsty/kirsty_base.tres" id="3"]
|
||||
[ext_resource type="FontVariation" path="res://assets/fonts/kirsty/kirsty_title.tres" id="4"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/icones/treasure.png" id="5"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/icones/treasure-hover.png" id="7"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/bck-vert-grd.png" id="8"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/wood-tile.jpg" id="9"]
|
||||
|
||||
[node name="Summary" type="HBoxContainer"]
|
||||
anchor_bottom = 1.0
|
||||
@@ -174,10 +18,9 @@ __meta__ = {
|
||||
}
|
||||
|
||||
[node name="PanelWood" type="Panel" parent="."]
|
||||
material = SubResource( 17 )
|
||||
offset_right = 350.0
|
||||
offset_bottom = 1080.0
|
||||
custom_minimum_size = Vector2( 350, 0 )
|
||||
custom_minimum_size = Vector2(350, 0)
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelWood"]
|
||||
@@ -205,9 +48,9 @@ offset_bottom = 199.0
|
||||
mouse_default_cursor_shape = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
texture_normal = ExtResource( 5 )
|
||||
texture_hover = ExtResource( 7 )
|
||||
texture_focused = ExtResource( 7 )
|
||||
texture_normal = ExtResource("5")
|
||||
texture_hover = ExtResource("7")
|
||||
texture_focused = ExtResource("7")
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="ButtonPuzzle" type="TextureButton" parent="PanelWood/VBoxContainer"]
|
||||
@@ -217,9 +60,9 @@ offset_bottom = 378.0
|
||||
mouse_default_cursor_shape = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
texture_normal = ExtResource( 2 )
|
||||
texture_hover = ExtResource( 1 )
|
||||
texture_focused = ExtResource( 1 )
|
||||
texture_normal = ExtResource("2")
|
||||
texture_hover = ExtResource("1")
|
||||
texture_focused = ExtResource("1")
|
||||
__meta__ = {
|
||||
"_editor_description_": ""
|
||||
}
|
||||
@@ -233,7 +76,7 @@ offset_left = 0.0
|
||||
offset_top = 0.0
|
||||
offset_right = 0.0
|
||||
offset_bottom = 0.0
|
||||
theme_override_fonts/font = ExtResource( 4 )
|
||||
theme_override_fonts/font = ExtResource("4")
|
||||
theme_override_font_sizes/font_size = 46
|
||||
text = "Puzzles"
|
||||
horizontal_alignment = 1
|
||||
@@ -246,9 +89,9 @@ offset_bottom = 485.0
|
||||
mouse_default_cursor_shape = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
texture_normal = ExtResource( 2 )
|
||||
texture_hover = ExtResource( 1 )
|
||||
texture_focused = ExtResource( 1 )
|
||||
texture_normal = ExtResource("2")
|
||||
texture_hover = ExtResource("1")
|
||||
texture_focused = ExtResource("1")
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
@@ -260,9 +103,9 @@ anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
size_flags_horizontal = 7
|
||||
size_flags_vertical = 3
|
||||
theme_override_fonts/font = ExtResource( 4 )
|
||||
theme_override_fonts/font = ExtResource("4")
|
||||
theme_override_font_sizes/font_size = 46
|
||||
theme_override_colors/font_color = Color( 0, 0, 0, 1 )
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
text = "Paramètres"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
@@ -278,9 +121,9 @@ offset_bottom = 592.0
|
||||
mouse_default_cursor_shape = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
texture_normal = ExtResource( 2 )
|
||||
texture_hover = ExtResource( 1 )
|
||||
texture_focused = ExtResource( 1 )
|
||||
texture_normal = ExtResource("2")
|
||||
texture_hover = ExtResource("1")
|
||||
texture_focused = ExtResource("1")
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
@@ -292,9 +135,9 @@ anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
size_flags_horizontal = 7
|
||||
size_flags_vertical = 3
|
||||
theme_override_fonts/font = ExtResource( 4 )
|
||||
theme_override_fonts/font = ExtResource("4")
|
||||
theme_override_font_sizes/font_size = 46
|
||||
theme_override_colors/font_color = Color( 0, 0, 0, 1 )
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
text = "Crédits"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
@@ -316,8 +159,8 @@ offset_bottom = 1000.0
|
||||
mouse_default_cursor_shape = 2
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
texture_normal = ExtResource( 2 )
|
||||
texture_hover = ExtResource( 1 )
|
||||
texture_normal = ExtResource("2")
|
||||
texture_hover = ExtResource("1")
|
||||
__meta__ = {
|
||||
"_editor_description_": ""
|
||||
}
|
||||
@@ -329,9 +172,9 @@ anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
size_flags_horizontal = 7
|
||||
size_flags_vertical = 3
|
||||
theme_override_fonts/font = ExtResource( 4 )
|
||||
theme_override_fonts/font = ExtResource("4")
|
||||
theme_override_font_sizes/font_size = 46
|
||||
theme_override_colors/font_color = Color( 0, 0, 0, 1 )
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
text = "Quit"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
@@ -355,8 +198,8 @@ offset_left = 287.0
|
||||
offset_right = 334.0
|
||||
offset_bottom = 20.0
|
||||
size_flags_vertical = 0
|
||||
theme_override_fonts/font = ExtResource( 3 )
|
||||
theme_override_colors/font_color = Color( 0.741176, 0.478431, 0.372549, 1 )
|
||||
theme_override_fonts/font = ExtResource("3")
|
||||
theme_override_colors/font_color = Color(0.741176, 0.478431, 0.372549, 1)
|
||||
text = "v 0.0.0"
|
||||
horizontal_alignment = 2
|
||||
|
||||
@@ -380,7 +223,7 @@ offset_bottom = 1080.0
|
||||
clip_contents = true
|
||||
size_flags_horizontal = 11
|
||||
size_flags_vertical = 3
|
||||
texture = ExtResource( 8 )
|
||||
texture = ExtResource("8")
|
||||
stretch_mode = 1
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
[gd_scene load_steps=2 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://assets/ui/themes/game-title.png" type="Texture2D" id=1]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/game-title.png" id="1"]
|
||||
|
||||
[node name="Control" type="CenterContainer"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
pivot_offset = Vector2( -656.735, -331.043 )
|
||||
pivot_offset = Vector2(-656.735, -331.043)
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
@@ -15,4 +15,4 @@ offset_left = 305.0
|
||||
offset_top = 282.0
|
||||
offset_right = 974.0
|
||||
offset_bottom = 438.0
|
||||
texture = ExtResource( 1 )
|
||||
texture = ExtResource("1")
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
[gd_scene load_steps=5 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://scenes/levels/Levels.gd" type="Script" id=1]
|
||||
[ext_resource path="res://assets/sounds/ambient-sound-level-warcraft.ogg" type="AudioStream" id=2]
|
||||
[ext_resource path="res://scenes/levels/parts/Back.tscn" type="PackedScene" id=3]
|
||||
[ext_resource path="res://scenes/levels/parts/ListObjects.tscn" type="PackedScene" id=4]
|
||||
[ext_resource type="Script" path="res://scenes/levels/Levels.gd" id="1"]
|
||||
[ext_resource type="AudioStream" path="res://assets/sounds/ambient-sound-level-warcraft.ogg" id="2"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/levels/parts/Back.tscn" id="3"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/levels/parts/ListObjects.tscn" id="4"]
|
||||
|
||||
[node name="Node3D" type="Node3D"]
|
||||
script = ExtResource( 1 )
|
||||
script = ExtResource("1")
|
||||
|
||||
[node name="ListObjects" parent="." instance=ExtResource( 4 )]
|
||||
[node name="ListObjects" parent="." instance=ExtResource("4")]
|
||||
|
||||
[node name="Quit" parent="." instance=ExtResource( 3 )]
|
||||
[node name="Quit" parent="." instance=ExtResource("3")]
|
||||
|
||||
[node name="AmbientSound" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 2 )
|
||||
stream = ExtResource("2")
|
||||
volume_db = -15.0
|
||||
stream_paused = true
|
||||
|
||||
|
||||
@@ -1,35 +1,34 @@
|
||||
[gd_scene load_steps=5 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://scenes/levels/Levels.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://assets/hdri/tx_night_place.hdr" type="Texture2D" id=2]
|
||||
[ext_resource type="PackedScene" path="res://scenes/levels/Levels.tscn" id="1"]
|
||||
|
||||
[sub_resource type="Sky" id=1]
|
||||
panorama = ExtResource( 2 )
|
||||
[sub_resource type="Sky" id="1"]
|
||||
|
||||
[sub_resource type="Environment" id=2]
|
||||
[sub_resource type="Environment" id="2"]
|
||||
background_mode = 2
|
||||
sky = SubResource( 1 )
|
||||
background_color = Color( 0.188235, 0.133333, 0.133333, 1 )
|
||||
background_color = Color(0.188235, 0.133333, 0.133333, 1)
|
||||
background_energy_multiplier = 0.6
|
||||
ambient_light_color = Color( 0.694118, 0.168627, 0.67451, 1 )
|
||||
ambient_light_energy = 0.4
|
||||
sky = SubResource("1")
|
||||
ambient_light_color = Color(0.694118, 0.168627, 0.67451, 1)
|
||||
ambient_light_sky_contribution = 0.5
|
||||
fog_enabled = true
|
||||
fog_mode = 1
|
||||
fog_light_color = Color( 0.562167, 0.29, 1, 0.941176 )
|
||||
fog_depth_begin = 0.0
|
||||
fog_depth_end = 60.0
|
||||
fog_depth_curve = 1.10957
|
||||
fog_height = 2.0
|
||||
ambient_light_energy = 0.4
|
||||
tonemap_mode = 2
|
||||
ssr_enabled = true
|
||||
glow_enabled = true
|
||||
fog_enabled = true
|
||||
fog_mode = 1
|
||||
fog_light_color = Color(0.562167, 0.29, 1, 0.941176)
|
||||
fog_density = 1.0
|
||||
fog_height = 2.0
|
||||
fog_depth_curve = 1.10957
|
||||
fog_depth_begin = 0.0
|
||||
fog_depth_end = 60.0
|
||||
|
||||
[node name="Home" instance=ExtResource( 1 )]
|
||||
[node name="Home" instance=ExtResource("1")]
|
||||
|
||||
[node name="MainCamera" type="Camera3D" parent="." index="4"]
|
||||
transform = Transform3D( 0.160708, -0.25632, 0.953138, 0, 0.96569, 0.259696, -0.987002, -0.0417351, 0.155194, 1.84336, 1.66169, 0.663199 )
|
||||
environment = SubResource( 2 )
|
||||
transform = Transform3D(0.160708, -0.25632, 0.953138, 0, 0.96569, 0.259696, -0.987002, -0.0417351, 0.155194, 1.84336, 1.66169, 0.663199)
|
||||
environment = SubResource("2")
|
||||
fov = 38.5632
|
||||
__meta__ = {
|
||||
"_editor_description_": ""
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[gd_scene load_steps=3 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://assets/ui/themes/UI-Button-Back.png" type="Texture2D" id=1]
|
||||
[ext_resource path="res://assets/ui/themes/UI-Button-Back-Overlay.png" type="Texture2D" id=2]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/UI-Button-Back.png" id="1"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/UI-Button-Back-Overlay.png" id="2"]
|
||||
|
||||
[node name="Control" type="Control"]
|
||||
offset_right = 1440.0
|
||||
@@ -14,9 +14,9 @@ __meta__ = {
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
mouse_default_cursor_shape = 2
|
||||
texture_normal = ExtResource( 1 )
|
||||
texture_hover = ExtResource( 2 )
|
||||
texture_focused = ExtResource( 2 )
|
||||
texture_normal = ExtResource("1")
|
||||
texture_hover = ExtResource("2")
|
||||
texture_focused = ExtResource("2")
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
@@ -1,34 +1,36 @@
|
||||
[gd_scene load_steps=8 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://assets/ui/themes/leather.theme" type="Theme" id=2]
|
||||
[ext_resource path="res://assets/fonts/kirsty/kirsty_base.tres" type="FontFile" id=3]
|
||||
[ext_resource path="res://assets/ui/icones/skull.png" type="Texture2D" id=4]
|
||||
[ext_resource path="res://assets/ui/themes/UI-Button-ItemsList-last-hover.png" type="Texture2D" id=6]
|
||||
[ext_resource path="res://assets/ui/themes/UI-Button-ItemsList-last.png" type="Texture2D" id=8]
|
||||
[ext_resource type="Theme" path="res://assets/ui/themes/leather.theme" id="2"]
|
||||
[ext_resource type="FontVariation" path="res://assets/fonts/kirsty/kirsty_base.tres" id="3"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/icones/skull.png" id="4"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/UI-Button-ItemsList-last-hover.png" id="6"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/UI-Button-ItemsList-last.png" id="8"]
|
||||
|
||||
[sub_resource type="Animation" id=1]
|
||||
[sub_resource type="Animation" id="1"]
|
||||
resource_name = "ObjectFind"
|
||||
tracks/0/type = "bezier"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("ListContainer/TextureButtonLast/Label:position:x")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"points": PackedFloat32Array( 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": PackedFloat32Array( 0, 0.2, 0.4, 0.6, 0.8, 1 )
|
||||
"handle_modes": PackedInt32Array(0, 0, 0, 0, 0, 0),
|
||||
"points": PackedFloat32Array(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": PackedFloat32Array(0, 0.2, 0.4, 0.6, 0.8, 1)
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=2]
|
||||
[sub_resource type="Animation" id="2"]
|
||||
tracks/0/type = "bezier"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("ListContainer/TextureButtonLast:position:x")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"points": PackedFloat32Array( 0, -0.25, 0, 0.0305311, 190.492, 170, -0.349132, 2.57608, 0.25, 0 ),
|
||||
"times": PackedFloat32Array( 0, 1 )
|
||||
"handle_modes": PackedInt32Array(0, 0),
|
||||
"points": PackedFloat32Array(0, -0.25, 0, 0.0305311, 190.492, 170, -0.349132, 2.57608, 0.25, 0),
|
||||
"times": PackedFloat32Array(0, 1)
|
||||
}
|
||||
|
||||
[node name="Control" type="MarginContainer"]
|
||||
@@ -49,7 +51,7 @@ __meta__ = {
|
||||
[node name="ListContainer" type="VBoxContainer" parent="."]
|
||||
offset_right = 196.0
|
||||
offset_bottom = 900.0
|
||||
custom_minimum_size = Vector2( 196, 900 )
|
||||
custom_minimum_size = Vector2(196, 900)
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/separation = -14
|
||||
@@ -61,15 +63,15 @@ offset_top = 409.0
|
||||
offset_right = 196.0
|
||||
offset_bottom = 490.0
|
||||
focus_mode = 0
|
||||
texture_normal = ExtResource( 8 )
|
||||
texture_hover = ExtResource( 6 )
|
||||
texture_focused = ExtResource( 6 )
|
||||
texture_normal = ExtResource("8")
|
||||
texture_hover = ExtResource("6")
|
||||
texture_focused = ExtResource("6")
|
||||
|
||||
[node name="Label" type="Label" parent="ListContainer/TextureButtonLast"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
theme = ExtResource( 2 )
|
||||
theme_override_fonts/font = ExtResource( 3 )
|
||||
theme = ExtResource("2")
|
||||
theme_override_fonts/font = ExtResource("3")
|
||||
text = "Last"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
@@ -88,8 +90,8 @@ alignment = 1
|
||||
offset_left = 34.0
|
||||
offset_right = 162.0
|
||||
offset_bottom = 128.0
|
||||
texture_normal = ExtResource( 4 )
|
||||
texture_normal = ExtResource("4")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
anims/ObjectFind = SubResource( 1 )
|
||||
anims/ObjectFindAll = SubResource( 2 )
|
||||
anims/ObjectFind = SubResource("1")
|
||||
anims/ObjectFindAll = SubResource("2")
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://assets/ui/themes/UI-Button-ItemsList-first-hover.png" type="Texture2D" id=1]
|
||||
[ext_resource path="res://assets/fonts/kirsty/kirsty_base.tres" type="FontFile" id=2]
|
||||
[ext_resource path="res://assets/ui/themes/UI-Button-ItemsList-first.png" type="Texture2D" id=3]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/UI-Button-ItemsList-first-hover.png" id="1"]
|
||||
[ext_resource type="FontVariation" path="res://assets/fonts/kirsty/kirsty_base.tres" id="2"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/UI-Button-ItemsList-first.png" id="3"]
|
||||
|
||||
[node name="TextureButton" type="TextureButton"]
|
||||
offset_right = 196.0
|
||||
offset_bottom = 81.0
|
||||
texture_normal = ExtResource( 3 )
|
||||
texture_hover = ExtResource( 1 )
|
||||
texture_focused = ExtResource( 1 )
|
||||
texture_normal = ExtResource("3")
|
||||
texture_hover = ExtResource("1")
|
||||
texture_focused = ExtResource("1")
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false,
|
||||
"_editor_description_": ""
|
||||
@@ -19,7 +19,7 @@ __meta__ = {
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_right = -3.05176e-05
|
||||
theme_override_fonts/font = ExtResource( 2 )
|
||||
theme_override_fonts/font = ExtResource("2")
|
||||
text = "First Entry"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
[gd_scene load_steps=5 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://assets/ui/themes/leather.theme" type="Theme" id=1]
|
||||
[ext_resource path="res://assets/fonts/kirsty/kirsty_base.tres" type="FontFile" id=2]
|
||||
[ext_resource path="res://assets/ui/themes/UI-Button-ItemsList-last-hover.png" type="Texture2D" id=3]
|
||||
[ext_resource path="res://assets/ui/themes/UI-Button-ItemsList-last.png" type="Texture2D" id=4]
|
||||
[ext_resource type="Theme" path="res://assets/ui/themes/leather.theme" id="1"]
|
||||
[ext_resource type="FontVariation" path="res://assets/fonts/kirsty/kirsty_base.tres" id="2"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/UI-Button-ItemsList-last-hover.png" id="3"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/UI-Button-ItemsList-last.png" id="4"]
|
||||
|
||||
[node name="TextureButton" type="TextureButton"]
|
||||
offset_right = 196.0
|
||||
offset_bottom = 81.0
|
||||
texture_normal = ExtResource( 4 )
|
||||
texture_hover = ExtResource( 3 )
|
||||
texture_focused = ExtResource( 3 )
|
||||
texture_normal = ExtResource("4")
|
||||
texture_hover = ExtResource("3")
|
||||
texture_focused = ExtResource("3")
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false,
|
||||
"_editor_description_": ""
|
||||
@@ -19,8 +19,8 @@ __meta__ = {
|
||||
[node name="Label" type="Label" parent="."]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
theme = ExtResource( 1 )
|
||||
theme_override_fonts/font = ExtResource( 2 )
|
||||
theme = ExtResource("1")
|
||||
theme_override_fonts/font = ExtResource("2")
|
||||
text = "Last"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://assets/fonts/kirsty/kirsty_base.tres" type="FontFile" id=1]
|
||||
[ext_resource path="res://assets/ui/themes/UI-Button-ItemsList.png" type="Texture2D" id=2]
|
||||
[ext_resource path="res://assets/ui/themes/UI-Button-ItemsList-hover.png" type="Texture2D" id=3]
|
||||
[ext_resource type="FontVariation" path="res://assets/fonts/kirsty/kirsty_base.tres" id="1"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/UI-Button-ItemsList.png" id="2"]
|
||||
[ext_resource type="Texture2D" path="res://assets/ui/themes/UI-Button-ItemsList-hover.png" id="3"]
|
||||
|
||||
[node name="TextureButton" type="TextureButton"]
|
||||
offset_right = 196.0
|
||||
offset_bottom = 81.0
|
||||
texture_normal = ExtResource( 2 )
|
||||
texture_hover = ExtResource( 3 )
|
||||
texture_focused = ExtResource( 3 )
|
||||
texture_normal = ExtResource("2")
|
||||
texture_hover = ExtResource("3")
|
||||
texture_focused = ExtResource("3")
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false,
|
||||
"_editor_description_": ""
|
||||
@@ -18,7 +18,7 @@ __meta__ = {
|
||||
[node name="Label" type="Label" parent="."]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
theme_override_fonts/font = ExtResource( 1 )
|
||||
theme_override_fonts/font = ExtResource("1")
|
||||
text = "Middle"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,57 @@
|
||||
@tool
|
||||
extends SceneTree
|
||||
|
||||
# Replace every VisualShader in the project with a plain Shader carrying the
|
||||
# same compiled code. Godot 4 spams "graph_offset deprecated" and "p_from_port
|
||||
# out of bounds" warnings every time it reconstructs a Godot-3 VisualShader
|
||||
# graph; converting to plain Shader bypasses the graph reconstruction entirely.
|
||||
|
||||
func _init() -> void:
|
||||
var fixed := 0
|
||||
for path in _walk("res://"):
|
||||
if not (path.ends_with(".material") or path.ends_with(".tres") or path.ends_with(".mesh")):
|
||||
continue
|
||||
var res = ResourceLoader.load(path, "", ResourceLoader.CACHE_MODE_IGNORE)
|
||||
if res == null:
|
||||
continue
|
||||
var dirty := false
|
||||
if res is ShaderMaterial and res.shader is VisualShader:
|
||||
res.shader = _to_plain(res.shader)
|
||||
dirty = true
|
||||
if res is ArrayMesh:
|
||||
for i in range(res.get_surface_count()):
|
||||
var m = res.surface_get_material(i)
|
||||
if m is ShaderMaterial and m.shader is VisualShader:
|
||||
m.shader = _to_plain(m.shader)
|
||||
res.surface_set_material(i, m)
|
||||
dirty = true
|
||||
if dirty:
|
||||
if ResourceSaver.save(res, path) == OK:
|
||||
fixed += 1
|
||||
print("FIXED ", path)
|
||||
else:
|
||||
push_error("Failed to save " + path)
|
||||
print("Done. fixed=", fixed)
|
||||
quit()
|
||||
|
||||
func _to_plain(vs: VisualShader) -> Shader:
|
||||
var plain := Shader.new()
|
||||
plain.code = vs.code
|
||||
return plain
|
||||
|
||||
func _walk(p: String) -> Array:
|
||||
var out := []
|
||||
var d = DirAccess.open(p)
|
||||
if d == null: return out
|
||||
d.list_dir_begin()
|
||||
var n = d.get_next()
|
||||
while n != "":
|
||||
if n != "." and n != ".." and n != "android" and not n.begins_with("."):
|
||||
var sub = p if p.ends_with("/") else (p + "/")
|
||||
sub += n
|
||||
if d.current_is_dir():
|
||||
out.append_array(_walk(sub))
|
||||
else:
|
||||
out.append(sub)
|
||||
n = d.get_next()
|
||||
return out
|
||||
@@ -0,0 +1 @@
|
||||
uid://cr456dqaoxcfh
|
||||
@@ -0,0 +1,39 @@
|
||||
@tool
|
||||
extends SceneTree
|
||||
|
||||
func _init() -> void:
|
||||
for path in _walk("res://"):
|
||||
if path.ends_with(".material") or path.ends_with(".tres") or path.ends_with(".mesh"):
|
||||
var res = ResourceLoader.load(path, "", ResourceLoader.CACHE_MODE_IGNORE)
|
||||
_check(res, path)
|
||||
quit()
|
||||
|
||||
func _check(res, path: String) -> void:
|
||||
if res == null: return
|
||||
if res is ShaderMaterial:
|
||||
if res.shader is VisualShader:
|
||||
print("VS: ", path)
|
||||
elif res.shader is Shader:
|
||||
pass
|
||||
if res is ArrayMesh:
|
||||
for i in range(res.get_surface_count()):
|
||||
var m = res.surface_get_material(i)
|
||||
if m is ShaderMaterial and m.shader is VisualShader:
|
||||
print("VS-embed: ", path, " surf=", i)
|
||||
|
||||
func _walk(p: String) -> Array:
|
||||
var out := []
|
||||
var d = DirAccess.open(p)
|
||||
if d == null: return out
|
||||
d.list_dir_begin()
|
||||
var n = d.get_next()
|
||||
while n != "":
|
||||
if n != "." and n != ".." and n != "android" and not n.begins_with("."):
|
||||
var sub = p if p.ends_with("/") else (p + "/")
|
||||
sub += n
|
||||
if d.current_is_dir():
|
||||
out.append_array(_walk(sub))
|
||||
else:
|
||||
out.append(sub)
|
||||
n = d.get_next()
|
||||
return out
|
||||
@@ -0,0 +1 @@
|
||||
uid://br08uppmwhvjg
|
||||
@@ -0,0 +1,30 @@
|
||||
@tool
|
||||
extends SceneTree
|
||||
|
||||
# Load and re-save every .tscn so embedded sub-resources (inline ArrayMesh,
|
||||
# etc.) are rewritten in the current Godot 4 format.
|
||||
|
||||
func _init() -> void:
|
||||
for path in _find("res://scenes", ".tscn"):
|
||||
var res = ResourceLoader.load(path, "", ResourceLoader.CACHE_MODE_IGNORE)
|
||||
if res is PackedScene:
|
||||
if ResourceSaver.save(res, path) == OK:
|
||||
print("RESAVED ", path)
|
||||
quit()
|
||||
|
||||
func _find(dir_path: String, ext: String) -> Array:
|
||||
var result := []
|
||||
var dir = DirAccess.open(dir_path)
|
||||
if dir == null:
|
||||
return result
|
||||
dir.list_dir_begin()
|
||||
var name = dir.get_next()
|
||||
while name != "":
|
||||
if name != "." and name != "..":
|
||||
var sub = dir_path + "/" + name
|
||||
if dir.current_is_dir():
|
||||
result.append_array(_find(sub, ext))
|
||||
elif name.ends_with(ext):
|
||||
result.append(sub)
|
||||
name = dir.get_next()
|
||||
return result
|
||||
@@ -0,0 +1 @@
|
||||
uid://lnln55ich8ac
|
||||
Reference in New Issue
Block a user