diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index f28239b..0000000 --- a/.editorconfig +++ /dev/null @@ -1,4 +0,0 @@ -root = true - -[*] -charset = utf-8 diff --git a/.import/.gdignore b/.import/.gdignore new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/.import/.gdignore @@ -0,0 +1 @@ + diff --git a/.import/delete.wav-e50e6d74de8e18946331c3a0bc61be5a.md5 b/.import/delete.wav-e50e6d74de8e18946331c3a0bc61be5a.md5 new file mode 100644 index 0000000..ce960a2 --- /dev/null +++ b/.import/delete.wav-e50e6d74de8e18946331c3a0bc61be5a.md5 @@ -0,0 +1,3 @@ +source_md5="30f027e7d96a4bc2490e41af96f0065d" +dest_md5="ee7cf1e791b9a0aa2763c43b49761587" + diff --git a/.import/delete.wav-e50e6d74de8e18946331c3a0bc61be5a.sample b/.import/delete.wav-e50e6d74de8e18946331c3a0bc61be5a.sample new file mode 100644 index 0000000..8e48c34 Binary files /dev/null and b/.import/delete.wav-e50e6d74de8e18946331c3a0bc61be5a.sample differ diff --git a/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 new file mode 100644 index 0000000..b3df3e2 --- /dev/null +++ b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 @@ -0,0 +1,3 @@ +source_md5="e764f545f45ff67472d11f7abdd9eba8" +dest_md5="f29d733ab0173aefbf5ac7dafaeb9350" + diff --git a/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex new file mode 100644 index 0000000..53050a0 Binary files /dev/null and b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex differ diff --git a/.import/new_line.wav-dbe0aa9ef88d20f900089dd0f8df1eb9.md5 b/.import/new_line.wav-dbe0aa9ef88d20f900089dd0f8df1eb9.md5 new file mode 100644 index 0000000..e6cd71b --- /dev/null +++ b/.import/new_line.wav-dbe0aa9ef88d20f900089dd0f8df1eb9.md5 @@ -0,0 +1,3 @@ +source_md5="b78dff39c0eaeb82b9d9181b5b886af9" +dest_md5="d79c9b247e2c22f49149ecbcbef3cd3f" + diff --git a/.import/new_line.wav-dbe0aa9ef88d20f900089dd0f8df1eb9.sample b/.import/new_line.wav-dbe0aa9ef88d20f900089dd0f8df1eb9.sample new file mode 100644 index 0000000..e823cbd Binary files /dev/null and b/.import/new_line.wav-dbe0aa9ef88d20f900089dd0f8df1eb9.sample differ diff --git a/.import/plop.wav-2f0fd709d6f75c10aa7f3c6071ab150d.md5 b/.import/plop.wav-2f0fd709d6f75c10aa7f3c6071ab150d.md5 new file mode 100644 index 0000000..653ed4d --- /dev/null +++ b/.import/plop.wav-2f0fd709d6f75c10aa7f3c6071ab150d.md5 @@ -0,0 +1,3 @@ +source_md5="0c2b232333654cbc3c5a7b5f68b8ab4d" +dest_md5="63dae64c3e44bb209aabe30cace3b86e" + diff --git a/.import/plop.wav-2f0fd709d6f75c10aa7f3c6071ab150d.sample b/.import/plop.wav-2f0fd709d6f75c10aa7f3c6071ab150d.sample new file mode 100644 index 0000000..d2d8a6b Binary files /dev/null and b/.import/plop.wav-2f0fd709d6f75c10aa7f3c6071ab150d.sample differ diff --git a/AgatheOs.x86 b/AgatheOs.x86 new file mode 100644 index 0000000..4de7caa Binary files /dev/null and b/AgatheOs.x86 differ diff --git a/OpenSans-Bold.ttf.import b/OpenSans-Bold.ttf.import deleted file mode 100644 index 10d04e4..0000000 --- a/OpenSans-Bold.ttf.import +++ /dev/null @@ -1,42 +0,0 @@ -[remap] - -importer="font_data_dynamic" -type="FontFile" -uid="uid://4xh07bbhtmaf" -path="res://.godot/imported/OpenSans-Bold.ttf-e736ce5ac4bed0969e44842cb3065dab.fontdata" - -[deps] - -source_file="res://OpenSans-Bold.ttf" -dest_files=["res://.godot/imported/OpenSans-Bold.ttf-e736ce5ac4bed0969e44842cb3065dab.fontdata"] - -[params] - -Rendering=null -antialiasing=1 -generate_mipmaps=false -disable_embedded_bitmaps=true -multichannel_signed_distance_field=false -msdf_pixel_range=8 -msdf_size=48 -allow_system_fallback=true -force_autohinter=false -modulate_color_glyphs=false -hinting=1 -subpixel_positioning=4 -keep_rounding_remainders=true -oversampling=0.0 -Fallbacks=null -fallbacks=[] -Compress=null -compress=true -preload=[{ -"chars": [90, 70, 68, 74, 71, 75, 78, 82, 79, 83, 86, 87, 89, 88, 81, 85, 84, 67, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 80, 77, 76, 73, 72, 69, 66, 65, 0, 13, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 58, 59, 60, 61, 62, 63, 64, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255], -"glyphs": [], -"name": "New Configuration", -&"size": Vector2i(100, 0), -&"variation_embolden": 0.0 -}] -language_support={} -script_support={} -opentype_features={} diff --git a/default_env.tres b/default_env.tres new file mode 100644 index 0000000..20207a4 --- /dev/null +++ b/default_env.tres @@ -0,0 +1,7 @@ +[gd_resource type="Environment" load_steps=2 format=2] + +[sub_resource type="ProceduralSky" id=1] + +[resource] +background_mode = 2 +background_sky = SubResource( 1 ) diff --git a/delete.wav.import b/delete.wav.import index a8fb590..64ea95a 100644 --- a/delete.wav.import +++ b/delete.wav.import @@ -1,14 +1,13 @@ [remap] importer="wav" -type="AudioStreamWAV" -uid="uid://3rauc5r5b2ox" -path="res://.godot/imported/delete.wav-e50e6d74de8e18946331c3a0bc61be5a.sample" +type="AudioStreamSample" +path="res://.import/delete.wav-e50e6d74de8e18946331c3a0bc61be5a.sample" [deps] source_file="res://delete.wav" -dest_files=["res://.godot/imported/delete.wav-e50e6d74de8e18946331c3a0bc61be5a.sample"] +dest_files=[ "res://.import/delete.wav-e50e6d74de8e18946331c3a0bc61be5a.sample" ] [params] @@ -21,4 +20,4 @@ edit/normalize=false edit/loop_mode=0 edit/loop_begin=0 edit/loop_end=-1 -compress/mode=2 +compress/mode=0 diff --git a/export_presets.cfg b/export_presets.cfg index fc467c8..9def3ca 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -1,42 +1,24 @@ [preset.0] -name="Linux" -platform="Linux" +name="Linux/X11" +platform="Linux/X11" runnable=true -advanced_options=false -dedicated_server=false custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" -export_path="./AgatheOS.zip" -patches=PackedStringArray() -encryption_include_filters="" -encryption_exclude_filters="" -seed=0 -encrypt_pck=false -encrypt_directory=false -script_export_mode=2 +export_path="./AgatheOs.x86" +script_export_mode=1 +script_encryption_key="" [preset.0.options] custom_template/debug="" custom_template/release="" -debug/export_console_wrapper=1 -binary_format/embed_pck=false -texture_format/s3tc_bptc=true -texture_format/etc2_astc=false -shader_baker/enabled=false binary_format/architecture="x86_32" -ssh_remote_deploy/enabled=false -ssh_remote_deploy/host="user@host_ip" -ssh_remote_deploy/port="22" -ssh_remote_deploy/extra_args_ssh="" -ssh_remote_deploy/extra_args_scp="" -ssh_remote_deploy/run_script="#!/usr/bin/env bash -export DISPLAY=:0 -unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\" -\"{temp_dir}/{exe_name}\" {cmd_args}" -ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash -kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\") -rm -rf \"{temp_dir}\"" +binary_format/embed_pck=true +texture_format/bptc=false +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false +texture_format/no_bptc_fallbacks=true diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..cabff0c --- /dev/null +++ b/icon.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a82801a4b35793beff55bbcfad07f170d6be11446aeefd148871ec870bf7415 +size 3324 diff --git a/icon.png.import b/icon.png.import new file mode 100644 index 0000000..a4c02e6 --- /dev/null +++ b/icon.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.png" +dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/icon.svg b/icon.svg deleted file mode 100644 index c6bbb7d..0000000 --- a/icon.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/icon.svg.import b/icon.svg.import deleted file mode 100644 index 35ddbf4..0000000 --- a/icon.svg.import +++ /dev/null @@ -1,43 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c4x58roxqr6u" -path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://icon.svg" -dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/uastc_level=0 -compress/rdo_quality_loss=0.0 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/channel_remap/red=0 -process/channel_remap/green=1 -process/channel_remap/blue=2 -process/channel_remap/alpha=3 -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 -svg/scale=1.0 -editor/scale_with_editor_scale=false -editor/convert_colors_with_editor_theme=false diff --git a/main.gd b/main.gd index 26acb9c..2ba1f26 100644 --- a/main.gd +++ b/main.gd @@ -10,11 +10,12 @@ var labels: Array = [] var current_x: float = 0 var current_y: float = 0 -@onready var labels_node: Control = $Labels +onready var labels_node: Control = $Labels var is_ready: bool = false func _ready() -> void: + Input.mouse_mode = Input.MOUSE_MODE_CAPTURED offset_line(1) is_ready = true @@ -22,16 +23,18 @@ func _input(event: InputEvent) -> void: if event is InputEventKey: var key_event: InputEventKey = event if key_event.pressed and not key_event.echo: - var letter: String = OS.get_keycode_string(event.keycode) - if letter.length() == 1: - spawn_text(OS.get_keycode_string(event.keycode)) + var letter: String = OS.get_scancode_string(event.scancode) + if event.physical_scancode >= KEY_0 and event.physical_scancode <= KEY_9: + spawn_text(OS.get_scancode_string(event.physical_scancode)) + elif letter.length() == 1: + spawn_text(OS.get_scancode_string(event.scancode)) else: - match key_event.keycode: - Key.KEY_ENTER: + match key_event.physical_scancode: + KEY_ENTER: offset_line() - Key.KEY_ESCAPE: + KEY_ESCAPE: offset_line(6) - Key.KEY_BACKSPACE: + KEY_BACKSPACE: delete_last_text() func offset_line(amount: int = 1) -> void: @@ -39,26 +42,26 @@ func offset_line(amount: int = 1) -> void: current_y = current_y + LINE_HEIGHT * amount var target_pos := Vector2(0, SCREEN_HEIGHT - (LINE_HEIGHT + current_y)) var tween := get_tree().create_tween() - var tweener := tween.tween_property(labels_node, "position", target_pos, 0.3) + var tweener := tween.tween_property(labels_node, "rect_position", target_pos, 0.3) tweener.from_current().set_trans(Tween.TRANS_CUBIC) if is_ready: $AudioStreamPlayer.stop() $AudioStreamPlayer.play() func spawn_text(text: String) -> void: - var instance : TypedLetter = label.instantiate() + var instance : TypedLetter = label.instance() labels.push_back(instance) labels_node.add_child(instance) - instance.position = Vector2(current_x, current_y) + instance.rect_position = Vector2(current_x, current_y) instance.add_label(text) current_x = current_x + instance.get_width() + LETTER_SPACING if current_x > SCREEN_WIDTH: offset_line() func delete_last_text() -> void: - if not labels.is_empty(): + if not labels.empty(): var last: TypedLetter = labels.back() - if current_y == last.position.y: - current_x = last.position.x + if current_y == last.rect_position.y: + current_x = last.rect_position.x labels.pop_back() last.delete_label() diff --git a/main.gd.uid b/main.gd.uid deleted file mode 100644 index f2f764d..0000000 --- a/main.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://drsg3aygmqy4e diff --git a/main.tscn b/main.tscn index 95d26a6..e0790b5 100644 --- a/main.tscn +++ b/main.tscn @@ -1,22 +1,17 @@ -[gd_scene load_steps=3 format=3 uid="uid://dtgl0v3ev3l1o"] +[gd_scene load_steps=3 format=2] -[ext_resource type="Script" uid="uid://drsg3aygmqy4e" path="res://main.gd" id="1_0xm2m"] -[ext_resource type="AudioStream" uid="uid://dox2ltjurhp6q" path="res://new_line.wav" id="2_0xm2m"] +[ext_resource path="res://new_line.wav" type="AudioStream" id=1] +[ext_resource path="res://main.gd" type="Script" id=2] [node name="Control" type="Control"] -layout_mode = 3 -anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -script = ExtResource("1_0xm2m") +script = ExtResource( 2 ) [node name="Labels" type="Control" parent="."] -anchors_preset = 0 -offset_right = 40.0 -offset_bottom = 40.0 +margin_right = 40.0 +margin_bottom = 40.0 [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] -stream = ExtResource("2_0xm2m") -volume_db = -23.72 +stream = ExtResource( 1 ) +volume_db = -23.056 diff --git a/new_line.wav.import b/new_line.wav.import index 717f69a..3ad86dc 100644 --- a/new_line.wav.import +++ b/new_line.wav.import @@ -1,14 +1,13 @@ [remap] importer="wav" -type="AudioStreamWAV" -uid="uid://dox2ltjurhp6q" -path="res://.godot/imported/new_line.wav-dbe0aa9ef88d20f900089dd0f8df1eb9.sample" +type="AudioStreamSample" +path="res://.import/new_line.wav-dbe0aa9ef88d20f900089dd0f8df1eb9.sample" [deps] source_file="res://new_line.wav" -dest_files=["res://.godot/imported/new_line.wav-dbe0aa9ef88d20f900089dd0f8df1eb9.sample"] +dest_files=[ "res://.import/new_line.wav-dbe0aa9ef88d20f900089dd0f8df1eb9.sample" ] [params] @@ -21,4 +20,4 @@ edit/normalize=false edit/loop_mode=0 edit/loop_begin=0 edit/loop_end=-1 -compress/mode=2 +compress/mode=0 diff --git a/plop.wav.import b/plop.wav.import index bd53d68..f779ae4 100644 --- a/plop.wav.import +++ b/plop.wav.import @@ -1,14 +1,13 @@ [remap] importer="wav" -type="AudioStreamWAV" -uid="uid://2odedxbolgoj" -path="res://.godot/imported/plop.wav-2f0fd709d6f75c10aa7f3c6071ab150d.sample" +type="AudioStreamSample" +path="res://.import/plop.wav-2f0fd709d6f75c10aa7f3c6071ab150d.sample" [deps] source_file="res://plop.wav" -dest_files=["res://.godot/imported/plop.wav-2f0fd709d6f75c10aa7f3c6071ab150d.sample"] +dest_files=[ "res://.import/plop.wav-2f0fd709d6f75c10aa7f3c6071ab150d.sample" ] [params] @@ -21,4 +20,4 @@ edit/normalize=false edit/loop_mode=0 edit/loop_begin=0 edit/loop_end=-1 -compress/mode=2 +compress/mode=0 diff --git a/project.godot b/project.godot index 226cb78..6e3afa6 100644 --- a/project.godot +++ b/project.godot @@ -6,23 +6,46 @@ ; [section] ; section goes between [] ; param=value ; assign values to parameters -config_version=5 +config_version=4 + +_global_script_classes=[ { +"base": "Control", +"class": "TypedLetter", +"language": "GDScript", +"path": "res://typed_letter.gd" +} ] +_global_script_class_icons={ +"TypedLetter": "" +} [application] -config/name="AgatheOS" -run/main_scene="uid://dtgl0v3ev3l1o" -config/features=PackedStringArray("4.5", "GL Compatibility") -config/icon="res://icon.svg" +config/name="Agathe Os" +run/main_scene="res://main.tscn" +boot_splash/show_image=false +boot_splash/fullsize=false +boot_splash/use_filter=false +config/icon="res://icon.png" [display] -window/size/viewport_width=1024 -window/size/viewport_height=600 -window/size/mode=4 window/size/resizable=false +window/size/borderless=true +window/size/fullscreen=true +window/vsync/use_vsync=false +window/stretch/aspect="expand" + +[gui] + +common/drop_mouse_on_gui_input_disabled=true + +[physics] + +common/enable_pause_aware_picking=true [rendering] -renderer/rendering_method="gl_compatibility" -renderer/rendering_method.mobile="gl_compatibility" +quality/driver/driver_name="GLES2" +vram_compression/import_etc=true +vram_compression/import_etc2=false +environment/default_environment="res://default_env.tres" diff --git a/typed_letter.gd b/typed_letter.gd index 6369596..23e587c 100644 --- a/typed_letter.gd +++ b/typed_letter.gd @@ -1,7 +1,7 @@ class_name TypedLetter extends Control -@onready var label: Label = $Label +onready var label: Label = $Label var letter_size := Vector2.ZERO @@ -13,10 +13,10 @@ func get_width() -> float: func add_label(text: String) -> void: label.text = text - letter_size = label.get_theme_font("font").get_string_size(label.text, HORIZONTAL_ALIGNMENT_LEFT, -1, label.get_theme_font_size("font_size")) - label.pivot_offset = letter_size / 2 + letter_size = label.get_font("font").get_string_size(label.text) + label.rect_pivot_offset = letter_size / 2 $AnimationPlayer.play("spawn") - $AudioStreamPlayer.pitch_scale = randf_range(0.7, 1.7) + $AudioStreamPlayer.pitch_scale = 0.7 + randf() $AudioStreamPlayer.play() func delete_label() -> void: diff --git a/typed_letter.gd.uid b/typed_letter.gd.uid deleted file mode 100644 index a570121..0000000 --- a/typed_letter.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bk02reogr7lmi diff --git a/typed_letter.tscn b/typed_letter.tscn index c2a90f7..4e11593 100644 --- a/typed_letter.tscn +++ b/typed_letter.tscn @@ -1,185 +1,157 @@ -[gd_scene load_steps=9 format=3 uid="uid://badfkx2cegbbh"] +[gd_scene load_steps=9 format=2] -[ext_resource type="Script" uid="uid://bk02reogr7lmi" path="res://typed_letter.gd" id="1_382cc"] -[ext_resource type="FontFile" uid="uid://4xh07bbhtmaf" path="res://OpenSans-Bold.ttf" id="2_s3pwu"] -[ext_resource type="AudioStream" uid="uid://2odedxbolgoj" path="res://plop.wav" id="3_hy1vi"] -[ext_resource type="AudioStream" uid="uid://3rauc5r5b2ox" path="res://delete.wav" id="4_4wxnc"] +[ext_resource path="res://typed_letter.gd" type="Script" id=1] +[ext_resource path="res://plop.wav" type="AudioStream" id=2] +[ext_resource path="res://delete.wav" type="AudioStream" id=3] +[ext_resource path="res://OpenSans-Bold.ttf" type="DynamicFontData" id=4] -[sub_resource type="Animation" id="Animation_i3osk"] +[sub_resource type="DynamicFont" id=1] +size = 100 +font_data = ExtResource( 4 ) + +[sub_resource type="Animation" id=2] length = 0.001 tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Label:scale") +tracks/0/path = NodePath("Label:rect_scale") tracks/0/interp = 1 tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true tracks/0/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), "update": 0, -"values": [Vector2(1, 1)] +"values": [ Vector2( 1, 1 ) ] } tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Label:theme_override_colors/font_color") +tracks/1/path = NodePath("Label:custom_colors/font_color") tracks/1/interp = 1 tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true tracks/1/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), "update": 0, -"values": [Color(1, 1, 1, 1)] +"values": [ Color( 1, 1, 1, 1 ) ] } tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Label:position") +tracks/2/path = NodePath("Label:rect_position") tracks/2/interp = 1 tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), "update": 0, -"values": [Vector2(0, 0)] +"values": [ Vector2( 0, 0 ) ] } tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("Label:rotation") +tracks/3/path = NodePath("Label:rect_rotation") tracks/3/interp = 1 tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true tracks/3/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), "update": 0, -"values": [0.0] +"values": [ 0.0 ] } -[sub_resource type="Animation" id="Animation_06tve"] -resource_name = "spawn" -length = 0.1 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Label:scale") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.06666667, 0.1), -"transitions": PackedFloat32Array(2.3784113, 0.28717464, 1), -"update": 0, -"values": [Vector2(0.4, 0.4), Vector2(1.2, 1.2), Vector2(1, 1)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Label:theme_override_colors/font_color") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 0.06666667), -"transitions": PackedFloat32Array(2.3784113, 1), -"update": 0, -"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] -} - -[sub_resource type="Animation" id="Animation_4wxnc"] +[sub_resource type="Animation" id=4] resource_name = "delete" length = 1.5 tracks/0/type = "value" +tracks/0/path = NodePath("Label:rect_position") +tracks/0/interp = 2 +tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("Label:scale") -tracks/0/interp = 1 -tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(), -"transitions": PackedFloat32Array(), +"times": PoolRealArray( 0, 0.138872, 0.49812, 1.5 ), +"transitions": PoolRealArray( 0.965937, 1.03527, 1, 1 ), "update": 0, -"values": [] +"values": [ Vector2( 0, 0 ), Vector2( 32, -20 ), Vector2( 89, 171 ), Vector2( 196, 819 ) ] } tracks/1/type = "value" +tracks/1/path = NodePath("Label:rect_rotation") +tracks/1/interp = 2 +tracks/1/loop_wrap = true tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("Label:theme_override_colors/font_color") -tracks/1/interp = 1 -tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 0.18, 1.1), -"transitions": PackedFloat32Array(1, 1, 1), +"times": PoolRealArray( 0, 0.138872, 0.49812, 1.5 ), +"transitions": PoolRealArray( 1, 1, 1, 1 ), "update": 0, -"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +"values": [ 0.0, 13.1, 31.0, 44.1 ] } -tracks/2/type = "value" +tracks/2/type = "method" +tracks/2/path = NodePath(".") +tracks/2/interp = 1 +tracks/2/loop_wrap = true tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("Label:position") -tracks/2/interp = 2 -tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 0.14, 0.6, 1.5), -"transitions": PackedFloat32Array(1, 1, 1, 1), -"update": 0, -"values": [Vector2(0, 0), Vector2(33, -19.999998), Vector2(89, 171), Vector2(132.99998, 648)] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("Label:rotation") -tracks/3/interp = 2 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0, 0.14, 0.6, 1.5), -"transitions": PackedFloat32Array(1, 1, 1, 1), -"update": 0, -"values": [0.0, 0.21454777, 0.55489826, 0.69997525] -} -tracks/4/type = "method" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath(".") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/keys = { -"times": PackedFloat32Array(1.5), -"transitions": PackedFloat32Array(1), -"values": [{ -"args": [], -"method": &"on_delete" -}] +"times": PoolRealArray( 1.5 ), +"transitions": PoolRealArray( 1 ), +"values": [ { +"args": [ ], +"method": "on_delete" +} ] } -[sub_resource type="AnimationLibrary" id="AnimationLibrary_02dvo"] -_data = { -&"RESET": SubResource("Animation_i3osk"), -&"delete": SubResource("Animation_4wxnc"), -&"spawn": SubResource("Animation_06tve") +[sub_resource type="Animation" id=3] +resource_name = "spawn" +length = 0.1 +step = 0.01 +tracks/0/type = "value" +tracks/0/path = NodePath("Label:rect_scale") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.06, 0.1 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 0, +"values": [ Vector2( 0, 0 ), Vector2( 1.2, 1.2 ), Vector2( 1, 1 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("Label:custom_colors/font_color") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0, 0.06 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ) ] } [node name="Root" type="Control"] -layout_mode = 3 -anchors_preset = 0 -offset_right = 70.0 -offset_bottom = 165.0 -script = ExtResource("1_382cc") +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_right = -964.0 +margin_bottom = -458.0 +script = ExtResource( 1 ) [node name="Label" type="Label" parent="."] -layout_mode = 0 -offset_right = 58.00009 -offset_bottom = 137.00006 -theme_override_colors/font_color = Color(1, 1, 1, 1) -theme_override_fonts/font = ExtResource("2_s3pwu") -theme_override_font_sizes/font_size = 100 +margin_right = 58.0005 +margin_bottom = 137.001 +custom_colors/font_color = Color( 1, 1, 1, 1 ) +custom_fonts/font = SubResource( 1 ) text = "T" [node name="AnimationPlayer" type="AnimationPlayer" parent="."] -libraries = { -&"": SubResource("AnimationLibrary_02dvo") -} +anims/RESET = SubResource( 2 ) +anims/delete = SubResource( 4 ) +anims/spawn = SubResource( 3 ) [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] -stream = ExtResource("3_hy1vi") +stream = ExtResource( 2 ) [node name="AudioStreamPlayer2" type="AudioStreamPlayer" parent="."] -stream = ExtResource("4_4wxnc") +stream = ExtResource( 3 )