commit e2fbe5f3bf832eb71ceb001449d2d5d78ec1d63b Author: IMK Date: Sun Mar 3 20:22:50 2024 +0100 initial commit diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4709183 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Godot 4+ specific ignores +.godot/ diff --git a/Area2D.gd b/Area2D.gd new file mode 100644 index 0000000..8715e3a --- /dev/null +++ b/Area2D.gd @@ -0,0 +1,7 @@ +extends Area2D + + + + +func _on_body_entered(body): + print("hai") diff --git a/HackerBasic.ttf b/HackerBasic.ttf new file mode 100644 index 0000000..046074a Binary files /dev/null and b/HackerBasic.ttf differ diff --git a/HackerBasic.ttf.import b/HackerBasic.ttf.import new file mode 100644 index 0000000..e25d8b3 --- /dev/null +++ b/HackerBasic.ttf.import @@ -0,0 +1,38 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://dit6605nx68qb" +path="res://.godot/imported/HackerBasic.ttf-aa7eb7cf3d0776599b28827728f98419.fontdata" + +[deps] + +source_file="res://HackerBasic.ttf" +dest_files=["res://.godot/imported/HackerBasic.ttf-aa7eb7cf3d0776599b28827728f98419.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[{ +"chars": [], +"glyphs": [], +"name": "New Configuration", +"size": Vector2i(16, 0) +}] +language_support={} +script_support={} +opentype_features={} diff --git a/assets/chess_basic.ttf b/assets/chess_basic.ttf new file mode 100755 index 0000000..213ce87 Binary files /dev/null and b/assets/chess_basic.ttf differ diff --git a/assets/chess_basic.ttf.import b/assets/chess_basic.ttf.import new file mode 100644 index 0000000..78dc194 --- /dev/null +++ b/assets/chess_basic.ttf.import @@ -0,0 +1,39 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://dg1vp00r67f0f" +path="res://.godot/imported/chess_basic.ttf-3813103f7652f90732418ac2db8f4907.fontdata" + +[deps] + +source_file="res://assets/chess_basic.ttf" +dest_files=["res://.godot/imported/chess_basic.ttf-3813103f7652f90732418ac2db8f4907.fontdata"] + +[params] + +Rendering=null +antialiasing=2 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=2 +subpixel_positioning=1 +oversampling=0.8 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[{ +"chars": [], +"glyphs": [], +"name": "New Configuration", +"size": Vector2i(16, 0), +"variation_embolden": 0.0 +}] +language_support={} +script_support={} +opentype_features={} diff --git a/assets/lines.png b/assets/lines.png new file mode 100644 index 0000000..63a626f Binary files /dev/null and b/assets/lines.png differ diff --git a/assets/lines.png.import b/assets/lines.png.import new file mode 100644 index 0000000..f1be7bf --- /dev/null +++ b/assets/lines.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://tyvdq4i2kfx7" +path="res://.godot/imported/lines.png-3e6a4098338c21cabbadb00363601bdf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/lines.png" +dest_files=["res://.godot/imported/lines.png-3e6a4098338c21cabbadb00363601bdf.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +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/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 diff --git a/assets/meow.wav b/assets/meow.wav new file mode 100644 index 0000000..d1903e3 Binary files /dev/null and b/assets/meow.wav differ diff --git a/assets/meow.wav.import b/assets/meow.wav.import new file mode 100644 index 0000000..f6a0bae --- /dev/null +++ b/assets/meow.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://wc2udhbh21la" +path="res://.godot/imported/meow.wav-ab4f6e9438cd14a91feb98baed1a18bb.sample" + +[deps] + +source_file="res://assets/meow.wav" +dest_files=["res://.godot/imported/meow.wav-ab4f6e9438cd14a91feb98baed1a18bb.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/assets/plr/face.png b/assets/plr/face.png new file mode 100644 index 0000000..f4d24e0 Binary files /dev/null and b/assets/plr/face.png differ diff --git a/assets/plr/face.png.import b/assets/plr/face.png.import new file mode 100644 index 0000000..2365f53 --- /dev/null +++ b/assets/plr/face.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cw5k2tw74rt44" +path="res://.godot/imported/face.png-74e3633d4c4b722859cdc1fa4b46e775.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/plr/face.png" +dest_files=["res://.godot/imported/face.png-74e3633d4c4b722859cdc1fa4b46e775.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +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/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 diff --git a/assets/plr/head.png b/assets/plr/head.png new file mode 100644 index 0000000..4ff535a Binary files /dev/null and b/assets/plr/head.png differ diff --git a/assets/plr/head.png.import b/assets/plr/head.png.import new file mode 100644 index 0000000..a905312 --- /dev/null +++ b/assets/plr/head.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bhoi16v2lge5s" +path="res://.godot/imported/head.png-cf86682d27de41a040aadc098cefa2c3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/plr/head.png" +dest_files=["res://.godot/imported/head.png-cf86682d27de41a040aadc098cefa2c3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +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/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 diff --git a/assets/plr/tail.png b/assets/plr/tail.png new file mode 100644 index 0000000..64512de Binary files /dev/null and b/assets/plr/tail.png differ diff --git a/assets/plr/tail.png.import b/assets/plr/tail.png.import new file mode 100644 index 0000000..f363e32 --- /dev/null +++ b/assets/plr/tail.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vc4ntnaq4xo8" +path="res://.godot/imported/tail.png-719dfa491b024641a32a27f250a037d8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/plr/tail.png" +dest_files=["res://.godot/imported/tail.png-719dfa491b024641a32a27f250a037d8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +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/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 diff --git a/assets/plr/torso.png b/assets/plr/torso.png new file mode 100644 index 0000000..a4d1de5 Binary files /dev/null and b/assets/plr/torso.png differ diff --git a/assets/plr/torso.png.import b/assets/plr/torso.png.import new file mode 100644 index 0000000..fb43e1b --- /dev/null +++ b/assets/plr/torso.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://e61exatotusn" +path="res://.godot/imported/torso.png-071c101d087b247655dd74818644ae11.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/plr/torso.png" +dest_files=["res://.godot/imported/torso.png-071c101d087b247655dd74818644ae11.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +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/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 diff --git a/assets/spritesheet01.png b/assets/spritesheet01.png new file mode 100644 index 0000000..5f08ec5 Binary files /dev/null and b/assets/spritesheet01.png differ diff --git a/assets/spritesheet01.png.import b/assets/spritesheet01.png.import new file mode 100644 index 0000000..be4d704 --- /dev/null +++ b/assets/spritesheet01.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://qbyvdl153l58" +path="res://.godot/imported/spritesheet01.png-ea122033c647b9e5598edc3dbb6e4d54.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/spritesheet01.png" +dest_files=["res://.godot/imported/spritesheet01.png-ea122033c647b9e5598edc3dbb6e4d54.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +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/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 diff --git a/assets/textbox.png b/assets/textbox.png new file mode 100644 index 0000000..70c77cc Binary files /dev/null and b/assets/textbox.png differ diff --git a/assets/textbox.png.import b/assets/textbox.png.import new file mode 100644 index 0000000..5fd9ed7 --- /dev/null +++ b/assets/textbox.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2wwc74rumj6b" +path="res://.godot/imported/textbox.png-d6c24738881ee746f8b556a776544dcb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/textbox.png" +dest_files=["res://.godot/imported/textbox.png-d6c24738881ee746f8b556a776544dcb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +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/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 diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..b370ceb --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..d8bea08 --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://xy63upno21jg" +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/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +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/lines.tscn b/lines.tscn new file mode 100644 index 0000000..228af9c --- /dev/null +++ b/lines.tscn @@ -0,0 +1,184 @@ +[gd_scene load_steps=4 format=3 uid="uid://cab0u1jewvqun"] + +[ext_resource type="Texture2D" uid="uid://tyvdq4i2kfx7" path="res://assets/lines.png" id="1_pcy5j"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_5rlqc"] +texture = ExtResource("1_pcy5j") +texture_region_size = Vector2i(10, 10) +0:7/0 = 0 +0:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:7/0/physics_layer_0/angular_velocity = 0.0 +1:7/0 = 0 +1:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:7/0/physics_layer_0/angular_velocity = 0.0 +2:7/0 = 0 +2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_0/angular_velocity = 0.0 +3:7/0 = 0 +3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_0/angular_velocity = 0.0 +4:7/0 = 0 +4:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_0/angular_velocity = 0.0 +5:7/0 = 0 +5:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_0/angular_velocity = 0.0 +5:6/0 = 0 +5:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:6/0/physics_layer_0/angular_velocity = 0.0 +4:6/0 = 0 +4:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_0/angular_velocity = 0.0 +3:6/0 = 0 +3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_0/angular_velocity = 0.0 +2:6/0 = 0 +2:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:6/0/physics_layer_0/angular_velocity = 0.0 +1:6/0 = 0 +1:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:6/0/physics_layer_0/angular_velocity = 0.0 +0:6/0 = 0 +0:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:6/0/physics_layer_0/angular_velocity = 0.0 +1:5/0 = 0 +1:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:5/0/physics_layer_0/angular_velocity = 0.0 +1:4/0 = 0 +1:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:4/0/physics_layer_0/angular_velocity = 0.0 +1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125) +1:3/0 = 0 +1:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:3/0/physics_layer_0/angular_velocity = 0.0 +1:2/0 = 0 +1:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:2/0/physics_layer_0/angular_velocity = 0.0 +1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125) +0:2/0 = 0 +0:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:2/0/physics_layer_0/angular_velocity = 0.0 +0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125) +0:1/0 = 0 +0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_0/angular_velocity = 0.0 +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125) +0:3/0 = 0 +0:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:3/0/physics_layer_0/angular_velocity = 0.0 +0:4/0 = 0 +0:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:4/0/physics_layer_0/angular_velocity = 0.0 +0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125) +0:5/0 = 0 +0:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:5/0/physics_layer_0/angular_velocity = 0.0 +1:0/0 = 0 +1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_0/angular_velocity = 0.0 +1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125) +1:1/0 = 0 +1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_0/angular_velocity = 0.0 +2:5/0 = 0 +2:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:5/0/physics_layer_0/angular_velocity = 0.0 +2:4/0 = 0 +2:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:4/0/physics_layer_0/angular_velocity = 0.0 +2:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125) +2:3/0 = 0 +2:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:3/0/physics_layer_0/angular_velocity = 0.0 +2:2/0 = 0 +2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_0/angular_velocity = 0.0 +2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125) +2:1/0 = 0 +2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_0/angular_velocity = 0.0 +2:0/0 = 0 +2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_0/angular_velocity = 0.0 +2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125) +3:1/0 = 0 +3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_0/angular_velocity = 0.0 +4:1/0 = 0 +4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_0/angular_velocity = 0.0 +4:0/0 = 0 +4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_0/angular_velocity = 0.0 +4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125) +3:0/0 = 0 +3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_0/angular_velocity = 0.0 +3:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125) +5:0/0 = 0 +5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_0/angular_velocity = 0.0 +5:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125) +5:1/0 = 0 +5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_0/angular_velocity = 0.0 +4:2/0 = 0 +4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_0/angular_velocity = 0.0 +4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125) +4:3/0 = 0 +4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_0/angular_velocity = 0.0 +4:4/0 = 0 +4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_0/angular_velocity = 0.0 +4:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125) +4:5/0 = 0 +4:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_0/angular_velocity = 0.0 +5:5/0 = 0 +5:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:5/0/physics_layer_0/angular_velocity = 0.0 +5:4/0 = 0 +5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_0/angular_velocity = 0.0 +5:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125) +5:3/0 = 0 +5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_0/angular_velocity = 0.0 +5:2/0 = 0 +5:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:2/0/physics_layer_0/angular_velocity = 0.0 +5:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125) +3:3/0 = 0 +3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_0/angular_velocity = 0.0 +3:4/0 = 0 +3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_0/angular_velocity = 0.0 +3:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125) +3:5/0 = 0 +3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_0/angular_velocity = 0.0 +3:2/0 = 0 +3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_0/angular_velocity = 0.0 +3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-5, -4, 5, -4, 5, -2.125, -5, -2.125) + +[sub_resource type="TileSet" id="TileSet_uqloi"] +tile_size = Vector2i(10, 10) +physics_layer_0/collision_layer = 1 +terrain_set_0/mode = 0 +terrain_set_0/terrain_0/name = "line" +terrain_set_0/terrain_0/color = Color(0, 0, 0, 1) +sources/0 = SubResource("TileSetAtlasSource_5rlqc") + +[node name="TileMap" type="TileMap"] +tile_set = SubResource("TileSet_uqloi") +format = 2 +layer_0/name = "lines" +layer_1/name = "decoration" +layer_1/tile_data = PackedInt32Array() diff --git a/main.gd b/main.gd new file mode 100644 index 0000000..97d3696 --- /dev/null +++ b/main.gd @@ -0,0 +1,15 @@ +extends Node2D + +@onready var dial = $CharacterBody2D/CanvasLayer +# Called when the node enters the scene tree for the first time. +func _ready(): + await get_tree().create_timer(3).timeout + dial.typewrite("Oh what a wonderful day today!", load("res://assets/meow.wav"),2, false) + await dial.Done + dial.typewrite("I should do my chores!", load("res://assets/meow.wav"),2, true) + await dial.Done + $CharacterBody2D.moving = true + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass diff --git a/main.tscn b/main.tscn new file mode 100644 index 0000000..7938420 --- /dev/null +++ b/main.tscn @@ -0,0 +1,55 @@ +[gd_scene load_steps=9 format=3 uid="uid://bsndq7rws8lru"] + +[ext_resource type="Script" path="res://main.gd" id="1_lgqqv"] +[ext_resource type="PackedScene" uid="uid://ceqnn4bkdnnkg" path="res://plr.tscn" id="1_wgp3w"] +[ext_resource type="PackedScene" uid="uid://cab0u1jewvqun" path="res://lines.tscn" id="2_s78l6"] +[ext_resource type="Texture2D" uid="uid://qbyvdl153l58" path="res://assets/spritesheet01.png" id="3_umasy"] +[ext_resource type="Script" path="res://Area2D.gd" id="5_vkino"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_mfrv4"] +atlas = ExtResource("3_umasy") +region = Rect2(64, 4, 33, 47) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5slll"] +atlas = ExtResource("3_umasy") +region = Rect2(7, 2, 34, 31) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_dl0fy"] +size = Vector2(39, 20) + +[node name="Node2D" type="Node2D"] +script = ExtResource("1_lgqqv") + +[node name="Sprite2D" type="Sprite2D" parent="."] +position = Vector2(327, 192) +texture = SubResource("AtlasTexture_mfrv4") + +[node name="Sprite2D2" type="Sprite2D" parent="."] +position = Vector2(206, 179) +texture = SubResource("AtlasTexture_5slll") + +[node name="Sprite2D3" type="Sprite2D" parent="."] +position = Vector2(274, 178) +texture = SubResource("AtlasTexture_5slll") +flip_h = true + +[node name="TileMap" parent="." instance=ExtResource("2_s78l6")] +layer_0/name = "decoration" +layer_0/tile_data = PackedInt32Array(1376272, 131072, 4, 1376273, 65536, 0, 1376274, 327680, 4, 1376275, 65536, 2, 1376276, 327680, 4, 1376277, 327680, 4, 1376278, 196608, 2, 1376279, 0, 0, 1376280, 131072, 0, 1376281, 196608, 0, 1376282, 327680, 2, 1376283, 327680, 2, 1376284, 262144, 0, 1376285, 196608, 4, 1376286, 262144, 2, 1376287, 65536, 2, 1376288, 262144, 2, 1376289, 262144, 4, 1376290, 196608, 2, 1376291, 327680, 2) +layer_1/name = "lines" +layer_1/z_index = 1 +layer_1/tile_data = PackedInt32Array(2097173, 0, 0, 2097174, 65536, 0, 2097175, 131072, 0, 2097176, 0, 0, 2097177, 65536, 0, 2097178, 131072, 0, 2097179, 0, 0, 2097180, 65536, 0, 2097181, 131072, 0, 2097182, 0, 0, 2097183, 65536, 0, 2097184, 131072, 0, 2097185, 196608, 0, 2097186, 262144, 0, 2097187, 327680, 0, 1900580, 131072, 1610612738, 1966116, 65536, 1610612738, 2031652, 0, 1610612738, 1703972, 131072, 1610612738, 1769508, 65536, 1610612738, 1835044, 0, 1610612738, 1507364, 131072, 1610612738, 1572900, 65536, 1610612738, 1638436, 0, 1610612738, 1310756, 131072, 1610612738, 1376292, 65536, 1610612738, 1441828, 0, 1610612738, 1114148, 131072, 1610612738, 1179684, 65536, 1610612738, 1245220, 0, 1610612738, 2097171, 0, 0, 2097172, 65536, 0, 2097168, 0, 0, 2097169, 65536, 0, 2097170, 65536, 2, 2097188, 0, 6, 2097167, 0, 268435462, 1900559, 131072, 1342177284, 1966095, 196608, 1342177284, 2031631, 262144, 1342177284, 1835023, 327680, 1342177284, 1638415, 65536, 1342177282, 1703951, 131072, 1342177282, 1769487, 196608, 1342177282, 1441807, 65536, 1342177280, 1507343, 131072, 1342177280, 1572879, 196608, 1342177280, 1310735, 65536, 1342177282, 1376271, 131072, 1342177282, 1114127, 65536, 1342177282, 1179663, 131072, 1342177282, 1245199, 196608, 1342177282, 720913, 196608, 536870914, 720914, 0, 536870916, 720915, 131072, 536870916, 720916, 327680, 536870916, 720917, 0, 536870914, 720918, 131072, 536870912, 720919, 131072, 536870914, 720920, 0, 536870916, 720921, 327680, 536870914, 720922, 327680, 536870912, 720923, 262144, 536870916, 720924, 196608, 536870916, 720925, 327680, 536870912, 720926, 327680, 536870916, 720927, 262144, 536870912, 720928, 262144, 536870916, 720929, 327680, 536870914, 720930, 327680, 536870916, 720931, 327680, 536870912, 852004, 262144, 1073741828, 917540, 196608, 1073741826, 983076, 327680, 1073741826, 1048612, 65536, 1073741824, 786468, 262144, 1073741824, 1048591, 327680, 1879048194, 983055, 131072, 1879048194, 917519, 262144, 1879048194, 851983, 262144, 1879048196, 786447, 327680, 1879048192, 720912, 131072, 536870914, 720932, 0, 1610612742, 720911, 0, 1879048198) + +[node name="CharacterBody2D" parent="." instance=ExtResource("1_wgp3w")] +position = Vector2(266, 225) +moving = false + +[node name="Area2D" type="Area2D" parent="."] +position = Vector2(313, 196) +script = ExtResource("5_vkino") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] +position = Vector2(13, 17) +shape = SubResource("RectangleShape2D_dl0fy") + +[connection signal="body_entered" from="Area2D" to="Area2D" method="_on_body_entered"] diff --git a/minibasic.ttf b/minibasic.ttf new file mode 100644 index 0000000..16c66a6 Binary files /dev/null and b/minibasic.ttf differ diff --git a/minibasic.ttf.import b/minibasic.ttf.import new file mode 100644 index 0000000..59fc6f1 --- /dev/null +++ b/minibasic.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://dr5efgewcuwmr" +path="res://.godot/imported/minibasic.ttf-153d0ea39bbb8ff049ab21eef9078644.fontdata" + +[deps] + +source_file="res://minibasic.ttf" +dest_files=["res://.godot/imported/minibasic.ttf-153d0ea39bbb8ff049ab21eef9078644.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/plr.gd b/plr.gd new file mode 100644 index 0000000..d7716e6 --- /dev/null +++ b/plr.gd @@ -0,0 +1,46 @@ +extends CharacterBody2D + +signal interact +signal interact2 +const SPEED = 300.0 + +@export var moving = true + +# Get the gravity from the project settings to be synced with RigidBody nodes. + +func handle_layer(direction): + if round(direction.y) == -1: + $character/body/tail.z_index = 1 + $character/body/face.visible = false + elif round(direction.y) == 1: + $character/body/tail.z_index = 0 + $character/body/face.visible = true + + +func _physics_process(_delta): + if Input.is_action_just_pressed("interact"): + interact.emit() + if Input.is_action_just_pressed("interact 2"): + interact2.emit() + if not moving: return + + # Get the input direction and handle the movement/deceleration. + # As good practice, you should replace UI actions with custom gawameplay actions. + var direction = Input.get_vector("left","right","up","down") + if direction == Vector2(0,0): + $AnimationPlayer.current_animation = "idle" + else: + handle_layer(direction) + + print(direction.x) + if not direction.x == 0: + + $character.scale.x = round(direction.x) + $AnimationPlayer.current_animation = "walk" + else: + $AnimationPlayer.current_animation = "vmove" + + velocity = direction * SPEED + + + move_and_slide() diff --git a/plr.tscn b/plr.tscn new file mode 100644 index 0000000..43f4ec0 --- /dev/null +++ b/plr.tscn @@ -0,0 +1,567 @@ +[gd_scene load_steps=17 format=3 uid="uid://ceqnn4bkdnnkg"] + +[ext_resource type="Script" path="res://plr.gd" id="1_37nf0"] +[ext_resource type="Texture2D" uid="uid://cw5k2tw74rt44" path="res://assets/plr/face.png" id="1_kh4l2"] +[ext_resource type="Texture2D" uid="uid://vc4ntnaq4xo8" path="res://assets/plr/tail.png" id="2_26rkd"] +[ext_resource type="Texture2D" uid="uid://bhoi16v2lge5s" path="res://assets/plr/head.png" id="2_ylo5j"] +[ext_resource type="Texture2D" uid="uid://e61exatotusn" path="res://assets/plr/torso.png" id="3_llt4k"] +[ext_resource type="Texture2D" uid="uid://b2wwc74rumj6b" path="res://assets/textbox.png" id="5_ljw5m"] +[ext_resource type="Script" path="res://typewrite.gd" id="6_bjl34"] +[ext_resource type="FontFile" uid="uid://dit6605nx68qb" path="res://HackerBasic.ttf" id="6_m1vy8"] +[ext_resource type="AudioStream" uid="uid://wc2udhbh21la" path="res://assets/meow.wav" id="9_kn63i"] + +[sub_resource type="Animation" id="Animation_kxab8"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("character/body/face:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(18, 17)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("character/body/face:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("character/body/head:position") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(16, 24)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("character/body/head:rotation") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("character/body/torso:position") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(16, 24)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("character/body/torso:rotation") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("character/body/torso:skew") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("character/body/tail:position") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(15, 35)] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("character/body/tail:rotation") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} + +[sub_resource type="Animation" id="Animation_qoxyi"] +resource_name = "idle" +length = 2.1 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("character/body/face:position") +tracks/0/interp = 2 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.3, 1, 1.2, 2), +"transitions": PackedFloat32Array(1.68179, 1.68179, 1.68179, 1.68179, 1.68179), +"update": 0, +"values": [Vector2(18, 17), Vector2(18, 17), Vector2(18, 19), Vector2(18, 19), Vector2(18, 17)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("character/body/face:rotation") +tracks/1/interp = 2 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.3, 1, 1.2, 2), +"transitions": PackedFloat32Array(1.68179, 1.68179, 1.68179, 1.68179, 1.68179), +"update": 0, +"values": [0.0, 0.0, 0.0, 0.0, 0.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("character/body/head:position") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 1, 2), +"transitions": PackedFloat32Array(1.46409, 1.46409, 1.46409), +"update": 0, +"values": [Vector2(16, 24), Vector2(16, 26), Vector2(16, 24)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("character/body/head:rotation") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 1, 2), +"transitions": PackedFloat32Array(1.46409, 1.46409, 1.46409), +"update": 0, +"values": [0.0, 0.0, 0.0] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("character/body/torso:position") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(), +"transitions": PackedFloat32Array(), +"update": 0, +"values": [] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("character/body/torso:rotation") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0, 2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 0.0] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("character/body/tail:position") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(), +"transitions": PackedFloat32Array(), +"update": 0, +"values": [] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("character/body/tail:rotation") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(), +"transitions": PackedFloat32Array(), +"update": 0, +"values": [] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("character/body/tail:position") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(15, 35), Vector2(15, 35)] +} +tracks/9/type = "value" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("character/body/tail:rotation") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 0.176244] +} + +[sub_resource type="Animation" id="Animation_hwcro"] +resource_name = "vmove" +length = 2.0 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("character/body/torso:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(), +"transitions": PackedFloat32Array(), +"update": 0, +"values": [] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("character/body/torso:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("character/body/head:position") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(16, 24), Vector2(16, 26)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("character/body/head:rotation") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 0.0] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("character/body/face:position") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(16, 17), Vector2(16, 21)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("character/body/face:rotation") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 0.0] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("character/body/torso:skew") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0.0001, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0593412, 0.010472] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("character/body/tail:position") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(15, 35), Vector2(15, 35)] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("character/body/tail:rotation") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 0.176244] +} + +[sub_resource type="Animation" id="Animation_hhtsg"] +resource_name = "walk" +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("character/body/face:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(21, 17), Vector2(21, 19)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("character/body/face:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 0.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("character/body/head:position") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(19, 24), Vector2(19, 25)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("character/body/head:rotation") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 0.0] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("character/body/torso:position") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(16, 24), Vector2(17, 24)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("character/body/torso:rotation") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.052949, 0.052949] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("character/body/tail:position") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(15, 35), Vector2(15, 35)] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("character/body/tail:rotation") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 0.176244] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_8tlfi"] +_data = { +"RESET": SubResource("Animation_kxab8"), +"idle": SubResource("Animation_qoxyi"), +"vmove": SubResource("Animation_hwcro"), +"walk": SubResource("Animation_hhtsg") +} + +[sub_resource type="Theme" id="Theme_lpkn8"] +RichTextLabel/colors/default_color = Color(0, 0, 0, 1) +RichTextLabel/colors/font_outline_color = Color(0.478431, 0.478431, 0.478431, 1) +RichTextLabel/constants/line_separation = -9 +RichTextLabel/font_sizes/normal_font_size = 34 +RichTextLabel/fonts/normal_font = ExtResource("6_m1vy8") + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_171aa"] +size = Vector2(24, 15) + +[node name="CharacterBody2D" type="CharacterBody2D"] +script = ExtResource("1_37nf0") + +[node name="character" type="Node2D" parent="."] + +[node name="body" type="Node2D" parent="character"] +position = Vector2(-17, 0) + +[node name="tail" type="Node2D" parent="character/body"] +position = Vector2(15, 35) + +[node name="Sprite2D" type="Sprite2D" parent="character/body/tail"] +texture_filter = 1 +position = Vector2(-3, -18) +texture = ExtResource("2_26rkd") +centered = false + +[node name="torso" type="Node2D" parent="character/body"] +position = Vector2(16, 24) + +[node name="Sprite2D3" type="Sprite2D" parent="character/body/torso"] +texture_filter = 1 +position = Vector2(-11, -2) +texture = ExtResource("3_llt4k") +centered = false + +[node name="head" type="Node2D" parent="character/body"] +position = Vector2(16, 24) + +[node name="Sprite2D2" type="Sprite2D" parent="character/body/head"] +texture_filter = 1 +position = Vector2(-16, -24) +texture = ExtResource("2_ylo5j") +centered = false + +[node name="face" type="Node2D" parent="character/body"] +position = Vector2(18, 17) + +[node name="Sprite2D" type="Sprite2D" parent="character/body/face"] +texture_filter = 1 +position = Vector2(-5, -4) +texture = ExtResource("1_kh4l2") +centered = false + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_8tlfi") +} +autoplay = "idle" +blend_times = [&"idle", &"vmove", 0.3, &"idle", &"walk", 0.3, &"vmove", &"idle", 1.0, &"vmove", &"walk", 0.3, &"walk", &"idle", 1.0, &"walk", &"vmove", 0.3] + +[node name="CanvasLayer" type="CanvasLayer" parent="."] +visible = false +script = ExtResource("6_bjl34") + +[node name="Sprite2D" type="Sprite2D" parent="CanvasLayer"] +texture_filter = 1 +position = Vector2(144, 6) +texture = ExtResource("5_ljw5m") +centered = false + +[node name="RichTextLabel" type="RichTextLabel" parent="CanvasLayer/Sprite2D"] +modulate = Color(1, 1, 1, 0.407843) +clip_contents = false +offset_left = 18.0 +offset_top = 9.0 +offset_right = 295.0 +offset_bottom = 99.0 +theme = SubResource("Theme_lpkn8") +scroll_active = false + +[node name="Control" type="Control" parent="CanvasLayer"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="CanvasLayer"] +stream = ExtResource("9_kn63i") + +[node name="Camera2D" type="Camera2D" parent="."] +position = Vector2(-1, -1) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(-2, 28.5) +shape = SubResource("RectangleShape2D_171aa") diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..57d4dc7 --- /dev/null +++ b/project.godot @@ -0,0 +1,67 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="Acerola Jam" +config/features=PackedStringArray("4.2", "Forward Plus") +boot_splash/bg_color=Color(1, 1, 1, 1) +config/icon="res://icon.svg" + +[display] + +window/size/viewport_width=576 +window/size/viewport_height=324 +window/size/resizable=false +window/size/window_width_override=1152 +window/size/window_height_override=648 +window/stretch/mode="canvas_items" +window/stretch/scale_mode="integer" + +[input] + +left={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"echo":false,"script":null) +] +} +right={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"echo":false,"script":null) +] +} +up={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"echo":false,"script":null) +] +} +down={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"echo":false,"script":null) +] +} +interact={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194309,"key_label":0,"unicode":0,"echo":false,"script":null) +] +} +"interact 2"={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"echo":false,"script":null) +] +} + +[rendering] + +textures/canvas_textures/default_texture_filter=0 +textures/decals/filter=0 +textures/light_projectors/filter=0 +environment/volumetric_fog/use_filter=0 +environment/defaults/default_clear_color=Color(0.835294, 0.835294, 0.835294, 1) diff --git a/typewrite.gd b/typewrite.gd new file mode 100644 index 0000000..a3c013d --- /dev/null +++ b/typewrite.gd @@ -0,0 +1,19 @@ +extends CanvasLayer + +@onready var label = $Sprite2D/RichTextLabel +signal Done + +func typewrite(text,sound,speed, hide_after): + visible = true + label.text = text + label.visible_characters = 0 + $AudioStreamPlayer.stream = sound + var wait_time = speed / len(text) + for i in range(len(text)+1): + label.visible_characters = i + $AudioStreamPlayer.play() + await get_tree().create_timer(wait_time).timeout + await get_parent().interact + if hide_after: + visible = false + Done.emit()