commit 1bbd8c812ff13fb6f0009710cecb8b9a7982c2dd Author: Big Duckie Date: Sun Jun 22 23:22:32 2025 -0600 Commit of existing data. diff --git a/backgrounds/lab-background.png b/backgrounds/lab-background.png new file mode 100755 index 0000000..a4ba5b2 Binary files /dev/null and b/backgrounds/lab-background.png differ diff --git a/backgrounds/lab-background.png.import b/backgrounds/lab-background.png.import new file mode 100755 index 0000000..1057341 --- /dev/null +++ b/backgrounds/lab-background.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://4js1bkdv4ind" +path="res://.godot/imported/lab-background.png-af2585ad1cd88c2453fe08aa1aeecb61.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://backgrounds/lab-background.png" +dest_files=["res://.godot/imported/lab-background.png-af2585ad1cd88c2453fe08aa1aeecb61.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 diff --git a/backgrounds/lab-foreground.png b/backgrounds/lab-foreground.png new file mode 100755 index 0000000..fc91c07 Binary files /dev/null and b/backgrounds/lab-foreground.png differ diff --git a/backgrounds/lab-foreground.png.import b/backgrounds/lab-foreground.png.import new file mode 100755 index 0000000..030dad4 --- /dev/null +++ b/backgrounds/lab-foreground.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bluwleimw435s" +path="res://.godot/imported/lab-foreground.png-f458ead3de93179b0e34957b179f35b3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://backgrounds/lab-foreground.png" +dest_files=["res://.godot/imported/lab-foreground.png-f458ead3de93179b0e34957b179f35b3.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 diff --git a/backgrounds/lab.ase b/backgrounds/lab.ase new file mode 100755 index 0000000..f4f70ee Binary files /dev/null and b/backgrounds/lab.ase differ diff --git a/cg/demon_cg.png b/cg/demon_cg.png new file mode 100755 index 0000000..b6d59ca Binary files /dev/null and b/cg/demon_cg.png differ diff --git a/cg/demon_cg.png.import b/cg/demon_cg.png.import new file mode 100755 index 0000000..8dd64b0 --- /dev/null +++ b/cg/demon_cg.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://drdifw86rleq3" +path="res://.godot/imported/demon_cg.png-35e296c7adfd3427d083b30af37884f6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://cg/demon_cg.png" +dest_files=["res://.godot/imported/demon_cg.png-35e296c7adfd3427d083b30af37884f6.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 diff --git a/cg/doc_cg.png b/cg/doc_cg.png new file mode 100755 index 0000000..0eb40c4 Binary files /dev/null and b/cg/doc_cg.png differ diff --git a/cg/doc_cg.png.import b/cg/doc_cg.png.import new file mode 100755 index 0000000..e971496 --- /dev/null +++ b/cg/doc_cg.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dm7br2lt50ndq" +path="res://.godot/imported/doc_cg.png-9a6c378f49d87eb756740781ddbe9a4a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://cg/doc_cg.png" +dest_files=["res://.godot/imported/doc_cg.png-9a6c378f49d87eb756740781ddbe9a4a.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 diff --git a/cg/generic_cg.png b/cg/generic_cg.png new file mode 100755 index 0000000..4676d97 Binary files /dev/null and b/cg/generic_cg.png differ diff --git a/cg/generic_cg.png.import b/cg/generic_cg.png.import new file mode 100755 index 0000000..c05e5fb --- /dev/null +++ b/cg/generic_cg.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dujs0317iwo80" +path="res://.godot/imported/generic_cg.png-501538e97bf67c2cb2f5fe0c8213656d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://cg/generic_cg.png" +dest_files=["res://.godot/imported/generic_cg.png-501538e97bf67c2cb2f5fe0c8213656d.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 diff --git a/cg/guard_cg.png.import b/cg/guard_cg.png.import new file mode 100755 index 0000000..55ce1de --- /dev/null +++ b/cg/guard_cg.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ba4o7x0jwxk4w" +path="res://.godot/imported/guard_cg.png-9352a28d7dc4ebafe834e3738d008e6a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://cg/guard_cg.png" +dest_files=["res://.godot/imported/guard_cg.png-9352a28d7dc4ebafe834e3738d008e6a.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/cg/lb_cg.png b/cg/lb_cg.png new file mode 100755 index 0000000..6275273 Binary files /dev/null and b/cg/lb_cg.png differ diff --git a/cg/lb_cg.png.import b/cg/lb_cg.png.import new file mode 100755 index 0000000..f6be71f --- /dev/null +++ b/cg/lb_cg.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://wgpcep5qsvdp" +path="res://.godot/imported/lb_cg.png-d8d979a315f5353f5704b56dc05c43c1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://cg/lb_cg.png" +dest_files=["res://.godot/imported/lb_cg.png-d8d979a315f5353f5704b56dc05c43c1.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 diff --git a/cg/met_cg.png b/cg/met_cg.png new file mode 100755 index 0000000..552baa0 Binary files /dev/null and b/cg/met_cg.png differ diff --git a/cg/met_cg.png.import b/cg/met_cg.png.import new file mode 100755 index 0000000..55d0dce --- /dev/null +++ b/cg/met_cg.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://hodqfba330d7" +path="res://.godot/imported/met_cg.png-c570dff39e1f4010d05a8f2d025e92dd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://cg/met_cg.png" +dest_files=["res://.godot/imported/met_cg.png-c570dff39e1f4010d05a8f2d025e92dd.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 diff --git a/cg/plant_cg.png.import b/cg/plant_cg.png.import new file mode 100755 index 0000000..6cfbabf --- /dev/null +++ b/cg/plant_cg.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://brn82jyieuv27" +path="res://.godot/imported/plant_cg.png-d1d9960eb3450a8737e951504f20f91a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://cg/plant_cg.png" +dest_files=["res://.godot/imported/plant_cg.png-d1d9960eb3450a8737e951504f20f91a.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 diff --git a/cg/spid_cg.png b/cg/spid_cg.png new file mode 100755 index 0000000..a1bd179 Binary files /dev/null and b/cg/spid_cg.png differ diff --git a/cg/spid_cg.png.import b/cg/spid_cg.png.import new file mode 100755 index 0000000..7314484 --- /dev/null +++ b/cg/spid_cg.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dpvqijspkhod" +path="res://.godot/imported/spid_cg.png-7ba8afaaa950ec3f2d82473935743524.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://cg/spid_cg.png" +dest_files=["res://.godot/imported/spid_cg.png-7ba8afaaa950ec3f2d82473935743524.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 diff --git a/cg/suc_cg.png b/cg/suc_cg.png new file mode 100755 index 0000000..414a03b Binary files /dev/null and b/cg/suc_cg.png differ diff --git a/cg/suc_cg.png.import b/cg/suc_cg.png.import new file mode 100755 index 0000000..a8a1efd --- /dev/null +++ b/cg/suc_cg.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bb16y2ft2ntgr" +path="res://.godot/imported/suc_cg.png-a6bafc5dbdfa314a931c84da0ebf177c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://cg/suc_cg.png" +dest_files=["res://.godot/imported/suc_cg.png-a6bafc5dbdfa314a931c84da0ebf177c.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 diff --git a/cg/wi_cg.png.import b/cg/wi_cg.png.import new file mode 100755 index 0000000..9782ba1 --- /dev/null +++ b/cg/wi_cg.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bmq2b8sb5ut84" +path="res://.godot/imported/wi_cg.png-3c68005b309bee99f75ee884b08de1ea.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://cg/wi_cg.png" +dest_files=["res://.godot/imported/wi_cg.png-3c68005b309bee99f75ee884b08de1ea.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/default_bus_layout.tres b/default_bus_layout.tres new file mode 100755 index 0000000..9ab84e9 --- /dev/null +++ b/default_bus_layout.tres @@ -0,0 +1,15 @@ +[gd_resource type="AudioBusLayout" format=3 uid="uid://b8s368qu8qi6t"] + +[resource] +bus/1/name = &"Music" +bus/1/solo = false +bus/1/mute = false +bus/1/bypass_fx = false +bus/1/volume_db = 0.0 +bus/1/send = &"Master" +bus/2/name = &"SFX" +bus/2/solo = false +bus/2/mute = false +bus/2/bypass_fx = false +bus/2/volume_db = 0.0 +bus/2/send = &"Master" diff --git a/export_presets.cfg b/export_presets.cfg new file mode 100755 index 0000000..eaeeb70 --- /dev/null +++ b/export_presets.cfg @@ -0,0 +1,77 @@ +[preset.0] + +name="Linux/X11" +platform="Linux/X11" +runnable=true +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="" +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false + +[preset.0.options] + +custom_template/debug="" +custom_template/release="" +debug/export_console_wrapper=1 +binary_format/embed_pck=true +texture_format/bptc=true +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false +binary_format/architecture="x86_64" +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}\"" + +[preset.1] + +name="Web" +platform="Web" +runnable=true +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="" +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false + +[preset.1.options] + +custom_template/debug="" +custom_template/release="" +variant/extensions_support=false +vram_texture_compression/for_desktop=true +vram_texture_compression/for_mobile=false +html/export_icon=true +html/custom_html_shell="" +html/head_include="" +html/canvas_resize_policy=2 +html/focus_canvas_on_start=true +html/experimental_virtual_keyboard=false +progressive_web_app/enabled=false +progressive_web_app/offline_page="" +progressive_web_app/display=1 +progressive_web_app/orientation=0 +progressive_web_app/icon_144x144="" +progressive_web_app/icon_180x180="" +progressive_web_app/icon_512x512="" +progressive_web_app/background_color=Color(0, 0, 0, 1) diff --git a/fonts/Kenney Mini Square.ttf b/fonts/Kenney Mini Square.ttf new file mode 100755 index 0000000..5f2c5bb Binary files /dev/null and b/fonts/Kenney Mini Square.ttf differ diff --git a/fonts/Kenney Mini Square.ttf.import b/fonts/Kenney Mini Square.ttf.import new file mode 100755 index 0000000..740cc80 --- /dev/null +++ b/fonts/Kenney Mini Square.ttf.import @@ -0,0 +1,35 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://2u55t02l6vq8" +path="res://.godot/imported/Kenney Mini Square.ttf-1f4c1a99a59ae08657fdeadcb5ed3ee0.fontdata" + +[deps] + +source_file="res://fonts/Kenney Mini Square.ttf" +dest_files=["res://.godot/imported/Kenney Mini Square.ttf-1f4c1a99a59ae08657fdeadcb5ed3ee0.fontdata"] + +[params] + +Rendering=null +antialiasing=0 +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 +hinting=1 +subpixel_positioning=0 +keep_rounding_remainders=true +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/fonts/Kenney Mini.ttf b/fonts/Kenney Mini.ttf new file mode 100755 index 0000000..5cbfd37 Binary files /dev/null and b/fonts/Kenney Mini.ttf differ diff --git a/fonts/Kenney Mini.ttf.import b/fonts/Kenney Mini.ttf.import new file mode 100755 index 0000000..8968336 --- /dev/null +++ b/fonts/Kenney Mini.ttf.import @@ -0,0 +1,35 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://qga7hxbgghco" +path="res://.godot/imported/Kenney Mini.ttf-7e07372b7d2e719119d99587e44ddefb.fontdata" + +[deps] + +source_file="res://fonts/Kenney Mini.ttf" +dest_files=["res://.godot/imported/Kenney Mini.ttf-7e07372b7d2e719119d99587e44ddefb.fontdata"] + +[params] + +Rendering=null +antialiasing=0 +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 +hinting=1 +subpixel_positioning=0 +keep_rounding_remainders=true +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/global.gd b/global.gd new file mode 100755 index 0000000..83d9c50 --- /dev/null +++ b/global.gd @@ -0,0 +1,52 @@ +extends CanvasLayer + +var config: Config = Config.new() +var save: Save = Save.new(1) +var timestamp: int + +var player: Player +var player_offset: Vector2 +var player_velocity: Vector2 +var player_target: String + +@onready var overlay: ColorRect = $ColorRect +@onready var animation_player: AnimationPlayer = $AnimationPlayer +@onready var music_player: AudioStreamPlayer = $MusicPlayer + +func _ready() -> void: + pass + + +func goto_scene(scene: PackedScene, fade: bool = true): + if fade: + await fade_out() + _deferred_goto_scene.call_deferred(scene) + + +func _deferred_goto_scene(scene: PackedScene): + if !scene: + return + get_tree().current_scene.free() + var inst_scene := scene.instantiate() + get_tree().root.add_child(inst_scene) + get_tree().current_scene = inst_scene + + +func fade_in() -> void: + animation_player.play("fade_in") + await animation_player.animation_finished + overlay.hide() + + +func fade_out() -> void: + overlay.show() + animation_player.play("fade_out") + await animation_player.animation_finished + + +func set_music(audio_stream: AudioStream): + if music_player.stream == audio_stream: + return + music_player.stream = audio_stream + music_player.play() + pass diff --git a/global.gd.uid b/global.gd.uid new file mode 100755 index 0000000..a389462 --- /dev/null +++ b/global.gd.uid @@ -0,0 +1 @@ +uid://c5828brdwf0ef diff --git a/global.tscn b/global.tscn new file mode 100755 index 0000000..1e78130 --- /dev/null +++ b/global.tscn @@ -0,0 +1,82 @@ +[gd_scene load_steps=7 format=3 uid="uid://cf6hsqscvsk42"] + +[ext_resource type="Script" uid="uid://c5828brdwf0ef" path="res://global.gd" id="1_o7u50"] +[ext_resource type="AudioStream" uid="uid://crgyul2o4b36b" path="res://music/area_0.ogg" id="2_pjt3s"] + +[sub_resource type="Animation" id="Animation_2jx0t"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("ColorRect:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} + +[sub_resource type="Animation" id="Animation_tsy5r"] +resource_name = "fade_in" +length = 0.25 +step = 0.01 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("ColorRect:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.24), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} + +[sub_resource type="Animation" id="Animation_wrddv"] +resource_name = "fade_out" +length = 0.25 +step = 0.01 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("ColorRect:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.24), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_nsh7t"] +_data = { +&"RESET": SubResource("Animation_2jx0t"), +&"fade_in": SubResource("Animation_tsy5r"), +&"fade_out": SubResource("Animation_wrddv") +} + +[node name="Global" type="CanvasLayer"] +script = ExtResource("1_o7u50") + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +&"": SubResource("AnimationLibrary_nsh7t") +} + +[node name="ColorRect" type="ColorRect" parent="."] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0, 0, 0, 1) + +[node name="MusicPlayer" type="AudioStreamPlayer" parent="."] +stream = ExtResource("2_pjt3s") +autoplay = true +mix_target = 1 +bus = &"Music" diff --git a/icon.svg b/icon.svg new file mode 100755 index 0000000..3fe4f4a --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + diff --git a/icon.svg.import b/icon.svg.import new file mode 100755 index 0000000..2d21812 --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://367or7daq7rw" +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/menus/continue_game_menu.tscn b/menus/continue_game_menu.tscn new file mode 100755 index 0000000..a5bda41 --- /dev/null +++ b/menus/continue_game_menu.tscn @@ -0,0 +1,9 @@ +[gd_scene format=3 uid="uid://cte8keoftyqt3"] + +[node name="ContinueGameMenu" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 diff --git a/menus/main_menu.gd b/menus/main_menu.gd new file mode 100755 index 0000000..917f92f --- /dev/null +++ b/menus/main_menu.gd @@ -0,0 +1,31 @@ +extends TextureRect + +func _ready() -> void: + $VBoxContainer/Btn_NewGame.grab_focus() + global.set_music(load("res://music/area_0.ogg")) + await global.fade_in() + + +func _process(_delta: float) -> void: + if Input.is_action_just_pressed("ui_cancel"): + $VBoxContainer/Btn_Quit.emit_signal("pressed") + + +func _on_btn_new_game_pressed(): + var scene = load("res://menus/new_game_menu.tscn") + global.goto_scene(scene) + + +func _on_btn_continue_pressed(): + var scene = load("res://menus/continue_game_menu.tscn") + global.goto_scene(scene) + + +func _on_btn_options_pressed(): + var scene = load("res://menus/options_menu.tscn") + global.goto_scene(scene) + + +func _on_btn_quit_pressed(): + await global.fade_out() + get_tree().quit() diff --git a/menus/main_menu.gd.uid b/menus/main_menu.gd.uid new file mode 100755 index 0000000..3b3c0fb --- /dev/null +++ b/menus/main_menu.gd.uid @@ -0,0 +1 @@ +uid://3bfn7lgm1s3h diff --git a/menus/main_menu.tscn b/menus/main_menu.tscn new file mode 100755 index 0000000..078ac2c --- /dev/null +++ b/menus/main_menu.tscn @@ -0,0 +1,54 @@ +[gd_scene load_steps=7 format=3 uid="uid://cq6uwsye435dr"] + +[ext_resource type="Theme" uid="uid://d01fm68pwgnvc" path="res://ui/default_theme.tres" id="1_6mtu4"] +[ext_resource type="Texture2D" uid="uid://w7m2ybuqy1bw" path="res://ui/background.png" id="2_bhgnh"] +[ext_resource type="Script" uid="uid://3bfn7lgm1s3h" path="res://menus/main_menu.gd" id="3_3kxo1"] +[ext_resource type="PackedScene" uid="uid://bqlbo0yh111fw" path="res://objects/ui/sound_button.tscn" id="5_511f8"] +[ext_resource type="AudioStream" uid="uid://3p3r68ntjf4u" path="res://sounds/ui/menu_click.wav" id="5_h8vgu"] +[ext_resource type="AudioStream" uid="uid://cs58kp03yj1kf" path="res://sounds/ui/menu_confirm.wav" id="6_su02e"] + +[node name="Main_Menu" type="TextureRect"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("1_6mtu4") +texture = ExtResource("2_bhgnh") +script = ExtResource("3_3kxo1") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 0 +offset_top = 144.0 +offset_right = 320.0 +offset_bottom = 240.0 +theme_override_constants/separation = 2 + +[node name="Btn_NewGame" parent="VBoxContainer" instance=ExtResource("5_511f8")] +layout_mode = 2 +text = "New Game" +FocusSound = ExtResource("5_h8vgu") +PressSound = ExtResource("6_su02e") + +[node name="Btn_Continue" parent="VBoxContainer" instance=ExtResource("5_511f8")] +layout_mode = 2 +text = "Continue" +FocusSound = ExtResource("5_h8vgu") +PressSound = ExtResource("6_su02e") + +[node name="Btn_Options" parent="VBoxContainer" instance=ExtResource("5_511f8")] +layout_mode = 2 +text = "Options" +FocusSound = ExtResource("5_h8vgu") +PressSound = ExtResource("6_su02e") + +[node name="Btn_Quit" parent="VBoxContainer" instance=ExtResource("5_511f8")] +layout_mode = 2 +text = "Quit" +FocusSound = ExtResource("5_h8vgu") +PressSound = ExtResource("6_su02e") + +[connection signal="pressed" from="VBoxContainer/Btn_NewGame" to="." method="_on_btn_new_game_pressed"] +[connection signal="pressed" from="VBoxContainer/Btn_Continue" to="." method="_on_btn_continue_pressed"] +[connection signal="pressed" from="VBoxContainer/Btn_Options" to="." method="_on_btn_options_pressed"] +[connection signal="pressed" from="VBoxContainer/Btn_Quit" to="." method="_on_btn_quit_pressed"] diff --git a/menus/new_game_menu.gd b/menus/new_game_menu.gd new file mode 100755 index 0000000..a4478ba --- /dev/null +++ b/menus/new_game_menu.gd @@ -0,0 +1,127 @@ +extends Control + +const PROTAG_IMAGE = preload("res://ui/protag_image.tres") +const GRAYSCALE = preload("res://shaders/grayscale.material") + +var slot: int +var save1: Save +var save2: Save +var save3: Save + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + save1 = Save.load(1) + save2 = Save.load(2) + save3 = Save.load(3) + + set_slot(1, save1) + set_slot(2, save2) + set_slot(3, save3) + + $HBoxContainer/Btn_Slot1.grab_focus() + await global.fade_in() + + +func _process(_delta: float) -> void: + if Input.is_action_just_pressed("ui_cancel"): + if $DifficultyDialog.visible: + $DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyBack.emit_signal("pressed") + elif $OverwriteDialog.visible: + $OverwriteDialog.get_cancel_button().emit_signal("pressed") + else: + _on_btn_back_pressed() + + +func _on_btn_back_pressed() -> void: + var scene = load("res://menus/main_menu.tscn") + global.goto_scene(scene) + + +func _on_btn_slot_1_pressed() -> void: + global.save = Save.new(1) + $Overlay.show() + if save1: + $OverwriteDialog.show() + else: + $DifficultyDialog.show() + $DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyEasy.grab_focus() + + +func _on_btn_slot_2_pressed() -> void: + global.save = Save.new(2) + $Overlay.show() + if save2: + $OverwriteDialog.show() + else: + $DifficultyDialog.show() + $DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyEasy.grab_focus() + + +func _on_btn_slot_3_pressed() -> void: + global.save = Save.new(3) + $Overlay.show() + if save3: + $OverwriteDialog.show() + else: + $DifficultyDialog.show() + $DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyEasy.grab_focus() + + +func _on_overwrite_dialog_confirmed() -> void: + $DifficultyDialog.show() + $DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyEasy.grab_focus() + + +func _on_overwrite_dialog_canceled() -> void: + global.save = null + $Overlay.hide() + + +func _on_btn_difficulty_easy_pressed() -> void: + global.save.difficulty = Save.Difficulty.EASY + global.save.save_to_disk() + var scene = load("res://rooms/%s.tscn" % global.save.room) + $DifficultyDialog.hide() + global.goto_scene(scene) + + +func _on_btn_difficulty_normal_pressed() -> void: + global.save.difficulty = Save.Difficulty.NORMAL + global.save.save_to_disk() + var scene = load("res://rooms/%s.tscn" % global.save.room) + $DifficultyDialog.hide() + global.goto_scene(scene) + + +func _on_btn_difficulty_hard_pressed() -> void: + global.save.difficulty = Save.Difficulty.HARD + global.save.save_to_disk() + var scene = load("res://rooms/%s.tscn" % global.save.room) + $DifficultyDialog.hide() + global.goto_scene(scene) + + +func _on_btn_difficulty_back_pressed() -> void: + global.save = null + $DifficultyDialog.hide() + $Overlay.hide() + + +func set_slot(save_slot: int, save: Save) -> void: + var basePath = "HBoxContainer/Btn_Slot%s" % save_slot + if save: + var ts = Timespan.new(save.playtime) + get_node(basePath + "/VBoxContainer/Lab_Playtime").text = "%dH %dM %dS" % [floori(ts.TotalHours()), ts.Minutes(), ts.Seconds()] + get_node(basePath + "/VBoxContainer/SlotImage").texture = PROTAG_IMAGE + + get_node(basePath + "/VBoxContainer/Box_Abilities").show() + if !save.fire: get_node(basePath + "/VBoxContainer/Box_Abilities/Tex_Fire").material = GRAYSCALE + if !save.ice: get_node(basePath + "/VBoxContainer/Box_Abilities/Tex_Ice").material = GRAYSCALE + if !save.laser: get_node(basePath + "/VBoxContainer/Box_Abilities/Tex_Laser").material = GRAYSCALE + + get_node(basePath + "/VBoxContainer/Grid_Stats").show() + get_node(basePath + "/VBoxContainer/Grid_Stats/Lab_AtkValue").text = "%s" % save.atk + get_node(basePath + "/VBoxContainer/Grid_Stats/Lab_DefValue").text = "%s" % save.def + get_node(basePath + "/VBoxContainer/Grid_Stats/Lab_ConValue").text = "%s" % save.con + get_node(basePath + "/VBoxContainer/Grid_Stats/Lab_ChgValue").text = "%s" % save.chg diff --git a/menus/new_game_menu.gd.uid b/menus/new_game_menu.gd.uid new file mode 100755 index 0000000..f3b2cce --- /dev/null +++ b/menus/new_game_menu.gd.uid @@ -0,0 +1 @@ +uid://nbqru7pv7cxc diff --git a/menus/new_game_menu.tscn b/menus/new_game_menu.tscn new file mode 100755 index 0000000..aae11e9 --- /dev/null +++ b/menus/new_game_menu.tscn @@ -0,0 +1,510 @@ +[gd_scene load_steps=13 format=3 uid="uid://cddg48xuodm4s"] + +[ext_resource type="Theme" uid="uid://d01fm68pwgnvc" path="res://ui/default_theme.tres" id="1_g6v0u"] +[ext_resource type="Script" uid="uid://nbqru7pv7cxc" path="res://menus/new_game_menu.gd" id="2_ysy8u"] +[ext_resource type="PackedScene" uid="uid://bqlbo0yh111fw" path="res://objects/ui/sound_button.tscn" id="3_4w7h3"] +[ext_resource type="Texture2D" uid="uid://beomt8bs2wra2" path="res://ui/empty_ico.png" id="3_cjw05"] +[ext_resource type="AudioStream" uid="uid://3p3r68ntjf4u" path="res://sounds/ui/menu_click.wav" id="4_cgk43"] +[ext_resource type="Texture2D" uid="uid://kwsk0b5ff8k1" path="res://ui/fire_ico.png" id="4_eltv3"] +[ext_resource type="Texture2D" uid="uid://dh8ike5vblov0" path="res://ui/ice_ico.png" id="5_5ypbk"] +[ext_resource type="AudioStream" uid="uid://cs58kp03yj1kf" path="res://sounds/ui/menu_confirm.wav" id="5_sr5rb"] +[ext_resource type="Texture2D" uid="uid://v0wt3up1lrkm" path="res://ui/laser_ico.png" id="6_vchad"] +[ext_resource type="Texture2D" uid="uid://pk0b46lb6tmo" path="res://ui/cryo_image.tres" id="8_d3r81"] +[ext_resource type="Script" uid="uid://h6prwf5a5wwr" path="res://objects/ui/sound_button.gd" id="11_qvsy4"] + +[sub_resource type="StyleBoxLine" id="StyleBoxLine_3e3iv"] +color = Color(1, 1, 1, 1) + +[node name="NewGameMenu" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("1_g6v0u") +script = ExtResource("2_ysy8u") + +[node name="Label" type="Label" parent="."] +layout_mode = 1 +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -39.0 +offset_top = 18.0 +offset_right = 46.0 +offset_bottom = 41.0 +grow_horizontal = 2 +text = "New Game" + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -150.0 +offset_top = -61.0 +offset_right = 150.0 +offset_bottom = 61.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/separation = 7 +alignment = 1 + +[node name="Btn_Slot1" parent="HBoxContainer" instance=ExtResource("3_4w7h3")] +layout_mode = 2 +size_flags_horizontal = 3 +focus_neighbor_left = NodePath("../Btn_Slot3") +focus_neighbor_right = NodePath("../Btn_Slot2") +theme_type_variation = &"SaveSlotButton" +FocusSound = ExtResource("4_cgk43") +PressSound = ExtResource("5_sr5rb") + +[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/Btn_Slot1"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/separation = 1 + +[node name="SlotLabel" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer"] +layout_mode = 2 +text = "Slot 1" +horizontal_alignment = 1 + +[node name="Lab_Playtime" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer"] +layout_mode = 2 +theme_type_variation = &"SaveSlotBodyLabel" +text = "Empty" +horizontal_alignment = 1 + +[node name="SlotImage" type="TextureRect" parent="HBoxContainer/Btn_Slot1/VBoxContainer"] +custom_minimum_size = Vector2(42, 42) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +texture = ExtResource("8_d3r81") +stretch_mode = 3 + +[node name="Box_Abilities" type="HBoxContainer" parent="HBoxContainer/Btn_Slot1/VBoxContainer"] +visible = false +layout_mode = 2 +theme_override_constants/separation = 1 +alignment = 1 + +[node name="Tex_Blast" type="TextureRect" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Box_Abilities"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 4 +texture = ExtResource("3_cjw05") + +[node name="Tex_Fire" type="TextureRect" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Box_Abilities"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 4 +texture = ExtResource("4_eltv3") + +[node name="Tex_Ice" type="TextureRect" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Box_Abilities"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 4 +texture = ExtResource("5_5ypbk") + +[node name="Tex_Laser" type="TextureRect" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Box_Abilities"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 4 +texture = ExtResource("6_vchad") + +[node name="Grid_Stats" type="GridContainer" parent="HBoxContainer/Btn_Slot1/VBoxContainer"] +visible = false +layout_mode = 2 +columns = 4 + +[node name="Lab_Atk" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "Atk" + +[node name="Lab_AtkValue" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "1" + +[node name="Lab_Def" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "Def" + +[node name="Lab_DefValue" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "1" + +[node name="Lab_Con" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "Con" + +[node name="Lab_ConValue" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "1" + +[node name="Lab_Chg" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "Chg" + +[node name="Lab_ChgValue" type="Label" parent="HBoxContainer/Btn_Slot1/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "1" + +[node name="Btn_Slot2" parent="HBoxContainer" instance=ExtResource("3_4w7h3")] +layout_mode = 2 +size_flags_horizontal = 3 +focus_neighbor_left = NodePath("../Btn_Slot1") +focus_neighbor_right = NodePath("../Btn_Slot3") +theme_type_variation = &"SaveSlotButton" +FocusSound = ExtResource("4_cgk43") +PressSound = ExtResource("5_sr5rb") + +[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/Btn_Slot2"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/separation = 1 + +[node name="SlotLabel" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer"] +layout_mode = 2 +text = "Slot 2" +horizontal_alignment = 1 + +[node name="Lab_Playtime" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer"] +layout_mode = 2 +theme_type_variation = &"SaveSlotBodyLabel" +text = "Empty" +horizontal_alignment = 1 + +[node name="SlotImage" type="TextureRect" parent="HBoxContainer/Btn_Slot2/VBoxContainer"] +custom_minimum_size = Vector2(42, 42) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +texture = ExtResource("8_d3r81") +stretch_mode = 3 + +[node name="Box_Abilities" type="HBoxContainer" parent="HBoxContainer/Btn_Slot2/VBoxContainer"] +visible = false +layout_mode = 2 +theme_override_constants/separation = 1 +alignment = 1 + +[node name="Tex_Blast" type="TextureRect" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Box_Abilities"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 4 +texture = ExtResource("3_cjw05") + +[node name="Tex_Fire" type="TextureRect" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Box_Abilities"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 4 +texture = ExtResource("4_eltv3") + +[node name="Tex_Ice" type="TextureRect" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Box_Abilities"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 4 +texture = ExtResource("5_5ypbk") + +[node name="Tex_Laser" type="TextureRect" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Box_Abilities"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 4 +texture = ExtResource("6_vchad") + +[node name="Grid_Stats" type="GridContainer" parent="HBoxContainer/Btn_Slot2/VBoxContainer"] +visible = false +layout_mode = 2 +columns = 4 + +[node name="Lab_Atk" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "Atk" + +[node name="Lab_AtkValue" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "1" + +[node name="Lab_Def" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "Def" + +[node name="Lab_DefValue" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "1" + +[node name="Lab_Con" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "Con" + +[node name="Lab_ConValue" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "1" + +[node name="Lab_Chg" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "Chg" + +[node name="Lab_ChgValue" type="Label" parent="HBoxContainer/Btn_Slot2/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "1" + +[node name="Btn_Slot3" parent="HBoxContainer" instance=ExtResource("3_4w7h3")] +layout_mode = 2 +size_flags_horizontal = 3 +focus_neighbor_left = NodePath("../Btn_Slot2") +focus_neighbor_right = NodePath("../Btn_Slot1") +theme_type_variation = &"SaveSlotButton" +FocusSound = ExtResource("4_cgk43") +PressSound = ExtResource("5_sr5rb") + +[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/Btn_Slot3"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/separation = 1 + +[node name="SlotLabel" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer"] +layout_mode = 2 +text = "Slot 3" +horizontal_alignment = 1 + +[node name="Lab_Playtime" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer"] +layout_mode = 2 +theme_type_variation = &"SaveSlotBodyLabel" +text = "Empty" +horizontal_alignment = 1 + +[node name="SlotImage" type="TextureRect" parent="HBoxContainer/Btn_Slot3/VBoxContainer"] +custom_minimum_size = Vector2(42, 42) +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +texture = ExtResource("8_d3r81") +stretch_mode = 3 + +[node name="Box_Abilities" type="HBoxContainer" parent="HBoxContainer/Btn_Slot3/VBoxContainer"] +visible = false +layout_mode = 2 +theme_override_constants/separation = 1 +alignment = 1 + +[node name="Tex_Blast" type="TextureRect" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Box_Abilities"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 4 +texture = ExtResource("3_cjw05") + +[node name="Tex_Fire" type="TextureRect" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Box_Abilities"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 4 +texture = ExtResource("4_eltv3") + +[node name="Tex_Ice" type="TextureRect" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Box_Abilities"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 4 +texture = ExtResource("5_5ypbk") + +[node name="Tex_Laser" type="TextureRect" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Box_Abilities"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 4 +texture = ExtResource("6_vchad") + +[node name="Grid_Stats" type="GridContainer" parent="HBoxContainer/Btn_Slot3/VBoxContainer"] +visible = false +layout_mode = 2 +columns = 4 + +[node name="Lab_Atk" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "Atk" + +[node name="Lab_AtkValue" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "1" + +[node name="Lab_Def" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "Def" + +[node name="Lab_DefValue" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "1" + +[node name="Lab_Con" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "Con" + +[node name="Lab_ConValue" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "1" + +[node name="Lab_Chg" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "Chg" + +[node name="Lab_ChgValue" type="Label" parent="HBoxContainer/Btn_Slot3/VBoxContainer/Grid_Stats"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"SaveSlotBodyLabel" +text = "1" + +[node name="Btn_Back" parent="." instance=ExtResource("3_4w7h3")] +layout_mode = 1 +anchors_preset = 3 +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -48.0 +offset_top = -28.0 +offset_right = -8.0 +offset_bottom = -8.0 +grow_horizontal = 0 +grow_vertical = 0 +text = "Back" +FocusSound = ExtResource("4_cgk43") +PressSound = ExtResource("5_sr5rb") + +[node name="Overlay" type="ColorRect" parent="."] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0, 0, 0, 0.501961) + +[node name="OverwriteDialog" type="ConfirmationDialog" parent="."] +initial_position = 2 +size = Vector2i(200, 97) +unresizable = true +ok_button_text = "Overwrite" +dialog_text = "Are you sure you want to overwrite this save?" +dialog_autowrap = true + +[node name="DifficultyDialog" type="Window" parent="."] +title = "Select Difficulty" +initial_position = 2 +size = Vector2i(165, 92) +visible = false + +[node name="Panel" type="Panel" parent="DifficultyDialog"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/panel = SubResource("StyleBoxLine_3e3iv") + +[node name="VBoxContainer" type="VBoxContainer" parent="DifficultyDialog/Panel"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Btn_DifficultyEasy" type="Button" parent="DifficultyDialog/Panel/VBoxContainer"] +layout_mode = 2 +text = "Easy" +script = ExtResource("11_qvsy4") + +[node name="Btn_DifficultyNormal" type="Button" parent="DifficultyDialog/Panel/VBoxContainer"] +layout_mode = 2 +text = "Normal" +script = ExtResource("11_qvsy4") + +[node name="Btn_DifficultyHard" type="Button" parent="DifficultyDialog/Panel/VBoxContainer"] +layout_mode = 2 +text = "Hard" +script = ExtResource("11_qvsy4") + +[node name="Btn_DifficultyBack" type="Button" parent="DifficultyDialog/Panel/VBoxContainer"] +layout_mode = 2 +text = "Back" +script = ExtResource("11_qvsy4") + +[connection signal="pressed" from="HBoxContainer/Btn_Slot1" to="." method="_on_btn_slot_1_pressed"] +[connection signal="pressed" from="HBoxContainer/Btn_Slot2" to="." method="_on_btn_slot_2_pressed"] +[connection signal="pressed" from="HBoxContainer/Btn_Slot3" to="." method="_on_btn_slot_3_pressed"] +[connection signal="pressed" from="Btn_Back" to="." method="_on_btn_back_pressed"] +[connection signal="canceled" from="OverwriteDialog" to="." method="_on_overwrite_dialog_canceled"] +[connection signal="confirmed" from="OverwriteDialog" to="." method="_on_overwrite_dialog_confirmed"] +[connection signal="focus_entered" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyEasy" to="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyEasy" method="_on_focus_entered"] +[connection signal="pressed" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyEasy" to="." method="_on_btn_difficulty_easy_pressed"] +[connection signal="pressed" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyEasy" to="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyEasy" method="_on_pressed"] +[connection signal="focus_entered" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyNormal" to="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyNormal" method="_on_focus_entered"] +[connection signal="pressed" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyNormal" to="." method="_on_btn_difficulty_normal_pressed"] +[connection signal="pressed" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyNormal" to="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyNormal" method="_on_pressed"] +[connection signal="focus_entered" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyHard" to="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyHard" method="_on_focus_entered"] +[connection signal="pressed" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyHard" to="." method="_on_btn_difficulty_hard_pressed"] +[connection signal="pressed" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyHard" to="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyHard" method="_on_pressed"] +[connection signal="focus_entered" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyBack" to="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyBack" method="_on_focus_entered"] +[connection signal="pressed" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyBack" to="." method="_on_btn_difficulty_back_pressed"] +[connection signal="pressed" from="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyBack" to="DifficultyDialog/Panel/VBoxContainer/Btn_DifficultyBack" method="_on_pressed"] diff --git a/menus/options_menu.gd b/menus/options_menu.gd new file mode 100755 index 0000000..83bb2bd --- /dev/null +++ b/menus/options_menu.gd @@ -0,0 +1,8 @@ +extends Control + +var timestart: int + +# Called when the node enters the scene tree for the first time. +func _ready(): + timestart = Time.get_ticks_msec() + await global.fade_in() diff --git a/menus/options_menu.gd.uid b/menus/options_menu.gd.uid new file mode 100755 index 0000000..4092205 --- /dev/null +++ b/menus/options_menu.gd.uid @@ -0,0 +1 @@ +uid://b4i745jtfepbh diff --git a/menus/options_menu.tscn b/menus/options_menu.tscn new file mode 100755 index 0000000..1913dec --- /dev/null +++ b/menus/options_menu.tscn @@ -0,0 +1,101 @@ +[gd_scene load_steps=4 format=3 uid="uid://cvdf5q8evdylc"] + +[ext_resource type="Theme" uid="uid://d01fm68pwgnvc" path="res://ui/default_theme.tres" id="1_5uhqc"] +[ext_resource type="Script" uid="uid://b4i745jtfepbh" path="res://menus/options_menu.gd" id="2_aogii"] + +[sub_resource type="GDScript" id="GDScript_xwmny"] +script/source = "extends Button + + +func _on_pressed(): + var scene = load(\"res://scenes/main_menu.tscn\") + global.goto_scene(scene) +" + +[node name="OptionsMenu" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("1_5uhqc") +script = ExtResource("2_aogii") + +[node name="Lab_Options" type="Label" parent="."] +layout_mode = 1 +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -30.0 +offset_top = 10.0 +offset_right = 32.0 +offset_bottom = 30.0 +grow_horizontal = 2 +text = "Options" +horizontal_alignment = 1 + +[node name="Btn_Confirm" type="Button" parent="."] +layout_mode = 1 +anchors_preset = 3 +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -87.0 +offset_top = -28.0 +offset_right = -8.0 +offset_bottom = -8.0 +grow_horizontal = 0 +grow_vertical = 0 +text = "Confirm" + +[node name="Btn_Cancel" type="Button" parent="."] +layout_mode = 1 +anchors_preset = 3 +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -158.0 +offset_top = -28.0 +offset_right = -87.0 +offset_bottom = -8.0 +grow_horizontal = 0 +grow_vertical = 0 +text = "Cancel" +script = SubResource("GDScript_xwmny") + +[node name="GridContainer" type="GridContainer" parent="."] +layout_mode = 0 +offset_left = 10.0 +offset_top = 40.0 +offset_right = 310.0 +offset_bottom = 212.0 +columns = 2 + +[node name="Lab_MusicVolume" type="Label" parent="GridContainer"] +layout_mode = 2 +text = "Music Volume" + +[node name="Slider_MusicVolume" type="HSlider" parent="GridContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 1 +max_value = 1.0 +step = 0.1 +value = 0.5 + +[node name="Lab_SFXVolume" type="Label" parent="GridContainer"] +layout_mode = 2 +text = "SFX Volume" + +[node name="Slider_SFXVolume" type="HSlider" parent="GridContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 1 +max_value = 1.0 +step = 0.1 +value = 0.5 + +[connection signal="pressed" from="Btn_Cancel" to="Btn_Cancel" method="_on_pressed"] diff --git a/menus/splash_screen.gd b/menus/splash_screen.gd new file mode 100755 index 0000000..f700616 --- /dev/null +++ b/menus/splash_screen.gd @@ -0,0 +1,17 @@ +extends TextureRect + +var timer: SceneTreeTimer + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + global.fade_in() + timer = get_tree().create_timer(5) + await timer.timeout + var scene = load("res://menus/main_menu.tscn") + global.goto_scene(scene) + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(_delta: float) -> void: + if Input.is_action_just_pressed("ui_accept") || Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT): + timer.emit_signal("timeout") diff --git a/menus/splash_screen.gd.uid b/menus/splash_screen.gd.uid new file mode 100755 index 0000000..bd053db --- /dev/null +++ b/menus/splash_screen.gd.uid @@ -0,0 +1 @@ +uid://dujq1ojabysqj diff --git a/menus/splash_screen.tscn b/menus/splash_screen.tscn new file mode 100755 index 0000000..c9f9cdd --- /dev/null +++ b/menus/splash_screen.tscn @@ -0,0 +1,13 @@ +[gd_scene load_steps=3 format=3 uid="uid://deismap4eyt3"] + +[ext_resource type="Texture2D" uid="uid://dl708xax0net7" path="res://ui/splash.png" id="1_486j6"] +[ext_resource type="Script" uid="uid://dujq1ojabysqj" path="res://menus/splash_screen.gd" id="2_mehmw"] + +[node name="SplashScreen" type="TextureRect"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("1_486j6") +script = ExtResource("2_mehmw") diff --git a/music/area_0.ogg b/music/area_0.ogg new file mode 100755 index 0000000..da80efb Binary files /dev/null and b/music/area_0.ogg differ diff --git a/music/area_0.ogg.import b/music/area_0.ogg.import new file mode 100755 index 0000000..34911d4 --- /dev/null +++ b/music/area_0.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://crgyul2o4b36b" +path="res://.godot/imported/area_0.ogg-698a37b00e191da3849aacf81b06191a.oggvorbisstr" + +[deps] + +source_file="res://music/area_0.ogg" +dest_files=["res://.godot/imported/area_0.ogg-698a37b00e191da3849aacf81b06191a.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0.0 +bpm=70.0 +beat_count=0 +bar_beats=4 diff --git a/music/area_1.ogg b/music/area_1.ogg new file mode 100755 index 0000000..2ee9c06 Binary files /dev/null and b/music/area_1.ogg differ diff --git a/music/area_1.ogg.import b/music/area_1.ogg.import new file mode 100755 index 0000000..99bb4d6 --- /dev/null +++ b/music/area_1.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://bh5u0c6vyq74q" +path="res://.godot/imported/area_1.ogg-0e4736dd73553438db5039531904b03b.oggvorbisstr" + +[deps] + +source_file="res://music/area_1.ogg" +dest_files=["res://.godot/imported/area_1.ogg-0e4736dd73553438db5039531904b03b.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0.0 +bpm=71.0 +beat_count=0 +bar_beats=4 diff --git a/music/area_2.ogg b/music/area_2.ogg new file mode 100755 index 0000000..b83c6a4 Binary files /dev/null and b/music/area_2.ogg differ diff --git a/music/area_2.ogg.import b/music/area_2.ogg.import new file mode 100755 index 0000000..2c36e86 --- /dev/null +++ b/music/area_2.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://ckeguo5mqu73o" +path="res://.godot/imported/area_2.ogg-f5a90f1530ed9ee4e755d08f5fe609b8.oggvorbisstr" + +[deps] + +source_file="res://music/area_2.ogg" +dest_files=["res://.godot/imported/area_2.ogg-f5a90f1530ed9ee4e755d08f5fe609b8.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0.0 +bpm=70.0 +beat_count=0 +bar_beats=4 diff --git a/music/area_3.ogg b/music/area_3.ogg new file mode 100755 index 0000000..75ebc41 Binary files /dev/null and b/music/area_3.ogg differ diff --git a/music/area_3.ogg.import b/music/area_3.ogg.import new file mode 100755 index 0000000..fb2d1bf --- /dev/null +++ b/music/area_3.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://cqgpwqj85gdxp" +path="res://.godot/imported/area_3.ogg-696854ba5bbb5873d0759cf7aef40d43.oggvorbisstr" + +[deps] + +source_file="res://music/area_3.ogg" +dest_files=["res://.godot/imported/area_3.ogg-696854ba5bbb5873d0759cf7aef40d43.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0.0 +bpm=70.0 +beat_count=0 +bar_beats=4 diff --git a/music/area_4.ogg b/music/area_4.ogg new file mode 100755 index 0000000..b53d1ca Binary files /dev/null and b/music/area_4.ogg differ diff --git a/music/area_4.ogg.import b/music/area_4.ogg.import new file mode 100755 index 0000000..ccb0820 --- /dev/null +++ b/music/area_4.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://bxg44fooc13uw" +path="res://.godot/imported/area_4.ogg-20ed11af33d4f9581ca42f87b4758bcd.oggvorbisstr" + +[deps] + +source_file="res://music/area_4.ogg" +dest_files=["res://.godot/imported/area_4.ogg-20ed11af33d4f9581ca42f87b4758bcd.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0.0 +bpm=70.0 +beat_count=0 +bar_beats=4 diff --git a/music/ending_music.ogg b/music/ending_music.ogg new file mode 100755 index 0000000..e449076 Binary files /dev/null and b/music/ending_music.ogg differ diff --git a/music/ending_music.ogg.import b/music/ending_music.ogg.import new file mode 100755 index 0000000..0ad3ed7 --- /dev/null +++ b/music/ending_music.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://1co7qa5u5xac" +path="res://.godot/imported/ending_music.ogg-d4fce01ab1e3374353771c26db2bf3ca.oggvorbisstr" + +[deps] + +source_file="res://music/ending_music.ogg" +dest_files=["res://.godot/imported/ending_music.ogg-d4fce01ab1e3374353771c26db2bf3ca.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0.0 +bpm=75.0 +beat_count=0 +bar_beats=4 diff --git a/music/game_over_music.ogg b/music/game_over_music.ogg new file mode 100755 index 0000000..514da37 Binary files /dev/null and b/music/game_over_music.ogg differ diff --git a/music/game_over_music.ogg.import b/music/game_over_music.ogg.import new file mode 100755 index 0000000..045563b --- /dev/null +++ b/music/game_over_music.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://chcw8lggq7vj1" +path="res://.godot/imported/game_over_music.ogg-9a91a773036c7879e3fca3c22c46a438.oggvorbisstr" + +[deps] + +source_file="res://music/game_over_music.ogg" +dest_files=["res://.godot/imported/game_over_music.ogg-9a91a773036c7879e3fca3c22c46a438.oggvorbisstr"] + +[params] + +loop=true +loop_offset=0.0 +bpm=70.0 +beat_count=0 +bar_beats=4 diff --git a/objects/door_zone.gd b/objects/door_zone.gd new file mode 100755 index 0000000..cccbee2 --- /dev/null +++ b/objects/door_zone.gd @@ -0,0 +1,39 @@ +class_name DoorZone +extends Area2D + +@export_category("Outgoing") +@export_file("*.tscn") var TargetRoomPath: String +@export var TargetDoor: String +@export var PreserveX: bool = false +@export var PreserveY: bool = false +@export var PreserveVelocity: bool = false + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(_delta: float) -> void: + pass + + +func _on_body_entered(body: Node2D) -> void: + if body is Player: + if self.name == global.player_target: + return + var offset := Vector2(0., 0.); + if PreserveX: + offset.x = body.position.x - self.position.x + if PreserveY: + offset.y = body.position.y - self.position.y + global.player_offset = offset + global.player_velocity = Vector2(0., 0.) + if PreserveVelocity: + global.player_velocity = body.velocity + global.player_target = TargetDoor + global.goto_scene(load(TargetRoomPath)) + + +func _on_body_exited(body: Node2D) -> void: + global.player_target = "" diff --git a/objects/door_zone.gd.uid b/objects/door_zone.gd.uid new file mode 100755 index 0000000..d44b614 --- /dev/null +++ b/objects/door_zone.gd.uid @@ -0,0 +1 @@ +uid://c027jkwb3uac4 diff --git a/objects/door_zone.tscn b/objects/door_zone.tscn new file mode 100755 index 0000000..78b9552 --- /dev/null +++ b/objects/door_zone.tscn @@ -0,0 +1,8 @@ +[gd_scene load_steps=2 format=3 uid="uid://dh5xmwhdwobev"] + +[ext_resource type="Script" uid="uid://c027jkwb3uac4" path="res://objects/door_zone.gd" id="1_cm4xy"] + +[node name="DoorZone" type="Area2D"] +script = ExtResource("1_cm4xy") + +[connection signal="body_entered" from="." to="." method="_on_body_entered"] diff --git a/objects/fx/jump_dust.png b/objects/fx/jump_dust.png new file mode 100755 index 0000000..cbefa44 Binary files /dev/null and b/objects/fx/jump_dust.png differ diff --git a/objects/fx/jump_dust.png.import b/objects/fx/jump_dust.png.import new file mode 100755 index 0000000..5a14203 --- /dev/null +++ b/objects/fx/jump_dust.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cs262sxemhpum" +path="res://.godot/imported/jump_dust.png-341779febee3ef098cb2627403b1ea29.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://objects/fx/jump_dust.png" +dest_files=["res://.godot/imported/jump_dust.png-341779febee3ef098cb2627403b1ea29.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 diff --git a/objects/fx/jump_dust.tscn b/objects/fx/jump_dust.tscn new file mode 100755 index 0000000..ae6de70 --- /dev/null +++ b/objects/fx/jump_dust.tscn @@ -0,0 +1,63 @@ +[gd_scene load_steps=10 format=3 uid="uid://c4h1cj75b5sry"] + +[ext_resource type="Texture2D" uid="uid://cs262sxemhpum" path="res://objects/fx/jump_dust.png" id="1_aj8qq"] +[ext_resource type="Script" uid="uid://dgo1wtjored0j" path="res://scripts/dust_particle.gd" id="2_d1aoh"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_71pl7"] +atlas = ExtResource("1_aj8qq") +region = Rect2(0, 0, 23, 22) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kwppy"] +atlas = ExtResource("1_aj8qq") +region = Rect2(23, 0, 23, 22) + +[sub_resource type="AtlasTexture" id="AtlasTexture_h54gx"] +atlas = ExtResource("1_aj8qq") +region = Rect2(46, 0, 23, 22) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5nx71"] +atlas = ExtResource("1_aj8qq") +region = Rect2(69, 0, 23, 22) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ifxkf"] +atlas = ExtResource("1_aj8qq") +region = Rect2(92, 0, 23, 22) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0eeae"] +atlas = ExtResource("1_aj8qq") +region = Rect2(115, 0, 23, 22) + +[sub_resource type="SpriteFrames" id="SpriteFrames_dyqnt"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_71pl7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kwppy") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_h54gx") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5nx71") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ifxkf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0eeae") +}], +"loop": false, +"name": &"default", +"speed": 24.0 +}] + +[node name="JumpDust" type="AnimatedSprite2D"] +sprite_frames = SubResource("SpriteFrames_dyqnt") +autoplay = "default" +frame_progress = 1.0 +offset = Vector2(0, -9) +script = ExtResource("2_d1aoh") + +[connection signal="animation_finished" from="." to="." method="_on_animation_finished"] diff --git a/objects/fx/roll_dust.png b/objects/fx/roll_dust.png new file mode 100755 index 0000000..cb08e53 Binary files /dev/null and b/objects/fx/roll_dust.png differ diff --git a/objects/fx/roll_dust.png.import b/objects/fx/roll_dust.png.import new file mode 100755 index 0000000..ff0d020 --- /dev/null +++ b/objects/fx/roll_dust.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dkyfo8335hwnv" +path="res://.godot/imported/roll_dust.png-f921e62c1104c1a75294133942b0d92b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://objects/fx/roll_dust.png" +dest_files=["res://.godot/imported/roll_dust.png-f921e62c1104c1a75294133942b0d92b.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 diff --git a/objects/fx/roll_dust.tscn b/objects/fx/roll_dust.tscn new file mode 100755 index 0000000..ba386f4 --- /dev/null +++ b/objects/fx/roll_dust.tscn @@ -0,0 +1,77 @@ +[gd_scene load_steps=12 format=3 uid="uid://botc600n5fcgt"] + +[ext_resource type="Texture2D" uid="uid://dkyfo8335hwnv" path="res://objects/fx/roll_dust.png" id="1_ocmkx"] +[ext_resource type="Script" uid="uid://dgo1wtjored0j" path="res://scripts/dust_particle.gd" id="2_ny4y2"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_j223t"] +atlas = ExtResource("1_ocmkx") +region = Rect2(0, 0, 38, 39) + +[sub_resource type="AtlasTexture" id="AtlasTexture_15ql1"] +atlas = ExtResource("1_ocmkx") +region = Rect2(38, 0, 38, 39) + +[sub_resource type="AtlasTexture" id="AtlasTexture_byoxk"] +atlas = ExtResource("1_ocmkx") +region = Rect2(76, 0, 38, 39) + +[sub_resource type="AtlasTexture" id="AtlasTexture_m3d4f"] +atlas = ExtResource("1_ocmkx") +region = Rect2(114, 0, 38, 39) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6nm25"] +atlas = ExtResource("1_ocmkx") +region = Rect2(152, 0, 38, 39) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tqo4n"] +atlas = ExtResource("1_ocmkx") +region = Rect2(190, 0, 38, 39) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ur0hm"] +atlas = ExtResource("1_ocmkx") +region = Rect2(228, 0, 38, 39) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uuuyy"] +atlas = ExtResource("1_ocmkx") +region = Rect2(266, 0, 38, 39) + +[sub_resource type="SpriteFrames" id="SpriteFrames_dyqnt"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_j223t") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_15ql1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_byoxk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_m3d4f") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6nm25") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tqo4n") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ur0hm") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uuuyy") +}], +"loop": false, +"name": &"default", +"speed": 24.0 +}] + +[node name="RollDust" type="AnimatedSprite2D"] +sprite_frames = SubResource("SpriteFrames_dyqnt") +autoplay = "default" +frame_progress = 1.0 +offset = Vector2(0, -9) +script = ExtResource("2_ny4y2") + +[connection signal="animation_finished" from="." to="." method="_on_animation_finished"] diff --git a/objects/npcs/zombie.gd b/objects/npcs/zombie.gd new file mode 100755 index 0000000..3a49553 --- /dev/null +++ b/objects/npcs/zombie.gd @@ -0,0 +1,26 @@ +class_name Zombie +extends CharacterBody2D + + +const SPEED = 300.0 +const JUMP_VELOCITY = -400.0 + + +func _physics_process(delta: float) -> void: + # Add the gravity. + if not is_on_floor(): + velocity += get_gravity() * delta + + # Handle jump. + if Input.is_action_just_pressed("ui_accept") and is_on_floor(): + velocity.y = JUMP_VELOCITY + + # Get the input direction and handle the movement/deceleration. + # As good practice, you should replace UI actions with custom gameplay actions. + var direction := Input.get_axis("ui_left", "ui_right") + if direction: + velocity.x = direction * SPEED + else: + velocity.x = move_toward(velocity.x, 0, SPEED) + + move_and_slide() diff --git a/objects/npcs/zombie.gd.uid b/objects/npcs/zombie.gd.uid new file mode 100755 index 0000000..f2f1103 --- /dev/null +++ b/objects/npcs/zombie.gd.uid @@ -0,0 +1 @@ +uid://bw8t7n771m0b4 diff --git a/objects/npcs/zombie.png b/objects/npcs/zombie.png new file mode 100755 index 0000000..4c63b88 Binary files /dev/null and b/objects/npcs/zombie.png differ diff --git a/objects/npcs/zombie.png.import b/objects/npcs/zombie.png.import new file mode 100755 index 0000000..0908fd6 --- /dev/null +++ b/objects/npcs/zombie.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c8v7mt7kbv7k5" +path="res://.godot/imported/zombie.png-cd8c3c30f31f1b01ad0e7564be92c691.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://objects/npcs/zombie.png" +dest_files=["res://.godot/imported/zombie.png-cd8c3c30f31f1b01ad0e7564be92c691.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 diff --git a/objects/npcs/zombie.tscn b/objects/npcs/zombie.tscn new file mode 100755 index 0000000..2eff607 --- /dev/null +++ b/objects/npcs/zombie.tscn @@ -0,0 +1,203 @@ +[gd_scene load_steps=28 format=3 uid="uid://enj7slqj7o2o"] + +[ext_resource type="Texture2D" uid="uid://c8v7mt7kbv7k5" path="res://objects/npcs/zombie.png" id="1_8psf6"] +[ext_resource type="Script" uid="uid://bw8t7n771m0b4" path="res://objects/npcs/zombie.gd" id="1_qml1x"] +[ext_resource type="Script" uid="uid://bsveyr6o3li86" path="res://objects/npcs/zombie_sprite.gd" id="3_8bxsl"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_qml1x"] +atlas = ExtResource("1_8psf6") +region = Rect2(0, 122, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8bxsl"] +atlas = ExtResource("1_8psf6") +region = Rect2(52, 122, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nyp6s"] +atlas = ExtResource("1_8psf6") +region = Rect2(104, 122, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_knvin"] +atlas = ExtResource("1_8psf6") +region = Rect2(156, 122, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0k1nj"] +atlas = ExtResource("1_8psf6") +region = Rect2(208, 122, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4k8tf"] +atlas = ExtResource("1_8psf6") +region = Rect2(260, 122, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fljd2"] +atlas = ExtResource("1_8psf6") +region = Rect2(312, 122, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hci6t"] +atlas = ExtResource("1_8psf6") +region = Rect2(364, 122, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_apr15"] +atlas = ExtResource("1_8psf6") +region = Rect2(416, 122, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gigwc"] +atlas = ExtResource("1_8psf6") +region = Rect2(0, 0, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5qsks"] +atlas = ExtResource("1_8psf6") +region = Rect2(52, 0, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ys0de"] +atlas = ExtResource("1_8psf6") +region = Rect2(0, 183, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kni6o"] +atlas = ExtResource("1_8psf6") +region = Rect2(52, 183, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8lesc"] +atlas = ExtResource("1_8psf6") +region = Rect2(104, 183, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ai73t"] +atlas = ExtResource("1_8psf6") +region = Rect2(156, 183, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_hmrhp"] +atlas = ExtResource("1_8psf6") +region = Rect2(208, 183, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_reymy"] +atlas = ExtResource("1_8psf6") +region = Rect2(260, 183, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wifnu"] +atlas = ExtResource("1_8psf6") +region = Rect2(0, 61, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_frsw6"] +atlas = ExtResource("1_8psf6") +region = Rect2(52, 61, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8n4lj"] +atlas = ExtResource("1_8psf6") +region = Rect2(104, 61, 52, 61) + +[sub_resource type="AtlasTexture" id="AtlasTexture_sqw4r"] +atlas = ExtResource("1_8psf6") +region = Rect2(156, 61, 52, 61) + +[sub_resource type="SpriteFrames" id="SpriteFrames_4jgel"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_qml1x") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8bxsl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nyp6s") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_knvin") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0k1nj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4k8tf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fljd2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hci6t") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_apr15") +}], +"loop": false, +"name": &"attack", +"speed": 12.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_gigwc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5qsks") +}], +"loop": true, +"name": &"default", +"speed": 3.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_ys0de") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kni6o") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8lesc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ai73t") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_hmrhp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_reymy") +}], +"loop": false, +"name": &"die", +"speed": 24.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_wifnu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_frsw6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8n4lj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_sqw4r") +}], +"loop": true, +"name": &"walk", +"speed": 6.0 +}] + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_8psf6"] +radius = 6.0 +height = 24.0 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_8bxsl"] +size = Vector2(8, 13) + +[node name="Zombie" type="CharacterBody2D"] +script = ExtResource("1_qml1x") + +[node name="Sprite" type="AnimatedSprite2D" parent="."] +position = Vector2(0, -10.5) +sprite_frames = SubResource("SpriteFrames_4jgel") +animation = &"attack" +frame = 5 +script = ExtResource("3_8bxsl") + +[node name="Collision" type="CollisionShape2D" parent="."] +position = Vector2(0, -12) +shape = SubResource("CapsuleShape2D_8psf6") + +[node name="Area2D" type="Area2D" parent="."] + +[node name="CollisionAttack" type="CollisionShape2D" parent="Area2D"] +position = Vector2(10, -11.5) +shape = SubResource("RectangleShape2D_8bxsl") +debug_color = Color(0.9942227, 0, 0.23271917, 0.41960785) diff --git a/objects/npcs/zombie_sprite.gd b/objects/npcs/zombie_sprite.gd new file mode 100755 index 0000000..7e8b2ed --- /dev/null +++ b/objects/npcs/zombie_sprite.gd @@ -0,0 +1,11 @@ +extends AnimatedSprite2D + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass diff --git a/objects/npcs/zombie_sprite.gd.uid b/objects/npcs/zombie_sprite.gd.uid new file mode 100755 index 0000000..6322ef3 --- /dev/null +++ b/objects/npcs/zombie_sprite.gd.uid @@ -0,0 +1 @@ +uid://bsveyr6o3li86 diff --git a/objects/player.gd b/objects/player.gd new file mode 100755 index 0000000..09d0eeb --- /dev/null +++ b/objects/player.gd @@ -0,0 +1,152 @@ +class_name Player +extends CharacterBody2D + +@onready var sprite := $Sprite as AnimatedSprite2D +@onready var audio_player := $AudioPlayer as AudioStreamPlayer + +signal state_change(old: States, new: States) + +enum States {IDLE, RUN_START, RUN, ROLL, JUMP_START, JUMP, FALL, LAND, DAMAGE, RAGDOLL, BOUNCE, LAY, SHOOT, JAB, STRAIGHT, KICK, POUND} + +const STATES_IMMOBILE = [States.ROLL, States.DAMAGE, States.RAGDOLL, States.BOUNCE, States.LAY, States.SHOOT, States.JAB, States.STRAIGHT, States.KICK, States.POUND] +const STATES_AIRBORNE = [States.JUMP_START, States.JUMP, States.FALL] + +const ROLL_DUST = preload("uid://botc600n5fcgt") +const JUMP_DUST = preload("uid://c4h1cj75b5sry") +const JUMP_SOUND = preload("uid://d1hwunwdel6sy") +const HIT_GROUND = preload("uid://ciglwfq0vua8i") + +const SPEED = 90.0 +const ACCEL = 450 +const JUMP_VELOCITY = -312.0 +const ROLL_VELOCITY = 150.0 +const ROLL_DECEL = 1080 + +# Get the gravity from the project settings to be synced with RigidBody nodes. +var gravity = ProjectSettings.get_setting("physics/2d/default_gravity") + +var state: States = States.IDLE: set = _set_state + +var direction: float +var grounded: bool +var running: bool +var rolling: bool +var ragdoll: bool +var bounce: bool +var lay: bool +var shooting: bool +var melee: bool + +func _set_state(s: States): + state_change.emit(state, s) + state = s + +func _process(_delta: float) -> void: + $State.text = States.keys()[state] + +func _physics_process(delta): + # Add the gravity. + if not is_on_floor(): + velocity.y += gravity * delta + + # Jumping + if state not in STATES_IMMOBILE and state not in STATES_AIRBORNE and Input.is_action_just_pressed("jump") and is_on_floor(): + state = States.JUMP_START + + audio_player.stream = JUMP_SOUND + audio_player.play() + + var jump_dust = JUMP_DUST.instantiate() + jump_dust.position = position + add_sibling(jump_dust) + + velocity.y = JUMP_VELOCITY + + # Short hops + if Input.is_action_just_released("jump") && !is_on_floor(): + velocity.y = velocity.y / 2 + + # Falling + if state not in [States.ROLL, States.RAGDOLL, States.BOUNCE] and velocity.y > 0: + state = States.FALL + + if state in [States.FALL] and is_zero_approx(velocity.y): + if direction: + state = States.RUN + else: + state = States.LAND + + # Rolls + if state not in STATES_IMMOBILE and state != States.ROLL and \ + (Input.is_action_just_pressed("roll_jump") or Input.is_action_just_pressed("roll")): + state = States.ROLL + + if is_on_floor(): + var roll_dust = ROLL_DUST.instantiate() + roll_dust.position = position + roll_dust.flip_h = !sprite.flip_h + add_sibling(roll_dust) + + if !sprite.flip_h: + velocity.x = ROLL_VELOCITY + else: + velocity.x = -ROLL_VELOCITY + + if velocity.y >= 0 && Input.is_action_just_pressed("roll_jump"): + velocity.y = -120 + + # Melee + if state not in STATES_IMMOBILE and Input.is_action_just_pressed("melee"): + state = States.MELEE + if Input.is_action_pressed("roll"): + # Pound + pass + + # Shooting + if state not in STATES_IMMOBILE and Input.is_action_just_pressed("shoot"): + state = States.SHOOT + match global.save.projectile: + global.save.Projectile.BLAST: + pass + + # Ragdoll + if state not in [States.RAGDOLL, States.BOUNCE, States.LAY] and Input.is_action_just_pressed("ragdoll"): + state = States.RAGDOLL + + if state in [States.RAGDOLL] and is_on_floor(): + state = States.BOUNCE + + var roll_dust = ROLL_DUST.instantiate() + roll_dust.position = position + roll_dust.flip_h = !sprite.flip_h + add_sibling(roll_dust) + + velocity.y = -120 + audio_player.stream = HIT_GROUND + audio_player.play() + + if state in [States.BOUNCE] and is_on_floor() and velocity.y >= 0: + state = States.LAY + + audio_player.stream = HIT_GROUND + audio_player.play() + + if state in [States.LAY] and is_on_floor(): + velocity.x = move_toward(velocity.x, 0, ACCEL * delta) + + # Overall physics + direction = Input.get_axis("move_left", "move_right") + if state == States.ROLL and sprite.frame > 7: + # Slow down if in the later roll frames. + velocity.x = move_toward(velocity.x, 0, ROLL_DECEL * delta) + elif state not in [States.ROLL, States.DAMAGE, States.RAGDOLL, States.BOUNCE, States.LAY, States.SHOOT, States.MELEE]: + # Apply velocity changes if not in a restricted movement state. + velocity.x = move_toward(velocity.x, direction * SPEED, ACCEL * delta) + if direction: + if state not in [States.JUMP_START, States.JUMP, States.FALL, States.RUN_START, States.RUN]: + state = States.RUN_START + else: + if state not in [States.JUMP_START, States.JUMP, States.FALL, States.LAND]: + state = States.IDLE + + move_and_slide() diff --git a/objects/player.gd.uid b/objects/player.gd.uid new file mode 100755 index 0000000..e4232c8 --- /dev/null +++ b/objects/player.gd.uid @@ -0,0 +1 @@ +uid://drpdjfp0o7bbv diff --git a/objects/player.png b/objects/player.png new file mode 100755 index 0000000..03e7980 Binary files /dev/null and b/objects/player.png differ diff --git a/objects/player.png.import b/objects/player.png.import new file mode 100755 index 0000000..83dd8fe --- /dev/null +++ b/objects/player.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ci24lybfsaxd0" +path="res://.godot/imported/player.png-ce2a37186354540f2edbb662bd1e85b2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://objects/player.png" +dest_files=["res://.godot/imported/player.png-ce2a37186354540f2edbb662bd1e85b2.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 diff --git a/objects/player.tscn b/objects/player.tscn new file mode 100755 index 0000000..526e580 --- /dev/null +++ b/objects/player.tscn @@ -0,0 +1,693 @@ +[gd_scene load_steps=88 format=3 uid="uid://2f3x4fcr0os6"] + +[ext_resource type="Texture2D" uid="uid://ci24lybfsaxd0" path="res://objects/player.png" id="1_2mhpo"] +[ext_resource type="Script" uid="uid://drpdjfp0o7bbv" path="res://objects/player.gd" id="1_c7kgv"] +[ext_resource type="Script" uid="uid://e6q7q0ljb34u" path="res://scripts/state_collision.gd" id="1_uxov2"] +[ext_resource type="Script" uid="uid://cgeaq15vi0bnd" path="res://objects/player_sprite.gd" id="3_uxov2"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_ykyjo"] +atlas = ExtResource("1_2mhpo") +region = Rect2(0, 602, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uxov2"] +atlas = ExtResource("1_2mhpo") +region = Rect2(35, 602, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nmc1l"] +atlas = ExtResource("1_2mhpo") +region = Rect2(70, 602, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_f46kd"] +atlas = ExtResource("1_2mhpo") +region = Rect2(105, 602, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3rerk"] +atlas = ExtResource("1_2mhpo") +region = Rect2(140, 602, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_i825w"] +atlas = ExtResource("1_2mhpo") +region = Rect2(175, 602, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3rfka"] +atlas = ExtResource("1_2mhpo") +region = Rect2(210, 602, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_i8sra"] +atlas = ExtResource("1_2mhpo") +region = Rect2(0, 344, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4vq5b"] +atlas = ExtResource("1_2mhpo") +region = Rect2(35, 344, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3nfmf"] +atlas = ExtResource("1_2mhpo") +region = Rect2(70, 344, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_42cpl"] +atlas = ExtResource("1_2mhpo") +region = Rect2(105, 344, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vqq2l"] +atlas = ExtResource("1_2mhpo") +region = Rect2(140, 344, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_r673r"] +atlas = ExtResource("1_2mhpo") +region = Rect2(175, 344, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mqnmn"] +atlas = ExtResource("1_2mhpo") +region = Rect2(210, 344, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5esnd"] +atlas = ExtResource("1_2mhpo") +region = Rect2(245, 344, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w1o2u"] +atlas = ExtResource("1_2mhpo") +region = Rect2(0, 0, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s4hvt"] +atlas = ExtResource("1_2mhpo") +region = Rect2(35, 0, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2sux5"] +atlas = ExtResource("1_2mhpo") +region = Rect2(70, 0, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_iqfnf"] +atlas = ExtResource("1_2mhpo") +region = Rect2(105, 0, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bhqug"] +atlas = ExtResource("1_2mhpo") +region = Rect2(0, 258, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cyhxw"] +atlas = ExtResource("1_2mhpo") +region = Rect2(0, 473, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wq66c"] +atlas = ExtResource("1_2mhpo") +region = Rect2(35, 473, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_183dw"] +atlas = ExtResource("1_2mhpo") +region = Rect2(70, 473, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nflk0"] +atlas = ExtResource("1_2mhpo") +region = Rect2(105, 473, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uqwil"] +atlas = ExtResource("1_2mhpo") +region = Rect2(140, 473, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ggel1"] +atlas = ExtResource("1_2mhpo") +region = Rect2(175, 473, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_d8ffw"] +atlas = ExtResource("1_2mhpo") +region = Rect2(210, 473, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2ve04"] +atlas = ExtResource("1_2mhpo") +region = Rect2(0, 215, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0rhe2"] +atlas = ExtResource("1_2mhpo") +region = Rect2(0, 172, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6ypbn"] +atlas = ExtResource("1_2mhpo") +region = Rect2(0, 387, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7rsoo"] +atlas = ExtResource("1_2mhpo") +region = Rect2(35, 387, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lywsn"] +atlas = ExtResource("1_2mhpo") +region = Rect2(70, 387, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cvk82"] +atlas = ExtResource("1_2mhpo") +region = Rect2(105, 387, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_77i28"] +atlas = ExtResource("1_2mhpo") +region = Rect2(140, 387, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_mle5l"] +atlas = ExtResource("1_2mhpo") +region = Rect2(175, 387, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_i4kk0"] +atlas = ExtResource("1_2mhpo") +region = Rect2(210, 387, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s854h"] +atlas = ExtResource("1_2mhpo") +region = Rect2(245, 387, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tj211"] +atlas = ExtResource("1_2mhpo") +region = Rect2(0, 301, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kqdjh"] +atlas = ExtResource("1_2mhpo") +region = Rect2(35, 301, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_a5pfi"] +atlas = ExtResource("1_2mhpo") +region = Rect2(70, 301, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_f2hc5"] +atlas = ExtResource("1_2mhpo") +region = Rect2(0, 430, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_sktdc"] +atlas = ExtResource("1_2mhpo") +region = Rect2(0, 559, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ghhh6"] +atlas = ExtResource("1_2mhpo") +region = Rect2(35, 559, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dibtv"] +atlas = ExtResource("1_2mhpo") +region = Rect2(70, 559, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_d4anp"] +atlas = ExtResource("1_2mhpo") +region = Rect2(105, 559, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ct16p"] +atlas = ExtResource("1_2mhpo") +region = Rect2(140, 559, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_arub5"] +atlas = ExtResource("1_2mhpo") +region = Rect2(175, 559, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4g3oa"] +atlas = ExtResource("1_2mhpo") +region = Rect2(210, 559, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_r7a5p"] +atlas = ExtResource("1_2mhpo") +region = Rect2(0, 129, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_kmthn"] +atlas = ExtResource("1_2mhpo") +region = Rect2(35, 129, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_775wt"] +atlas = ExtResource("1_2mhpo") +region = Rect2(70, 129, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dsdn8"] +atlas = ExtResource("1_2mhpo") +region = Rect2(105, 129, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q7t1j"] +atlas = ExtResource("1_2mhpo") +region = Rect2(140, 129, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_f0f2d"] +atlas = ExtResource("1_2mhpo") +region = Rect2(175, 129, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jxo55"] +atlas = ExtResource("1_2mhpo") +region = Rect2(210, 129, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jilkr"] +atlas = ExtResource("1_2mhpo") +region = Rect2(245, 129, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uyug2"] +atlas = ExtResource("1_2mhpo") +region = Rect2(280, 129, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4jwck"] +atlas = ExtResource("1_2mhpo") +region = Rect2(315, 129, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_07yoj"] +atlas = ExtResource("1_2mhpo") +region = Rect2(0, 86, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_fhocf"] +atlas = ExtResource("1_2mhpo") +region = Rect2(35, 86, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_78ho2"] +atlas = ExtResource("1_2mhpo") +region = Rect2(70, 86, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8ch2p"] +atlas = ExtResource("1_2mhpo") +region = Rect2(105, 86, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_f4byu"] +atlas = ExtResource("1_2mhpo") +region = Rect2(140, 86, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_b5c7i"] +atlas = ExtResource("1_2mhpo") +region = Rect2(175, 86, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_evbvi"] +atlas = ExtResource("1_2mhpo") +region = Rect2(210, 86, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ye2nl"] +atlas = ExtResource("1_2mhpo") +region = Rect2(245, 86, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_l3yn6"] +atlas = ExtResource("1_2mhpo") +region = Rect2(0, 43, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1crfk"] +atlas = ExtResource("1_2mhpo") +region = Rect2(35, 43, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7lcwi"] +atlas = ExtResource("1_2mhpo") +region = Rect2(70, 43, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_g8y8i"] +atlas = ExtResource("1_2mhpo") +region = Rect2(105, 43, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bb8rj"] +atlas = ExtResource("1_2mhpo") +region = Rect2(140, 43, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_il2j7"] +atlas = ExtResource("1_2mhpo") +region = Rect2(175, 43, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_p2pxn"] +atlas = ExtResource("1_2mhpo") +region = Rect2(0, 516, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_e728x"] +atlas = ExtResource("1_2mhpo") +region = Rect2(35, 516, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wmx0i"] +atlas = ExtResource("1_2mhpo") +region = Rect2(70, 516, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_llth5"] +atlas = ExtResource("1_2mhpo") +region = Rect2(105, 516, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4wu0g"] +atlas = ExtResource("1_2mhpo") +region = Rect2(140, 516, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_isejg"] +atlas = ExtResource("1_2mhpo") +region = Rect2(175, 516, 35, 43) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cebk3"] +atlas = ExtResource("1_2mhpo") +region = Rect2(210, 516, 35, 43) + +[sub_resource type="SpriteFrames" id="SpriteFrames_blchw"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_ykyjo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uxov2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nmc1l") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_f46kd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3rerk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_i825w") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3rfka") +}], +"loop": false, +"name": &"air_kick", +"speed": 24.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_i8sra") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4vq5b") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3nfmf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_42cpl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vqq2l") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_r673r") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mqnmn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_5esnd") +}], +"loop": false, +"name": &"damage", +"speed": 12.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_w1o2u") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s4hvt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2sux5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_iqfnf") +}], +"loop": true, +"name": &"default", +"speed": 6.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_bhqug") +}], +"loop": false, +"name": &"fall", +"speed": 1.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_cyhxw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wq66c") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_183dw") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nflk0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uqwil") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ggel1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_d8ffw") +}], +"loop": false, +"name": &"jab", +"speed": 36.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_2ve04") +}], +"loop": false, +"name": &"jump", +"speed": 12.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_0rhe2") +}], +"loop": false, +"name": &"jump_start", +"speed": 12.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_6ypbn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7rsoo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lywsn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cvk82") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_77i28") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_mle5l") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_i4kk0") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s854h") +}], +"loop": false, +"name": &"knockdown", +"speed": 18.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_tj211") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kqdjh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_a5pfi") +}], +"loop": false, +"name": &"land", +"speed": 12.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_f2hc5") +}], +"loop": false, +"name": &"lay", +"speed": 0.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_sktdc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ghhh6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_dibtv") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_d4anp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ct16p") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_arub5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4g3oa") +}], +"loop": false, +"name": &"pound", +"speed": 18.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_r7a5p") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kmthn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_775wt") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_dsdn8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q7t1j") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_f0f2d") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jxo55") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jilkr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uyug2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4jwck") +}], +"loop": false, +"name": &"roll", +"speed": 18.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_07yoj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_fhocf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_78ho2") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8ch2p") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_f4byu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_b5c7i") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_evbvi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ye2nl") +}], +"loop": true, +"name": &"run", +"speed": 15.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_l3yn6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1crfk") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7lcwi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_g8y8i") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bb8rj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_il2j7") +}], +"loop": false, +"name": &"run_start", +"speed": 18.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_p2pxn") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_e728x") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wmx0i") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_llth5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4wu0g") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_isejg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cebk3") +}], +"loop": false, +"name": &"straight", +"speed": 24.0 +}] + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_f46kd"] +radius = 8.0 +height = 16.0 + +[sub_resource type="GDScript" id="GDScript_uxov2"] +script/source = "extends CollisionState2D + +func _on_player_state_change(_old: Player.States, new: Player.States) -> void: + change_shape(Player.States.keys()[new]) +" + +[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_nmc1l"] +radius = 6.0 +height = 22.0 + +[node name="Player" type="CharacterBody2D"] +z_index = 10 +floor_constant_speed = true +floor_snap_length = 2.0 +script = ExtResource("1_c7kgv") + +[node name="AudioPlayer" type="AudioStreamPlayer" parent="."] +max_polyphony = 2 + +[node name="Sprite" type="AnimatedSprite2D" parent="."] +position = Vector2(0, -11) +sprite_frames = SubResource("SpriteFrames_blchw") +animation = &"roll" +frame = 4 +offset = Vector2(0, -0.5) +script = ExtResource("3_uxov2") + +[node name="Hitbox" type="CollisionShape2D" parent="."] +position = Vector2(0, -11) +shape = SubResource("CapsuleShape2D_f46kd") +script = SubResource("GDScript_uxov2") +Shapes = Dictionary[String, Shape2D]({ +"IDLE": SubResource("CapsuleShape2D_nmc1l") +}) +metadata/_custom_type_script = "uid://e6q7q0ljb34u" + +[node name="State" type="Label" parent="."] +offset_left = -40.0 +offset_top = -56.0 +offset_right = 40.0 +offset_bottom = -24.0 + +[node name="Attackbox" type="Area2D" parent="."] + +[node name="CollisionState2D" type="CollisionShape2D" parent="Attackbox"] +script = ExtResource("1_uxov2") +metadata/_custom_type_script = "uid://e6q7q0ljb34u" + +[connection signal="state_change" from="." to="Hitbox" method="_on_player_state_change"] +[connection signal="animation_finished" from="Sprite" to="Sprite" method="_on_animation_finished"] diff --git a/objects/player_camera_2d.gd b/objects/player_camera_2d.gd new file mode 100755 index 0000000..e29dbf0 --- /dev/null +++ b/objects/player_camera_2d.gd @@ -0,0 +1,12 @@ +class_name PlayerCamera2D +extends Camera2D + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(_delta: float) -> void: + if global.player: + position = global.player.position diff --git a/objects/player_camera_2d.gd.uid b/objects/player_camera_2d.gd.uid new file mode 100755 index 0000000..410bac4 --- /dev/null +++ b/objects/player_camera_2d.gd.uid @@ -0,0 +1 @@ +uid://dtdbkfoaaejw0 diff --git a/objects/player_sprite.gd b/objects/player_sprite.gd new file mode 100755 index 0000000..1c5ea61 --- /dev/null +++ b/objects/player_sprite.gd @@ -0,0 +1,54 @@ +extends AnimatedSprite2D + +@onready var player := $".." as Player + + +# Called when the node enters the scene tree for the first time. +func _ready(): + play("default") + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(_delta): + match player.state: + Player.States.IDLE: + play("default") + Player.States.RUN_START: + play("run_start") + Player.States.RUN: + play("run") + Player.States.ROLL: + play("roll") + Player.States.JUMP_START: + play("jump_start") + Player.States.JUMP: + play("jump") + Player.States.FALL: + play("fall") + Player.States.LAND: + play("land") + Player.States.DAMAGE: + play("damage") + Player.States.RAGDOLL: + play("knockdown") + Player.States.BOUNCE: + play("knockdown") + if player.is_on_floor(): + frame = 4 + Player.States.LAY: + play("lay") + if player.direction: + flip_h = player.direction < 0 + +func _on_animation_finished(): + match animation: + "run_start": + player.state = Player.States.RUN + "land": + player.state = Player.States.IDLE + "jump_start": + player.state = Player.States.JUMP + "roll": + player.state = Player.States.IDLE + "damage": + player.state = Player.States.IDLE diff --git a/objects/player_sprite.gd.uid b/objects/player_sprite.gd.uid new file mode 100755 index 0000000..e68b135 --- /dev/null +++ b/objects/player_sprite.gd.uid @@ -0,0 +1 @@ +uid://cgeaq15vi0bnd diff --git a/objects/projectiles/blast.png b/objects/projectiles/blast.png new file mode 100755 index 0000000..a3418b0 Binary files /dev/null and b/objects/projectiles/blast.png differ diff --git a/objects/projectiles/blast.png.import b/objects/projectiles/blast.png.import new file mode 100755 index 0000000..9963f74 --- /dev/null +++ b/objects/projectiles/blast.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cs21plpjp5lle" +path="res://.godot/imported/blast.png-1e5c9a58118096a1044ef4f96ebba846.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://objects/projectiles/blast.png" +dest_files=["res://.godot/imported/blast.png-1e5c9a58118096a1044ef4f96ebba846.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 diff --git a/objects/projectiles/blast.tscn b/objects/projectiles/blast.tscn new file mode 100755 index 0000000..7048f3f --- /dev/null +++ b/objects/projectiles/blast.tscn @@ -0,0 +1,3 @@ +[gd_scene format=3 uid="uid://bcjnrngre63n4"] + +[node name="Blast" type="Node2D"] diff --git a/objects/ui/sound_button.gd b/objects/ui/sound_button.gd new file mode 100755 index 0000000..803435c --- /dev/null +++ b/objects/ui/sound_button.gd @@ -0,0 +1,33 @@ +extends Button + +@onready var audio_player: AudioStreamPlayer = $AudioPlayer + +@export var FocusSound: AudioStream +@export var PressSound: AudioStream + +var flash: bool + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(_delta: float) -> void: + pass + + +func _on_pressed() -> void: + if !PressSound: + return + audio_player.stream = PressSound + audio_player.play() + + +func _on_focus_entered() -> void: + if !PressSound: + return + if Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT): + return + audio_player.stream = FocusSound + audio_player.play() diff --git a/objects/ui/sound_button.gd.uid b/objects/ui/sound_button.gd.uid new file mode 100755 index 0000000..e70cdcb --- /dev/null +++ b/objects/ui/sound_button.gd.uid @@ -0,0 +1 @@ +uid://h6prwf5a5wwr diff --git a/objects/ui/sound_button.tscn b/objects/ui/sound_button.tscn new file mode 100755 index 0000000..4fa1c64 --- /dev/null +++ b/objects/ui/sound_button.tscn @@ -0,0 +1,13 @@ +[gd_scene load_steps=2 format=3 uid="uid://bqlbo0yh111fw"] + +[ext_resource type="Script" uid="uid://h6prwf5a5wwr" path="res://objects/ui/sound_button.gd" id="1_f827h"] + +[node name="SoundButton" type="Button"] +script = ExtResource("1_f827h") + +[node name="AudioPlayer" type="AudioStreamPlayer" parent="."] +max_polyphony = 2 +bus = &"SFX" + +[connection signal="focus_entered" from="." to="." method="_on_focus_entered"] +[connection signal="pressed" from="." to="." method="_on_pressed"] diff --git a/project.godot b/project.godot new file mode 100755 index 0000000..c620347 --- /dev/null +++ b/project.godot @@ -0,0 +1,88 @@ +; 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="Kurovadis" +run/main_scene="uid://deismap4eyt3" +config/use_custom_user_dir=true +config/features=PackedStringArray("4.5", "GL Compatibility") +config/icon="res://icon.svg" + +[autoload] + +global="*res://global.tscn" + +[debug] + +gdscript/warnings/integer_division=0 + +[display] + +window/size/viewport_width=320 +window/size/viewport_height=240 +window/size/window_width_override=960 +window/size/window_height_override=720 +window/stretch/mode="viewport" + +[input] + +move_left={ +"deadzone": 0.2, +"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":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} +move_right={ +"deadzone": 0.2, +"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":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} +roll={ +"deadzone": 0.2, +"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":4194322,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} +jump={ +"deadzone": 0.2, +"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":88,"key_label":0,"unicode":120,"location":0,"echo":false,"script":null) +] +} +roll_jump={ +"deadzone": 0.2, +"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":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} +melee={ +"deadzone": 0.2, +"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":67,"key_label":0,"unicode":99,"location":0,"echo":false,"script":null) +] +} +shoot={ +"deadzone": 0.2, +"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":90,"key_label":0,"unicode":122,"location":0,"echo":false,"script":null) +] +} +ragdoll={ +"deadzone": 0.2, +"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":72,"key_label":0,"unicode":104,"location":0,"echo":false,"script":null) +] +} + +[physics] + +2d/default_gravity=720.0 + +[rendering] + +textures/canvas_textures/default_texture_filter=0 +renderer/rendering_method="gl_compatibility" +renderer/rendering_method.mobile="gl_compatibility" +textures/vram_compression/import_etc2_astc=true +environment/defaults/default_clear_color=Color(0, 0, 0, 1) diff --git a/rooms/caves.gd b/rooms/caves.gd new file mode 100755 index 0000000..a369fbb --- /dev/null +++ b/rooms/caves.gd @@ -0,0 +1,18 @@ +extends Node2D + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + global.set_music(load("res://music/area_1.ogg")) + if !global.player: + global.player = load("res://objects/player.tscn").instantiate() + global.player.position = $PlayerSpawn.position + get_tree().root.add_child.call_deferred(global.player) + if global.player && global.player_target: + global.player.position = global.offset + get_node(global.player_target).position + print("setting player location: ", global.player.position) + await global.fade_in() + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(_delta: float) -> void: + pass diff --git a/rooms/caves.gd.uid b/rooms/caves.gd.uid new file mode 100755 index 0000000..55bceb5 --- /dev/null +++ b/rooms/caves.gd.uid @@ -0,0 +1 @@ +uid://mb2mnfri0ti diff --git a/rooms/caves.tscn b/rooms/caves.tscn new file mode 100755 index 0000000..6d747cd --- /dev/null +++ b/rooms/caves.tscn @@ -0,0 +1,171 @@ +[gd_scene load_steps=14 format=4 uid="uid://dx7otbnngehj2"] + +[ext_resource type="TileSet" uid="uid://cygngaiobann6" path="res://tiles/tileset.tres" id="1_2dn5a"] +[ext_resource type="Script" uid="uid://mb2mnfri0ti" path="res://rooms/caves.gd" id="1_j34b7"] +[ext_resource type="Script" uid="uid://dtdbkfoaaejw0" path="res://objects/player_camera_2d.gd" id="2_yponf"] +[ext_resource type="Script" uid="uid://c027jkwb3uac4" path="res://objects/door_zone.gd" id="3_y0efj"] +[ext_resource type="PackedScene" uid="uid://enj7slqj7o2o" path="res://objects/npcs/zombie.tscn" id="5_8al1q"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_j34b7"] +size = Vector2(64, 10) + +[sub_resource type="GDScript" id="GDScript_j34b7"] +script/source = "extends Area2D + +@export var camera: PlayerCamera2D +@export var auto_limit: bool +@export var limit: Vector4i + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(_delta: float) -> void: + pass + + +func _on_body_entered(body: Node2D) -> void: + if body is Player: + if auto_limit: + var rect := Rect2i((get_node(\"CollisionShape2D\") as CollisionShape2D).shape.get_rect()) + rect.position += Vector2i((get_node(\"CollisionShape2D\") as CollisionShape2D).position) + limit.x = rect.position.x + limit.y = rect.position.y + limit.z = rect.end.x + limit.w = rect.end.y + camera.limit_left = limit.x + camera.limit_top = limit.y + camera.limit_right = limit.z + camera.limit_bottom = limit.w +" + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_8al1q"] +size = Vector2(640, 240) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_wcxe8"] +size = Vector2(800, 272) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_0gf5r"] +size = Vector2(608, 656) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_bf2p6"] +size = Vector2(320, 240) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_nkurl"] +size = Vector2(928, 240) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_0fyj3"] +size = Vector2(992, 352) + +[node name="Caves" type="Node2D"] +script = ExtResource("1_j34b7") + +[node name="BackgroundTileMapLayer" type="TileMapLayer" parent="."] +tile_map_data = PackedByteArray("AAAAAAMABgAMAAcAAAABAAMABgANAAcAAAACAAMABgAMAAcAAAADAAMABgANAAcAAAAEAAEABgAPAAYAAAAEAAIABgAPAAYAAAAEAAMABgAMAAcAAAAFAAEABgAPAAYAAAAFAAIABgAPAAYAAAAFAAMABgANAAcAAAAGAAMABgAMAAcAAAAHAAMABgANAAcAAAAIAAMABgAMAAcAAAAJAAMABgANAAcAAAAAAAIABgAMAAYAAAABAAIABgAMAAYAAAACAAIABgAMAAYAAAADAAIABgAMAAYAAAAEAAAABgAPAAYAAAAFAAAABgAOAAcAAAAGAAIABgAMAAYAAAAHAAIABgAMAAYAAAAIAAIABgAMAAYAAAAJAAIABgAMAAYAAAD//wMABgAMAAcAAAD+/wMABgAMAAcAAAD9/wMABgAMAAcAAAD8/wMABgANAAcAAAD7/wMABgANAAcAAAD6/wMABgAMAAcAAAD5/wMABgAMAAcAAAD4/wMABgAMAAcAAAD4/wIABgAMAAYAAAD5/wIABgAMAAYAAAD6/wIABgAMAAYAAAD7/wIABgAMAAYAAAD8/wIABgAMAAYAAAD9/wIABgAMAAYAAAD+/wIABgAMAAYAAAD//wIABgAMAAYAAAAEAP//BgAPAAYAAAAFAP//BgAPAAYAAAANAAIABgAMAAYAAAAMAAIABgAMAAYAAAALAAIABgAMAAYAAAAKAAIABgAMAAYAAAAQAAMABgANAAcAAAAPAAMABgANAAcAAAAOAAMABgANAAcAAAANAAMABgAMAAcAAAAMAAMABgANAAcAAAALAAMABgANAAcAAAAKAAMABgANAAcAAAARAAEABgAMAAcAAAASAAEABgAMAAcAAAATAAEABgAMAAcAAAAUAAEABgAMAAcAAAAVAAEABgANAAcAAAAWAAMABgANAAcAAAAXAAMABgAMAAcAAAAYAAMABgAMAAcAAAAZAAUABgANAAcAAAAaAAUABgAMAAcAAAAbAAUABgAMAAcAAAAcAAkABgANAAcAAAAdAAkABgAMAAcAAAAbAAsABgAMAAcAAAAaAAsABgANAAcAAAAZAA0ABgANAAcAAAAYAA0ABgAMAAcAAAAgAA0ABgANAAcAAAAhAA0ABgANAAcAAAAfAAsABgAMAAcAAAAeAAsABgANAAcAAAAYABAABgANAAcAAAAZABAABgAMAAcAAAAaABAABgAMAAcAAAAbABAABgANAAcAAAAeABAABgANAAcAAAAfABAABgAMAAcAAAAgABAABgANAAcAAAAhABAABgANAAcAAAAjAA8ABgANAAcAAAAiAA8ABgAMAAcAAAAXAA8ABgAMAAcAAAAWAA8ABgANAAcAAAAcABIABgAMAAcAAAAdABMABgAMAAcAAAAeABMABgAMAAcAAAAfABMABgAMAAcAAAAgABMABgAMAAcAAAAlABQABgANAAcAAAAkABQABgAMAAcAAAAjABQABgAMAAcAAAAhABYABgANAAcAAAAgABYABgANAAcAAAAfABYABgANAAcAAAAeABYABgAMAAcAAAAdABYABgAMAAcAAAAcABYABgAMAAcAAAAbABYABgAMAAcAAAAaABYABgANAAcAAAAiABUABgAMAAcAAAAXABcABgANAAcAAAAWABcABgAMAAcAAAAVABcABgAMAAcAAAAUABcABgANAAcAAAATABQABgANAAcAAAAYABkABgAMAAcAAAAZABoABgAMAAcAAAAaABoABgAMAAcAAAAbABoABgANAAcAAAAcABoABgANAAcAAAAfABoABgANAAcAAAAgABoABgAMAAcAAAAhABoABgANAAcAAAAiABoABgANAAcAAAAjABoABgAMAAcAAAAkABoABgANAAcAAAAiAB8ABgAMAAcAAAAhAB8ABgANAAcAAAAgAB8ABgAMAAcAAAAfAB8ABgANAAcAAAAeAB8ABgAMAAcAAAAdAB8ABgANAAcAAAAcAB8ABgANAAcAAAAbAB8ABgAMAAcAAAAaAB8ABgANAAcAAAAZAB8ABgANAAcAAAAYAB8ABgANAAcAAAAYAB4ABgAMAAYAAAAZAB4ABgAMAAYAAAAaAB4ABgAMAAYAAAAbAB4ABgAMAAYAAAAcAB4ABgAMAAYAAAAfAB4ABgAMAAYAAAAgAB4ABgAMAAYAAAAhAB4ABgAMAAYAAAAiAB4ABgAMAAYAAAAkABkABgAMAAYAAAAjABkABgAMAAYAAAAiABkABgAMAAYAAAAhABkABgAMAAYAAAAgABkABgAMAAYAAAAfABkABgAMAAYAAAAeABkABgAMAAYAAAAdABkABgAMAAYAAAAcABkABgAMAAYAAAAbABkABgAMAAYAAAAaABkABgAMAAYAAAAXABYABgAMAAYAAAAWABYABgAMAAYAAAAYABQABgAMAAYAAAAZABQABgAMAAYAAAAaABQABgAMAAYAAAAbABUABgAMAAYAAAAfABUABgAMAAYAAAAgABUABgAMAAYAAAAiABIABgAMAAYAAAAhABIABgAMAAYAAAAgABIABgAMAAYAAAAfABIABgAMAAYAAAAeABIABgAMAAYAAAAjABMABgAMAAYAAAAkABMABgAMAAYAAAAlABMABgAMAAYAAAAhAA8ABgAMAAYAAAAgAA8ABgAMAAYAAAAYAA8ABgAMAAYAAAAZAA8ABgAMAAYAAAAaAA8ABgAMAAYAAAAbAA8ABgAMAAYAAAAcAA8ABgAMAAYAAAAdAA8ABgAMAAYAAAAeAA8ABgAMAAYAAAAfAA8ABgAMAAYAAAAcABAABgAPAAYAAAAcABEABgAPAAYAAAAdABEABgANAAYAAAAdABAABgAPAAYAAAAdABIABgAPAAYAAAAhABMABgAPAAYAAAAhABQABgAPAAYAAAAhABUABgANAAYAAAAiABQABgAOAAcAAAAiABMABgAPAAYAAAAaABUABgAPAAYAAAAZABUABgAPAAYAAAAYABUABgANAAYAAAAYABYABgAOAAYAAAAZABYABgAPAAYAAAAZABcABgAPAAYAAAAZABgABgAPAAYAAAAYABgABgAPAAYAAAAYABcABgAPAAYAAAAZABkABgAPAAYAAAAdABoABgAPAAYAAAAdABsABgAPAAYAAAAdABwABgAPAAYAAAAdAB0ABgAOAAcAAAAdAB4ABgAPAAYAAAAeAB4ABgAOAAYAAAAeAB0ABgAPAAYAAAAeABwABgAOAAYAAAAeABsABgAPAAYAAAAeABoABgAPAAYAAAAUABYABgAPAAYAAAAUABUABgAPAAYAAAAUABQABgAPAAYAAAAVABYABgAPAAYAAAAVABUABgAPAAYAAAAVABQABgAOAAcAAAAVABMABgAMAAYAAAAUABMABgAMAAYAAAATABMABgAMAAYAAAARAB8ABgANAAcAAAAQAB8ABgAPAAYAAAAPACAABgAMAAcAAAAOACAABgAMAAcAAAANACAABgANAAcAAAAMACAABgAMAAcAAAAJAB4ABgANAAcAAAAIAB4ABgAMAAcAAAAHAB4ABgANAAcAAAAGAB4ABgAMAAcAAAAFACAABgAMAAcAAAAEACAABgAMAAcAAAADACAABgANAAcAAAACACAABgANAAcAAAABACAABgAMAAcAAAAAACAABgAMAAcAAAD//yAABgANAAcAAAD+/yAABgANAAcAAAD9/yAABgAMAAcAAAD8/yAABgANAAcAAAD7/yAABgAMAAcAAAD7/x8ABgAMAAYAAAD8/x8ABgAMAAYAAAD9/x8ABgAMAAYAAAD+/x8ABgAMAAYAAAD//x8ABgAMAAYAAAAAAB8ABgAMAAYAAAABAB8ABgAMAAYAAAACAB8ABgAMAAYAAAADAB4ABgAMAAYAAAAEAB0ABgAMAAYAAAAFAB0ABgAMAAYAAAAGAB0ABgAMAAYAAAAHAB0ABgAMAAYAAAAIAB0ABgAMAAYAAAAJAB0ABgAMAAYAAAAKAB0ABgAMAAYAAAALAB0ABgAMAAYAAAAMAB8ABgAMAAYAAAANAB8ABgAMAAYAAAAOAB4ABgAMAAYAAAAPAB4ABgAMAAYAAAAQAB4ABgAMAAYAAAARAB4ABgAMAAYAAAASAB0ABgAMAAYAAAATAB0ABgAMAAYAAAAUAB0ABgAMAAYAAAAVAB0ABgAMAAYAAAAWAB0ABgAMAAYAAAAXAB0ABgAMAAYAAAAOAAIABgAPAAYAAAAPAAIABgAPAAYAAAAQAAIABgAOAAcAAAAQAAEABgANAAYAAAAPAAEABgAPAAYAAAAWAAIABgAPAAYAAAAXAAIABgAPAAYAAAAYAAIABgAPAAYAAAAZAAIABgAPAAYAAAAZAAMABgANAAYAAAAZAAQABgAPAAYAAAAaAAQABgAPAAYAAAAaAAMABgAPAAYAAAAaAAIABgAMAAYAAAAbAAQABgAMAAYAAAAcAAQABgAMAAYAAAAcAAUABgAPAAYAAAAcAAYABgAOAAYAAAAcAAcABgAPAAYAAAAcAAgABgAOAAYAAAAdAAgABgAPAAYAAAAdAAcABgAPAAYAAAAdAAYABgAOAAcAAAAdAAUABgAMAAYAAAAbAAoABgAPAAYAAAAaAAoABgAPAAYAAAAZAAoABgAPAAYAAAAbAAkABgAMAAYAAAAaAAkABgAMAAYAAAAZAAkABgAMAAYAAAAeAAkABgAMAAYAAAAeAAoABgAPAAYAAAAfAAoABgAPAAYAAAAgAAoABgAPAAYAAAAgAAkABgAMAAYAAAAfAAkABgAMAAYAAAAZAAEABgAMAAYAAAAYAAEABgAMAAYAAAAXAAAABgAMAAYAAAAWAAAABgAMAAYAAAAVAAAABgAMAAYAAAAUAAAABgAMAAYAAAATAAAABgAMAAYAAAASAAAABgAMAAYAAAARAAAABgAMAAYAAAAQAAAABgAMAAYAAAAPAAAABgAMAAYAAAAOAAEABgAMAAYAAAAYAAsABgAMAAYAAAAWAAwABgAMAAYAAAAXAAwABgAMAAYAAAAjAAwABgAMAAYAAAAiAAwABgAMAAYAAAAhAAsABgAMAAYAAAAgAAsABgAPAAYAAAAgAAwABgAOAAYAAAAiAA0ABgAPAAYAAAAiAA4ABgAPAAYAAAAjAA4ABgAPAAYAAAAjAA0ABgAPAAYAAAAXAA4ABgAOAAcAAAAXAA0ABgAOAAYAAAAWAA0ABgAPAAYAAAAWAA4ABgAOAAYAAAAYAAwABgAPAAYAAAAZAAwABgAPAAYAAAAZAAsABgAPAAYAAAAKAB4ABgAPAAYAAAAKAB8ABgAPAAYAAAAKACAABgAPAAYAAAAKACEABgAPAAYAAAAKACIABgAOAAcAAAAKACMABgAOAAYAAAALACMABgAPAAYAAAALACIABgAPAAYAAAALACEABgAPAAYAAAALACAABgAPAAYAAAALAB8ABgAOAAYAAAALAB4ABgAPAAYAAAAOAB8ABgAPAAYAAAAPAB8ABgAPAAYAAAASAB4ABgAPAAYAAAATAB4ABgAPAAYAAAAUAB4ABgAOAAcAAAAVAB4ABgAPAAYAAAAWAB4ABgANAAYAAAAXAB4ABgAPAAYAAAAXAB8ABgAPAAYAAAAWAB8ABgAPAAYAAAAVAB8ABgAOAAYAAAAUAB8ABgAOAAYAAAATAB8ABgAOAAYAAAASAB8ABgAOAAcAAAASACAABgAPAAYAAAATACAABgAPAAYAAAAUACAABgAOAAYAAAAVACAABgAPAAYAAAAWACAABgAOAAYAAAAXACAABgAPAAYAAAAXACEABgAPAAYAAAAWACEABgAPAAYAAAAVACEABgAPAAYAAAAUACEABgAPAAYAAAATACEABgAPAAYAAAASACEABgAPAAYAAAAFAB8ABgAPAAYAAAAEAB8ABgAPAAYAAAAEAB4ABgAPAAYAAAAFAB4ABgANAAYAAAADAB8ABgAPAAYAAAAXAAEABgAPAAYAAAAWAAEABgAPAAYAAADu/yMABgAMAAcAAADv/yMABgAMAAcAAADw/yMABgAMAAcAAADx/yMABgANAAcAAADy/yMABgANAAcAAADz/yMABgAMAAcAAAD0/yMABgAMAAcAAAD1/yMABgANAAcAAAD2/yMABgAMAAcAAAD3/yMABgAMAAcAAAD4/yIABgANAAcAAAD5/yAABgAMAAcAAAD6/yAABgANAAcAAAD2/x8ABgANAAcAAAD1/x8ABgAMAAcAAAD0/x8ABgANAAcAAADz/x8ABgANAAcAAADy/x0ABgAMAAcAAADx/x0ABgAMAAcAAADw/x0ABgAMAAcAAADv/x0ABgANAAcAAADt/yIABgANAAcAAADs/yAABgAMAAcAAADr/yAABgANAAcAAADq/yAABgAMAAcAAADp/yAABgANAAcAAADo/yEABgANAAcAAADn/yMABgAMAAcAAADm/yMABgAMAAcAAADl/yMABgANAAcAAADk/yMABgANAAcAAADj/yMABgAMAAcAAADi/yMABgAMAAcAAADh/yMABgAMAAcAAADg/yIABgAMAAcAAADf/yEABgAMAAcAAADe/yEABgANAAcAAADe/x4ABgAMAAYAAADf/x4ABgAMAAYAAADg/x4ABgAMAAYAAADh/x4ABgAMAAYAAADi/x4ABgAMAAYAAADj/x4ABgAMAAYAAADk/yEABgAMAAYAAADl/x4ABgAMAAYAAADm/x4ABgAMAAYAAADn/x4ABgAMAAYAAADo/x4ABgAMAAYAAADp/x8ABgAMAAYAAADq/x8ABgAMAAYAAADr/x8ABgAMAAYAAADs/x4ABgAMAAYAAADt/xsABgAMAAYAAADu/xsABgAMAAYAAADv/xsABgAMAAYAAADw/xwABgAMAAYAAADx/xwABgAMAAYAAADy/xwABgAMAAYAAADz/xsABgAMAAYAAAD0/xsABgAMAAYAAAD1/xsABgAMAAYAAAD2/xsABgAMAAYAAAD3/xsABgAMAAYAAAD4/xsABgAMAAYAAAD5/xsABgAMAAYAAAD6/xsABgAMAAYAAADz/xwABgAPAAYAAAD0/xwABgANAAYAAAD1/xwABgAPAAYAAAD2/xwABgANAAYAAAD3/xwABgAOAAcAAAD4/xwABgAPAAYAAAD5/xwABgAPAAYAAAD6/xwABgAPAAYAAAD6/x0ABgAPAAYAAAD5/x0ABgAPAAYAAAD4/x0ABgANAAYAAAD3/x0ABgAOAAYAAAD2/x0ABgAPAAYAAAD1/x0ABgAPAAYAAAD0/x0ABgAPAAYAAADz/x0ABgAPAAYAAADz/x4ABgANAAYAAAD0/x4ABgAPAAYAAAD1/x4ABgAPAAYAAAD2/x4ABgAPAAYAAAD3/x4ABgAPAAYAAAD4/x4ABgAPAAYAAAD5/x4ABgAPAAYAAAD6/x4ABgAPAAYAAAD6/x8ABgAPAAYAAAD5/x8ABgAPAAYAAAD4/x8ABgAPAAYAAAD3/x8ABgAOAAYAAAD4/yAABgAPAAYAAAD4/yEABgAOAAcAAAD3/yEABgAPAAYAAAD3/yAABgAPAAYAAAD2/yEABgAMAAYAAAD2/yIABgAPAAYAAAD3/yIABgAPAAYAAAD1/yIABgAMAAYAAAD0/yIABgAMAAYAAADz/yIABgAMAAYAAADy/yIABgAMAAYAAADx/yIABgAPAAYAAADw/yIABgAOAAcAAADv/yIABgAPAAYAAADu/yIABgAPAAYAAADx/yEABgAMAAYAAADw/yEABgAPAAYAAADv/yEABgAPAAYAAADu/yEABgAPAAYAAADt/yEABgAPAAYAAADw/yAABgAMAAYAAADv/yAABgAMAAYAAADu/yAABgAOAAYAAADt/yAABgAPAAYAAADu/x8ABgAPAAYAAADu/x4ABgAPAAYAAADu/x0ABgAPAAYAAADu/xwABgAPAAYAAADt/xwABgANAAYAAADt/x0ABgAPAAYAAADt/x4ABgAOAAcAAADt/x8ABgAPAAYAAADv/xwABgAOAAcAAADs/x8ABgAPAAYAAADo/x8ABgAPAAYAAADn/x8ABgAPAAYAAADm/x8ABgAPAAYAAADl/x8ABgANAAYAAADl/yAABgAPAAYAAADm/yAABgAPAAYAAADn/yAABgAOAAcAAADo/yAABgAPAAYAAADn/yEABgAOAAYAAADm/yEABgAPAAYAAADl/yEABgAOAAcAAADn/yIABgAPAAYAAADm/yIABgAPAAYAAADl/yIABgAPAAYAAADk/yIABgAPAAYAAADj/yIABgAPAAYAAADi/yIABgAPAAYAAADh/yIABgAOAAYAAADh/yEABgAPAAYAAADh/yAABgAPAAYAAADh/x8ABgAPAAYAAADg/x8ABgAPAAYAAADg/yAABgAPAAYAAADg/yEABgAOAAYAAADf/yAABgAPAAYAAADf/x8ABgAPAAYAAADe/x8ABgAPAAYAAADe/yAABgAPAAYAAADi/x8ABgAPAAYAAADi/yAABgAOAAYAAADi/yEABgAPAAYAAADj/yEABgAPAAYAAADj/yAABgAPAAYAAADj/x8ABgAPAAYAAAA=") +tile_set = ExtResource("1_2dn5a") +collision_enabled = false + +[node name="WallTileMapLayer" type="TileMapLayer" parent="."] +tile_map_data = PackedByteArray("AAACAAEABgANAAQAACADAAEABgAMAAQAADAGAAEABgAMAAQAACAHAAEABgANAAQAACAIAAEABgANAAQAACAJAAEABgANAAQAACAAAAEABgANAAQAACAAAAQABgANAAQAAAABAAEABgANAAQAACABAAQABgANAAQAAAACAAQABgANAAQAAAADAAAABgANAAQAAFADAAQABgANAAQAAAAEAAQABgANAAQAAAAFAAQABgANAAQAAAAGAAAABgANAAQAAGAGAAQABgANAAQAAAAHAAQABgANAAQAAAAIAAQABgANAAQAAAAJAAQABgANAAQAAAD//wQABgANAAQAAAD+/wQABgANAAQAAAD9/wQABgANAAQAAAD8/wQABgANAAQAAAD7/wQABgANAAQAAAD6/wQABgANAAQAAAD5/wQABgANAAQAAAD4/wQABgANAAQAAAD//wEABgANAAQAACD+/wEABgANAAQAACD9/wEABgANAAQAACD8/wEABgANAAQAACD7/wEABgANAAQAACD6/wEABgANAAQAACD5/wEABgANAAQAACD4/wEABgANAAQAACD3/wMABgANAAQAAFD3/wIABgANAAQAAFD3/wQABgAOAAgAAGD3/wEABgAOAAgAAAAKAAQABgANAAQAAAALAAQABgANAAQAAAAMAAQABgANAAQAAAANAAQABgANAAQAAAAOAAQABgANAAQAAAAPAAQABgANAAQAAAAQAAQABgANAAQAAAAKAAEABgANAAQAACALAAEABgANAAQAACAMAAEABgANAAQAACANAAEABgAMAAQAADARAAIABgAMAAQAAAARAAMABgANAAQAAGAOAAAABgAMAAQAADAPAP//BgANAAQAACAQAP//BgANAAQAACARAP//BgANAAQAACASAP//BgANAAQAACATAP//BgANAAQAACAUAP//BgANAAQAACASAAIABgANAAQAAAATAAIABgANAAQAAAAUAAIABgANAAQAAAAVAAIABgAMAAQAABARAAQABgAOAAgAADAYAAAABgAMAAQAACAaAAEABgAMAAQAACAbAAMABgAMAAQAACAYAAQABgAMAAQAABAXAAQABgANAAQAAAAWAAQABgANAAQAAAAZAAAABgANAAQAACAXAP//BgANAAQAACAWAP//BgANAAQAACAVAP//BgANAAQAACAbAAYABgAMAAQAABAaAAYABgANAAQAAAAZAAYABgANAAQAAAAdAAQABgAMAAQAACAYAAUABgANAAQAAFAVAAMABgANAAQAAFAbAAIABgANAAQAAGAeAAUABgANAAQAAGAeAAYABgANAAQAAGAeAAcABgANAAQAAGAbAAcABgANAAQAAFAcAAMABgANAAQAACAbAAEABgAOAAgAABAaAAAABgAOAAgAABAYAP//BgAOAAgAABAeAAQABgAOAAgAABAdAAMABgAOAAgAABAYAAYABgAOAAgAACAVAAQABgAOAAgAACANAAAABgAOAAgAAAAOAP//BgAOAAgAAAAVAA0ABgANAAQAAFAVAA4ABgANAAQAAFAVAA8ABgANAAQAAFAXAAsABgAMAAQAADAYAAkABgANAAQAAFAYAAoABgAMAAQAADAaAA0ABgANAAQAAGAaAA4ABgANAAQAADAcAAsABgANAAQAAGAcAAwABgAOAAgAADAdAAsABgANAAQAAFAdAAwABgAOAAgAACAfAA0ABgANAAQAAFAfAA4ABgANAAQAADAhAAkABgANAAQAAGAhAAoABgAMAAQAACAiAAsABgAMAAQAACAkAA0ABgANAAQAAGAkAA4ABgANAAQAAGAkAA8ABgANAAQAAGAVAAwABgANAAQAAFAXAAoABgAOAAgAAAAYAAgABgAOAAgAAAAYAA4ABgAOAAQAAAAZAAgABgANAAQAACAZAA4ABgAPAAQAAAAaAAgABgANAAQAACAaAAwABgAMAAQAAAAbAAgABgAMAAQAADAbAAwABgANAAQAAAAcAAoABgAMAAQAAAAdAAoABgAMAAQAABAeAAgABgAMAAQAACAeAAwABgANAAQAAAAfAAgABgANAAQAACAfAAwABgAMAAQAABAgAAgABgANAAQAACAgAA4ABgAPAAQAAAAhAAgABgAOAAgAAFAhAA4ABgAOAAQAADAiAAoABgAOAAgAAFAkAAwABgANAAQAAGAWAAsABgANAAQAACAjAAsABgANAAQAACAkAAsABgAOAAgAAFAVAAsABgAOAAgAAAAWABAABgANAAQAAAAXABAABgAMAAQAAFAjABAABgANAAQAAAAiABAABgAMAAQAAAAhABEABgAPAAQAAAAgABEABgAPAAQAAAAfABEABgAPAAQAAAAeABEABgAOAAQAAAAbABEABgAMAAQAAFAaABEABgANAAQAAAAZABEABgANAAQAAAAYABEABgANAAQAAAAXABEABgAOAAgAAGAiABEABgANAAQAADAbABIABgANAAQAAFAcABMABgAMAAQAAFAdABQABgANAAQAAAAeABQABgANAAQAAAAfABQABgAPAAQAAAAgABQABgAOAAQAADAcABQABgAPAAgAAAAbABMABgAPAAgAAAAeABUABgAMAAQAADAcABUABgAMAAQAAGAdABUABgANAAQAACAbABQABgAMAAQAAGAaABMABgANAAQAACAZABMABgANAAQAACAYABMABgANAAQAACAbABcABgANAAQAAAAcABcABgANAAQAAAAdABcABgANAAQAAAAeABcABgANAAQAAAAfABcABgANAAQAAAAgABcABgANAAQAAAAhABcABgANAAQAAAAaABcABgAMAAQAAAAaABgABgAMAAQAAGAbABgABgANAAQAACAcABgABgANAAQAACAdABgABgANAAQAACAeABgABgANAAQAACAfABgABgANAAQAACAgABgABgANAAQAACAhABgABgANAAQAACAiABYABgAMAAQAAAAjABUABgAMAAQAAAAjABIABgAMAAQAAGAkABIABgANAAQAACAlABIABgANAAQAACAkABUABgANAAQAAAAlABUABgANAAQAAAAjABYABgAOAAgAADAiABcABgAOAAgAADAXABMABgAOAAgAAAAXABQABgANAAQAAFAXABUABgAMAAQAADAWABQABgANAAQAAGAWABMABgANAAQAAGAWABUABgAMAAQAAGAVABIABgANAAQAACAUABIABgANAAQAACATABIABgANAAQAACAWABIABgAOAAgAAFATABUABgAMAAQAAFATABYABgANAAQAAFATABcABgANAAQAAFAUABgABgANAAQAAAAVABgABgANAAQAAAAWABgABgANAAQAAAAXABgABgAMAAQAAFAXABkABgANAAQAAFAYABoABgAMAAQAAFAZABsABgANAAQAAAAaABsABgANAAQAAAAbABsABgANAAQAAAAcABsABgAMAAQAAFAfABsABgAMAAQAAAAcABwABgANAAQAAFAfABwABgANAAQAAGAgABsABgANAAQAAAAhABsABgANAAQAAAAiABsABgANAAQAAAAjABsABgANAAQAAAAkABsABgANAAQAAAAlABoABgANAAQAAGAlABkABgANAAQAAGAkABgABgANAAQAACAjABgABgANAAQAACAiABgABgANAAQAACAlABgABgAOAAgAAFAlABsABgAOAAgAADAYABsABgAOAAgAAGAXABoABgAOAAgAAGATABgABgAOAAgAAGAcAB0ABgAMAAQAADAfAB0ABgAMAAQAAGAbAB0ABgANAAQAACAaAB0ABgANAAQAACAZAB0ABgANAAQAACAZACAABgANAAQAAAAaACAABgANAAQAAAAbACAABgANAAQAAAAcACAABgANAAQAAAAdACAABgANAAQAAAAeACAABgANAAQAAAAfACAABgANAAQAAAAgACAABgANAAQAAAAhACAABgANAAQAAAAiACAABgANAAQAAAAgAB0ABgANAAQAACAhAB0ABgANAAQAACAiAB0ABgANAAQAACAYACAABgAMAAQAAAAYAB0ABgAMAAQAACARACAABgAMAAQAABARAB0ABgAMAAQAAHASABwABgANAAQAACATABwABgANAAQAACAUABwABgANAAQAACAVABwABgANAAQAACAWABwABgANAAQAACAXABwABgANAAQAACASACIABgANAAQAAAATACIABgANAAQAAAAUACIABgANAAQAAAAVACIABgANAAQAAAAWACIABgANAAQAAAAXACIABgANAAQAAAAYACEABgANAAQAAGARACEABgANAAQAAFAYACIABgAOAAgAADARACIABgAOAAgAAGARABwABgAOAAgAAAAYABwABgAOAAgAAFAQACAABgAMAAQAAAAMACEABgAMAAQAAAANACEABgANAAQAAAAOACEABgANAAQAAAAPACEABgANAAQAAAAQACEABgAOAAgAADAQAB0ABgANAAQAACAPAB0ABgANAAQAACAOAB0ABgANAAQAACANAB4ABgAMAAQAADAMAB4ABgAMAAQAAGAMAB0ABgANAAQAAGANAB0ABgAOAAgAAAAMACIABgANAAQAAGAMACMABgANAAQAAGAJACMABgANAAQAAFAJACIABgANAAQAAFAJACEABgANAAQAAFAJACAABgANAAQAAFAJAB8ABgAMAAQAAFAGAB8ABgAMAAQAAAAHAB8ABgANAAQAAAAIAB8ABgANAAQAAAAGABwABgANAAQAACAHABwABgANAAQAACAIABwABgANAAQAACAJABwABgANAAQAACAKABwABgANAAQAACALABwABgANAAQAACAFABwABgANAAQAACAEABwABgANAAQAACAFACEABgANAAQAAAAEACEABgANAAQAAAADACEABgANAAQAAAACACEABgANAAQAAAABACEABgANAAQAAAAAACEABgANAAQAAAD//yEABgANAAQAAAD+/yEABgANAAQAAAD9/yEABgANAAQAAAD8/yEABgANAAQAAAD7/yEABgANAAQAAAD7/x4ABgAMAAQAAGD8/x4ABgANAAQAACD9/x4ABgANAAQAACD+/x4ABgANAAQAACD//x4ABgANAAQAACAAAB4ABgANAAQAACABAB4ABgANAAQAACADAB0ABgAMAAQAADACAB4ABgAMAAQAADACAB0ABgAOAAgAAAADABwABgAOAAgAAAAMABwABgAOAAgAAFAGACEABgAOAAgAADAGACAABgANAAQAAGADAP//BgANAAQAAFAGAP//BgANAAQAAGD6/yEABgANAAQAAAD5/yEABgAMAAQAAAD7/x0ABgANAAQAAGD7/xwABgANAAQAAGD7/xsABgANAAQAAGD6/xoABgANAAQAACD5/xoABgANAAQAACD4/xoABgANAAQAACD3/xoABgANAAQAACD2/xoABgANAAQAACD1/xoABgANAAQAACD0/xoABgANAAQAACDz/xoABgANAAQAACD5/yIABgANAAQAAGD4/yMABgAMAAQAAAD3/yQABgANAAQAAAD2/yQABgANAAQAAAD1/yQABgANAAQAAAD0/yQABgANAAQAAADz/yQABgANAAQAAADy/yQABgANAAQAAADx/yQABgANAAQAAADw/yQABgANAAQAAADv/yQABgANAAQAAADu/yQABgANAAQAAAD4/yQABgAOAAgAADD5/yMABgAOAAgAADD2/yAABgAOAAQAADD1/yEABgAMAAQAADD1/yAABgANAAQAAAD0/yAABgANAAQAAADz/yAABgANAAQAAADy/x8ABgANAAQAAFDy/x4ABgAMAAQAAFDv/x4ABgAMAAQAAADv/x8ABgAMAAQAAGDx/yAABgAMAAQAAGDy/yEABgAMAAQAAGDz/yEABgANAAQAACD0/yEABgANAAQAACDw/x8ABgANAAQAACDw/x4ABgANAAQAAADx/x4ABgANAAQAAADy/yAABgAPAAgAAADx/x8ABgAOAAgAAFD7/xoABgAOAAgAAFAVABAABgAOAAgAAGDt/yMABgAMAAQAAFDs/yEABgAMAAQAAFDp/yEABgAMAAQAAADo/yIABgAMAAQAAADp/x4ABgAMAAQAAGDr/x4ABgAMAAQAADDs/x0ABgAMAAQAADDw/xsABgAMAAQAAGDy/xsABgAMAAQAADDx/xsABgANAAQAACDv/xoABgANAAQAACDu/xoABgANAAQAACDt/xoABgANAAQAACDs/xsABgANAAQAAFDs/xwABgANAAQAAFDs/yIABgANAAQAAFDo/yMABgANAAQAAGDq/yEABgANAAQAAADr/yEABgANAAQAAADq/x4ABgANAAQAACDo/x0ABgANAAQAACDn/x0ABgANAAQAACDm/x0ABgANAAQAACDl/x0ABgANAAQAACDn/yQABgANAAQAAADm/yQABgANAAQAAADl/yQABgANAAQAAADk/yQABgANAAQAAADj/yQABgANAAQAAADi/yQABgANAAQAAADh/yQABgANAAQAAADg/yMABgAMAAQAAFDf/yIABgAMAAQAAFDe/yIABgANAAQAAADg/yQABgAOAAgAAGDf/yMABgAOAAgAAGDp/x0ABgAOAAgAAFDp/yIABgAOAAgAADDo/yQABgAOAAgAADDs/yMABgAOAAgAAGDt/yQABgAOAAgAAGDr/x0ABgAOAAgAAADs/xoABgAOAAgAAADk/yAABgAOAAQAAGDk/x8ABgAMAAUAAADj/x0ABgANAAQAACDi/x0ABgANAAQAACDh/x0ABgANAAQAACDg/x0ABgANAAQAACDf/x0ABgANAAQAACDe/x0ABgANAAQAACDd/x4ABgANAAQAAFDd/x8ABgANAAQAAFDd/yAABgANAAQAAFDd/yEABgANAAQAAFDd/yIABgAOAAgAAGDd/x0ABgAOAAgAAADk/x4ABgAMAAUAAADk/x0ABgAOAAoAAAAbAA4ABgANAAQAADAcAA4ABgANAAQAADAdAA4ABgANAAQAADAeAA4ABgANAAQAADAjABEABgAOAAgAAFAkABAABgAOAAgAADA=") +tile_set = ExtResource("1_2dn5a") + +[node name="PlayerCamera2D" type="Camera2D" parent="."] +limit_left = -288 +limit_top = -32 +limit_right = 1216 +limit_bottom = 1152 +script = ExtResource("2_yponf") +metadata/_custom_type_script = "uid://dtdbkfoaaejw0" + +[node name="DoorLabs" type="Area2D" parent="."] +position = Vector2(160, 10) +script = ExtResource("3_y0efj") +TargetRoomPath = "uid://dg3jjeldcoi0k" +TargetDoor = "DoorCaves" +PreserveX = true +PreserveVelocity = true +metadata/_custom_type_script = "uid://c027jkwb3uac4" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="DoorLabs"] +position = Vector2(0, -5) +shape = SubResource("RectangleShape2D_j34b7") + +[node name="PlayerSpawn" type="Marker2D" parent="."] +position = Vector2(160, 128) + +[node name="Zone1" type="Area2D" parent="." node_paths=PackedStringArray("camera")] +visible = false +script = SubResource("GDScript_j34b7") +auto_limit = true +camera = NodePath("../PlayerCamera2D") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Zone1"] +position = Vector2(32, 120) +shape = SubResource("RectangleShape2D_8al1q") + +[node name="Zone2" type="Area2D" parent="." node_paths=PackedStringArray("camera")] +visible = false +script = SubResource("GDScript_j34b7") +auto_limit = true +camera = NodePath("../PlayerCamera2D") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Zone2"] +position = Vector2(752, 104) +shape = SubResource("RectangleShape2D_wcxe8") + +[node name="Zone3" type="Area2D" parent="." node_paths=PackedStringArray("camera")] +visible = false +script = SubResource("GDScript_j34b7") +auto_limit = true +camera = NodePath("../PlayerCamera2D") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Zone3"] +position = Vector2(912, 568) +shape = SubResource("RectangleShape2D_0gf5r") + +[node name="Zone4" type="Area2D" parent="." node_paths=PackedStringArray("camera")] +visible = false +script = SubResource("GDScript_j34b7") +auto_limit = true +camera = NodePath("../PlayerCamera2D") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Zone4"] +position = Vector2(960, 1016) +shape = SubResource("RectangleShape2D_bf2p6") + +[node name="Zone5" type="Area2D" parent="." node_paths=PackedStringArray("camera")] +visible = false +script = SubResource("GDScript_j34b7") +auto_limit = true +camera = NodePath("../PlayerCamera2D") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Zone5"] +position = Vector2(336, 1016) +shape = SubResource("RectangleShape2D_nkurl") + +[node name="Zone6" type="Area2D" parent="." node_paths=PackedStringArray("camera")] +visible = false +script = SubResource("GDScript_j34b7") +auto_limit = true +camera = NodePath("../PlayerCamera2D") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Zone6"] +position = Vector2(-624, 1008) +shape = SubResource("RectangleShape2D_0fyj3") + +[node name="Zombie" parent="." instance=ExtResource("5_8al1q")] +position = Vector2(480, 128) + +[node name="Zombie2" parent="." instance=ExtResource("5_8al1q")] +position = Vector2(672, 64) + +[connection signal="body_entered" from="DoorLabs" to="DoorLabs" method="_on_body_entered"] +[connection signal="body_exited" from="DoorLabs" to="DoorLabs" method="_on_body_exited"] +[connection signal="body_entered" from="Zone1" to="Zone1" method="_on_body_entered"] +[connection signal="body_entered" from="Zone2" to="Zone2" method="_on_body_entered"] +[connection signal="body_entered" from="Zone3" to="Zone3" method="_on_body_entered"] +[connection signal="body_entered" from="Zone4" to="Zone4" method="_on_body_entered"] +[connection signal="body_entered" from="Zone5" to="Zone5" method="_on_body_entered"] +[connection signal="body_entered" from="Zone6" to="Zone6" method="_on_body_entered"] diff --git a/rooms/labs.gd b/rooms/labs.gd new file mode 100755 index 0000000..8046675 --- /dev/null +++ b/rooms/labs.gd @@ -0,0 +1,13 @@ +extends Node2D + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + global.set_music(load("res://music/area_1.ogg")) + if global.player && global.player_target: + global.player.position = global.offset + get_node(global.player_target).position + await global.fade_in() + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(_delta: float) -> void: + pass diff --git a/rooms/labs.gd.uid b/rooms/labs.gd.uid new file mode 100755 index 0000000..c51ea53 --- /dev/null +++ b/rooms/labs.gd.uid @@ -0,0 +1 @@ +uid://sgn85l66sax diff --git a/rooms/labs.tscn b/rooms/labs.tscn new file mode 100755 index 0000000..8014c9d --- /dev/null +++ b/rooms/labs.tscn @@ -0,0 +1,446 @@ +[gd_scene load_steps=51 format=3 uid="uid://dg3jjeldcoi0k"] + +[ext_resource type="Script" uid="uid://sgn85l66sax" path="res://rooms/labs.gd" id="1_iavkr"] +[ext_resource type="Texture2D" uid="uid://cuk2cxty66cah" path="res://sprites/lab/map_screen.png" id="2_eoaps"] +[ext_resource type="Texture2D" uid="uid://4js1bkdv4ind" path="res://backgrounds/lab-background.png" id="2_f46rw"] +[ext_resource type="Texture2D" uid="uid://bi5xvp1dfm0d7" path="res://sprites/lab/map_blip.png" id="3_in351"] +[ext_resource type="Texture2D" uid="uid://dyg5mvl45r1vy" path="res://sprites/lab/emptypod.png" id="5_bqlgj"] +[ext_resource type="Texture2D" uid="uid://ffk8oj1bo227" path="res://sprites/player/ pod_1_strip8.png" id="6_fbufv"] +[ext_resource type="Texture2D" uid="uid://chtee26rjbrcp" path="res://sprites/player/pod_2_strip17.png" id="7_fohy5"] +[ext_resource type="Texture2D" uid="uid://bluwleimw435s" path="res://backgrounds/lab-foreground.png" id="8_wsopf"] +[ext_resource type="Script" uid="uid://dtdbkfoaaejw0" path="res://objects/player_camera_2d.gd" id="9_2rv37"] +[ext_resource type="Script" uid="uid://c027jkwb3uac4" path="res://objects/door_zone.gd" id="9_wsopf"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_xjmo1"] +atlas = ExtResource("2_eoaps") +region = Rect2(0, 0, 140, 123) + +[sub_resource type="AtlasTexture" id="AtlasTexture_51cmo"] +atlas = ExtResource("2_eoaps") +region = Rect2(140, 0, 140, 123) + +[sub_resource type="SpriteFrames" id="SpriteFrames_pxlcb"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_xjmo1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_51cmo") +}], +"loop": true, +"name": &"default", +"speed": 1.0 +}] + +[sub_resource type="AtlasTexture" id="AtlasTexture_faxci"] +atlas = ExtResource("3_in351") +region = Rect2(0, 0, 6, 6) + +[sub_resource type="AtlasTexture" id="AtlasTexture_628yu"] +atlas = ExtResource("3_in351") +region = Rect2(6, 0, 6, 6) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wl3ii"] +atlas = ExtResource("3_in351") +region = Rect2(12, 0, 6, 6) + +[sub_resource type="AtlasTexture" id="AtlasTexture_u8gks"] +atlas = ExtResource("3_in351") +region = Rect2(18, 0, 6, 6) + +[sub_resource type="AtlasTexture" id="AtlasTexture_u081k"] +atlas = ExtResource("3_in351") +region = Rect2(24, 0, 6, 6) + +[sub_resource type="AtlasTexture" id="AtlasTexture_rst00"] +atlas = ExtResource("3_in351") +region = Rect2(30, 0, 6, 6) + +[sub_resource type="SpriteFrames" id="SpriteFrames_m3ku0"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_faxci") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_628yu") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wl3ii") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_u8gks") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_u081k") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_rst00") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] + +[sub_resource type="AtlasTexture" id="AtlasTexture_3k7vi"] +atlas = ExtResource("6_fbufv") +region = Rect2(0, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8ha45"] +atlas = ExtResource("6_fbufv") +region = Rect2(47, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q3c3o"] +atlas = ExtResource("6_fbufv") +region = Rect2(94, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_28owg"] +atlas = ExtResource("6_fbufv") +region = Rect2(141, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_bcdm1"] +atlas = ExtResource("6_fbufv") +region = Rect2(188, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_l0bue"] +atlas = ExtResource("6_fbufv") +region = Rect2(235, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_70cxa"] +atlas = ExtResource("6_fbufv") +region = Rect2(282, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_06e2c"] +atlas = ExtResource("6_fbufv") +region = Rect2(329, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_pe6ie"] +atlas = ExtResource("7_fohy5") +region = Rect2(0, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_t2qkp"] +atlas = ExtResource("7_fohy5") +region = Rect2(47, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lmgna"] +atlas = ExtResource("7_fohy5") +region = Rect2(94, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_y3n6i"] +atlas = ExtResource("7_fohy5") +region = Rect2(141, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uklon"] +atlas = ExtResource("7_fohy5") +region = Rect2(188, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_y8xpd"] +atlas = ExtResource("7_fohy5") +region = Rect2(235, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1pqg6"] +atlas = ExtResource("7_fohy5") +region = Rect2(282, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4riov"] +atlas = ExtResource("7_fohy5") +region = Rect2(329, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_7ah1s"] +atlas = ExtResource("7_fohy5") +region = Rect2(376, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_pngi5"] +atlas = ExtResource("7_fohy5") +region = Rect2(423, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_utexj"] +atlas = ExtResource("7_fohy5") +region = Rect2(470, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_lea3s"] +atlas = ExtResource("7_fohy5") +region = Rect2(517, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_s1mgi"] +atlas = ExtResource("7_fohy5") +region = Rect2(564, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_dpm1s"] +atlas = ExtResource("7_fohy5") +region = Rect2(611, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_i0dht"] +atlas = ExtResource("7_fohy5") +region = Rect2(658, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_u8kyf"] +atlas = ExtResource("7_fohy5") +region = Rect2(705, 0, 47, 38) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uobmh"] +atlas = ExtResource("7_fohy5") +region = Rect2(752, 0, 47, 38) + +[sub_resource type="SpriteFrames" id="SpriteFrames_c8d2d"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_3k7vi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8ha45") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q3c3o") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_28owg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_bcdm1") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_l0bue") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_70cxa") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_06e2c") +}], +"loop": false, +"name": &"default", +"speed": 24.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_pe6ie") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_t2qkp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lmgna") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_y3n6i") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uklon") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_y8xpd") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1pqg6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4riov") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_7ah1s") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_pngi5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_utexj") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lea3s") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_s1mgi") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_dpm1s") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_i0dht") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_u8kyf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uobmh") +}], +"loop": false, +"name": &"leave", +"speed": 6.0 +}] + +[sub_resource type="GDScript" id="GDScript_ciu2s"] +script/source = "extends AnimatedSprite2D + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + if global.save.room == \"labs\": + await get_tree().create_timer(5).timeout + play(\"default\") + else: + self.hide() + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(_delta: float) -> void: + pass + + +func _on_animation_finished() -> void: + if animation == \"default\": + play(\"leave\") + elif animation == \"leave\": + self.hide() + global.player = load(\"res://objects/player.tscn\").instantiate() + global.player.position = $\"../PlayerPodSpawn\".position + get_tree().root.add_child(global.player) +" + +[sub_resource type="Gradient" id="Gradient_fxqk7"] +offsets = PackedFloat32Array(0, 0.83219177) +colors = PackedColorArray(0.8732977, 0.8732989, 0.87329775, 1, 0, 0, 0, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_fm2l1"] +gradient = SubResource("Gradient_fxqk7") +fill = 1 +fill_from = Vector2(0.5, 0.5) + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_wsopf"] +size = Vector2(64, 9) + +[node name="Labs" type="Node2D"] +script = ExtResource("1_iavkr") + +[node name="StaticBody2D" type="StaticBody2D" parent="."] +z_index = 50 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="StaticBody2D"] +polygon = PackedVector2Array(6, 0, 6, 182, 99, 182, 101, 184, 115, 184, 119, 188, 448, 188, 448, 240, 0, 240, 0, 0) + +[node name="CollisionPolygon2D2" type="CollisionPolygon2D" parent="StaticBody2D"] +polygon = PackedVector2Array(512, 188, 512, 240, 640, 240, 640, 0, 635, 0, 635, 188) + +[node name="CollisionPolygon2D3" type="CollisionPolygon2D" parent="StaticBody2D"] +polygon = PackedVector2Array(315, 119, 325, 119, 325, 0, 315, 0) + +[node name="TextureBackground" type="TextureRect" parent="."] +offset_right = 640.0 +offset_bottom = 240.0 +texture = ExtResource("2_f46rw") + +[node name="MapScreen" type="AnimatedSprite2D" parent="."] +position = Vector2(90, 12) +sprite_frames = SubResource("SpriteFrames_pxlcb") +autoplay = "default" +centered = false + +[node name="MapBlip1" type="AnimatedSprite2D" parent="MapScreen"] +position = Vector2(21, 50) +sprite_frames = SubResource("SpriteFrames_m3ku0") +autoplay = "default" +frame = 1 + +[node name="MapBlip2" type="AnimatedSprite2D" parent="MapScreen"] +position = Vector2(45, 74) +sprite_frames = SubResource("SpriteFrames_m3ku0") +autoplay = "default" +frame = 1 + +[node name="MapBlip3" type="AnimatedSprite2D" parent="MapScreen"] +position = Vector2(68, 47) +sprite_frames = SubResource("SpriteFrames_m3ku0") +autoplay = "default" +frame = 3 + +[node name="MapBlip4" type="AnimatedSprite2D" parent="MapScreen"] +position = Vector2(69, 58) +sprite_frames = SubResource("SpriteFrames_m3ku0") +autoplay = "default" +frame = 2 + +[node name="MapBlip5" type="AnimatedSprite2D" parent="MapScreen"] +position = Vector2(90, 40) +sprite_frames = SubResource("SpriteFrames_m3ku0") +autoplay = "default" +frame = 2 + +[node name="MapBlip6" type="AnimatedSprite2D" parent="MapScreen"] +position = Vector2(97, 54) +sprite_frames = SubResource("SpriteFrames_m3ku0") +autoplay = "default" +frame = 1 + +[node name="MapBlip7" type="AnimatedSprite2D" parent="MapScreen"] +position = Vector2(121, 86) +sprite_frames = SubResource("SpriteFrames_m3ku0") +autoplay = "default" +frame_progress = 0.166665 + +[node name="PodEmpty1" type="Sprite2D" parent="."] +position = Vector2(63, 155) +texture = ExtResource("5_bqlgj") +centered = false + +[node name="PodEmpty2" type="Sprite2D" parent="."] +position = Vector2(38, 155) +texture = ExtResource("5_bqlgj") +centered = false + +[node name="PodPlayerEmpty" type="Sprite2D" parent="."] +position = Vector2(13, 155) +texture = ExtResource("5_bqlgj") +centered = false + +[node name="PodPlayer" type="AnimatedSprite2D" parent="."] +position = Vector2(8, 150) +sprite_frames = SubResource("SpriteFrames_c8d2d") +centered = false +script = SubResource("GDScript_ciu2s") + +[node name="PointLight2D" type="PointLight2D" parent="."] +position = Vector2(162, 77) +scale = Vector2(4.04688, 4.04688) +color = Color(0.43118694, 0.70823646, 0.9334883, 1) +energy = 0.75 +texture = SubResource("GradientTexture2D_fm2l1") +metadata/_edit_lock_ = true + +[node name="TextureForeground" type="TextureRect" parent="."] +z_index = 20 +z_as_relative = false +offset_right = 40.0 +offset_bottom = 40.0 +texture = ExtResource("8_wsopf") + +[node name="PlayerPodSpawn" type="Marker2D" parent="."] +position = Vector2(36, 182) + +[node name="CanvasModulate" type="CanvasModulate" parent="."] +color = Color(0.62510306, 0.65990686, 0.6903145, 1) + +[node name="PlayerCamera2D" type="Camera2D" parent="."] +limit_left = 0 +limit_top = 0 +limit_right = 640 +limit_bottom = 240 +script = ExtResource("9_2rv37") +metadata/_custom_type_script = "uid://dtdbkfoaaejw0" + +[node name="DoorCaves" type="Area2D" parent="."] +position = Vector2(480, 231) +script = ExtResource("9_wsopf") +TargetRoomPath = "uid://dx7otbnngehj2" +TargetDoor = "DoorLabs" +PreserveX = true +PreserveVelocity = true +metadata/_custom_type_script = "uid://c027jkwb3uac4" + +[node name="CollisionShape2D" type="CollisionShape2D" parent="DoorCaves"] +position = Vector2(0, 4.5) +shape = SubResource("RectangleShape2D_wsopf") + +[connection signal="animation_finished" from="PodPlayer" to="PodPlayer" method="_on_animation_finished"] +[connection signal="body_entered" from="DoorCaves" to="DoorCaves" method="_on_body_entered"] diff --git a/scripts/config.gd b/scripts/config.gd new file mode 100755 index 0000000..d79b973 --- /dev/null +++ b/scripts/config.gd @@ -0,0 +1,25 @@ +@tool +class_name Config +extends Resource + + +@export var music_volume: float = 0 +@export var sfx_volume: float = 0 +@export var fullscreen: bool = false +@export var vsync: bool = true + + +func save() -> Error: + return ResourceSaver.save(self, "user://config.tres") + + +static func exists() -> bool: + return ResourceLoader.exists("user://config.tres") + + +static func load() -> Save: + if exists(): + var config_data = ResourceLoader.load("user://config.tres") + if config_data is Config: + return config_data + return null diff --git a/scripts/config.gd.uid b/scripts/config.gd.uid new file mode 100755 index 0000000..d175a68 --- /dev/null +++ b/scripts/config.gd.uid @@ -0,0 +1 @@ +uid://g5y7ghm6kw72 diff --git a/scripts/dust_particle.gd b/scripts/dust_particle.gd new file mode 100755 index 0000000..f492f50 --- /dev/null +++ b/scripts/dust_particle.gd @@ -0,0 +1,15 @@ +extends AnimatedSprite2D + + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(_delta): + pass + + +func _on_animation_finished(): + queue_free() diff --git a/scripts/dust_particle.gd.uid b/scripts/dust_particle.gd.uid new file mode 100755 index 0000000..0bbdf2d --- /dev/null +++ b/scripts/dust_particle.gd.uid @@ -0,0 +1 @@ +uid://dgo1wtjored0j diff --git a/scripts/save.gd b/scripts/save.gd new file mode 100755 index 0000000..3be5e19 --- /dev/null +++ b/scripts/save.gd @@ -0,0 +1,54 @@ +@tool +class_name Save +extends Resource + + +enum Difficulty {EASY, NORMAL, HARD} +enum Projectile {BLAST, FIRE, ICE, LASER} + + +@export var slot: int = 1 +@export var playtime: int = 0 +@export var difficulty: Difficulty = Difficulty.NORMAL +@export var max_health: int = 100 +@export var xp: int = 0 +@export var room: String = "labs" + +@export var atk: int = 1 +@export var def: int = 1 +@export var con: int = 1 +@export var chg: int = 1 + +@export var projectile: Projectile = Projectile.BLAST; + +@export var fire: bool = false +@export var ice: bool = false +@export var laser: bool = false +@export var roll: bool = false +@export var wall: bool = false +@export var pound: bool = false +@export var slice: bool = false + +@export var lock_1: bool = false +@export var lock_2: bool = false +@export var lock_3: bool = false + + +func _init(save_slot: int): + self.slot = save_slot + + +func save_to_disk() -> Error: + return ResourceSaver.save(self, "user://slot_%s.res" % self.slot) + + +static func exists(save_slot: int) -> bool: + return ResourceLoader.exists("user://slot_%s.res" % save_slot) + + +static func load(save_slot: int) -> Save: + if exists(save_slot): + var save_data = ResourceLoader.load("user://slot_%s.res" % save_slot) + if save_data is Save: + return save_data + return null diff --git a/scripts/save.gd.uid b/scripts/save.gd.uid new file mode 100755 index 0000000..28e7cb7 --- /dev/null +++ b/scripts/save.gd.uid @@ -0,0 +1 @@ +uid://wq33hdwdp3up diff --git a/scripts/state_collision.gd b/scripts/state_collision.gd new file mode 100755 index 0000000..080fa66 --- /dev/null +++ b/scripts/state_collision.gd @@ -0,0 +1,10 @@ +class_name CollisionState2D +extends CollisionShape2D + +@export var Shapes: Dictionary[String, Shape2D] + +func change_shape(id: String) -> void: + if id in Shapes: + shape = Shapes[id] + elif len(Shapes) > 0: + shape = Shapes[Shapes.keys()[0]] diff --git a/scripts/state_collision.gd.uid b/scripts/state_collision.gd.uid new file mode 100755 index 0000000..d8c2c07 --- /dev/null +++ b/scripts/state_collision.gd.uid @@ -0,0 +1 @@ +uid://e6q7q0ljb34u diff --git a/scripts/timespan.gd b/scripts/timespan.gd new file mode 100755 index 0000000..806b29b --- /dev/null +++ b/scripts/timespan.gd @@ -0,0 +1,79 @@ +class_name Timespan +extends Node + +var _millis: int + +var _MillisPerSecond = 1000 +var _MillisPerMinute = _MillisPerSecond * 60 +var _MillisPerHour = _MillisPerMinute * 60 +var _MillisPerDay = _MillisPerHour * 24 + + +func _init(millis: int): + _millis = millis + + +func Add(ts: Timespan) -> Timespan: + return Timespan.new(self._millis + ts._millis) + + +func Subtract(ts: Timespan) -> Timespan: + assert(self._millis >= ts._millis) + return Timespan.new(self._millis - ts._millis) + + +func CompareTo(ts: Timespan) -> int: + if self._millis > ts._millis: return 1 + if self._millis < ts._millis: return -1 + return 0 + + +func Days() -> int: + return _millis / _MillisPerDay + + +func Hours() -> int: + return (_millis / _MillisPerHour) % 24 + + +func Minutes() -> int: + return (_millis / _MillisPerMinute) % 60 + + +func Seconds() -> int: + return (_millis / _MillisPerSecond) % 60 + + +func Millis() -> int: + return _millis % 1000 + + +func TotalDays() -> float: + return float(_millis) / _MillisPerDay + + +func TotalHours() -> float: + return float(_millis) / _MillisPerHour + + +func TotalMinutes() -> float: + return float(_millis) / _MillisPerMinute + + +func TotalSeconds() -> float: + return float(_millis) / _MillisPerSecond + + +func TotalMillis() -> int: + return _millis + + +static func FromTimestamps(t1: int, t2: int) -> Timespan: + assert(t1 <= t2) + return Timespan.new(t2 - t1) + + +static func Compare(ts1: Timespan, ts2: Timespan) -> int: + if ts1._millis > ts2._millis: return 1 + if ts1._millis < ts2._millis: return -1 + return 0 diff --git a/scripts/timespan.gd.uid b/scripts/timespan.gd.uid new file mode 100755 index 0000000..b6d704e --- /dev/null +++ b/scripts/timespan.gd.uid @@ -0,0 +1 @@ +uid://dj2fhcdaja6h5 diff --git a/shaders/grayscale.gdshader b/shaders/grayscale.gdshader new file mode 100755 index 0000000..1ed4f29 --- /dev/null +++ b/shaders/grayscale.gdshader @@ -0,0 +1,7 @@ +shader_type canvas_item; + +void fragment() { + COLOR = texture(TEXTURE, UV); + float avg = (COLOR.r + COLOR.g + COLOR.b) / 3.0; + COLOR.rgb = vec3(avg); +} diff --git a/shaders/grayscale.gdshader.uid b/shaders/grayscale.gdshader.uid new file mode 100755 index 0000000..d4657fd --- /dev/null +++ b/shaders/grayscale.gdshader.uid @@ -0,0 +1 @@ +uid://bct2m5ejsc4ty diff --git a/shaders/grayscale.material b/shaders/grayscale.material new file mode 100755 index 0000000..6fb13bd Binary files /dev/null and b/shaders/grayscale.material differ diff --git a/sounds/hit_ground.wav b/sounds/hit_ground.wav new file mode 100755 index 0000000..2470440 Binary files /dev/null and b/sounds/hit_ground.wav differ diff --git a/sounds/hit_ground.wav.import b/sounds/hit_ground.wav.import new file mode 100755 index 0000000..d624843 --- /dev/null +++ b/sounds/hit_ground.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://ciglwfq0vua8i" +path="res://.godot/imported/hit_ground.wav-31d3c81761ba8558f6320fa0cb58b43c.sample" + +[deps] + +source_file="res://sounds/hit_ground.wav" +dest_files=["res://.godot/imported/hit_ground.wav-31d3c81761ba8558f6320fa0cb58b43c.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=2 diff --git a/sounds/jump_sound.wav b/sounds/jump_sound.wav new file mode 100755 index 0000000..805cee9 Binary files /dev/null and b/sounds/jump_sound.wav differ diff --git a/sounds/jump_sound.wav.import b/sounds/jump_sound.wav.import new file mode 100755 index 0000000..47e7cc2 --- /dev/null +++ b/sounds/jump_sound.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://d1hwunwdel6sy" +path="res://.godot/imported/jump_sound.wav-9affc2476180294080c55de8f48bec0b.sample" + +[deps] + +source_file="res://sounds/jump_sound.wav" +dest_files=["res://.godot/imported/jump_sound.wav-9affc2476180294080c55de8f48bec0b.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/sounds/ui/menu_click.wav b/sounds/ui/menu_click.wav new file mode 100755 index 0000000..2f49b3a Binary files /dev/null and b/sounds/ui/menu_click.wav differ diff --git a/sounds/ui/menu_click.wav.import b/sounds/ui/menu_click.wav.import new file mode 100755 index 0000000..07b70cf --- /dev/null +++ b/sounds/ui/menu_click.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://3p3r68ntjf4u" +path="res://.godot/imported/menu_click.wav-a6fc5b50ad651f5ab9134277621be5e1.sample" + +[deps] + +source_file="res://sounds/ui/menu_click.wav" +dest_files=["res://.godot/imported/menu_click.wav-a6fc5b50ad651f5ab9134277621be5e1.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/sounds/ui/menu_confirm.wav b/sounds/ui/menu_confirm.wav new file mode 100755 index 0000000..d238150 Binary files /dev/null and b/sounds/ui/menu_confirm.wav differ diff --git a/sounds/ui/menu_confirm.wav.import b/sounds/ui/menu_confirm.wav.import new file mode 100755 index 0000000..9075cd8 --- /dev/null +++ b/sounds/ui/menu_confirm.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://cs58kp03yj1kf" +path="res://.godot/imported/menu_confirm.wav-165a23549a9dd75ba4fe6e67d519e4fc.sample" + +[deps] + +source_file="res://sounds/ui/menu_confirm.wav" +dest_files=["res://.godot/imported/menu_confirm.wav-165a23549a9dd75ba4fe6e67d519e4fc.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/sprites/h_scenes.ase b/sprites/h_scenes.ase new file mode 100755 index 0000000..98f5178 Binary files /dev/null and b/sprites/h_scenes.ase differ diff --git a/sprites/h_scenes.png b/sprites/h_scenes.png new file mode 100755 index 0000000..1bd65f6 Binary files /dev/null and b/sprites/h_scenes.png differ diff --git a/sprites/h_scenes.png.import b/sprites/h_scenes.png.import new file mode 100755 index 0000000..a033aad --- /dev/null +++ b/sprites/h_scenes.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b07p5aiatoxsk" +path="res://.godot/imported/h_scenes.png-92a1e2a3da19876c77ca7cb2b4fff5cc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/h_scenes.png" +dest_files=["res://.godot/imported/h_scenes.png-92a1e2a3da19876c77ca7cb2b4fff5cc.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 diff --git a/sprites/lab/emptypod.png b/sprites/lab/emptypod.png new file mode 100755 index 0000000..2a95280 Binary files /dev/null and b/sprites/lab/emptypod.png differ diff --git a/sprites/lab/emptypod.png.import b/sprites/lab/emptypod.png.import new file mode 100755 index 0000000..8e59f72 --- /dev/null +++ b/sprites/lab/emptypod.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dyg5mvl45r1vy" +path="res://.godot/imported/emptypod.png-3ea9a6e32380947aa552bfce3629914c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/lab/emptypod.png" +dest_files=["res://.godot/imported/emptypod.png-3ea9a6e32380947aa552bfce3629914c.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/sprites/lab/map_blip.png b/sprites/lab/map_blip.png new file mode 100755 index 0000000..5994a8b Binary files /dev/null and b/sprites/lab/map_blip.png differ diff --git a/sprites/lab/map_blip.png.import b/sprites/lab/map_blip.png.import new file mode 100755 index 0000000..4987ea0 --- /dev/null +++ b/sprites/lab/map_blip.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bi5xvp1dfm0d7" +path="res://.godot/imported/map_blip.png-ceef55ae52619255edd6686f32ea5201.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/lab/map_blip.png" +dest_files=["res://.godot/imported/map_blip.png-ceef55ae52619255edd6686f32ea5201.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 diff --git a/sprites/lab/map_screen.png b/sprites/lab/map_screen.png new file mode 100755 index 0000000..26fe87b Binary files /dev/null and b/sprites/lab/map_screen.png differ diff --git a/sprites/lab/map_screen.png.import b/sprites/lab/map_screen.png.import new file mode 100755 index 0000000..f66d783 --- /dev/null +++ b/sprites/lab/map_screen.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cuk2cxty66cah" +path="res://.godot/imported/map_screen.png-5647ca2c75a5040e04eaca0337de0be0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/lab/map_screen.png" +dest_files=["res://.godot/imported/map_screen.png-5647ca2c75a5040e04eaca0337de0be0.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 diff --git a/sprites/player/ pod_1_strip8.png b/sprites/player/ pod_1_strip8.png new file mode 100755 index 0000000..92c71ad Binary files /dev/null and b/sprites/player/ pod_1_strip8.png differ diff --git a/sprites/player/ pod_1_strip8.png.import b/sprites/player/ pod_1_strip8.png.import new file mode 100755 index 0000000..f9a82c9 --- /dev/null +++ b/sprites/player/ pod_1_strip8.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ffk8oj1bo227" +path="res://.godot/imported/ pod_1_strip8.png-091b6cdd48db3c02ccb1a09711911e86.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/ pod_1_strip8.png" +dest_files=["res://.godot/imported/ pod_1_strip8.png-091b6cdd48db3c02ccb1a09711911e86.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 diff --git a/sprites/player/'player_stand_strip4.png b/sprites/player/'player_stand_strip4.png new file mode 100755 index 0000000..3ef2adb Binary files /dev/null and b/sprites/player/'player_stand_strip4.png differ diff --git a/sprites/player/'player_stand_strip4.png.import b/sprites/player/'player_stand_strip4.png.import new file mode 100755 index 0000000..7c78279 --- /dev/null +++ b/sprites/player/'player_stand_strip4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b6yj8bomftw2o" +path="res://.godot/imported/'player_stand_strip4.png-4122fcb90a1081014bd50915f56b6904.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/'player_stand_strip4.png" +dest_files=["res://.godot/imported/'player_stand_strip4.png-4122fcb90a1081014bd50915f56b6904.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/sprites/player/player_fall.png b/sprites/player/player_fall.png new file mode 100755 index 0000000..7e8a2e3 Binary files /dev/null and b/sprites/player/player_fall.png differ diff --git a/sprites/player/player_fall.png.import b/sprites/player/player_fall.png.import new file mode 100755 index 0000000..ab51ba6 --- /dev/null +++ b/sprites/player/player_fall.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dm21bd6weuuji" +path="res://.godot/imported/player_fall.png-07a50682ef48b34d4cf26543bc390a11.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/player_fall.png" +dest_files=["res://.godot/imported/player_fall.png-07a50682ef48b34d4cf26543bc390a11.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/sprites/player/player_hit_2_strip8.png b/sprites/player/player_hit_2_strip8.png new file mode 100755 index 0000000..ce567c5 Binary files /dev/null and b/sprites/player/player_hit_2_strip8.png differ diff --git a/sprites/player/player_hit_2_strip8.png.import b/sprites/player/player_hit_2_strip8.png.import new file mode 100755 index 0000000..eaa6601 --- /dev/null +++ b/sprites/player/player_hit_2_strip8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://r03iv2ktacah" +path="res://.godot/imported/player_hit_2_strip8.png-79b240f538b39b5f7377cf1aae3ac421.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/player_hit_2_strip8.png" +dest_files=["res://.godot/imported/player_hit_2_strip8.png-79b240f538b39b5f7377cf1aae3ac421.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/sprites/player/player_jab_strip8.png b/sprites/player/player_jab_strip8.png new file mode 100755 index 0000000..19562e9 Binary files /dev/null and b/sprites/player/player_jab_strip8.png differ diff --git a/sprites/player/player_jab_strip8.png.import b/sprites/player/player_jab_strip8.png.import new file mode 100755 index 0000000..9a614b1 --- /dev/null +++ b/sprites/player/player_jab_strip8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d04ok1p3fu10m" +path="res://.godot/imported/player_jab_strip8.png-520d775ad35c560303adbabafc0f54fa.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/player_jab_strip8.png" +dest_files=["res://.godot/imported/player_jab_strip8.png-520d775ad35c560303adbabafc0f54fa.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/sprites/player/player_jump.png b/sprites/player/player_jump.png new file mode 100755 index 0000000..6392b6d Binary files /dev/null and b/sprites/player/player_jump.png differ diff --git a/sprites/player/player_jump.png.import b/sprites/player/player_jump.png.import new file mode 100755 index 0000000..4a74ecf --- /dev/null +++ b/sprites/player/player_jump.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://parl0j5jmgbw" +path="res://.godot/imported/player_jump.png-da1520216ccf3d61864157abf35f2143.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/player_jump.png" +dest_files=["res://.godot/imported/player_jump.png-da1520216ccf3d61864157abf35f2143.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/sprites/player/player_kick_strip7.png b/sprites/player/player_kick_strip7.png new file mode 100755 index 0000000..2ba5ba2 Binary files /dev/null and b/sprites/player/player_kick_strip7.png differ diff --git a/sprites/player/player_kick_strip7.png.import b/sprites/player/player_kick_strip7.png.import new file mode 100755 index 0000000..0c04d98 --- /dev/null +++ b/sprites/player/player_kick_strip7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://lfgd2kpc0b1m" +path="res://.godot/imported/player_kick_strip7.png-bcaf15c88b0c3cd9ac306d0628d000f6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/player_kick_strip7.png" +dest_files=["res://.godot/imported/player_kick_strip7.png-bcaf15c88b0c3cd9ac306d0628d000f6.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/sprites/player/player_knockdown_strip8.png b/sprites/player/player_knockdown_strip8.png new file mode 100755 index 0000000..1ef7aa9 Binary files /dev/null and b/sprites/player/player_knockdown_strip8.png differ diff --git a/sprites/player/player_knockdown_strip8.png.import b/sprites/player/player_knockdown_strip8.png.import new file mode 100755 index 0000000..77ae909 --- /dev/null +++ b/sprites/player/player_knockdown_strip8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dajpyeawxkxmi" +path="res://.godot/imported/player_knockdown_strip8.png-831ff15a86e55d6ed3a18d18e06ac438.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/player_knockdown_strip8.png" +dest_files=["res://.godot/imported/player_knockdown_strip8.png-831ff15a86e55d6ed3a18d18e06ac438.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/sprites/player/player_land_strip3.png b/sprites/player/player_land_strip3.png new file mode 100755 index 0000000..74facc6 Binary files /dev/null and b/sprites/player/player_land_strip3.png differ diff --git a/sprites/player/player_land_strip3.png.import b/sprites/player/player_land_strip3.png.import new file mode 100755 index 0000000..7b5fc5e --- /dev/null +++ b/sprites/player/player_land_strip3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d0ji3wk5ixfnm" +path="res://.godot/imported/player_land_strip3.png-94002ffa28452ce3556a01b6c020f9c3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/player_land_strip3.png" +dest_files=["res://.godot/imported/player_land_strip3.png-94002ffa28452ce3556a01b6c020f9c3.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/sprites/player/player_lay.png b/sprites/player/player_lay.png new file mode 100755 index 0000000..ed14cf1 Binary files /dev/null and b/sprites/player/player_lay.png differ diff --git a/sprites/player/player_lay.png.import b/sprites/player/player_lay.png.import new file mode 100755 index 0000000..91d2351 --- /dev/null +++ b/sprites/player/player_lay.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cwtom8vp873ve" +path="res://.godot/imported/player_lay.png-f26e30ff6573fb2bc4fa5b7b2a234f6f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/player_lay.png" +dest_files=["res://.godot/imported/player_lay.png-f26e30ff6573fb2bc4fa5b7b2a234f6f.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/sprites/player/player_pound_strip11.png b/sprites/player/player_pound_strip11.png new file mode 100755 index 0000000..9fc1e2d Binary files /dev/null and b/sprites/player/player_pound_strip11.png differ diff --git a/sprites/player/player_pound_strip11.png.import b/sprites/player/player_pound_strip11.png.import new file mode 100755 index 0000000..d78e963 --- /dev/null +++ b/sprites/player/player_pound_strip11.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bxta2reapvqv1" +path="res://.godot/imported/player_pound_strip11.png-687d893f40e9d95ebc5716aa26ce3cf2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/player_pound_strip11.png" +dest_files=["res://.godot/imported/player_pound_strip11.png-687d893f40e9d95ebc5716aa26ce3cf2.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/sprites/player/player_roll_strip10.png b/sprites/player/player_roll_strip10.png new file mode 100755 index 0000000..78506d5 Binary files /dev/null and b/sprites/player/player_roll_strip10.png differ diff --git a/sprites/player/player_roll_strip10.png.import b/sprites/player/player_roll_strip10.png.import new file mode 100755 index 0000000..b717c19 --- /dev/null +++ b/sprites/player/player_roll_strip10.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://co2aycawdw5nl" +path="res://.godot/imported/player_roll_strip10.png-a09ceea18f1ac453abc2d459cd060d0f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/player_roll_strip10.png" +dest_files=["res://.godot/imported/player_roll_strip10.png-a09ceea18f1ac453abc2d459cd060d0f.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/sprites/player/player_run_start_strip6.png b/sprites/player/player_run_start_strip6.png new file mode 100755 index 0000000..5745f23 Binary files /dev/null and b/sprites/player/player_run_start_strip6.png differ diff --git a/sprites/player/player_run_start_strip6.png.import b/sprites/player/player_run_start_strip6.png.import new file mode 100755 index 0000000..fe056fa --- /dev/null +++ b/sprites/player/player_run_start_strip6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cel31a2p0qjx4" +path="res://.godot/imported/player_run_start_strip6.png-39353d1141750b9232ed21029f4ba986.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/player_run_start_strip6.png" +dest_files=["res://.godot/imported/player_run_start_strip6.png-39353d1141750b9232ed21029f4ba986.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/sprites/player/player_run_strip8.png b/sprites/player/player_run_strip8.png new file mode 100755 index 0000000..95611e3 Binary files /dev/null and b/sprites/player/player_run_strip8.png differ diff --git a/sprites/player/player_run_strip8.png.import b/sprites/player/player_run_strip8.png.import new file mode 100755 index 0000000..e624305 --- /dev/null +++ b/sprites/player/player_run_strip8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bvvdkwt4ydoqm" +path="res://.godot/imported/player_run_strip8.png-09cda1bc805db837b714958b520e8480.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/player_run_strip8.png" +dest_files=["res://.godot/imported/player_run_strip8.png-09cda1bc805db837b714958b520e8480.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/sprites/player/player_shoot_strip4.png b/sprites/player/player_shoot_strip4.png new file mode 100755 index 0000000..1c03725 Binary files /dev/null and b/sprites/player/player_shoot_strip4.png differ diff --git a/sprites/player/player_shoot_strip4.png.import b/sprites/player/player_shoot_strip4.png.import new file mode 100755 index 0000000..ebc0591 --- /dev/null +++ b/sprites/player/player_shoot_strip4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjk6o4dccgvv1" +path="res://.godot/imported/player_shoot_strip4.png-502dec8026d8aeabdf6c67abf7505401.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/player_shoot_strip4.png" +dest_files=["res://.godot/imported/player_shoot_strip4.png-502dec8026d8aeabdf6c67abf7505401.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/sprites/player/player_stand_strip4.png b/sprites/player/player_stand_strip4.png new file mode 100755 index 0000000..3ef2adb Binary files /dev/null and b/sprites/player/player_stand_strip4.png differ diff --git a/sprites/player/player_stand_strip4.png.import b/sprites/player/player_stand_strip4.png.import new file mode 100755 index 0000000..d37283d --- /dev/null +++ b/sprites/player/player_stand_strip4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dsxk6ix7sotmi" +path="res://.godot/imported/player_stand_strip4.png-842a5e738fa2a867488e21d6b5e11793.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/player_stand_strip4.png" +dest_files=["res://.godot/imported/player_stand_strip4.png-842a5e738fa2a867488e21d6b5e11793.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/sprites/player/player_start_jump.png b/sprites/player/player_start_jump.png new file mode 100755 index 0000000..8c48619 Binary files /dev/null and b/sprites/player/player_start_jump.png differ diff --git a/sprites/player/player_start_jump.png.import b/sprites/player/player_start_jump.png.import new file mode 100755 index 0000000..ac7816f --- /dev/null +++ b/sprites/player/player_start_jump.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://db4343seyd0lj" +path="res://.godot/imported/player_start_jump.png-8634b0de6ea9ad8baa1bff26cc5e7191.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/player_start_jump.png" +dest_files=["res://.godot/imported/player_start_jump.png-8634b0de6ea9ad8baa1bff26cc5e7191.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/sprites/player/player_straight_strip12.png b/sprites/player/player_straight_strip12.png new file mode 100755 index 0000000..4ca81cb Binary files /dev/null and b/sprites/player/player_straight_strip12.png differ diff --git a/sprites/player/player_straight_strip12.png.import b/sprites/player/player_straight_strip12.png.import new file mode 100755 index 0000000..b5555da --- /dev/null +++ b/sprites/player/player_straight_strip12.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cv7j8p1frpn24" +path="res://.godot/imported/player_straight_strip12.png-2c9a01c044c63334ca757df71fdf6d3f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/player_straight_strip12.png" +dest_files=["res://.godot/imported/player_straight_strip12.png-2c9a01c044c63334ca757df71fdf6d3f.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/sprites/player/pod_2_strip17.png b/sprites/player/pod_2_strip17.png new file mode 100755 index 0000000..4fbf7f3 Binary files /dev/null and b/sprites/player/pod_2_strip17.png differ diff --git a/sprites/player/pod_2_strip17.png.import b/sprites/player/pod_2_strip17.png.import new file mode 100755 index 0000000..13e3ac2 --- /dev/null +++ b/sprites/player/pod_2_strip17.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://chtee26rjbrcp" +path="res://.godot/imported/pod_2_strip17.png-d1cfd3450301e3676bd571ad840356ce.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/pod_2_strip17.png" +dest_files=["res://.godot/imported/pod_2_strip17.png-d1cfd3450301e3676bd571ad840356ce.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/sprites/player/pound_fall.png b/sprites/player/pound_fall.png new file mode 100755 index 0000000..bb01582 Binary files /dev/null and b/sprites/player/pound_fall.png differ diff --git a/sprites/player/pound_fall.png.import b/sprites/player/pound_fall.png.import new file mode 100755 index 0000000..f5ba4c2 --- /dev/null +++ b/sprites/player/pound_fall.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dm5kwqyurxemy" +path="res://.godot/imported/pound_fall.png-77144de977a1954ebe7bed3fff00348d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/pound_fall.png" +dest_files=["res://.godot/imported/pound_fall.png-77144de977a1954ebe7bed3fff00348d.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/sprites/player/shoot_shuffle_strip2.png b/sprites/player/shoot_shuffle_strip2.png new file mode 100755 index 0000000..c4606ba Binary files /dev/null and b/sprites/player/shoot_shuffle_strip2.png differ diff --git a/sprites/player/shoot_shuffle_strip2.png.import b/sprites/player/shoot_shuffle_strip2.png.import new file mode 100755 index 0000000..7e0220b --- /dev/null +++ b/sprites/player/shoot_shuffle_strip2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b22voymh4jdlp" +path="res://.godot/imported/shoot_shuffle_strip2.png-c19b38a10b1383e41204d8f4db79d160.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/player/shoot_shuffle_strip2.png" +dest_files=["res://.godot/imported/shoot_shuffle_strip2.png-c19b38a10b1383e41204d8f4db79d160.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/tiles/background0.png b/tiles/background0.png new file mode 100755 index 0000000..21d0a81 Binary files /dev/null and b/tiles/background0.png differ diff --git a/tiles/background0.png.import b/tiles/background0.png.import new file mode 100755 index 0000000..ffea6f5 --- /dev/null +++ b/tiles/background0.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://jh7g6s0r7rmc" +path="res://.godot/imported/background0.png-a12797f7f8f3b31b112b98b9411282ad.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://tiles/background0.png" +dest_files=["res://.godot/imported/background0.png-a12797f7f8f3b31b112b98b9411282ad.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 diff --git a/tiles/background14.png b/tiles/background14.png new file mode 100755 index 0000000..93d0fb1 Binary files /dev/null and b/tiles/background14.png differ diff --git a/tiles/background14.png.import b/tiles/background14.png.import new file mode 100755 index 0000000..4111b41 --- /dev/null +++ b/tiles/background14.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d1k40d5bshwnk" +path="res://.godot/imported/background14.png-559829884ec90fb8f827206b90e564f3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://tiles/background14.png" +dest_files=["res://.godot/imported/background14.png-559829884ec90fb8f827206b90e564f3.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 diff --git a/tiles/background16.png b/tiles/background16.png new file mode 100755 index 0000000..a07a798 Binary files /dev/null and b/tiles/background16.png differ diff --git a/tiles/background16.png.import b/tiles/background16.png.import new file mode 100755 index 0000000..d985476 --- /dev/null +++ b/tiles/background16.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://hqlkcbde2mco" +path="res://.godot/imported/background16.png-907a31e0379fa60e463d89bcd25daef4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://tiles/background16.png" +dest_files=["res://.godot/imported/background16.png-907a31e0379fa60e463d89bcd25daef4.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 diff --git a/tiles/background32.png b/tiles/background32.png new file mode 100755 index 0000000..a6a89e0 Binary files /dev/null and b/tiles/background32.png differ diff --git a/tiles/background32.png.import b/tiles/background32.png.import new file mode 100755 index 0000000..28c8b1d --- /dev/null +++ b/tiles/background32.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://w0l40nrdvo2v" +path="res://.godot/imported/background32.png-514698614e3e5f9420175d8af6c2de04.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://tiles/background32.png" +dest_files=["res://.godot/imported/background32.png-514698614e3e5f9420175d8af6c2de04.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 diff --git a/tiles/background7.png b/tiles/background7.png new file mode 100755 index 0000000..083752a Binary files /dev/null and b/tiles/background7.png differ diff --git a/tiles/background7.png.import b/tiles/background7.png.import new file mode 100755 index 0000000..8bb70cd --- /dev/null +++ b/tiles/background7.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fmsduwtfocj1" +path="res://.godot/imported/background7.png-4d0c10d61d76442f67f1c7db9492d256.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://tiles/background7.png" +dest_files=["res://.godot/imported/background7.png-4d0c10d61d76442f67f1c7db9492d256.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 diff --git a/tiles/background8.png b/tiles/background8.png new file mode 100755 index 0000000..f5f6c1b Binary files /dev/null and b/tiles/background8.png differ diff --git a/tiles/background8.png.import b/tiles/background8.png.import new file mode 100755 index 0000000..22a2847 --- /dev/null +++ b/tiles/background8.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://durp6uedy6v0w" +path="res://.godot/imported/background8.png-8e6528c5e631a4cc7d04c24f1729c094.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://tiles/background8.png" +dest_files=["res://.godot/imported/background8.png-8e6528c5e631a4cc7d04c24f1729c094.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 diff --git a/tiles/tiles.ase b/tiles/tiles.ase new file mode 100755 index 0000000..8c53093 Binary files /dev/null and b/tiles/tiles.ase differ diff --git a/tiles/tiles.png b/tiles/tiles.png new file mode 100755 index 0000000..062008e Binary files /dev/null and b/tiles/tiles.png differ diff --git a/tiles/tiles.png.import b/tiles/tiles.png.import new file mode 100755 index 0000000..6d762e6 --- /dev/null +++ b/tiles/tiles.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3v7wj3cud3yk" +path="res://.godot/imported/tiles.png-c896668944bf22074c8d621d670bc5dd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://tiles/tiles.png" +dest_files=["res://.godot/imported/tiles.png-c896668944bf22074c8d621d670bc5dd.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 diff --git a/tiles/tileset.tres b/tiles/tileset.tres new file mode 100755 index 0000000..f63a9aa --- /dev/null +++ b/tiles/tileset.tres @@ -0,0 +1,235 @@ +[gd_resource type="TileSet" load_steps=3 format=3 uid="uid://cygngaiobann6"] + +[ext_resource type="Texture2D" uid="uid://d3v7wj3cud3yk" path="res://tiles/tiles.png" id="1_bruia"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_yponf"] +texture = ExtResource("1_bruia") +texture_region_size = Vector2i(32, 32) +0:0/0 = 0 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +1:0/0 = 0 +1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:0/0 = 0 +2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +3:0/0 = 0 +3:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +4:0/0 = 0 +4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +5:0/0 = 0 +5:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +6:0/0 = 0 +6:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +7:0/0 = 0 +7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +8:0/0 = 0 +8:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +9:0/0 = 0 +9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +10:0/0 = 0 +10:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +11:0/0 = 0 +11:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +12:0/0 = 0 +12:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +13:0/0 = 0 +13:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +14:0/0 = 0 +14:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +15:0/0 = 0 +15:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:1/0 = 0 +0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +1:1/0 = 0 +1:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:1/0 = 0 +2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +3:1/0 = 0 +3:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +4:1/0 = 0 +4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +5:1/0 = 0 +5:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +6:1/0 = 0 +6:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +7:1/0 = 0 +7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +8:1/0 = 0 +8:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +9:1/0 = 0 +9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +10:1/0 = 0 +10:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +11:1/0 = 0 +11:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +12:1/0 = 0 +12:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +13:1/0 = 0 +13:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +14:1/0 = 0 +14:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +15:1/0 = 0 +15:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:2/0 = 0 +1:2/0 = 0 +2:2/0 = 0 +2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +3:2/0 = 0 +3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +4:2/0 = 0 +4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +5:2/0 = 0 +5:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +6:2/0 = 0 +6:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +7:2/0 = 0 +7:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +8:2/0 = 0 +9:2/0 = 0 +10:2/0 = 0 +10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +11:2/0 = 0 +11:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +12:2/0 = 0 +12:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +13:2/0 = 0 +13:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +14:2/0 = 0 +14:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +15:2/0 = 0 +15:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:3/0 = 0 +1:3/0 = 0 +2:3/0 = 0 +2:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +3:3/0 = 0 +3:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +4:3/0 = 0 +4:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +5:3/0 = 0 +5:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +6:3/0 = 0 +6:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +7:3/0 = 0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +8:3/0 = 0 +9:3/0 = 0 +10:3/0 = 0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +11:3/0 = 0 +11:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +12:3/0 = 0 +12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +13:3/0 = 0 +13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +14:3/0 = 0 +14:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +15:3/0 = 0 +15:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:4/0 = 0 +0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +1:4/0 = 0 +1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:4/0 = 0 +3:4/0 = 0 +4:4/0 = 0 +5:4/0 = 0 +6:4/0 = 0 +7:4/0 = 0 +8:4/0 = 0 +9:4/0 = 0 +10:4/0 = 0 +10:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +11:4/0 = 0 +11:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +12:4/0 = 0 +12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +13:4/0 = 0 +13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +14:4/0 = 0 +14:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +15:4/0 = 0 +15:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +0:5/0 = 0 +0:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +1:5/0 = 0 +1:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +2:5/0 = 0 +3:5/0 = 0 +4:5/0 = 0 +5:5/0 = 0 +6:5/0 = 0 +8:5/0 = 0 +9:5/0 = 0 +10:5/0 = 0 +10:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +11:5/0 = 0 +11:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +12:5/0 = 0 +12:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +13:5/0 = 0 +13:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +14:5/0 = 0 +15:5/0 = 0 +0:6/0 = 0 +1:6/0 = 0 +2:6/0 = 0 +3:6/0 = 0 +4:6/0 = 0 +5:6/0 = 0 +6:6/0 = 0 +7:6/0 = 0 +8:6/0 = 0 +9:6/0 = 0 +10:6/0 = 0 +11:6/0 = 0 +12:6/0 = 0 +13:6/0 = 0 +14:6/0 = 0 +15:6/0 = 0 +15:6/0/probability = 10.0 +0:7/0 = 0 +1:7/0 = 0 +2:7/0 = 0 +3:7/0 = 0 +4:7/0 = 0 +5:7/0 = 0 +6:7/0 = 0 +7:7/0 = 0 +8:7/0 = 0 +9:7/0 = 0 +10:7/0 = 0 +11:7/0 = 0 +12:7/0 = 0 +13:7/0 = 0 +14:7/0 = 0 +15:7/0 = 0 +15:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, 16, -10, -16, -10, -16, -16) +0:8/0 = 0 +1:8/0 = 0 +2:8/0 = 0 +3:8/0 = 0 +11:8/0 = 0 +12:8/0 = 0 +13:8/0 = 0 +14:8/0 = 0 +15:8/0 = 0 +0:9/0 = 0 +1:9/0 = 0 +2:9/0 = 0 +3:9/0 = 0 +13:9/0 = 0 +14:9/0 = 0 +15:9/0 = 0 +13:10/0 = 0 +13:11/0 = 0 +13:12/0 = 0 +4:8/0 = 0 +4:9/0 = 0 +5:9/0 = 0 +5:8/0 = 0 +14:10/0 = 0 + +[resource] +tile_size = Vector2i(32, 32) +physics_layer_0/collision_layer = 1 +sources/6 = SubResource("TileSetAtlasSource_yponf") diff --git a/ui/background.png b/ui/background.png new file mode 100755 index 0000000..5cf7fd1 Binary files /dev/null and b/ui/background.png differ diff --git a/ui/background.png.import b/ui/background.png.import new file mode 100755 index 0000000..c8d736d --- /dev/null +++ b/ui/background.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://w7m2ybuqy1bw" +path="res://.godot/imported/background.png-2693c3f581a46c19cdd8c76a9b20c564.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/background.png" +dest_files=["res://.godot/imported/background.png-2693c3f581a46c19cdd8c76a9b20c564.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/ui/cryo_image.tres b/ui/cryo_image.tres new file mode 100755 index 0000000..5a243e0 --- /dev/null +++ b/ui/cryo_image.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://pk0b46lb6tmo"] + +[ext_resource type="Texture2D" uid="uid://ffk8oj1bo227" path="res://sprites/player/ pod_1_strip8.png" id="1_ygkcs"] + +[resource] +atlas = ExtResource("1_ygkcs") +region = Rect2(5, 5, 37, 28) diff --git a/ui/default_theme.tres b/ui/default_theme.tres new file mode 100755 index 0000000..c4b8a15 --- /dev/null +++ b/ui/default_theme.tres @@ -0,0 +1,169 @@ +[gd_resource type="Theme" load_steps=24 format=3 uid="uid://d01fm68pwgnvc"] + +[ext_resource type="FontFile" uid="uid://qga7hxbgghco" path="res://fonts/Kenney Mini.ttf" id="1_7e3lg"] +[ext_resource type="Texture2D" uid="uid://dinirupft5uhs" path="res://ui/slider.png" id="2_6nedr"] +[ext_resource type="Texture2D" uid="uid://crprk32g1mmrj" path="res://ui/slider_grabber.png" id="2_yubr8"] + +[sub_resource type="StyleBoxLine" id="StyleBoxLine_wm1gf"] +content_margin_left = 1.0 +content_margin_top = 1.0 +color = Color(1, 1, 1, 1) + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ovn7s"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_umhto"] + +[sub_resource type="ImageTexture" id="ImageTexture_co0l2"] + +[sub_resource type="ImageTexture" id="ImageTexture_duf8w"] + +[sub_resource type="ImageTexture" id="ImageTexture_6ow68"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_ibhm4"] +texture = ExtResource("2_yubr8") +texture_margin_left = 4.0 +texture_margin_top = 4.0 +texture_margin_right = 4.0 +texture_margin_bottom = 4.0 +region_rect = Rect2(0, 0, 16, 16) + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_2cnhp"] +texture = ExtResource("2_6nedr") +texture_margin_left = 4.0 +texture_margin_top = 4.0 +texture_margin_right = 4.0 +texture_margin_bottom = 4.0 +axis_stretch_horizontal = 1 +axis_stretch_vertical = 1 +region_rect = Rect2(0, 0, 16, 16) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_b2bdl"] + +[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_abloi"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_5pjpx"] +texture = SubResource("CompressedTexture2D_abloi") +axis_stretch_horizontal = 2 +region_rect = Rect2(1, 1, 5, 6) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_bjubv"] +draw_center = false +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color(1, 1, 1, 1) +corner_detail = 1 +expand_margin_left = 2.0 +expand_margin_top = 1.0 +expand_margin_right = 2.0 +expand_margin_bottom = 1.0 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4ohqh"] +draw_center = false +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color(0.501407, 0.501406, 0.501406, 1) +corner_detail = 1 +expand_margin_left = 2.0 +expand_margin_top = 1.0 +expand_margin_right = 2.0 +expand_margin_bottom = 1.0 + +[sub_resource type="StyleBoxLine" id="StyleBoxLine_geiop"] +color = Color(1, 1, 1, 1) +grow_begin = 0.0 +grow_end = 0.0 +thickness = 2 + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_wvpxm"] +content_margin_left = 6.0 +content_margin_right = 6.0 + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_fj4hc"] + +[sub_resource type="ImageTexture" id="ImageTexture_gxnbq"] + +[sub_resource type="ImageTexture" id="ImageTexture_pc4kc"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_pj5ck"] +bg_color = Color(0, 0, 0, 1) +border_width_left = 1 +border_width_top = 1 +border_width_right = 1 +border_width_bottom = 1 +border_color = Color(0.91664, 0.91664, 0.91664, 1) +corner_detail = 5 +expand_margin_left = 1.0 +expand_margin_top = 13.0 +expand_margin_right = 1.0 +expand_margin_bottom = 1.0 +anti_aliasing = false + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_cy8ug"] +content_margin_left = 10.0 +content_margin_top = 28.0 +content_margin_right = 10.0 +content_margin_bottom = 8.0 +bg_color = Color(0.4, 0.4, 0.4, 1) +corner_radius_top_left = 3 +corner_radius_top_right = 3 +corner_radius_bottom_right = 3 +corner_radius_bottom_left = 3 +corner_detail = 5 +expand_margin_left = 8.0 +expand_margin_top = 32.0 +expand_margin_right = 8.0 +expand_margin_bottom = 6.0 + +[resource] +AcceptDialog/constants/buttons_separation = 10 +AcceptDialog/styles/panel = SubResource("StyleBoxLine_wm1gf") +Button/colors/font_color = Color(0.662452, 0.662452, 0.662452, 1) +Button/font_sizes/font_size = 16 +Button/fonts/font = ExtResource("1_7e3lg") +Button/styles/disabled = SubResource("StyleBoxEmpty_ovn7s") +Button/styles/focus = SubResource("StyleBoxEmpty_umhto") +Button/styles/hover = SubResource("StyleBoxEmpty_ovn7s") +Button/styles/normal = SubResource("StyleBoxEmpty_ovn7s") +Button/styles/pressed = SubResource("StyleBoxEmpty_ovn7s") +HSlider/icons/grabber = SubResource("ImageTexture_co0l2") +HSlider/icons/grabber_disabled = SubResource("ImageTexture_duf8w") +HSlider/icons/grabber_highlight = SubResource("ImageTexture_6ow68") +HSlider/styles/grabber_area = SubResource("StyleBoxTexture_ibhm4") +HSlider/styles/grabber_area_highlight = SubResource("StyleBoxTexture_ibhm4") +HSlider/styles/slider = SubResource("StyleBoxTexture_2cnhp") +Label/fonts/font = ExtResource("1_7e3lg") +ProgressBar/styles/background = SubResource("StyleBoxFlat_b2bdl") +ProgressBar/styles/fill = SubResource("StyleBoxTexture_5pjpx") +SaveSlotBodyLabel/base_type = &"Label" +SaveSlotBodyLabel/font_sizes/font_size = 8 +SaveSlotButton/base_type = &"Button" +SaveSlotButton/styles/focus = SubResource("StyleBoxFlat_bjubv") +SaveSlotButton/styles/hover = SubResource("StyleBoxFlat_bjubv") +SaveSlotButton/styles/normal = SubResource("StyleBoxFlat_4ohqh") +SaveSlotButton/styles/pressed = SubResource("StyleBoxFlat_bjubv") +TabContainer/constants/side_margin = 0 +TabContainer/font_sizes/font_size = 16 +TabContainer/fonts/font = ExtResource("1_7e3lg") +TabContainer/styles/panel = SubResource("StyleBoxLine_geiop") +TabContainer/styles/tab_disabled = SubResource("StyleBoxEmpty_wvpxm") +TabContainer/styles/tab_focus = SubResource("StyleBoxEmpty_fj4hc") +TabContainer/styles/tab_hovered = SubResource("StyleBoxEmpty_wvpxm") +TabContainer/styles/tab_selected = SubResource("StyleBoxEmpty_wvpxm") +TabContainer/styles/tab_unselected = SubResource("StyleBoxEmpty_wvpxm") +Window/colors/title_color = Color(0.875, 0.875, 0.875, 1) +Window/colors/title_outline_modulate = Color(1, 1, 1, 1) +Window/constants/close_h_offset = 18 +Window/constants/close_v_offset = 24 +Window/constants/resize_margin = 0 +Window/constants/title_height = 14 +Window/constants/title_outline_size = 0 +Window/font_sizes/title_font_size = 16 +Window/fonts/title_font = ExtResource("1_7e3lg") +Window/icons/close = SubResource("ImageTexture_gxnbq") +Window/icons/close_pressed = SubResource("ImageTexture_pc4kc") +Window/styles/embedded_border = SubResource("StyleBoxFlat_pj5ck") +Window/styles/embedded_unfocused_border = SubResource("StyleBoxFlat_cy8ug") diff --git a/ui/empty_ico.png b/ui/empty_ico.png new file mode 100755 index 0000000..83d9b8f Binary files /dev/null and b/ui/empty_ico.png differ diff --git a/ui/empty_ico.png.import b/ui/empty_ico.png.import new file mode 100755 index 0000000..20c216b --- /dev/null +++ b/ui/empty_ico.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://beomt8bs2wra2" +path="res://.godot/imported/empty_ico.png-e26c4424a19468fde6db108c21f0a16c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/empty_ico.png" +dest_files=["res://.godot/imported/empty_ico.png-e26c4424a19468fde6db108c21f0a16c.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/ui/fire_ico.png b/ui/fire_ico.png new file mode 100755 index 0000000..6f8ac16 Binary files /dev/null and b/ui/fire_ico.png differ diff --git a/ui/fire_ico.png.import b/ui/fire_ico.png.import new file mode 100755 index 0000000..d0ac88f --- /dev/null +++ b/ui/fire_ico.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://kwsk0b5ff8k1" +path="res://.godot/imported/fire_ico.png-a253b34cc8a2d544cd6fc0d7db9347b0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/fire_ico.png" +dest_files=["res://.godot/imported/fire_ico.png-a253b34cc8a2d544cd6fc0d7db9347b0.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/ui/ice_ico.png b/ui/ice_ico.png new file mode 100755 index 0000000..14a74bd Binary files /dev/null and b/ui/ice_ico.png differ diff --git a/ui/ice_ico.png.import b/ui/ice_ico.png.import new file mode 100755 index 0000000..89e8337 --- /dev/null +++ b/ui/ice_ico.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dh8ike5vblov0" +path="res://.godot/imported/ice_ico.png-4aef9e34e400368f0aa520780dd69635.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/ice_ico.png" +dest_files=["res://.godot/imported/ice_ico.png-4aef9e34e400368f0aa520780dd69635.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/ui/laser_ico.png b/ui/laser_ico.png new file mode 100755 index 0000000..6e9e481 Binary files /dev/null and b/ui/laser_ico.png differ diff --git a/ui/laser_ico.png.import b/ui/laser_ico.png.import new file mode 100755 index 0000000..3c40133 --- /dev/null +++ b/ui/laser_ico.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://v0wt3up1lrkm" +path="res://.godot/imported/laser_ico.png-62dc209fb28cc54cc4491815909d471a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/laser_ico.png" +dest_files=["res://.godot/imported/laser_ico.png-62dc209fb28cc54cc4491815909d471a.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/ui/marker.png b/ui/marker.png new file mode 100755 index 0000000..cb1befb Binary files /dev/null and b/ui/marker.png differ diff --git a/ui/marker.png.import b/ui/marker.png.import new file mode 100755 index 0000000..b8624e8 --- /dev/null +++ b/ui/marker.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bk1pt4mxas77o" +path="res://.godot/imported/marker.png-c3705909188c95dc356f4aed5808d545.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/marker.png" +dest_files=["res://.godot/imported/marker.png-c3705909188c95dc356f4aed5808d545.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/ui/protag_image.tres b/ui/protag_image.tres new file mode 100755 index 0000000..d004828 --- /dev/null +++ b/ui/protag_image.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://ccmd0wjfrdx0f"] + +[ext_resource type="Texture2D" uid="uid://dsxk6ix7sotmi" path="res://sprites/player/player_stand_strip4.png" id="1_dvgde"] + +[resource] +atlas = ExtResource("1_dvgde") +region = Rect2(10, 10, 14, 23) diff --git a/ui/slider.png b/ui/slider.png new file mode 100755 index 0000000..9a4fe22 Binary files /dev/null and b/ui/slider.png differ diff --git a/ui/slider.png.import b/ui/slider.png.import new file mode 100755 index 0000000..4c42920 --- /dev/null +++ b/ui/slider.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dinirupft5uhs" +path="res://.godot/imported/slider.png-4aaab0443ee997edf904938df9585ee2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/slider.png" +dest_files=["res://.godot/imported/slider.png-4aaab0443ee997edf904938df9585ee2.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/ui/slider_grabber.png b/ui/slider_grabber.png new file mode 100755 index 0000000..4b36c9b Binary files /dev/null and b/ui/slider_grabber.png differ diff --git a/ui/slider_grabber.png.import b/ui/slider_grabber.png.import new file mode 100755 index 0000000..9e84a2d --- /dev/null +++ b/ui/slider_grabber.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://crprk32g1mmrj" +path="res://.godot/imported/slider_grabber.png-eb124e65169988c16f7d5962d87762ad.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/slider_grabber.png" +dest_files=["res://.godot/imported/slider_grabber.png-eb124e65169988c16f7d5962d87762ad.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/ui/slot_theme.tres b/ui/slot_theme.tres new file mode 100755 index 0000000..ba5f610 --- /dev/null +++ b/ui/slot_theme.tres @@ -0,0 +1,15 @@ +[gd_resource type="Theme" load_steps=3 format=3 uid="uid://20l3de1ofd5e"] + +[ext_resource type="FontFile" uid="uid://qga7hxbgghco" path="res://fonts/Kenney Mini.ttf" id="1_sidyu"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ovn7s"] + +[resource] +Button/colors/font_color = Color(0.662452, 0.662452, 0.662452, 1) +Button/font_sizes/font_size = 16 +Button/fonts/font = ExtResource("1_sidyu") +Button/styles/disabled = SubResource("StyleBoxEmpty_ovn7s") +Button/styles/focus = SubResource("StyleBoxEmpty_ovn7s") +Button/styles/hover = SubResource("StyleBoxEmpty_ovn7s") +Button/styles/normal = SubResource("StyleBoxEmpty_ovn7s") +Button/styles/pressed = SubResource("StyleBoxEmpty_ovn7s") diff --git a/ui/splash.png b/ui/splash.png new file mode 100755 index 0000000..9ed4e09 Binary files /dev/null and b/ui/splash.png differ diff --git a/ui/splash.png.import b/ui/splash.png.import new file mode 100755 index 0000000..23afecf --- /dev/null +++ b/ui/splash.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dl708xax0net7" +path="res://.godot/imported/splash.png-408f9bd9f42eba055414b349938b0c03.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://ui/splash.png" +dest_files=["res://.godot/imported/splash.png-408f9bd9f42eba055414b349938b0c03.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