diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0001.png b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0001.png new file mode 100644 index 0000000..da9b5bb Binary files /dev/null and b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0001.png differ diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0001.png.import b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0001.png.import new file mode 100644 index 0000000..0975be1 --- /dev/null +++ b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0001.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/spookydance0001.png-191a7380662abc819296f51b520ed834.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0001.png" +dest_files=[ "res://.import/spookydance0001.png-191a7380662abc819296f51b520ed834.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0002.png b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0002.png new file mode 100644 index 0000000..da9b5bb Binary files /dev/null and b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0002.png differ diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0002.png.import b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0002.png.import new file mode 100644 index 0000000..3f3f386 --- /dev/null +++ b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0002.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/spookydance0002.png-7166191521a541d4a6a0785ceab0486d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0002.png" +dest_files=[ "res://.import/spookydance0002.png-7166191521a541d4a6a0785ceab0486d.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0003.png b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0003.png new file mode 100644 index 0000000..235b494 Binary files /dev/null and b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0003.png differ diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0003.png.import b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0003.png.import new file mode 100644 index 0000000..1d36447 --- /dev/null +++ b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0003.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/spookydance0003.png-94f3a8d0331868226435236185af89e6.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0003.png" +dest_files=[ "res://.import/spookydance0003.png-94f3a8d0331868226435236185af89e6.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0004.png b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0004.png new file mode 100644 index 0000000..235b494 Binary files /dev/null and b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0004.png differ diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0004.png.import b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0004.png.import new file mode 100644 index 0000000..5a04534 --- /dev/null +++ b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0004.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/spookydance0004.png-9a34a37c7b1f74a305818368247d6212.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0004.png" +dest_files=[ "res://.import/spookydance0004.png-9a34a37c7b1f74a305818368247d6212.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0005.png b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0005.png new file mode 100644 index 0000000..cd58e7b Binary files /dev/null and b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0005.png differ diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0005.png.import b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0005.png.import new file mode 100644 index 0000000..882d72d --- /dev/null +++ b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0005.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/spookydance0005.png-0b4f5cef6cfdde5d930d320e0f09c730.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0005.png" +dest_files=[ "res://.import/spookydance0005.png-0b4f5cef6cfdde5d930d320e0f09c730.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0006.png b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0006.png new file mode 100644 index 0000000..cd58e7b Binary files /dev/null and b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0006.png differ diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0006.png.import b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0006.png.import new file mode 100644 index 0000000..08ce8f5 --- /dev/null +++ b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0006.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/spookydance0006.png-0c04d466410a894f0e66dca3bebd276d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0006.png" +dest_files=[ "res://.import/spookydance0006.png-0c04d466410a894f0e66dca3bebd276d.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0007.png b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0007.png new file mode 100644 index 0000000..c74f810 Binary files /dev/null and b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0007.png differ diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0007.png.import b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0007.png.import new file mode 100644 index 0000000..e05bd48 --- /dev/null +++ b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0007.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/spookydance0007.png-640eeed513c932016b8e3d48b76116e9.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0007.png" +dest_files=[ "res://.import/spookydance0007.png-640eeed513c932016b8e3d48b76116e9.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0008.png b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0008.png new file mode 100644 index 0000000..c74f810 Binary files /dev/null and b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0008.png differ diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0008.png.import b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0008.png.import new file mode 100644 index 0000000..e1900ea --- /dev/null +++ b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0008.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/spookydance0008.png-8db32da266a674c4cf36be4a60d0d95e.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0008.png" +dest_files=[ "res://.import/spookydance0008.png-8db32da266a674c4cf36be4a60d0d95e.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0009.png b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0009.png new file mode 100644 index 0000000..68855eb Binary files /dev/null and b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0009.png differ diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0009.png.import b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0009.png.import new file mode 100644 index 0000000..798628d --- /dev/null +++ b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0009.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/spookydance0009.png-e5b118a9886667ce2083185c8612fce3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0009.png" +dest_files=[ "res://.import/spookydance0009.png-e5b118a9886667ce2083185c8612fce3.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0010.png b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0010.png new file mode 100644 index 0000000..68855eb Binary files /dev/null and b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0010.png differ diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0010.png.import b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0010.png.import new file mode 100644 index 0000000..d00471b --- /dev/null +++ b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0010.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/spookydance0010.png-215d57d8235015d3588ec9595bb32bb5.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0010.png" +dest_files=[ "res://.import/spookydance0010.png-215d57d8235015d3588ec9595bb32bb5.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0011.png b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0011.png new file mode 100644 index 0000000..e05f704 Binary files /dev/null and b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0011.png differ diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0011.png.import b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0011.png.import new file mode 100644 index 0000000..e2b6c38 --- /dev/null +++ b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0011.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/spookydance0011.png-905251030c92310413af1abb265c325d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0011.png" +dest_files=[ "res://.import/spookydance0011.png-905251030c92310413af1abb265c325d.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0012.png b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0012.png new file mode 100644 index 0000000..e05f704 Binary files /dev/null and b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0012.png differ diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0012.png.import b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0012.png.import new file mode 100644 index 0000000..4717314 --- /dev/null +++ b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0012.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/spookydance0012.png-d70d07a6c3b35a493c4d4efa5efbaca1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0012.png" +dest_files=[ "res://.import/spookydance0012.png-d70d07a6c3b35a493c4d4efa5efbaca1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0013.png b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0013.png new file mode 100644 index 0000000..cd58e7b Binary files /dev/null and b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0013.png differ diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0013.png.import b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0013.png.import new file mode 100644 index 0000000..5ff201e --- /dev/null +++ b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0013.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/spookydance0013.png-fd747da7a0ec2b480eb235994e44e117.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0013.png" +dest_files=[ "res://.import/spookydance0013.png-fd747da7a0ec2b480eb235994e44e117.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0014.png b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0014.png new file mode 100644 index 0000000..cd58e7b Binary files /dev/null and b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0014.png differ diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0014.png.import b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0014.png.import new file mode 100644 index 0000000..3caa6b5 --- /dev/null +++ b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0014.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/spookydance0014.png-af56df9ce86d6695dc4acc706584acd9.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0014.png" +dest_files=[ "res://.import/spookydance0014.png-af56df9ce86d6695dc4acc706584acd9.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0015.png b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0015.png new file mode 100644 index 0000000..c74f810 Binary files /dev/null and b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0015.png differ diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0015.png.import b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0015.png.import new file mode 100644 index 0000000..ab11b29 --- /dev/null +++ b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0015.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/spookydance0015.png-bf1b0e3cfc87658d2b479af85c3be03b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0015.png" +dest_files=[ "res://.import/spookydance0015.png-bf1b0e3cfc87658d2b479af85c3be03b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0016.png b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0016.png new file mode 100644 index 0000000..c74f810 Binary files /dev/null and b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0016.png differ diff --git a/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0016.png.import b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0016.png.import new file mode 100644 index 0000000..331e49f --- /dev/null +++ b/Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0016.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/spookydance0016.png-f4d8cb5c06e76e6133c8a5eb9db04f2b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0016.png" +dest_files=[ "res://.import/spookydance0016.png-f4d8cb5c06e76e6133c8a5eb9db04f2b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Menus/Backgrounds/menuBGwhite.png b/Assets/Menus/Backgrounds/menuBGwhite.png new file mode 100644 index 0000000..5d3feae Binary files /dev/null and b/Assets/Menus/Backgrounds/menuBGwhite.png differ diff --git a/Assets/Menus/Backgrounds/menuBGwhite.png.import b/Assets/Menus/Backgrounds/menuBGwhite.png.import new file mode 100644 index 0000000..28706cc --- /dev/null +++ b/Assets/Menus/Backgrounds/menuBGwhite.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/menuBGwhite.png-bf3252082080288b2a6c5271132f86ec.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Menus/Backgrounds/menuBGwhite.png" +dest_files=[ "res://.import/menuBGwhite.png-bf3252082080288b2a6c5271132f86ec.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Songs/south/Inst.ogg b/Assets/Songs/south/Inst.ogg new file mode 100644 index 0000000..5f42cdd Binary files /dev/null and b/Assets/Songs/south/Inst.ogg differ diff --git a/Assets/Songs/south/Inst.ogg.import b/Assets/Songs/south/Inst.ogg.import new file mode 100644 index 0000000..233c492 --- /dev/null +++ b/Assets/Songs/south/Inst.ogg.import @@ -0,0 +1,15 @@ +[remap] + +importer="ogg_vorbis" +type="AudioStreamOGGVorbis" +path="res://.import/Inst.ogg-0aa5ba17e560e553e35e0b0a30ec2778.oggstr" + +[deps] + +source_file="res://Assets/Songs/south/Inst.ogg" +dest_files=[ "res://.import/Inst.ogg-0aa5ba17e560e553e35e0b0a30ec2778.oggstr" ] + +[params] + +loop=false +loop_offset=0 diff --git a/Assets/Songs/south/Voices.ogg b/Assets/Songs/south/Voices.ogg new file mode 100644 index 0000000..58ebbff Binary files /dev/null and b/Assets/Songs/south/Voices.ogg differ diff --git a/Assets/Songs/south/Voices.ogg.import b/Assets/Songs/south/Voices.ogg.import new file mode 100644 index 0000000..586bb9c --- /dev/null +++ b/Assets/Songs/south/Voices.ogg.import @@ -0,0 +1,15 @@ +[remap] + +importer="ogg_vorbis" +type="AudioStreamOGGVorbis" +path="res://.import/Voices.ogg-3e3c00cca25ccbd47d710141c6815ec8.oggstr" + +[deps] + +source_file="res://Assets/Songs/south/Voices.ogg" +dest_files=[ "res://.import/Voices.ogg-3e3c00cca25ccbd47d710141c6815ec8.oggstr" ] + +[params] + +loop=false +loop_offset=0 diff --git a/Assets/Songs/south/south-easy.json b/Assets/Songs/south/south-easy.json new file mode 100644 index 0000000..ad67986 --- /dev/null +++ b/Assets/Songs/south/south-easy.json @@ -0,0 +1 @@ +{"song":{"song":"South","bpm":165.0,"needsVoices":true,"player1":"bf","player2":"spooky","speed":1.1,"notes":[{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[11636.3633,3,0.0],[12000.0,3,0.0],[12363.6367,0,0.0],[12727.2725,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[13090.9092,0,0.0],[13454.5449,1,0.0],[13818.1816,3,0.0],[14000.0,3,0.0],[14181.8184,3,181.818176]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[14545.4541,3,0.0],[14909.0908,3,0.0],[15272.7275,3,0.0],[15636.3633,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[16000.0,0,0.0],[16363.6357,0,0.0],[16727.2734,2,0.0],[17090.9082,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[17454.5449,3,0.0],[17818.1816,3,0.0],[18181.8184,0,0.0],[18545.4551,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[18909.09,0,0.0],[19272.7266,1,0.0],[19636.3633,3,0.0],[19818.1816,3,0.0],[20000.0,3,181.818176]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[20363.6367,3,0.0],[20727.2734,3,0.0],[21090.9082,3,0.0],[21454.5449,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[21818.1816,0,0.0],[22181.8184,0,0.0],[22545.4551,2,0.0],[22909.09,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[23272.7266,2,0.0],[23636.3633,0,0.0],[23818.1816,0,0.0],[24000.0,2,0.0],[24363.6367,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[24727.2734,2,0.0],[25090.9082,2,0.0],[25454.5449,2,0.0],[25818.1816,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[26181.8184,0,0.0],[26545.4551,0,0.0],[26727.2734,0,0.0],[26909.09,3,0.0],[27272.7266,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[27636.3633,2,0.0],[28000.0,2,0.0],[28363.6367,2,0.0],[28545.4551,3,0.0],[28727.2715,0,0.0],[28909.09,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[29090.9082,2,0.0],[29454.5449,0,0.0],[29636.3633,0,0.0],[29818.1816,2,0.0],[30181.8184,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[30545.4551,2,0.0],[30909.09,2,0.0],[31272.7266,2,0.0],[31636.3633,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[32000.0,0,0.0],[32363.6367,0,0.0],[32545.4551,0,0.0],[32727.2715,3,0.0],[33090.91,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[33454.5469,2,0.0],[33818.18,2,0.0],[34181.8164,2,0.0],[34363.6367,3,0.0],[34545.4531,0,0.0],[34727.2734,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[34909.09,2,0.0],[35090.91,3,0.0],[35272.7266,0,0.0],[35454.5469,2,0.0],[35636.3633,3,0.0],[35818.18,0,0.0],[36000.0,2,0.0],[36181.8164,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[36363.6367,0,0.0],[36545.4531,2,0.0],[36727.2734,3,0.0],[36909.09,0,0.0],[37090.91,0,0.0],[37454.5469,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[37818.18,2,0.0],[38000.0,3,0.0],[38181.8164,0,0.0],[38363.6367,2,0.0],[38545.4531,3,0.0],[38727.2734,0,0.0],[38909.09,2,0.0],[39090.91,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[39272.7266,0,0.0],[39636.3633,3,0.0],[39818.18,0,0.0],[40000.0,0,0.0],[40363.6367,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[40727.2734,2,0.0],[40909.09,3,0.0],[41090.91,0,0.0],[41272.7266,2,0.0],[41454.5469,3,0.0],[41636.3633,0,0.0],[41818.18,2,0.0],[42000.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[42181.8164,0,0.0],[42363.6367,2,0.0],[42545.4531,3,0.0],[42727.2734,0,0.0],[42909.09,0,0.0],[43272.7266,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[43636.3633,2,0.0],[43818.18,3,0.0],[44000.0,0,0.0],[44181.8164,2,0.0],[44363.6367,3,0.0],[44545.4531,0,0.0],[44727.2734,2,0.0],[44909.09,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[45090.91,0,0.0],[45454.5469,3,0.0],[45636.3633,0,0.0],[45818.18,0,0.0],[46181.8164,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[46545.4531,0,0.0],[46909.09,1,0.0],[47090.91,0,0.0],[47454.5469,1,0.0],[47636.3633,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[48000.0,0,0.0],[48181.8164,2,0.0],[48363.6367,3,0.0],[48545.4531,0,0.0],[48727.2734,3,0.0],[48909.09,2,0.0],[49090.91,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[49454.5469,0,0.0],[49818.18,3,0.0],[50000.0,0,0.0],[50363.6367,3,0.0],[50545.4531,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[50909.09,1,0.0],[51272.7266,0,0.0],[51454.5469,3,0.0],[51636.3633,2,0.0],[52000.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[52363.6367,0,0.0],[52727.2734,1,0.0],[52909.09,0,0.0],[53272.7266,1,0.0],[53454.5469,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[53818.18,0,0.0],[54000.0,2,0.0],[54181.8164,3,0.0],[54363.6367,0,0.0],[54545.4531,3,0.0],[54727.2734,2,0.0],[54909.09,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[55272.7266,0,0.0],[55636.3633,3,0.0],[55818.18,0,0.0],[56181.8164,3,0.0],[56363.6367,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[56727.2734,1,0.0],[57090.91,0,0.0],[57272.7266,3,0.0],[57454.543,4,0.0],[57454.543,2,0.0],[57636.3633,7,0.0],[57818.18,5,0.0],[57818.18,0,0.0],[58000.0,7,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[58181.8164,3,0.0],[58545.4531,3,0.0],[58909.09,0,0.0],[59272.7266,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[59636.3633,0,0.0],[60000.0,1,0.0],[60363.6367,3,0.0],[60545.4531,3,0.0],[60727.2734,3,181.818176]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[61090.91,3,0.0],[61454.543,3,0.0],[61818.18,2,0.0],[62181.8164,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[62545.4531,0,0.0],[62909.09,0,0.0],[63272.7266,2,0.0],[63272.7266,4,0.0],[63454.543,7,0.0],[63636.3633,0,0.0],[63636.3633,5,0.0],[63818.18,7,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[64000.0,3,0.0],[64363.6367,3,0.0],[64727.2734,0,0.0],[65090.91,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[65454.543,0,0.0],[65818.18,1,0.0],[66181.82,3,0.0],[66363.63,3,0.0],[66545.45,3,181.818176]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[66909.09,3,0.0],[67272.73,3,0.0],[67636.36,2,0.0],[68000.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[68363.63,0,0.0],[68727.27,0,0.0],[69090.91,2,0.0],[69454.55,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[69818.18,2,0.0],[70181.82,0,0.0],[70363.63,0,0.0],[70545.45,2,0.0],[70909.09,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[71272.73,2,0.0],[71636.36,2,0.0],[72000.0,2,0.0],[72363.63,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[72727.27,0,0.0],[73090.91,0,0.0],[73272.73,0,0.0],[73454.55,3,0.0],[73818.18,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[74181.82,2,0.0],[74545.45,2,0.0],[74909.09,2,0.0],[75090.91,3,0.0],[75272.73,0,0.0],[75454.55,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[75636.36,2,0.0],[76000.0,0,0.0],[76181.82,0,0.0],[76363.63,2,0.0],[76727.27,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[77090.91,2,0.0],[77454.55,2,0.0],[77818.18,2,0.0],[78181.82,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[78545.45,0,0.0],[78909.09,0,0.0],[79090.91,0,0.0],[79272.73,3,0.0],[79636.36,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[80000.0,2,0.0],[80363.63,2,0.0],[80727.27,2,0.0],[80909.09,3,0.0],[81090.91,0,0.0],[81272.73,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]}]},"generatedBy":"SNIFF ver.6"} \ No newline at end of file diff --git a/Assets/Songs/south/south-hard.json b/Assets/Songs/south/south-hard.json new file mode 100644 index 0000000..fbc6a0d --- /dev/null +++ b/Assets/Songs/south/south-hard.json @@ -0,0 +1 @@ +{"song":{"song":"South","bpm":165.0,"needsVoices":true,"player1":"bf","player2":"spooky","speed":2.2,"notes":[{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[11636.3633,3,0.0],[12000.0,3,0.0],[12363.6367,0,0.0],[12545.4541,3,0.0],[12727.2725,2,0.0],[12909.0908,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[13090.9092,0,0.0],[13454.5449,1,0.0],[13818.1816,3,0.0],[14000.0,3,0.0],[14181.8184,3,181.818176]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[14545.4541,3,0.0],[14909.0908,3,0.0],[15272.7275,3,0.0],[15454.5449,2,0.0],[15636.3633,0,0.0],[15818.1816,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[16000.0,0,0.0],[16363.6357,0,0.0],[16727.2734,2,0.0],[17090.9082,0,0.0],[17272.7266,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[17454.5449,3,0.0],[17818.1816,3,0.0],[18181.8184,0,0.0],[18363.6367,3,0.0],[18545.4551,2,0.0],[18727.2734,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[18909.09,0,0.0],[19272.7266,1,0.0],[19636.3633,3,0.0],[19818.1816,3,0.0],[20000.0,3,181.818176]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[20363.6367,3,0.0],[20727.2734,3,0.0],[21090.9082,3,0.0],[21272.7266,2,0.0],[21454.5449,0,0.0],[21636.3633,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[21818.1816,0,0.0],[22181.8184,0,0.0],[22545.4551,2,0.0],[22909.09,0,0.0],[23090.9082,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[23272.7266,2,0.0],[23454.5449,1,0.0],[23636.3633,0,0.0],[23818.1816,0,0.0],[23909.09,3,0.0],[24000.0,2,0.0],[24181.8184,0,0.0],[24363.6367,2,0.0],[24545.4551,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[24727.2734,2,0.0],[25090.9082,2,0.0],[25454.5449,2,0.0],[25636.3633,1,0.0],[25818.1816,0,0.0],[26000.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[26181.8184,0,0.0],[26545.4551,0,0.0],[26727.2734,0,0.0],[26818.1816,2,0.0],[26909.09,3,0.0],[27090.9082,0,0.0],[27272.7266,1,0.0],[27454.5449,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[27636.3633,2,0.0],[28000.0,2,0.0],[28363.6367,2,0.0],[28545.4551,3,0.0],[28727.2715,0,0.0],[28909.09,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[29090.9082,2,0.0],[29272.7266,1,0.0],[29454.5449,0,0.0],[29636.3633,0,0.0],[29727.2715,3,0.0],[29818.1816,2,0.0],[30000.0,0,0.0],[30181.8184,2,0.0],[30363.6367,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[30545.4551,2,0.0],[30909.09,2,0.0],[31272.7266,2,0.0],[31454.5449,1,0.0],[31636.3633,0,0.0],[31818.1816,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[32000.0,0,0.0],[32363.6367,0,0.0],[32545.4551,0,0.0],[32636.3633,2,0.0],[32727.2715,3,0.0],[32909.09,0,0.0],[33090.91,1,0.0],[33272.7266,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[33454.5469,2,0.0],[33818.18,2,0.0],[34181.8164,2,0.0],[34363.6367,3,0.0],[34545.4531,0,0.0],[34727.2734,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[34909.09,2,0.0],[35090.91,3,0.0],[35272.7266,0,0.0],[35454.5469,2,0.0],[35636.3633,3,0.0],[35818.18,0,0.0],[36000.0,2,0.0],[36181.8164,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[36363.6367,0,0.0],[36545.4531,2,0.0],[36727.2734,3,0.0],[36909.09,0,0.0],[37090.91,0,0.0],[37272.7266,3,0.0],[37454.5469,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[37818.18,2,0.0],[38000.0,3,0.0],[38181.8164,0,0.0],[38363.6367,2,0.0],[38545.4531,3,0.0],[38727.2734,0,0.0],[38909.09,2,0.0],[39090.91,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[39272.7266,0,0.0],[39454.5469,1,0.0],[39545.4531,1,0.0],[39636.3633,3,0.0],[39818.18,0,0.0],[40000.0,3,0.0],[40181.8164,0,0.0],[40363.6367,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[40727.2734,2,0.0],[40909.09,3,0.0],[41090.91,0,0.0],[41272.7266,2,0.0],[41454.5469,3,0.0],[41636.3633,0,0.0],[41818.18,2,0.0],[42000.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[42181.8164,0,0.0],[42363.6367,2,0.0],[42545.4531,3,0.0],[42727.2734,0,0.0],[42909.09,0,0.0],[43090.91,3,0.0],[43272.7266,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[43636.3633,2,0.0],[43818.18,3,0.0],[44000.0,0,0.0],[44181.8164,2,0.0],[44363.6367,3,0.0],[44545.4531,0,0.0],[44727.2734,2,0.0],[44909.09,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[45090.91,0,0.0],[45272.7266,1,0.0],[45363.6367,1,0.0],[45454.5469,3,0.0],[45636.3633,0,0.0],[45818.18,3,0.0],[46000.0,0,0.0],[46181.8164,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[46545.4531,0,0.0],[46818.18,3,0.0],[46909.09,1,0.0],[47090.91,0,0.0],[47272.7266,3,0.0],[47454.5469,1,0.0],[47636.3633,2,0.0],[47818.18,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[48000.0,0,0.0],[48181.8164,2,0.0],[48363.6367,3,0.0],[48545.4531,0,0.0],[48727.2734,3,0.0],[48909.09,2,0.0],[49090.91,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[49454.5469,0,0.0],[49545.4531,3,0.0],[49636.3633,2,0.0],[49818.18,3,0.0],[50000.0,0,0.0],[50181.8164,2,0.0],[50363.6367,3,0.0],[50545.4531,0,0.0],[50636.3633,3,0.0],[50727.2734,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[50909.09,1,0.0],[51090.91,1,0.0],[51181.8164,1,0.0],[51272.7266,0,0.0],[51454.5469,3,0.0],[51636.3633,2,0.0],[51818.18,3,0.0],[52000.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[52363.6367,0,0.0],[52636.3633,3,0.0],[52727.2734,1,0.0],[52909.09,0,0.0],[53090.91,3,0.0],[53272.7266,1,0.0],[53454.5469,2,0.0],[53636.3633,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[53818.18,0,0.0],[54000.0,2,0.0],[54181.8164,3,0.0],[54363.6367,0,0.0],[54545.4531,3,0.0],[54727.2734,2,0.0],[54909.09,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[55272.7266,0,0.0],[55363.6367,3,0.0],[55454.5469,2,0.0],[55636.3633,3,0.0],[55818.18,0,0.0],[56000.0,2,0.0],[56181.8164,3,0.0],[56363.6367,0,0.0],[56454.543,3,0.0],[56545.4531,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[56727.2734,1,0.0],[56909.09,1,0.0],[57000.0,1,0.0],[57090.91,0,0.0],[57272.7266,3,0.0],[57454.543,4,0.0],[57454.543,2,0.0],[57636.3633,3,0.0],[57636.3633,7,0.0],[57818.18,0,0.0],[57818.18,5,0.0],[58000.0,7,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[58181.8164,3,0.0],[58545.4531,3,0.0],[58727.2734,1,0.0],[58909.09,2,0.0],[59090.91,0,0.0],[59272.7266,1,0.0],[59454.543,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[59636.3633,0,272.727264],[60000.0,2,0.0],[60363.6367,2,0.0],[60545.4531,2,0.0],[60727.2734,2,181.818176]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[61090.91,2,0.0],[61454.543,2,0.0],[61636.3633,3,0.0],[61818.18,1,0.0],[62000.0,0,0.0],[62181.8164,3,0.0],[62363.6367,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[62545.4531,0,0.0],[62909.09,0,0.0],[63272.7266,2,0.0],[63272.7266,4,0.0],[63454.543,7,0.0],[63636.3633,0,0.0],[63636.3633,5,0.0],[63818.18,3,0.0],[63818.18,7,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[64000.0,3,0.0],[64363.6367,3,0.0],[64545.4531,1,0.0],[64727.2734,2,0.0],[64909.09,0,0.0],[65090.91,1,0.0],[65272.7266,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[65454.543,0,272.727264],[65818.18,2,0.0],[66181.82,2,0.0],[66363.63,2,0.0],[66545.45,2,181.818176]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[66909.09,2,0.0],[67272.73,2,0.0],[67454.55,3,0.0],[67636.36,1,0.0],[67818.18,0,0.0],[68000.0,3,0.0],[68181.82,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[68363.63,0,0.0],[68727.27,0,0.0],[69090.91,2,0.0],[69454.55,0,0.0],[69636.36,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[69818.18,2,0.0],[70000.0,3,0.0],[70181.82,0,0.0],[70363.63,3,0.0],[70454.55,2,0.0],[70545.45,0,0.0],[70727.27,3,0.0],[70909.09,2,0.0],[71090.91,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[71272.73,2,0.0],[71636.36,2,0.0],[71818.18,0,0.0],[72000.0,2,0.0],[72181.82,3,0.0],[72363.63,0,0.0],[72545.45,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[72727.27,0,0.0],[73090.91,0,0.0],[73272.73,0,0.0],[73363.63,3,0.0],[73454.55,2,0.0],[73636.36,3,0.0],[73818.18,2,0.0],[74000.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[74181.82,2,0.0],[74363.63,3,0.0],[74545.45,2,0.0],[74727.27,0,0.0],[74909.09,1,0.0],[75090.91,3,0.0],[75272.73,0,0.0],[75454.55,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[75636.36,2,0.0],[75818.18,3,0.0],[76000.0,0,0.0],[76181.82,3,0.0],[76272.73,2,0.0],[76363.63,0,0.0],[76545.45,3,0.0],[76727.27,2,0.0],[76909.09,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[77090.91,2,0.0],[77454.55,2,0.0],[77636.36,0,0.0],[77818.18,2,0.0],[78000.0,3,0.0],[78181.82,0,0.0],[78363.63,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[78545.45,0,0.0],[78909.09,0,0.0],[79090.91,0,0.0],[79181.82,3,0.0],[79272.73,2,0.0],[79454.55,3,0.0],[79636.36,2,0.0],[79818.18,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[80000.0,2,0.0],[80181.82,3,0.0],[80363.63,2,0.0],[80545.45,0,0.0],[80727.27,1,0.0],[80909.09,3,0.0],[81090.91,0,0.0],[81272.73,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]}]},"generatedBy":"SNIFF ver.6"} \ No newline at end of file diff --git a/Assets/Songs/south/south.json b/Assets/Songs/south/south.json new file mode 100644 index 0000000..14feb01 --- /dev/null +++ b/Assets/Songs/south/south.json @@ -0,0 +1 @@ +{"song":{"song":"South","bpm":165.0,"needsVoices":true,"player1":"bf","player2":"spooky","speed":1.5,"notes":[{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[11636.3633,3,0.0],[12000.0,3,0.0],[12363.6367,0,0.0],[12545.4541,3,0.0],[12727.2725,2,0.0],[12909.0908,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[13090.9092,0,0.0],[13454.5449,1,0.0],[13818.1816,3,0.0],[14000.0,3,0.0],[14181.8184,3,181.818176]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[14545.4541,3,0.0],[14909.0908,3,0.0],[15272.7275,3,0.0],[15454.5449,2,0.0],[15636.3633,0,0.0],[15818.1816,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[16000.0,0,0.0],[16363.6357,0,0.0],[16727.2734,2,0.0],[17090.9082,0,0.0],[17272.7266,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[17454.5449,3,0.0],[17818.1816,3,0.0],[18181.8184,0,0.0],[18363.6367,3,0.0],[18545.4551,2,0.0],[18727.2734,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[18909.09,0,0.0],[19272.7266,1,0.0],[19636.3633,3,0.0],[19818.1816,3,0.0],[20000.0,3,181.818176]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[20363.6367,3,0.0],[20727.2734,3,0.0],[21090.9082,3,0.0],[21272.7266,2,0.0],[21454.5449,0,0.0],[21636.3633,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[21818.1816,0,0.0],[22181.8184,0,0.0],[22545.4551,2,0.0],[22909.09,0,0.0],[23090.9082,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[23272.7266,2,0.0],[23454.5449,1,0.0],[23636.3633,0,0.0],[23818.1816,0,0.0],[23909.09,3,0.0],[24000.0,2,0.0],[24181.8184,0,0.0],[24363.6367,2,0.0],[24545.4551,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[24727.2734,2,0.0],[25090.9082,2,0.0],[25454.5449,2,0.0],[25636.3633,1,0.0],[25818.1816,0,0.0],[26000.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[26181.8184,0,0.0],[26545.4551,0,0.0],[26727.2734,0,0.0],[26818.1816,2,0.0],[26909.09,3,0.0],[27090.9082,0,0.0],[27272.7266,1,0.0],[27454.5449,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[27636.3633,2,0.0],[28000.0,2,0.0],[28363.6367,2,0.0],[28545.4551,3,0.0],[28727.2715,0,0.0],[28909.09,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[29090.9082,2,0.0],[29272.7266,1,0.0],[29454.5449,0,0.0],[29636.3633,0,0.0],[29727.2715,3,0.0],[29818.1816,2,0.0],[30000.0,0,0.0],[30181.8184,2,0.0],[30363.6367,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[30545.4551,2,0.0],[30909.09,2,0.0],[31272.7266,2,0.0],[31454.5449,1,0.0],[31636.3633,0,0.0],[31818.1816,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[32000.0,0,0.0],[32363.6367,0,0.0],[32545.4551,0,0.0],[32636.3633,2,0.0],[32727.2715,3,0.0],[32909.09,0,0.0],[33090.91,1,0.0],[33272.7266,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[33454.5469,2,0.0],[33818.18,2,0.0],[34181.8164,2,0.0],[34363.6367,3,0.0],[34545.4531,0,0.0],[34727.2734,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[34909.09,2,0.0],[35090.91,3,0.0],[35272.7266,0,0.0],[35454.5469,2,0.0],[35636.3633,3,0.0],[35818.18,0,0.0],[36000.0,2,0.0],[36181.8164,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[36363.6367,0,0.0],[36545.4531,2,0.0],[36727.2734,3,0.0],[36909.09,0,0.0],[37090.91,0,0.0],[37272.7266,3,0.0],[37454.5469,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[37818.18,2,0.0],[38000.0,3,0.0],[38181.8164,0,0.0],[38363.6367,2,0.0],[38545.4531,3,0.0],[38727.2734,0,0.0],[38909.09,2,0.0],[39090.91,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[39272.7266,0,0.0],[39454.5469,1,0.0],[39636.3633,3,0.0],[39818.18,0,0.0],[40000.0,3,0.0],[40181.8164,0,0.0],[40363.6367,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[40727.2734,2,0.0],[40909.09,3,0.0],[41090.91,0,0.0],[41272.7266,2,0.0],[41454.5469,3,0.0],[41636.3633,0,0.0],[41818.18,2,0.0],[42000.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[42181.8164,0,0.0],[42363.6367,2,0.0],[42545.4531,3,0.0],[42727.2734,0,0.0],[42909.09,0,0.0],[43090.91,3,0.0],[43272.7266,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[43636.3633,2,0.0],[43818.18,3,0.0],[44000.0,0,0.0],[44181.8164,2,0.0],[44363.6367,3,0.0],[44545.4531,0,0.0],[44727.2734,2,0.0],[44909.09,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[45090.91,0,0.0],[45272.7266,1,0.0],[45454.5469,3,0.0],[45636.3633,0,0.0],[45818.18,3,0.0],[46000.0,0,0.0],[46181.8164,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[46545.4531,0,0.0],[46818.18,3,0.0],[46909.09,1,0.0],[47090.91,0,0.0],[47272.7266,3,0.0],[47454.5469,1,0.0],[47636.3633,2,0.0],[47818.18,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[48000.0,0,0.0],[48181.8164,2,0.0],[48363.6367,3,0.0],[48545.4531,0,0.0],[48727.2734,3,0.0],[48909.09,2,0.0],[49090.91,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[49454.5469,0,0.0],[49545.4531,3,0.0],[49636.3633,2,0.0],[49818.18,3,0.0],[50000.0,0,0.0],[50181.8164,2,0.0],[50363.6367,3,0.0],[50545.4531,0,0.0],[50636.3633,3,0.0],[50727.2734,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[50909.09,1,0.0],[51090.91,1,0.0],[51272.7266,0,0.0],[51454.5469,3,0.0],[51636.3633,2,0.0],[51818.18,3,0.0],[52000.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[52363.6367,0,0.0],[52636.3633,3,0.0],[52727.2734,1,0.0],[52909.09,0,0.0],[53090.91,3,0.0],[53272.7266,1,0.0],[53454.5469,2,0.0],[53636.3633,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[53818.18,0,0.0],[54000.0,2,0.0],[54181.8164,3,0.0],[54363.6367,0,0.0],[54545.4531,3,0.0],[54727.2734,2,0.0],[54909.09,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[55272.7266,0,0.0],[55363.6367,3,0.0],[55454.5469,2,0.0],[55636.3633,3,0.0],[55818.18,0,0.0],[56000.0,2,0.0],[56181.8164,3,0.0],[56363.6367,0,0.0],[56454.543,3,0.0],[56545.4531,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[56727.2734,1,0.0],[56909.09,1,0.0],[57090.91,0,0.0],[57272.7266,3,0.0],[57454.543,4,0.0],[57454.543,2,0.0],[57636.3633,7,0.0],[57636.3633,3,0.0],[57818.18,5,0.0],[57818.18,0,0.0],[58000.0,7,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[58181.8164,3,0.0],[58545.4531,3,0.0],[58727.2734,1,0.0],[58909.09,2,0.0],[59090.91,0,0.0],[59272.7266,1,0.0],[59454.543,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[59636.3633,0,272.727264],[60000.0,2,0.0],[60363.6367,2,0.0],[60545.4531,2,0.0],[60727.2734,2,181.818176]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[61090.91,2,0.0],[61454.543,2,0.0],[61636.3633,3,0.0],[61818.18,1,0.0],[62000.0,0,0.0],[62181.8164,3,0.0],[62363.6367,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[62545.4531,0,0.0],[62909.09,0,0.0],[63272.7266,4,0.0],[63272.7266,2,0.0],[63454.543,7,0.0],[63636.3633,5,0.0],[63636.3633,0,0.0],[63818.18,7,0.0],[63818.18,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[64000.0,3,0.0],[64363.6367,3,0.0],[64545.4531,1,0.0],[64727.2734,2,0.0],[64909.09,0,0.0],[65090.91,1,0.0],[65272.7266,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[65454.543,0,272.727264],[65818.18,2,0.0],[66181.82,2,0.0],[66363.63,2,0.0],[66545.45,2,181.818176]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[66909.09,2,0.0],[67272.73,2,0.0],[67454.55,3,0.0],[67636.36,1,0.0],[67818.18,0,0.0],[68000.0,3,0.0],[68181.82,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[68363.63,0,0.0],[68727.27,0,0.0],[69090.91,2,0.0],[69454.55,0,0.0],[69636.36,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[69818.18,2,0.0],[70000.0,3,0.0],[70181.82,0,0.0],[70363.63,3,0.0],[70454.55,2,0.0],[70545.45,0,0.0],[70727.27,3,0.0],[70909.09,2,0.0],[71090.91,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[71272.73,2,0.0],[71636.36,2,0.0],[71818.18,0,0.0],[72000.0,2,0.0],[72181.82,3,0.0],[72363.63,0,0.0],[72545.45,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[72727.27,0,0.0],[73090.91,0,0.0],[73272.73,0,0.0],[73363.63,3,0.0],[73454.55,2,0.0],[73636.36,3,0.0],[73818.18,2,0.0],[74000.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[74181.82,2,0.0],[74363.63,3,0.0],[74545.45,2,0.0],[74727.27,0,0.0],[74909.09,1,0.0],[75090.91,3,0.0],[75272.73,0,0.0],[75454.55,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[75636.36,2,0.0],[75818.18,3,0.0],[76000.0,0,0.0],[76181.82,3,0.0],[76272.73,2,0.0],[76363.63,0,0.0],[76545.45,3,0.0],[76727.27,2,0.0],[76909.09,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[77090.91,2,0.0],[77454.55,2,0.0],[77636.36,0,0.0],[77818.18,2,0.0],[78000.0,3,0.0],[78181.82,0,0.0],[78363.63,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[78545.45,0,0.0],[78909.09,0,0.0],[79090.91,0,0.0],[79181.82,3,0.0],[79272.73,2,0.0],[79454.55,3,0.0],[79636.36,2,0.0],[79818.18,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[80000.0,2,0.0],[80181.82,3,0.0],[80363.63,2,0.0],[80545.45,0,0.0],[80727.27,1,0.0],[80909.09,3,0.0],[81090.91,0,0.0],[81272.73,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]}]},"generatedBy":"SNIFF ver.6"} \ No newline at end of file diff --git a/Assets/Songs/spookeez/Inst.ogg b/Assets/Songs/spookeez/Inst.ogg new file mode 100644 index 0000000..e14fd8b Binary files /dev/null and b/Assets/Songs/spookeez/Inst.ogg differ diff --git a/Assets/Songs/spookeez/Inst.ogg.import b/Assets/Songs/spookeez/Inst.ogg.import new file mode 100644 index 0000000..3cbb692 --- /dev/null +++ b/Assets/Songs/spookeez/Inst.ogg.import @@ -0,0 +1,15 @@ +[remap] + +importer="ogg_vorbis" +type="AudioStreamOGGVorbis" +path="res://.import/Inst.ogg-0f73667610c5c1bb3c31ba2fd0ee82b6.oggstr" + +[deps] + +source_file="res://Assets/Songs/spookeez/Inst.ogg" +dest_files=[ "res://.import/Inst.ogg-0f73667610c5c1bb3c31ba2fd0ee82b6.oggstr" ] + +[params] + +loop=false +loop_offset=0 diff --git a/Assets/Songs/spookeez/Voices.ogg b/Assets/Songs/spookeez/Voices.ogg new file mode 100644 index 0000000..1429044 Binary files /dev/null and b/Assets/Songs/spookeez/Voices.ogg differ diff --git a/Assets/Songs/spookeez/Voices.ogg.import b/Assets/Songs/spookeez/Voices.ogg.import new file mode 100644 index 0000000..209f555 --- /dev/null +++ b/Assets/Songs/spookeez/Voices.ogg.import @@ -0,0 +1,15 @@ +[remap] + +importer="ogg_vorbis" +type="AudioStreamOGGVorbis" +path="res://.import/Voices.ogg-2532829c8839cf545a8280338c15584d.oggstr" + +[deps] + +source_file="res://Assets/Songs/spookeez/Voices.ogg" +dest_files=[ "res://.import/Voices.ogg-2532829c8839cf545a8280338c15584d.oggstr" ] + +[params] + +loop=false +loop_offset=0 diff --git a/Assets/Songs/spookeez/spookeez-easy.json b/Assets/Songs/spookeez/spookeez-easy.json new file mode 100644 index 0000000..71ff2ad --- /dev/null +++ b/Assets/Songs/spookeez/spookeez-easy.json @@ -0,0 +1 @@ +{"song":{"player1":"bf","notes":[{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[6400,0,0],[6799.99951,3,0],[7199.99951,3,0],[7599.99951,2,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[7999.99951,1,0],[8400,3,0],[8800,2,0],[9200,0,0],[9400,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[9600,0,0],[10000,3,0],[10400,3,0],[10800,2,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[11200,1,0],[11600,3,0],[12000,2,0],[12400,0,0],[12600,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[12800,2,0],[13199.999,0,0],[13599.999,2,0],[13799.999,0,0],[13999.999,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[14399.999,1,0],[14799.999,3,0],[15199.999,1,0],[15600,2,0,2]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[15999.999,2,0],[16400,0,0],[16800,2,0],[17000,0,0],[17200,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[17600,1,0],[18000,3,0],[18400,1,0],[18800,4,0],[18800,2,0,2]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[19200,2,0],[19400,1,0],[19600,3,0],[20000,3,0],[20300,3,0],[20600,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[20800,2,0],[21000,1,0],[21200,3,0],[21600,3,0],[21900,1,0],[22200,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[22400,2,0],[22600,1,0],[22800,3,0],[23200,3,0],[23500,3,0],[23800,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[24000,2,0],[24200,1,0],[24400,3,0],[24800,2,0],[25200,4,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[25600,2,0],[25799.998,1,0],[25999.998,3,0],[26399.998,3,0],[26699.998,3,0],[26999.998,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[27199.998,2,0],[27399.998,1,0],[27599.998,3,0],[27999.998,3,0],[28299.998,1,0],[28599.998,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[28799.998,2,0],[28999.998,1,0],[29199.998,3,0],[29599.998,3,0],[29899.998,3,0],[30199.998,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[30399.998,2,0],[30599.998,1,0],[30799.998,3,0],[31199.998,2,0],[31599.998,7,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[31999.998,0,0],[32399.998,3,0],[32800,3,0],[33200,2,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[33600,1,0],[34000,3,0],[34400,2,0],[34800,0,0],[35000,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[35200,0,0],[35600,3,0],[36000,3,0],[36400,2,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[36800,1,0],[37200,3,0],[37600,2,0],[38000,0,0],[38200,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[38400,2,0],[38800,0,0],[39200,2,0],[39400,0,0],[39600,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[40000,1,0],[40400,3,0],[40800,1,0],[41200,2,0,2]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[41600,2,0],[42000,0,0],[42400,2,0],[42600,0,0],[42800,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[43200,1,0],[43600,3,0],[44000,1,0],[44400,4,0],[44600,7,0],[44400,2,0,2]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[44800,2,0],[45000,0,0],[45200,3,0],[45600,3,0],[45900,3,0],[46200,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[46400,2,0],[46600,0,0],[46800,3,0],[47200,1,0],[47600,0,0],[47800,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[48000,2,0],[48200,0,0],[48400,3,0],[48800,3,0],[49100,3,0],[49400,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[49600,2,0],[49800,0,0],[50000,3,0],[50400,3,0],[50800,4,0],[51000,7,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[51200,2,0],[51399.9961,0,0],[51599.9961,3,0],[51999.9961,3,0],[52299.9961,3,0],[52599.9961,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[52799.9961,2,0],[52999.9961,0,0],[53199.9961,3,0],[53599.9961,1,0],[53999.9961,0,0],[54199.9961,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[54399.9961,2,0],[54599.9961,0,0],[54799.9961,3,0],[55199.9961,3,0],[55499.9961,3,0],[55799.9961,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[55999.9961,2,0],[56199.9961,0,0],[56399.9961,3,0],[56799.9961,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[57599.9961,2,300],[57999.9961,3,300],[58399.9961,1,300],[58799.9961,2,300]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[59199.9961,2,300],[59599.9961,0,300],[59999.9961,1,300],[60399.9961,2,300]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[60799.9961,1,0],[61399.9961,3,0],[61799.9961,3,0],[61999.9961,0,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[62399.9961,1,0],[62999.9961,3,0],[63399.9961,3,0],[63599.9961,0,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[63999.9961,2,300],[64399.9961,3,300],[64799.9961,1,300],[65199.9961,2,300]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[65600,2,300],[66000,0,300],[66400,1,300],[66800,2,300]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[67200,1,0],[67800,3,0],[68200,3,0],[68400,0,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[68800,4,300],[68800,1,0],[69200,5,300],[69400,3,0],[69600,7,300],[69800,3,0],[70000,5,300],[70000,0,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[70400,2,0],[70600,2,0],[71000,2,0],[71400,3,0],[71600,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[72000,2,0],[72200,2,0],[72600,2,0],[73000,3,0],[73200,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[73600,2,0],[73800,2,0],[74200,2,0],[74600,3,0],[74800,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[75200,4,300],[75200,2,0],[75400,2,0],[75600,5,300],[75800,2,0],[76000,7,300],[76200,3,0],[76400,5,300],[76400,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[76800,2,0],[77000,2,0],[77400,2,0],[77800,3,0],[78000,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[78400,2,0],[78600,2,0],[79000,2,0],[79400,3,0],[79600,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[80000,2,0],[80200,2,0],[80600,2,0],[81000,3,0],[81200,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[81600,4,300],[81600,2,0],[81800,2,0],[82000,5,300],[82200,2,0],[82400,7,300],[82600,3,0],[82800,5,300],[82800,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[83200,2,0],[83400,2,0],[83800,2,0],[84200,3,0],[84400,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[84800,2,0],[85000,2,0],[85400,2,0],[85800,3,0],[86000,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[86400,2,0],[86600,2,0],[87000,2,0],[87400,3,0],[87600,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[88000,4,300],[88000,2,0],[88200,2,0],[88400,5,300],[88600,2,0],[88800,7,300],[89000,3,0],[89200,5,300],[89200,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[89600,2,0],[89800,2,0],[90200,2,0],[90600,3,0],[90800,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[91200,2,0],[91400,2,0],[91800,2,0],[92200,3,0],[92400,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[92800,2,0],[93000,2,0],[93400,2,0],[93800,3,0],[94000,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[94400,2,0],[94600,2,0],[95000,2,0],[95400,3,0],[95600,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"lengthInSteps":16,"altAnim":false,"typeOfSection":0,"sectionNotes":[],"bpm":150,"changeBPM":false,"mustHitSection":true}],"player2":"spooky","song":"Spookeez","validScore":true,"needsVoices":true,"speed":1,"bpm":150}} \ No newline at end of file diff --git a/Assets/Songs/spookeez/spookeez-hard.json b/Assets/Songs/spookeez/spookeez-hard.json new file mode 100644 index 0000000..a3f3ffc --- /dev/null +++ b/Assets/Songs/spookeez/spookeez-hard.json @@ -0,0 +1 @@ +{"song":{"player1":"bf","notes":[{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[6400,0,0],[6599.99951,1,0],[6799.99951,3,0],[7199.99951,3,0],[7599.99951,2,0],[7799.99951,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[7999.99951,1,0],[8200,3,0],[8400,3,0],[8800,2,0],[9200,0,0],[9400,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[9600,0,0],[9800,1,0],[10000,3,0],[10400,3,0],[10800,2,0],[11000,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[11200,1,0],[11400,3,0],[11600,3,0],[12000,2,0],[12400,0,0],[12600,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[12800,2,0],[12999.999,3,0],[13099.999,1,0],[13199.999,0,0],[13399.999,0,0],[13599.999,2,0],[13799.999,3,0],[13999.999,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[14399.999,1,0],[14599.999,0,0],[14699.999,1,0],[14799.999,3,0],[14999.999,3,0],[15199.999,0,0],[15399.999,0,0],[15600,2,0,2]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[15999.999,2,0],[16199.999,3,0],[16299.999,1,0],[16400,0,0],[16600,0,0],[16800,2,0],[17000,3,0],[17200,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[17600,1,0],[17800,0,0],[17900,1,0],[18000,3,0],[18200,3,0],[18400,0,0],[18600,0,0],[18800,4,0],[19000,7,0],[18800,2,0,2]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[19200,2,0],[19400,3,0],[19500,1,0],[19600,3,0],[20000,3,0],[20300,3,0],[20600,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[20800,2,0],[21000,0,0],[21100,1,0],[21200,3,0],[21600,3,0],[21900,1,0],[22000,3,0],[22200,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[22400,2,0],[22600,3,0],[22700,1,0],[22800,3,0],[23200,3,0],[23500,3,0],[23800,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[24000,2,0],[24200,0,0],[24300,1,0],[24400,3,0],[24800,1,0],[25200,2,0],[25200,4,0],[25400,2,0],[25400,7,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[25600,2,0],[25799.998,3,0],[25899.998,1,0],[25999.998,3,0],[26399.998,3,0],[26699.998,3,0],[26999.998,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[27199.998,2,0],[27399.998,0,0],[27499.998,1,0],[27599.998,3,0],[27999.998,3,0],[28299.998,1,0],[28399.998,3,0],[28599.998,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[28799.998,2,0],[28999.998,3,0],[29099.998,1,0],[29199.998,3,0],[29599.998,3,0],[29899.998,3,0],[30199.998,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[30399.998,2,0],[30599.998,0,0],[30699.998,1,0],[30799.998,3,0],[31199.998,1,0],[31599.998,2,0],[31599.998,7,0],[31799.998,2,0],[31799.998,5,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[31999.998,0,0],[32199.998,1,0],[32399.998,3,0],[32800,3,0],[33200,2,0],[33400,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[33600,1,0],[33800,3,0],[34000,3,0],[34400,2,0],[34800,0,0],[35000,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[35200,0,0],[35400,1,0],[35600,3,0],[36000,3,0],[36400,2,0],[36600,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[36800,1,0],[37000,3,0],[37200,3,0],[37600,2,0],[38000,0,0],[38200,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[38400,2,0],[38600,3,0],[38700,1,0],[38800,0,0],[39000,0,0],[39200,2,0],[39400,3,0],[39600,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[40000,1,0],[40200,0,0],[40300,1,0],[40400,3,0],[40600,3,0],[40800,0,0],[41000,0,0],[41200,2,0,2]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[41600,2,0],[41800,3,0],[41900,1,0],[42000,0,0],[42200,0,0],[42400,2,0],[42600,3,0],[42800,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[43200,1,0],[43400,0,0],[43500,1,0],[43600,3,0],[43800,3,0],[44000,0,0],[44200,0,0],[44400,4,0],[44600,7,0],[44400,2,0,2]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[44800,2,0],[45000,3,0],[45100,1,0],[45200,3,0],[45500,3,0],[45600,3,0],[45900,3,0],[46200,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[46400,2,0],[46600,0,0],[46700,1,0],[46800,3,0],[47100,3,0],[47200,1,0],[47400,0,0],[47500,2,0],[47600,3,0],[47800,3,0],[47900,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[48000,2,0],[48200,3,0],[48300,1,0],[48400,3,0],[48800,3,0],[49100,3,0],[49400,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[49600,2,0],[49800,0,0],[49900,1,0],[50000,3,0],[50400,3,0],[50800,4,0],[51000,7,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[51200,2,0],[51399.9961,3,0],[51499.9961,1,0],[51599.9961,3,0],[51899.9961,3,0],[51999.9961,3,0],[52299.9961,3,0],[52599.9961,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[52799.9961,2,0],[52999.9961,0,0],[53099.9961,1,0],[53199.9961,3,0],[53499.9961,3,0],[53599.9961,1,0],[53799.9961,0,0],[53899.9961,2,0],[53999.9961,3,0],[54199.9961,3,0],[54299.9961,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[54399.9961,2,0],[54599.9961,3,0],[54699.9961,1,0],[54799.9961,3,0],[55199.9961,3,0],[55499.9961,3,0],[55799.9961,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[55999.9961,2,0],[56199.9961,0,0],[56299.9961,1,0],[56399.9961,3,0],[56799.9961,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[57599.9961,2,300],[57999.9961,3,300],[58399.9961,1,300],[58799.9961,2,300]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[59199.9961,2,100],[59399.9961,3,100],[59599.9961,0,300],[59999.9961,1,300],[60399.9961,2,300]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[60799.9961,1,0],[61199.9961,1,0],[61399.9961,3,0],[61799.9961,3,0],[61999.9961,0,0],[62199.9961,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[62399.9961,1,0],[62799.9961,1,0],[62999.9961,3,0],[63399.9961,3,0],[63599.9961,0,0],[63799.9961,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[63999.9961,2,300],[64399.9961,3,300],[64799.9961,1,300],[65199.9961,2,300]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[65600,2,100],[65800,3,100],[66000,0,300],[66400,1,300],[66800,2,300]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[67200,1,0],[67600,1,0],[67800,3,0],[68200,3,0],[68400,0,0],[68600,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[68800,4,300],[68800,1,0],[69200,5,300],[69200,1,0],[69400,3,0],[69600,7,300],[69800,3,0],[70000,5,300],[70000,0,0],[70200,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[70400,2,0],[70600,2,0],[70800,3,0],[71000,2,0],[71400,3,0],[71600,1,0],[71800,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[72000,2,0],[72200,2,0],[72400,3,0],[72600,2,0],[73000,3,0],[73200,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[73600,2,0],[73800,2,0],[74000,3,0],[74200,2,0],[74600,3,0],[74800,1,0],[75000,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[75200,2,0],[75200,4,300],[75400,2,0],[75600,3,0],[75600,5,300],[75800,2,0],[76000,7,300],[76200,3,0],[76400,1,0],[76400,5,300]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[76800,2,0],[77000,2,0],[77200,3,0],[77400,2,0],[77800,3,0],[78000,1,0],[78200,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[78400,2,0],[78600,2,0],[78800,3,0],[79000,2,0],[79400,3,0],[79600,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[80000,2,0],[80200,2,0],[80400,3,0],[80600,2,0],[81000,3,0],[81200,1,0],[81400,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[81600,2,0],[81600,4,300],[81800,2,0],[82000,3,0],[82000,5,300],[82200,2,0],[82400,7,300],[82600,3,0],[82800,1,0],[82800,5,300]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[83200,2,0],[83400,2,0],[83600,3,0],[83800,2,0],[84200,3,0],[84400,1,0],[84600,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[84800,2,0],[85000,2,0],[85200,3,0],[85400,2,0],[85800,3,0],[86000,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[86400,2,0],[86600,2,0],[86800,3,0],[87000,2,0],[87400,3,0],[87600,1,0],[87800,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[88000,2,0],[88000,4,300],[88200,2,0],[88400,3,0],[88400,5,300],[88600,2,0],[88800,7,300],[89000,3,0],[89200,1,0],[89200,5,300]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[89600,2,0],[89800,2,0],[90000,3,0],[90200,2,0],[90600,3,0],[90800,1,0],[91000,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[91200,2,0],[91400,2,0],[91600,3,0],[91800,2,0],[92200,3,0],[92400,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[92800,2,0],[93000,2,0],[93200,3,0],[93400,2,0],[93800,3,0],[94000,1,0],[94200,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[94400,2,0],[94600,2,0],[94800,3,0],[95000,2,0],[95400,3,0],[95600,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"lengthInSteps":16,"altAnim":false,"typeOfSection":0,"sectionNotes":[],"bpm":150,"changeBPM":false,"mustHitSection":true}],"player2":"spooky","song":"Spookeez","validScore":true,"needsVoices":true,"speed":2.4,"bpm":150}} \ No newline at end of file diff --git a/Assets/Songs/spookeez/spookeez.json b/Assets/Songs/spookeez/spookeez.json new file mode 100644 index 0000000..567ad2d --- /dev/null +++ b/Assets/Songs/spookeez/spookeez.json @@ -0,0 +1 @@ +{"song":{"player1":"bf","notes":[{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[6400,0,0],[6799.99951,3,0],[7199.99951,3,0],[7599.99951,2,0],[7799.99951,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[7999.99951,1,0],[8400,3,0],[8800,2,0],[9200,0,0],[9400,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[9600,0,0],[10000,3,0],[10400,3,0],[10800,2,0],[11000,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[11200,1,0],[11600,3,0],[12000,2,0],[12400,0,0],[12600,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[12800,2,0],[12999.999,1,0],[13199.999,0,0],[13399.999,0,0],[13599.999,2,0],[13799.999,3,0],[13999.999,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[14399.999,1,0],[14599.999,0,0],[14799.999,3,0],[14999.999,3,0],[15199.999,0,0],[15399.999,0,0],[15600,2,0,2]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[15999.999,2,0],[16199.999,1,0],[16400,0,0],[16600,0,0],[16800,2,0],[17000,3,0],[17200,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[17600,1,0],[17800,0,0],[18000,3,0],[18200,3,0],[18400,0,0],[18600,0,0],[18800,4,0],[19000,7,0],[18800,2,0,2]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[19200,2,0],[19400,0,0],[19600,3,0],[20000,3,0],[20300,3,0],[20600,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[20800,2,0],[21000,3,0],[21200,3,0],[21600,3,0],[21900,1,0],[22200,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[22400,2,0],[22600,0,0],[22800,3,0],[23200,3,0],[23500,3,0],[23800,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[24000,2,0],[24200,3,0],[24400,3,0],[24800,1,0],[25200,4,0],[25200,2,0],[25400,7,0],[25400,2,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[25600,2,0],[25799.998,0,0],[25999.998,3,0],[26399.998,3,0],[26699.998,3,0],[26999.998,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[27199.998,2,0],[27399.998,3,0],[27599.998,3,0],[27999.998,3,0],[28299.998,1,0],[28599.998,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[28799.998,2,0],[28999.998,0,0],[29199.998,3,0],[29599.998,3,0],[29899.998,3,0],[30199.998,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[30399.998,2,0],[30599.998,3,0],[30799.998,3,0],[31199.998,1,0],[31599.998,7,0],[31599.998,2,0],[31799.998,5,0],[31799.998,2,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[31999.998,0,0],[32399.998,3,0],[32800,3,0],[33200,2,0],[33400,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[33600,1,0],[34000,3,0],[34400,2,0],[34800,0,0],[35000,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[35200,0,0],[35600,3,0],[36000,3,0],[36400,2,0],[36600,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[36800,1,0],[37200,3,0],[37600,2,0],[38000,0,0],[38200,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[38400,2,0],[38600,1,0],[38800,0,0],[39000,0,0],[39200,2,0],[39400,3,0],[39600,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[40000,1,0],[40200,0,0],[40400,3,0],[40600,3,0],[40800,0,0],[41000,0,0],[41200,2,0,2]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[41600,2,0],[41800,1,0],[42000,0,0],[42200,0,0],[42400,2,0],[42600,3,0],[42800,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[43200,1,0],[43400,0,0],[43600,3,0],[43800,3,0],[44000,0,0],[44200,0,0],[44400,4,0],[44600,7,0],[44400,2,0,2]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[44800,2,0],[45000,0,0],[45200,3,0],[45500,3,0],[45600,3,0],[45900,3,0],[46200,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[46400,2,0],[46600,3,0],[46800,3,0],[47100,3,0],[47200,1,0],[47600,3,0],[47800,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[48000,2,0],[48200,0,0],[48400,3,0],[48800,3,0],[49100,3,0],[49400,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[49600,2,0],[49800,3,0],[50000,3,0],[50400,3,0],[50800,4,0],[51000,7,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[51200,2,0],[51399.9961,0,0],[51599.9961,3,0],[51899.9961,3,0],[51999.9961,3,0],[52299.9961,3,0],[52599.9961,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[52799.9961,2,0],[52999.9961,3,0],[53199.9961,3,0],[53499.9961,3,0],[53599.9961,1,0],[53999.9961,3,0],[54199.9961,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[54399.9961,2,0],[54599.9961,0,0],[54799.9961,3,0],[55199.9961,3,0],[55499.9961,3,0],[55799.9961,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[55999.9961,2,0],[56199.9961,3,0],[56399.9961,3,0],[56799.9961,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[57599.9961,2,300],[57999.9961,3,300],[58399.9961,1,300],[58799.9961,2,300]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[59199.9961,2,100],[59399.9961,3,100],[59599.9961,0,300],[59999.9961,1,300],[60399.9961,2,300]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[60799.9961,1,0],[61199.9961,1,0],[61399.9961,3,0],[61799.9961,3,0],[61999.9961,0,0],[62199.9961,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[62399.9961,1,0],[62799.9961,1,0],[62999.9961,3,0],[63399.9961,3,0],[63599.9961,0,0],[63799.9961,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[63999.9961,2,300],[64399.9961,3,300],[64799.9961,1,300],[65199.9961,2,300]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[65600,2,100],[65800,3,100],[66000,0,300],[66400,1,300],[66800,2,300]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[67200,1,0],[67600,1,0],[67800,3,0],[68200,3,0],[68400,0,0],[68600,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[68800,4,300],[68800,1,0],[69200,5,300],[69200,1,0],[69400,3,0],[69600,7,300],[69800,3,0],[70000,5,300],[70000,0,0],[70200,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[70400,2,0],[70600,2,0],[70800,3,0],[71000,2,0],[71400,3,0],[71600,1,0],[71800,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[72000,2,0],[72200,2,0],[72400,3,0],[72600,2,0],[73000,3,0],[73200,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[73600,2,0],[73800,2,0],[74000,3,0],[74200,2,0],[74600,3,0],[74800,1,0],[75000,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[75200,4,300],[75200,2,0],[75400,2,0],[75600,5,300],[75600,3,0],[75800,2,0],[76000,7,300],[76200,3,0],[76400,5,300],[76400,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[76800,2,0],[77000,2,0],[77200,3,0],[77400,2,0],[77800,3,0],[78000,1,0],[78200,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[78400,2,0],[78600,2,0],[78800,3,0],[79000,2,0],[79400,3,0],[79600,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[80000,2,0],[80200,2,0],[80400,3,0],[80600,2,0],[81000,3,0],[81200,1,0],[81400,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[81600,4,300],[81600,2,0],[81800,2,0],[82000,5,300],[82000,3,0],[82200,2,0],[82400,7,300],[82600,3,0],[82800,5,300],[82800,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[83200,2,0],[83400,2,0],[83600,3,0],[83800,2,0],[84200,3,0],[84400,1,0],[84600,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[84800,2,0],[85000,2,0],[85200,3,0],[85400,2,0],[85800,3,0],[86000,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[86400,2,0],[86600,2,0],[86800,3,0],[87000,2,0],[87400,3,0],[87600,1,0],[87800,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[88000,4,300],[88000,2,0],[88200,2,0],[88400,5,300],[88400,3,0],[88600,2,0],[88800,7,300],[89000,3,0],[89200,5,300],[89200,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[89600,2,0],[89800,2,0],[90000,3,0],[90200,2,0],[90600,3,0],[90800,1,0],[91000,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[91200,2,0],[91400,2,0],[91600,3,0],[91800,2,0],[92200,3,0],[92400,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[92800,2,0],[93000,2,0],[93200,3,0],[93400,2,0],[93800,3,0],[94000,1,0],[94200,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[94400,2,0],[94600,2,0],[94800,3,0],[95000,2,0],[95400,3,0],[95600,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"lengthInSteps":16,"altAnim":false,"typeOfSection":0,"sectionNotes":[],"bpm":150,"changeBPM":false,"mustHitSection":true}],"player2":"spooky","song":"Spookeez","validScore":true,"needsVoices":true,"speed":1.7,"bpm":150}} \ No newline at end of file diff --git a/Assets/Stages/Backgrounds/Spooky_BG/spooky_bg.png b/Assets/Stages/Backgrounds/Spooky_BG/spooky_bg.png new file mode 100644 index 0000000..6fc84a1 Binary files /dev/null and b/Assets/Stages/Backgrounds/Spooky_BG/spooky_bg.png differ diff --git a/Assets/Stages/Backgrounds/Spooky_BG/spooky_bg.png.import b/Assets/Stages/Backgrounds/Spooky_BG/spooky_bg.png.import new file mode 100644 index 0000000..0b40f26 --- /dev/null +++ b/Assets/Stages/Backgrounds/Spooky_BG/spooky_bg.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/spooky_bg.png-4857f6100894483fda6ee6aa558ba846.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Stages/Backgrounds/Spooky_BG/spooky_bg.png" +dest_files=[ "res://.import/spooky_bg.png-4857f6100894483fda6ee6aa558ba846.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Assets/Stages/Characters/SpookyKids/spooky_sheet.png b/Assets/Stages/Characters/SpookyKids/spooky_sheet.png new file mode 100644 index 0000000..04a9c00 Binary files /dev/null and b/Assets/Stages/Characters/SpookyKids/spooky_sheet.png differ diff --git a/Assets/Stages/Characters/SpookyKids/spooky_sheet.png.import b/Assets/Stages/Characters/SpookyKids/spooky_sheet.png.import new file mode 100644 index 0000000..97ce1b8 --- /dev/null +++ b/Assets/Stages/Characters/SpookyKids/spooky_sheet.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/spooky_sheet.png-4be60b904fd5a3ac827e3b02e59d4662.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Stages/Characters/SpookyKids/spooky_sheet.png" +dest_files=[ "res://.import/spooky_sheet.png-4be60b904fd5a3ac827e3b02e59d4662.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/AutoLoads/MusicController.gd b/AutoLoads/MusicController.gd index 09151e1..7385b5a 100644 --- a/AutoLoads/MusicController.gd +++ b/AutoLoads/MusicController.gd @@ -4,7 +4,7 @@ signal beat_hit() signal half_beat_hit() const SCROLL_DISTANCE = 1.6 # units -const SCROLL_TIME = 6.80 # sec +const SCROLL_TIME = 5.50 # sec const COUNTDOWN_SOUNDS = [preload("res://Assets/Stages/RhythmSystem/countdown/intro3.ogg"), preload("res://Assets/Stages/RhythmSystem/countdown/intro2.ogg"), @@ -75,7 +75,7 @@ func _process(delta): var countdownMulti = ((countdown / (bpm / 60)) * 2) songPositionMulti = MusicStream.get_playback_position() - countdownMulti - if (menuSong): + if (menuSong and MusicController.playing): beat_process(delta) song_finished_check() @@ -133,6 +133,8 @@ func play_chart(song, difficulty, speed = 1): if (songData["needsVoices"]): VocalStream.stream = load(songPath + "/Voices.ogg") VocalStream.pitch_scale = song_speed + else: + VocalStream.stream = null countdown = 2.8 useCountdown = true @@ -144,11 +146,9 @@ func play_chart(song, difficulty, speed = 1): func change_bpm(newBpm, newScrollSpeed = null): bpm = float(newBpm) - beatCounter = 0 - halfBeatCounter = 1 + beatCounter = 1 if (newScrollSpeed != null): scroll_speed = newScrollSpeed - beat_process(0) func create_notes(): notesFinished = false @@ -168,7 +168,7 @@ func create_notes(): sections.append(sectionData) for note in section["sectionNotes"]: - var strum_time = note[0] / 1000 + var strum_time = (note[0] + Settings.offset) / 1000 var sustain_length = int(note[2]) / 1000.0 var direction = int(note[1]) @@ -236,16 +236,16 @@ func countdown_process(delta): play_countdown_sound(stream, COUNTDOWN_SOUNDS[0]) "3": play_countdown_sound(stream, COUNTDOWN_SOUNDS[1]) - countdownSprite.frame = 0 countdownSprite.visible = true + countdownSprite.frame = 0 "2": play_countdown_sound(stream, COUNTDOWN_SOUNDS[2]) - countdownSprite.frame = 1 countdownSprite.visible = true + countdownSprite.frame = 1 "1": play_countdown_sound(stream, COUNTDOWN_SOUNDS[3]) - countdownSprite.frame = 2 countdownSprite.visible = true + countdownSprite.frame = 2 if (countdown <= 0): start_song() @@ -262,9 +262,10 @@ func start_song(): change_bpm(bpm) func play_countdown_sound(stream, snd): - if (stream.stream != snd): - stream.stream = snd - stream.play() + if (stream != null or snd != null): + if (stream.stream != snd): + stream.stream = snd + stream.play() func beat_process(delta): beatCounter -= ((bpm / 60) * song_speed) * delta @@ -279,7 +280,7 @@ func beat_process(delta): halfBeatCounter = 0 func song_finished_check(): - if (!MusicStream.playing): + if (MusicStream.get_playback_position() >= MusicStream.stream.get_length() ): if Resources.StoryMode: if get_tree().current_scene.name == "PlayState" and countingDown == false and h == false and menuSong == false: h = true @@ -301,19 +302,14 @@ func stop_song(): MusicStream.stop() VocalStream.stop() VocalStream.stream = null + menuSong = false + useCountdown = false beat_process(0) func load_song_json(song, difExt="", songPath = null): if (songPath == null): songPath = "res://Assets/Songs/" + song + "/" var file = File.new() - if file.file_exists(songPath + song + difExt + ".json"): - print("Yez") - else: - print("no") - print(songPath + song + difExt + ".json") - var o = file.open(songPath + song + difExt + ".json", File.READ) - if o != OK: - print("sad") + file.open(songPath + song + difExt + ".json", File.READ) return JSON.parse(file.get_as_text()).result["song"] diff --git a/AutoLoads/PauseMenuController.gd b/AutoLoads/PauseMenuController.gd index f4a92f8..cd98f0c 100644 --- a/AutoLoads/PauseMenuController.gd +++ b/AutoLoads/PauseMenuController.gd @@ -4,28 +4,34 @@ var playState var selectedDifficulty = 2 var selectedSpeed = 1 -var difficultys = ["EASY", "NORMAL", "HARD"] -var options = ["RESUME", "RESTART SONG", "TOGGLE BOTPLAY", "OPTIONS", "EXIT TO TITLE"] +var inOptions = false + +var options = ["RESUME", "RESTART SONG", "OPTIONS", "EXIT TO TITLE"] func _ready(): - #var _c_loaded = get_tree().current_scene.connect("scene_loaded", self, "_scene_loaded") + var _c_loaded = connect("tree_entered", self, "_scene_loaded") playState = get_tree().current_scene - $CanvasLayer/Options.options = options + $CanvasLayer/PauseMenu/Options.options = options - var label = $CanvasLayer/Label + var label = $CanvasLayer/PauseMenu/Label $Tween.interpolate_property(label, "rect_position:y", -100, label.rect_position.y, 1.6, Tween.TRANS_QUAD, Tween.EASE_IN_OUT) $Tween.interpolate_property(label, "modulate:a", 0, 1, 1.6, Tween.TRANS_QUAD, Tween.EASE_IN_OUT) $Tween.start() + + $CanvasLayer/OptionsMenu.enabled = false func _process(_delta): if (get_tree().paused == false): queue_free() - + if (Input.is_action_just_pressed("cancel")): - get_tree().paused = false - + if (!inOptions): + get_tree().paused = false + elif (!$CanvasLayer/OptionsMenu/EditValue/ValueEdit.visible): + toggleOptions(false) + pause_text_process() func option_selected(selected): @@ -35,24 +41,37 @@ func option_selected(selected): 1: playState.restart_playstate() 2: - Resources.botPlay = !Resources.botPlay - 4: + toggleOptions(true) + 3: get_tree().paused = false - MusicController.stop_song() - Resources.reset_resource_data() - SceneLoader.Load("res://Scenes/Menus/StoryModeMenu.tscn") + if (Resources.StoryWeek): + Resources.reset_resource_data() + SceneLoader.Load("res://Scenes/Menus/StoryModeMenu.tscn") + else: + SceneLoader.Load("res://Scenes/Menus/Freeplay.tscn") func pause_text_process(): var pauseText = playState.song.capitalize() + "\n" + playState.difficulty.to_upper() + "\n" + str(playState.speed) + "x" - match ($CanvasLayer/Options.selected): - 2: - pauseText = str(Resources.botPlay).to_upper() - - $CanvasLayer/Label.text = pauseText - -# not sure what this does so ima just comment it out lmao -#func _scene_loaded(): -# get_tree().paused = false + $CanvasLayer/PauseMenu/Label.text = pauseText +func _scene_loaded(): + get_tree().paused = false +func toggleOptions(enable): + if (enable): + inOptions = true + + $CanvasLayer/OptionsMenu.enabled = true + $CanvasLayer/OptionsMenu.visible = true + + $CanvasLayer/PauseMenu/Options.enabled = false + $CanvasLayer/PauseMenu.visible = false + else: + inOptions = false + + $CanvasLayer/OptionsMenu.enabled = false + $CanvasLayer/OptionsMenu.visible = false + + $CanvasLayer/PauseMenu/Options.enabled = true + $CanvasLayer/PauseMenu.visible = true diff --git a/AutoLoads/PauseMenuController.tscn b/AutoLoads/PauseMenuController.tscn index 965a5d2..5d4cf31 100644 --- a/AutoLoads/PauseMenuController.tscn +++ b/AutoLoads/PauseMenuController.tscn @@ -1,18 +1,16 @@ -[gd_scene load_steps=6 format=2] +[gd_scene load_steps=7 format=2] [ext_resource path="res://AutoLoads/PauseMenuController.gd" type="Script" id=1] [ext_resource path="res://Assets/Menus/Music&Sounds/breakfast.ogg" type="AudioStream" id=2] [ext_resource path="res://Assets/Fonts/font.tres" type="DynamicFont" id=3] [ext_resource path="res://Assets/Menus/Music&Sounds/fard.wav" type="AudioStream" id=4] [ext_resource path="res://Scenes/Nodes/ChoiceMenu.tscn" type="PackedScene" id=5] +[ext_resource path="res://Scenes/Nodes/OptionsMenu.tscn" type="PackedScene" id=6] [node name="PauseMenu" type="Node2D"] pause_mode = 2 script = ExtResource( 1 ) -[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] -stream = ExtResource( 2 ) - [node name="CanvasLayer" type="CanvasLayer" parent="."] layer = 3 @@ -24,7 +22,9 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Label" type="Label" parent="CanvasLayer"] +[node name="PauseMenu" type="Node2D" parent="CanvasLayer"] + +[node name="Label" type="Label" parent="CanvasLayer/PauseMenu"] margin_left = 729.0 margin_top = 13.0 margin_right = 1268.0 @@ -37,7 +37,13 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Options" parent="CanvasLayer" instance=ExtResource( 5 )] +[node name="Options" parent="CanvasLayer/PauseMenu" instance=ExtResource( 5 )] + +[node name="OptionsMenu" parent="CanvasLayer" instance=ExtResource( 6 )] +visible = false + +[node name="launchbox" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 2 ) [node name="fard" type="AudioStreamPlayer" parent="."] stream = ExtResource( 4 ) @@ -45,4 +51,4 @@ volume_db = -1.0 [node name="Tween" type="Tween" parent="."] -[connection signal="option_selected" from="CanvasLayer/Options" to="." method="option_selected"] +[connection signal="option_selected" from="CanvasLayer/PauseMenu/Options" to="." method="option_selected"] diff --git a/AutoLoads/Resources.gd b/AutoLoads/Resources.gd index bb24ec5..8df3773 100644 --- a/AutoLoads/Resources.gd +++ b/AutoLoads/Resources.gd @@ -18,17 +18,7 @@ var Alert:Resource var first_button_hover:Resource var first_button_selected:Resource var first_done:Resource -# Settings -var botPlay = false # plays the players side automatically -var ghostTapping = false # allows the player to press keys without the miss penalty -var hitSounds = true # play a sound when the player hits a note -var hudRatings = false # display ratings on the hud layer -var hudRatingsOffset = Vector2(640, 360) # if its a hud rating, move it by this offset - -var middleScroll = false -var middleScrollPreview = false -var downScroll = false var StoryMode = false var StoryWeek = 0 var Track = "" @@ -46,6 +36,7 @@ func reset_resource_data(): Resources.Track_Length = 2 Resources.Week_Difficulty = "hard" + func loadResources(JsonContainingLocations = "res://Assets/JSON&Text_Files/ResourceLocations.json"): # you would do this in godot 4 # var json = JSON.new() diff --git a/AutoLoads/SceneLoader.gd b/AutoLoads/SceneLoader.gd index ad3a023..f4b1ed4 100644 --- a/AutoLoads/SceneLoader.gd +++ b/AutoLoads/SceneLoader.gd @@ -9,8 +9,19 @@ signal done onready var animationplayer = $CanvasLayer/AnimationPlayer # warnings-disable const STAGES = { - "stage": preload("res://Scenes/Stages/Week0.tscn") + "stage": preload("res://Scenes/Stages/Week0.tscn"), + "halloween": preload("res://Scenes/Stages/Spooky.tscn") } +const CHARACTERS = { +# "test": preload("res://Scenes/Objects/Character.tscn"), + "bf": preload("res://Scenes/Characters/Boyfriend.tscn"), + "gf": preload("res://Scenes/Characters/Girlfriend.tscn"), + "dad": preload("res://Scenes/Characters/Dad.tscn"), + "spooky": preload("res://Scenes/Characters/Spooky_Kids.tscn") +} +var difficultys = ["EASY", "NORMAL", "HARD"] +func _ready(): + pause_mode = Node.PAUSE_MODE_PROCESS func Load(param1): scene = param1 diff = "none" @@ -71,25 +82,39 @@ func ResetGame(): SoundController.Stop_all() SceneLoader.isweek = false Mapper.json = "" -func change_playstate(song, difficulty, speed = 1, stage = null): - print(difficulty) - print(song) +func change_playstate(song, difficulty, speed = 1): var json = MusicController.load_song_json(song) - var scene - if (stage == null): - var songStage = "stage" - if (json.has(["stage"]) && STAGES.has(json["stage"])): - songStage = json["stage"] - - scene = STAGES[songStage].instance() - print(scene) - else: - scene = load(scene).instance() + # get the stage + var scene + if (json.has("stage") && STAGES.has(json["stage"])): + scene = STAGES[json["stage"]].instance() + + # get the players + var player1 + var player2 + if (json.has("player1") && CHARACTERS.has(json["player1"])): + player1 = CHARACTERS[json["player1"]] + if (json.has("player2") && CHARACTERS.has(json["player2"])): + player2 = CHARACTERS[json["player2"]] + + if (scene == null): + match json["player2"]: + "spooky": + scene = STAGES["halloween"].instance() + print("yes indeed") + _: + scene = STAGES["stage"].instance() + print("No " + str(player2)) scene.song = song - print(scene.song) scene.difficulty = difficulty scene.speed = speed + if (player1 != null): + scene.PlayerCharacter = player1 + if (player2 != null): + scene.EnemyCharacter = player2 + scene.GFCharacter = CHARACTERS["gf"] + SceneLoader.Load_Playstate(scene) diff --git a/AutoLoads/Settings.gd b/AutoLoads/Settings.gd new file mode 100644 index 0000000..8d1eea1 --- /dev/null +++ b/AutoLoads/Settings.gd @@ -0,0 +1,74 @@ +extends Node + +var botPlay = false # plays the players side automatically +var ghostTapping = false # allows the player to press keys without the miss penalty +var hitSounds = false # play a sound when the player hits a note + +var hudRatings = false # display ratings on the hud layer +var hudRatingsOffset = Vector2(640, 360) # if its a hud rating, move it by this offset +var backgroundOpacity = 0 + +var middleScroll = false +var middleScrollPreview = false +var downScroll = false + +var cameraMovement = true + +var offset = 0 + +func _ready(): + load_settings() + +func save_settings(): + var file = ConfigFile.new() + + var propertys = get_script().get_script_property_list() + for property in propertys: + var propName = property["name"] + file.set_value("settings", propName, get(propName)) + + file.save("user://settings.ini") + + save_keybinds() + +func save_keybinds(): + var file = ConfigFile.new() + + var actions = InputMap.get_actions() + for action in actions: + var actionList = InputMap.get_action_list(action) + var lastKey = actionList[actionList.size()-1] + + if (lastKey is InputEventKey): + file.set_value("keybinds", action, actionList[actionList.size()-1].scancode) + + file.save("user://keybinds.ini") + +func load_settings(): + var file = ConfigFile.new() + var err = file.load("user://settings.ini") + + if err != OK: + return + + for key in file.get_section_keys("settings"): + set(key, file.get_value("settings", key, get(key))) + + load_keybinds() + +func load_keybinds(): + var file = ConfigFile.new() + var err = file.load("user://keybinds.ini") + + if err != OK: + return + + for action in file.get_section_keys("keybinds"): + var keys = InputMap.get_action_list(action) + var scancode = file.get_value("keybinds", action, keys[keys.size()-1].scancode) + + var key = InputEventKey.new() + key.set_scancode(scancode) + + InputMap.action_erase_event(action, keys[keys.size()-1]) + InputMap.action_add_event(action, key) diff --git a/Scenes/ARROWSYSTEM/StrumArrow.tscn b/Scenes/ARROWSYSTEM/StrumArrow.tscn index dfab3a4..595d212 100644 --- a/Scenes/ARROWSYSTEM/StrumArrow.tscn +++ b/Scenes/ARROWSYSTEM/StrumArrow.tscn @@ -74,12 +74,11 @@ script = ExtResource( 1 ) texture = ExtResource( 2 ) hframes = 6 vframes = 4 -frame = 5 region_rect = Rect2( 310, 234, 153, 157 ) [node name="AnimationPlayer" type="AnimationPlayer" parent="."] root_node = NodePath("../Sprite") -autoplay = "hit" +autoplay = "idle" anims/RESET = SubResource( 2 ) anims/hit = SubResource( 3 ) anims/idle = SubResource( 1 ) diff --git a/Scenes/Characters/Boyfriend.tscn b/Scenes/Characters/Boyfriend.tscn index f4c1a06..ad07d49 100644 --- a/Scenes/Characters/Boyfriend.tscn +++ b/Scenes/Characters/Boyfriend.tscn @@ -170,7 +170,7 @@ tracks/0/keys = { script = ExtResource( 2 ) camOffset = Vector2( 200, -200 ) iconSheet = ExtResource( 1 ) -characterColor = Color( 0.192157, 0.690196, 0.819608, 1 ) +characterColor = Color( 0.4, 1, 0.2, 1 ) [node name="Sprite" type="Sprite" parent="."] position = Vector2( 0, -152 ) diff --git a/Scenes/Characters/Character.gd b/Scenes/Characters/Character.gd index 1a7a98b..4d87270 100644 --- a/Scenes/Characters/Character.gd +++ b/Scenes/Characters/Character.gd @@ -57,20 +57,35 @@ func idle_dance(): $AnimationPlayer.stop() $AnimationPlayer.play(get_idle_anim()) else: - var bpmSpeed = 1 - if (idleDanceSpeed): - bpmSpeed = (MusicController.bpm / 150) - - if (lastIdleDance == "danceLEFT"): - $AnimationPlayer.play("danceRIGHT", -1, bpmSpeed) - elif (lastIdleDance == "danceRIGHT"): - $AnimationPlayer.play("danceLEFT", -1, bpmSpeed) + if ($AnimationPlayer.assigned_animation == "danceLEFT" || $AnimationPlayer.assigned_animation == "danceRIGHT"): + var bpmSpeed = 1 + if (idleDanceSpeed): + bpmSpeed = (MusicController.bpm * MusicController.song_speed) / 120 - lastIdleDance = $AnimationPlayer.assigned_animation + if (lastIdleDance == "danceLEFT"): + $AnimationPlayer.play("danceRIGHT", -1, bpmSpeed) + elif (lastIdleDance == "danceRIGHT"): + $AnimationPlayer.play("danceLEFT", -1, bpmSpeed) + + lastIdleDance = $AnimationPlayer.assigned_animation func _on_AnimationPlayer_animation_finished(anim_name): + if Engine.editor_hint: + return + if (anim_name != get_idle_anim()): - $AnimationPlayer.play(get_idle_anim(), -1, 1, true) + if (get_idle_anim() == "idle"): + $AnimationPlayer.play(get_idle_anim(), -1, 1, true) + else: + match (anim_name): + "singRIGHT": + $AnimationPlayer.play("danceRIGHT") + lastIdleDance = "danceLEFT" + "singLEFT": + $AnimationPlayer.play("danceLEFT") + lastIdleDance = "danceRIGHT" + _: + $AnimationPlayer.play(lastIdleDance) func get_idle_anim(): if (idleDance): diff --git a/Scenes/Characters/Dad.tscn b/Scenes/Characters/Dad.tscn index e599664..5f91e94 100644 --- a/Scenes/Characters/Dad.tscn +++ b/Scenes/Characters/Dad.tscn @@ -104,7 +104,7 @@ script = ExtResource( 2 ) flipX = true camOffset = Vector2( 200, -400 ) iconSheet = ExtResource( 1 ) -characterColor = Color( 0.686275, 0.4, 0.807843, 1 ) +characterColor = Color( 1, 0, 0, 1 ) [node name="Sprite" type="Sprite" parent="."] position = Vector2( 48, -344 ) diff --git a/Scenes/Characters/Spooky_Kids.tscn b/Scenes/Characters/Spooky_Kids.tscn new file mode 100644 index 0000000..379bfe2 --- /dev/null +++ b/Scenes/Characters/Spooky_Kids.tscn @@ -0,0 +1,141 @@ +[gd_scene load_steps=11 format=2] + +[ext_resource path="res://Scenes/Characters/Character.gd" type="Script" id=1] +[ext_resource path="res://Assets/Stages/Characters/SpookyKids/spooky_sheet.png" type="Texture" id=2] +[ext_resource path="res://Assets/Stages/Characters/Icons/icon-spooky.png" type="Texture" id=3] + +[sub_resource type="Animation" id=1] +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 0 ] +} + +[sub_resource type="Animation" id=2] +resource_name = "danceLEFT" +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1, 0.2, 0.3 ), +"transitions": PoolRealArray( 1, 1, 1, 1 ), +"update": 1, +"values": [ 0, 1, 2, 3 ] +} + +[sub_resource type="Animation" id=3] +resource_name = "danceRIGHT" +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1, 0.2, 0.3 ), +"transitions": PoolRealArray( 1, 1, 1, 1 ), +"update": 1, +"values": [ 4, 5, 6, 7 ] +} + +[sub_resource type="Animation" id=4] +resource_name = "singDOWN" +length = 0.6 +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 1, +"values": [ 8, 9 ] +} + +[sub_resource type="Animation" id=5] +resource_name = "singLEFT" +length = 0.6 +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 1, +"values": [ 14, 15 ] +} + +[sub_resource type="Animation" id=6] +resource_name = "singRIGHT" +length = 0.6 +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 1, +"values": [ 10, 11 ] +} + +[sub_resource type="Animation" id=7] +resource_name = "singUP" +length = 0.6 +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 1, +"values": [ 12, 13 ] +} + +[node name="Spooky" type="Node2D"] +scale = Vector2( -1, 1 ) +script = ExtResource( 1 ) +flipX = true +idleDance = true +camOffset = Vector2( 200, -200 ) +iconSheet = ExtResource( 3 ) +characterColor = Color( 0.835294, 0.494118, 0, 1 ) + +[node name="Sprite" type="Sprite" parent="."] +position = Vector2( 0, -241 ) +texture = ExtResource( 2 ) +hframes = 10 +vframes = 2 + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +autoplay = "danceLEFT" +anims/RESET = SubResource( 1 ) +anims/danceLEFT = SubResource( 2 ) +anims/danceRIGHT = SubResource( 3 ) +anims/singDOWN = SubResource( 4 ) +anims/singLEFT = SubResource( 5 ) +anims/singRIGHT = SubResource( 6 ) +anims/singUP = SubResource( 7 ) + +[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_AnimationPlayer_animation_finished"] diff --git a/Scenes/DEBUG/ToolKit.tscn b/Scenes/DEBUG/ToolKit.tscn index fca4985..b724455 100644 --- a/Scenes/DEBUG/ToolKit.tscn +++ b/Scenes/DEBUG/ToolKit.tscn @@ -14,11 +14,12 @@ tracks/0/keys = { "times": PoolRealArray( 0, 0.2, 0.5 ), "transitions": PoolRealArray( 1, 3.03143, 1.93187 ), "update": 0, -"values": [ Vector2( 0, 576 ), Vector2( 0, 568 ), Vector2( 0, 608 ) ] +"values": [ Vector2( 0, 696 ), Vector2( 0, 685 ), Vector2( 0, 728 ) ] } [sub_resource type="Animation" id=2] resource_name = "up" +length = 0.3 tracks/0/type = "value" tracks/0/path = NodePath(".:rect_position") tracks/0/interp = 1 @@ -26,10 +27,10 @@ tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { -"times": PoolRealArray( 0, 0.2, 0.5 ), -"transitions": PoolRealArray( 1, 0.403422, -16 ), +"times": PoolRealArray( 0, 0.3 ), +"transitions": PoolRealArray( 0.403422, -16 ), "update": 0, -"values": [ Vector2( 0, 608 ), Vector2( 0, 568 ), Vector2( 0, 576 ) ] +"values": [ Vector2( 0, 750 ), Vector2( 0, 696 ) ] } [node name="Control" type="Control"] @@ -48,8 +49,8 @@ layer = 2 anchor_top = 1.0 anchor_right = 1.0 anchor_bottom = 1.0 -margin_top = 8.0 -margin_bottom = 32.0 +margin_top = 30.0 +margin_bottom = 54.0 caret_blink = true caret_blink_speed = 0.1 __meta__ = { diff --git a/Scenes/Menus/Intro.tscn b/Scenes/Menus/Intro.tscn index 38de1f9..5a9c9ae 100644 --- a/Scenes/Menus/Intro.tscn +++ b/Scenes/Menus/Intro.tscn @@ -96,7 +96,6 @@ margin_top = -130.0 margin_right = 641.0 margin_bottom = 55.0 custom_fonts/font = SubResource( 1 ) -text = "CREATED BY" align = 1 valign = 1 uppercase = true @@ -115,7 +114,6 @@ margin_right = 641.0 margin_bottom = 125.5 custom_colors/font_color = Color( 0.247059, 0.580392, 1, 1 ) custom_fonts/font = SubResource( 1 ) -text = "The Godot Team" align = 1 valign = 1 uppercase = true diff --git a/Scenes/Menus/MainMenu.tscn b/Scenes/Menus/MainMenu.tscn index b37e8d4..4014f37 100644 --- a/Scenes/Menus/MainMenu.tscn +++ b/Scenes/Menus/MainMenu.tscn @@ -133,7 +133,7 @@ position = Vector2( 640, 142 ) scale = Vector2( 1.1, 1.1 ) z_index = -3 frames = SubResource( 3 ) -frame = 4 +frame = 2 playing = true [node name="Freeplay" type="AnimatedSprite" parent="."] @@ -141,7 +141,7 @@ position = Vector2( 640, 359 ) scale = Vector2( 1.1, 1.1 ) z_index = -3 frames = SubResource( 4 ) -frame = 7 +frame = 5 playing = true [node name="options" type="AnimatedSprite" parent="."] @@ -149,6 +149,7 @@ position = Vector2( 640, 600 ) scale = Vector2( 1.1, 1.1 ) z_index = -3 frames = SubResource( 5 ) +frame = 7 playing = true [node name="ExitTimer" type="Timer" parent="."] diff --git a/Scenes/Menus/StoryModeMenu.tscn b/Scenes/Menus/StoryModeMenu.tscn index 5e70b03..9f10999 100644 --- a/Scenes/Menus/StoryModeMenu.tscn +++ b/Scenes/Menus/StoryModeMenu.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=109 format=2] +[gd_scene load_steps=125 format=2] [ext_resource path="res://Scripts/Menus/StoryModeMenu.gd" type="Script" id=1] [ext_resource path="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/arrow push left/arrow push left.png" type="Texture" id=2] @@ -98,6 +98,22 @@ [ext_resource path="res://mobile_controls/Enter.tscn" type="PackedScene" id=96] [ext_resource path="res://mobile_controls/Scroll.tscn" type="PackedScene" id=97] [ext_resource path="res://mobile_controls/GoBack.tscn" type="PackedScene" id=98] +[ext_resource path="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0003.png" type="Texture" id=99] +[ext_resource path="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0008.png" type="Texture" id=100] +[ext_resource path="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0004.png" type="Texture" id=101] +[ext_resource path="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0010.png" type="Texture" id=102] +[ext_resource path="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0011.png" type="Texture" id=103] +[ext_resource path="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0013.png" type="Texture" id=104] +[ext_resource path="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0007.png" type="Texture" id=105] +[ext_resource path="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0014.png" type="Texture" id=106] +[ext_resource path="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0012.png" type="Texture" id=107] +[ext_resource path="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0001.png" type="Texture" id=108] +[ext_resource path="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0015.png" type="Texture" id=109] +[ext_resource path="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0005.png" type="Texture" id=110] +[ext_resource path="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0016.png" type="Texture" id=111] +[ext_resource path="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0002.png" type="Texture" id=112] +[ext_resource path="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0006.png" type="Texture" id=113] +[ext_resource path="res://Assets/Menus/AnimatedSprites/Kade Engine sussy stuff/spooky_ui/spookydance0009.png" type="Texture" id=114] [sub_resource type="DynamicFont" id=1] size = 32 @@ -196,6 +212,11 @@ animations = [ { [sub_resource type="SpriteFrames" id=9] animations = [ { +"frames": [ ExtResource( 108 ), ExtResource( 112 ), ExtResource( 99 ), ExtResource( 101 ), ExtResource( 110 ), ExtResource( 113 ), ExtResource( 105 ), ExtResource( 100 ), ExtResource( 114 ), ExtResource( 102 ), ExtResource( 103 ), ExtResource( 107 ), ExtResource( 104 ), ExtResource( 106 ), ExtResource( 109 ), ExtResource( 111 ) ], +"loop": false, +"name": "spooky", +"speed": 5.0 +}, { "frames": [ ExtResource( 85 ), ExtResource( 87 ), ExtResource( 81 ), ExtResource( 92 ), ExtResource( 94 ), ExtResource( 88 ), ExtResource( 89 ), ExtResource( 90 ), ExtResource( 86 ), ExtResource( 91 ), ExtResource( 84 ), ExtResource( 93 ), ExtResource( 82 ), ExtResource( 83 ) ], "loop": false, "name": "dad", @@ -352,51 +373,6 @@ text = "WEEK 2" align = 1 valign = 1 -[node name="Week3" type="Label" parent="MainLayer/Weeks"] -margin_top = 261.0 -margin_right = 413.0 -margin_bottom = 344.0 -custom_fonts/font = SubResource( 6 ) -text = "WEEK 3" -align = 1 -valign = 1 - -[node name="Week4" type="Label" parent="MainLayer/Weeks"] -margin_top = 348.0 -margin_right = 413.0 -margin_bottom = 431.0 -custom_fonts/font = SubResource( 6 ) -text = "WEEK 4" -align = 1 -valign = 1 - -[node name="Week5" type="Label" parent="MainLayer/Weeks"] -margin_top = 435.0 -margin_right = 413.0 -margin_bottom = 518.0 -custom_fonts/font = SubResource( 6 ) -text = "WEEK 5" -align = 1 -valign = 1 - -[node name="Week6" type="Label" parent="MainLayer/Weeks"] -margin_top = 522.0 -margin_right = 413.0 -margin_bottom = 605.0 -custom_fonts/font = SubResource( 6 ) -text = "WEEK 6" -align = 1 -valign = 1 - -[node name="Week7" type="Label" parent="MainLayer/Weeks"] -margin_top = 609.0 -margin_right = 413.0 -margin_bottom = 692.0 -custom_fonts/font = SubResource( 6 ) -text = "WEEK 7" -align = 1 -valign = 1 - [node name="FrontLayer" type="CanvasLayer" parent="."] layer = -1 @@ -430,9 +406,7 @@ position = Vector2( 200, 216 ) scale = Vector2( 0.361352, 0.361352 ) frames = SubResource( 9 ) animation = "dad" -frame = 13 speed_scale = 6.0 -playing = true [node name="LetterBlocker" type="ColorRect" parent="FrontLayer"] margin_left = -48.0 diff --git a/Scenes/Nodes/OptionsMenu.gd b/Scenes/Nodes/OptionsMenu.gd new file mode 100644 index 0000000..9bfd09e --- /dev/null +++ b/Scenes/Nodes/OptionsMenu.gd @@ -0,0 +1,110 @@ +extends Node2D + +export var inGame = false + +var options = { + + "GAMEPLAY": { + "BOTPLAY": ["botPlay", "Plays the game for you lmfao.", true], + "GHOST TAPPING": ["ghostTapping", "Allows you to press keys without losing health.", true], + "HITSOUNDS": ["hitSounds", "Plays a sound every time you hit a note.", true], + "STRUM POSITIONS": [null, "", false, "seperator"], + "DOWNSCROLL": ["downScroll", "Makes the notes move down instead of up.", false], + "MIDDLESCROLL": ["middleScroll", "Moves your strumline to the middle.", false], + "ENEMY MIDDLESCROLL": ["middleScrollPreview", "Shows a smaller version of the enemys side on the left.", false], + }, + "APPEARENCE": { + "HUD RATINGS": ["hudRatings", "Show the ratings on the HUD layer instead of the GAME layer.", true], + "HUD RATINGS OFFSET": ["hudRatingsOffset", "Changes the on-screen position of the HUD Ratings.", true], + "CAMERA MOVEMENT": ["cameraMovement", "Moves the camera depending on what notes been hit.", true], + "BACKGROUND OPACITY": ["backgroundOpacity", "Darkens the game so you can focus on hitting notes. (tryhard)", true, "percent"], + }, + "CONTROLS": { + "LEFT": ["left", "", true, "key"], + "DOWN": ["down", "", true, "key"], + "UP": ["up", "", true, "key"], + "RIGHT": ["right", "", true, "key"], + "SEP1": [null, "", true, "seperator"], + "CONFIRM": ["confirm", "", true, "key"], + "CANCEL": ["cancel", "", true, "key"], + "SEP2": [null, "", false, "seperator"], + "OFFSET": ["offset", "Changes the offset of the notes.\n(Negative is late, Positive is early)", false, "offset"], + } + +} + +var enabled = true +var waitTime = 0.1 + +var page = 0 +onready var pageName = options.keys()[page] + +var topBarOffset = 0 +# Szviin + +func _ready(): + get_options() + + var _select = $ChoiceMenu.connect("option_selected", self, "edit_option") + +func _process(_delta): + $ChoiceMenu.enabled = enabled + + if (!enabled): + waitTime = 0.1 + else: + if (waitTime > 0): + waitTime -= 1 * _delta + + topBarOffset = lerp(topBarOffset, 0, 10 * _delta) + + if (enabled): + if (waitTime <= 0): + var move = int(Input.is_action_just_pressed("right")) - int(Input.is_action_just_pressed("left")) + page += move + + if (page < 0): + page = options.keys().size()-1 + if (page > options.keys().size()-1): + page = 0 + + pageName = options.keys()[page] + + if (move != 0): + $ChoiceMenu.selected = 0 + topBarOffset = 200 * move + get_options() + + var selectedOption = options[pageName][options[pageName].keys()[$ChoiceMenu.selected]] + $DescriptionRect/Description.text = selectedOption[1] + + $TopBar/HBoxContainer/CurPage.text = pageName + + var nextPage = 0 + if (page + 1 < options.keys().size()): + nextPage = page + 1 + $TopBar/HBoxContainer/NextPage.text = options.keys()[nextPage] + $TopBar/HBoxContainer/LastPage.text = options.keys()[page - 1] + + $TopBar/HBoxContainer.rect_position.x = topBarOffset + +func _exit_tree(): + Settings.save_settings() + +func get_options(): + var choiceMenu = $ChoiceMenu + choiceMenu.options = [] + + for option in options[pageName].keys(): + var optionData = options[pageName][option] + + if (!inGame or optionData[2] == true): + choiceMenu.options.append(option) + +func edit_option(selected): + if (waitTime > 0): + return + + var selectedName = options[pageName].keys()[selected] + if (options[pageName][selectedName][0] != null): + $EditValue/ValueEdit.edit_value(selectedName) diff --git a/Scenes/Nodes/OptionsMenu.tscn b/Scenes/Nodes/OptionsMenu.tscn new file mode 100644 index 0000000..ac4a27c --- /dev/null +++ b/Scenes/Nodes/OptionsMenu.tscn @@ -0,0 +1,99 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://Scenes/Nodes/OptionsMenu.gd" type="Script" id=1] +[ext_resource path="res://Scenes/Nodes/ChoiceMenu.tscn" type="PackedScene" id=2] +[ext_resource path="res://Assets/Fonts/font_alphabet.tres" type="BitmapFont" id=3] +[ext_resource path="res://Assets/Fonts/vcr.ttf" type="DynamicFontData" id=4] +[ext_resource path="res://Scenes/Nodes/ValueEdit.tscn" type="PackedScene" id=5] + +[sub_resource type="DynamicFont" id=1] +size = 30 +outline_size = 2 +outline_color = Color( 0, 0, 0, 1 ) +font_data = ExtResource( 4 ) + +[node name="OptionsMenu" type="Node2D"] +script = ExtResource( 1 ) + +[node name="ChoiceMenu" parent="." instance=ExtResource( 2 )] + +[node name="TopBar" type="Node2D" parent="."] + +[node name="ColorRect" type="ColorRect" parent="TopBar"] +margin_right = 1280.0 +margin_bottom = 116.0 +color = Color( 0, 0, 0, 0.34902 ) +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="HBoxContainer" type="HBoxContainer" parent="TopBar"] +margin_top = 14.0 +margin_right = 1600.0 +margin_bottom = 121.0 +rect_scale = Vector2( 0.8, 0.8 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="LastPage" type="Label" parent="TopBar/HBoxContainer"] +modulate = Color( 0.709804, 0.709804, 0.709804, 1 ) +margin_top = 10.0 +margin_right = 621.0 +margin_bottom = 97.0 +size_flags_horizontal = 3 +custom_fonts/font = ExtResource( 3 ) +text = "LAST" +align = 1 +valign = 1 + +[node name="CurPage" type="Label" parent="TopBar/HBoxContainer"] +margin_left = 625.0 +margin_top = 10.0 +margin_right = 975.0 +margin_bottom = 97.0 +custom_fonts/font = ExtResource( 3 ) +text = "CURRENT" +align = 1 +valign = 1 + +[node name="NextPage" type="Label" parent="TopBar/HBoxContainer"] +modulate = Color( 0.709804, 0.709804, 0.709804, 1 ) +margin_left = 979.0 +margin_top = 10.0 +margin_right = 1600.0 +margin_bottom = 97.0 +size_flags_horizontal = 3 +custom_fonts/font = ExtResource( 3 ) +text = "NEXT" +align = 1 +valign = 1 + +[node name="EditValue" type="CanvasLayer" parent="."] +layer = 3 + +[node name="ValueEdit" parent="EditValue" instance=ExtResource( 5 )] +visible = false + +[node name="DescriptionRect" type="ColorRect" parent="."] +anchor_left = 0.5 +anchor_right = 0.5 +margin_top = 637.0 +margin_right = 1280.0 +margin_bottom = 720.0 +color = Color( 0, 0, 0, 0.34902 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Description" type="Label" parent="DescriptionRect"] +anchor_right = 1.0 +anchor_bottom = 1.0 +custom_fonts/font = SubResource( 1 ) +text = "Awesome description." +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/Scenes/Nodes/ValueEdit.gd b/Scenes/Nodes/ValueEdit.gd new file mode 100644 index 0000000..b26d210 --- /dev/null +++ b/Scenes/Nodes/ValueEdit.gd @@ -0,0 +1,128 @@ +extends Node2D + +var valueData = null +var valueEditing = null +onready var optionsMenu = get_node("../../") + +var specialType = null + +var keyMode = false + +var waitTime = 0 + +func _process(_delta): + if (!visible): + return + + if (waitTime > 0): + waitTime -= 1 * _delta + return + + change_value() + + if (keyMode): + return + + if (Input.is_action_just_pressed("confirm")): + Settings.set(valueData[0], valueEditing) + close() + + if (Input.is_action_just_pressed("cancel")): + SoundController.Play_sound("cancelMenu") + close() + +func _input(event): + if (!visible): + return + + if (keyMode): + if (event is InputEventKey): + if (event.pressed): + var keys = InputMap.get_action_list(valueData[0]) + InputMap.action_erase_event(valueData[0], keys[keys.size()-1]) + InputMap.action_add_event(valueData[0], event) + + optionsMenu.waitTime = 0.2 + keyMode = false + close() + +func change_value(): + var fakeValue = valueEditing + var ext = "" + + match (specialType): + "key": + var keys = InputMap.get_action_list(valueData[0]) + valueEditing = str(OS.get_scancode_string(keys[keys.size()-1].scancode)) + "percent": + var move = int(Input.is_action_just_pressed("right")) - int(Input.is_action_just_pressed("left")) + valueEditing += move * 0.05 + valueEditing = clamp(valueEditing, 0, 1) + + fakeValue *= 100 + ext = "%" + "offset": + ext = "ms" + + if (valueEditing is bool): + if (Input.is_action_just_pressed("right") || Input.is_action_just_pressed("left")): + valueEditing = !valueEditing + + if (valueEditing is int): + var move = int(Input.is_action_just_pressed("right")) - int(Input.is_action_just_pressed("left")) + var multi = 1 + if (Input.is_key_pressed(KEY_SHIFT)): + multi = 10 + + valueEditing += move * multi + + if (valueEditing is Vector2): + var moveRL = int(Input.is_action_just_pressed("right")) - int(Input.is_action_just_pressed("left")) + var moveDU = int(Input.is_action_just_pressed("down")) - int(Input.is_action_just_pressed("up")) + var multi = 1 + if (Input.is_key_pressed(KEY_SHIFT)): + multi = 10 + + valueEditing.x += moveRL * multi + valueEditing.y += moveDU * multi + + $Value.text = str(fakeValue) + ext + +func close(): + optionsMenu.get_options() + + optionsMenu.enabled = true + visible = false + +func edit_value(_name): + visible = true + + optionsMenu.enabled = false + + waitTime = 0.2 + valueData = optionsMenu.options[optionsMenu.pageName][_name] + valueEditing = Settings.get(valueData[0]) + + specialType = null + if (valueData.size()-1 >= 3): + specialType = valueData[3] + + $Value.text = str(valueEditing) + $ValueName.text = _name + + change_other() + change_value() + +func change_other(): + if (specialType == null): + if (valueEditing is int): + $ValueInfo.text = "USE LEFT AND RIGHT\nSHIFT TO MOVE BY 10" + if (valueEditing is Vector2): + $ValueInfo.text = "USE ARROW KEYS\nSHIFT TO MOVE BY 10" + else: + $ValueInfo.text = "USE LEFT AND RIGHT" + else: + match (specialType): + "key": + keyMode = true + $ValueInfo.text = "PRESS ANY KEY" diff --git a/Scenes/Nodes/ValueEdit.tscn b/Scenes/Nodes/ValueEdit.tscn new file mode 100644 index 0000000..6532863 --- /dev/null +++ b/Scenes/Nodes/ValueEdit.tscn @@ -0,0 +1,109 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://Scenes/Nodes/ValueEdit.gd" type="Script" id=1] +[ext_resource path="res://Assets/Fonts/font_alphabet.tres" type="BitmapFont" id=2] +[ext_resource path="res://Assets/Fonts/vcr.ttf" type="DynamicFontData" id=3] + +[sub_resource type="StyleBoxFlat" id=1] +bg_color = Color( 0, 0, 0, 1 ) +border_width_left = 5 +border_width_top = 5 +border_width_right = 5 +border_width_bottom = 5 +border_color = Color( 1, 1, 1, 1 ) +corner_radius_top_left = 5 +corner_radius_top_right = 5 +corner_radius_bottom_right = 5 +corner_radius_bottom_left = 5 +expand_margin_left = 5.0 +expand_margin_right = 5.0 +expand_margin_top = 5.0 +expand_margin_bottom = 5.0 + +[sub_resource type="DynamicFont" id=2] +size = 100 +font_data = ExtResource( 3 ) + +[node name="ValueEdit" type="Node2D"] +script = ExtResource( 1 ) + +[node name="ColorRect" type="Panel" parent="."] +margin_left = 312.0 +margin_top = 167.5 +margin_right = 968.0 +margin_bottom = 552.5 +custom_styles/panel = SubResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Title" type="Label" parent="."] +margin_left = 312.0 +margin_top = 168.0 +margin_right = 1405.0 +margin_bottom = 283.0 +rect_scale = Vector2( 0.6, 0.6 ) +custom_fonts/font = ExtResource( 2 ) +text = "EDIT VALUE" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ValueName" type="Label" parent="."] +margin_left = 312.0 +margin_top = 219.0 +margin_right = 1952.0 +margin_bottom = 334.0 +rect_scale = Vector2( 0.4, 0.4 ) +custom_fonts/font = ExtResource( 2 ) +text = "NAME" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Value" type="Label" parent="."] +margin_left = 312.0 +margin_top = 265.0 +margin_right = 1952.0 +margin_bottom = 570.0 +rect_scale = Vector2( 0.4, 0.4 ) +custom_fonts/font = SubResource( 2 ) +text = "NAME" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ValueInfo" type="Label" parent="."] +margin_left = 312.0 +margin_top = 387.0 +margin_right = 1624.0 +margin_bottom = 575.0 +rect_scale = Vector2( 0.5, 0.5 ) +custom_fonts/font = ExtResource( 2 ) +text = "USE LEFT AND RIGHT" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Info" type="Label" parent="."] +margin_left = 312.0 +margin_top = 481.0 +margin_right = 2499.0 +margin_bottom = 721.0 +rect_scale = Vector2( 0.3, 0.3 ) +custom_fonts/font = ExtResource( 2 ) +text = "PRESS CONFIRM TO CHANGE +PRESS CANCEL TO CANCEL" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/Scenes/Stages/Spooky.tscn b/Scenes/Stages/Spooky.tscn new file mode 100644 index 0000000..832ee3c --- /dev/null +++ b/Scenes/Stages/Spooky.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Scenes/States/PlayState.tscn" type="PackedScene" id=1] +[ext_resource path="res://Assets/Stages/Backgrounds/Spooky_BG/spooky_bg.png" type="Texture" id=2] + +[node name="PlayState" instance=ExtResource( 1 )] + +[node name="Background" type="ParallaxBackground" parent="." index="6"] + +[node name="ParallaxLayer" type="ParallaxLayer" parent="Background" index="0"] +motion_scale = Vector2( 0.95, 0.95 ) + +[node name="Spookybg" type="Sprite" parent="Background/ParallaxLayer" index="0"] +position = Vector2( 678, 363 ) +texture = ExtResource( 2 ) diff --git a/Scenes/States/OptionsState.gd b/Scenes/States/OptionsState.gd new file mode 100644 index 0000000..3c0ecdb --- /dev/null +++ b/Scenes/States/OptionsState.gd @@ -0,0 +1,9 @@ +extends Node2D + +func _process(_delta): + if (!$OptionsMenu.enabled): + return + + if (Input.is_action_just_pressed("cancel")): + SoundController.Play_sound("cancelMenu") + SceneLoader.Load("res://Scenes/Menus/MainMenu.tscn") diff --git a/Scenes/States/OptionsState.tscn b/Scenes/States/OptionsState.tscn new file mode 100644 index 0000000..16e21ed --- /dev/null +++ b/Scenes/States/OptionsState.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Scenes/States/OptionsState.gd" type="Script" id=1] +[ext_resource path="res://Assets/Menus/Backgrounds/menuBGwhite.png" type="Texture" id=2] +[ext_resource path="res://Scenes/Nodes/OptionsMenu.tscn" type="PackedScene" id=3] + +[node name="OptionsState" type="Node2D"] +script = ExtResource( 1 ) + +[node name="Background" type="Sprite" parent="."] +modulate = Color( 0.572549, 0.443137, 0.992157, 1 ) +position = Vector2( 643, 365 ) +texture = ExtResource( 2 ) + +[node name="OptionsMenu" parent="." instance=ExtResource( 3 )] diff --git a/Scenes/States/PlayState.gd b/Scenes/States/PlayState.gd index f525ddf..e069b28 100644 --- a/Scenes/States/PlayState.gd +++ b/Scenes/States/PlayState.gd @@ -36,6 +36,7 @@ export (float) var speed = 1 var health = 50 var score = 0 var misses = 0 +var realMisses = 0 var combo = 0 var hitNotesArray = [] # all hit note timings @@ -56,8 +57,8 @@ var event_change = {} func _ready(): # get the strums nodes load_events() - setup_packed_characters() - yield(get_tree().create_timer(0.05), "timeout") # timer so we dont crash crap lol + yield(get_tree().create_timer(0.05), "timeout") + check_tutorial() # timer so we dont crash crap lol set_process(true) PlayerStrum = get_node(PlayerStrumPath) EnemyStrum = get_node(EnemyStrumPath) @@ -65,6 +66,7 @@ func _ready(): MusicStream = MusicController # get the music streams nodes setup_characters() # setup the characters positions and icons + check_offsets() setup_strums() # setup the positions and stuff for strums rng.randomize() # randomize the rng variable's seed @@ -93,7 +95,7 @@ func _process(_delta): health_bar_process() func player_input(): - if (PlayerStrum == null || Resources.botPlay): + if (PlayerStrum == null || Settings.botPlay): return # ah @@ -143,7 +145,7 @@ func button_logic(line, note): # if there is a note, play the hitsound and hit the note if (curNote != null): - if (Resources.hitSounds): + if (Settings.hitSounds): $Audio/HitsoundStream.play() curNote.note_hit(distance) @@ -158,13 +160,14 @@ func button_logic(line, note): # miss if pressed when there is no note # also play the pressed animation if (animation.assigned_animation == "idle"): - if (!Resources.ghostTapping): + if (!Settings.ghostTapping): on_miss(true, note) animation.play("pressed") # when the button is released, go back to the idle animation if (Input.is_action_just_released(action)): animation.play("idle") + func hardcoded_events(): match event_change.song: "Uprising": @@ -185,7 +188,7 @@ func spawn_notes(): var sustain_length = note[2] spawn_note(direction, strum_time, sustain_length) - + func get_section(): if (sections == null || sections.empty()): return @@ -259,31 +262,32 @@ func on_hit(must_hit, note_type, timing): if (character != null): var animName = player_sprite(note_type, "") character.play(animName) + + if (Settings.cameraMovement): + if (must_hit && must_hit_section || !must_hit && !must_hit_section): + var offsetVector = character.camOffset + var intensity = 10 + + match (note_type): + Note.Left: + if (character.flipX): + offsetVector.x += -intensity + else: + offsetVector.x += intensity + Note.Right: + if (character.flipX): + offsetVector.x += intensity + else: + offsetVector.x += -intensity + Note.Down: + offsetVector.y += intensity + Note.Up: + offsetVector.y += -intensity - if (must_hit && must_hit_section || !must_hit && !must_hit_section): - var offsetVector = character.camOffset - var intensity = 5 - - match (note_type): - Note.Left: - if (character.flipX): - offsetVector.x += -intensity - else: - offsetVector.x += intensity - Note.Right: - if (character.flipX): - offsetVector.x += intensity - else: - offsetVector.x += -intensity - Note.Down: - offsetVector.y += intensity - Note.Up: - offsetVector.y += -intensity - - if (character.flipX): - $Camera.position = character.position + Vector2(offsetVector.x, offsetVector.y) - else: - $Camera.position = character.position + Vector2(-offsetVector.x, offsetVector.y) + if (character.flipX): + $Camera.position = character.position + Vector2(offsetVector.x, offsetVector.y) + else: + $Camera.position = character.position + Vector2(-offsetVector.x, offsetVector.y) if (must_hit): var rating = get_rating(timing) @@ -319,10 +323,11 @@ func on_miss(must_hit, note_type, passed = false): health -= 5.0 if (!passed): score -= 10 - misses += 1 + misses += 1 + else: + realMisses += 1 + MusicController.muteVocals = true combo = 0 - print("miss") - MusicController.muteVocals = true func get_rating(timing): # get the last rating in the array and set it to the default (the last rating is the best) @@ -393,19 +398,21 @@ func health_bar_process(): var accuracyString = "N/A" var letterRating = "" if (!hitNotesArray.empty()): - var totalNotes = float(hitNotesArray.size() + misses) + var totalNotes = float(hitNotesArray.size() + realMisses) var accuracy = round((float(hitNotesArray.size()) / totalNotes) * 100) accuracyString = str(accuracy) + "%" letterRating = " [" + get_letter_rating(accuracy) + "]" - $HUD/TextBar.text = "Health: " + str(health) + "% | Score: " + str(score) + " | Misses: " + str(misses) + " | " + accuracyString + letterRating + $HUD/TextBar.text = "Health: " + str(health) + "% | Score: " + str(score) + " | Misses: " + str(misses + realMisses) + " | " + accuracyString + letterRating $HUD/Debug/Rating.text = str(combo) - + + $HUD/Background.color.a = Settings.backgroundOpacity + func get_letter_rating(accuracy): var letterRatings = {"A+": 95, "A": 85, "B+": 77.5, "B": 72.5, "C+": 67.5, "C": 62.5, "D+": 57.5, "D": 52.5, "E": 45, "F": 20} - if (misses == 0): + if (realMisses == 0): return "FC" var chosenRating = letterRatings.keys()[letterRatings.keys().size()-1] @@ -424,6 +431,7 @@ func setup_characters(): if (GFCharacter != null): GFCharacter = GFCharacter.instance() $Characters.add_child(GFCharacter) + GFCharacter.position = $Positions/Girlfriend.position if (EnemyCharacter != null): @@ -458,7 +466,7 @@ func setup_icon(node, character): node.hframes = frames func setup_strums(): - if (Resources.downScroll): + if (Settings.downScroll): PlayerStrum.position.y = 890 PlayerStrum.scale.y = -PlayerStrum.scale.y @@ -470,11 +478,11 @@ func setup_strums(): $HUD/Debug.position.y += 50 - if (Resources.middleScroll): + if (Settings.middleScroll): PlayerStrum.position.x = 675 - if (Resources.middleScrollPreview): - if (!Resources.downScroll): + if (Settings.middleScrollPreview): + if (!Settings.downScroll): EnemyStrum.position = Vector2(145, 300) else: EnemyStrum.position = Vector2(145, 730) @@ -482,31 +490,34 @@ func setup_strums(): EnemyStrum.scale = EnemyStrum.scale * 0.5 else: EnemyStrum.visible = false + + for button in EnemyStrum.get_node("Buttons").get_children(): + button.enemyStrum = true func create_rating(rating): var ratingObj = RATING_SCENE.instance() ratingObj.get_node("Sprite").frame = rating - if (!Resources.hudRatings): + if (!Settings.hudRatings): ratingObj.position = $Positions/Rating.position $Ratings.add_child(ratingObj) else: - ratingObj.position = Resources.hudRatingsOffset / 0.7 - ratingObj.scale = Vector2(2, 2) + ratingObj.position = Settings.hudRatingsOffset / 0.7 + ratingObj.get_node("Sprite").scale = Vector2(1, 1) $HUD.add_child(ratingObj) func restart_playstate(): SceneLoader.change_playstate(song, difficulty, speed) -func setup_packed_characters(): - var json = MusicController.load_song_json(song, "-" + difficulty) - match json.player1: - "bf": - PlayerCharacter = preload("res://Scenes/Characters/Boyfriend.tscn") - match json.player2: - "gf": - EnemyCharacter = preload("res://Scenes/Characters/Girlfriend.tscn") - "dad": - EnemyCharacter = preload("res://Scenes/Characters/Dad.tscn") - GFCharacter = preload("res://Scenes/Characters/Girlfriend.tscn") - _: - GFCharacter = preload("res://Scenes/Characters/Girlfriend.tscn") +func check_tutorial(): + var temp = EnemyCharacter.instance() + match temp.name: + "Girlfriend": + GFCharacter = null + print("angry") + temp.queue_free() +func check_offsets(): + for i in $Characters.get_children(): + match event_change.player2: + "spooky": + if i.name == "Girlfriend": + i.camOffset = Vector2(0, -200) # changes gf's offset to -200 cause shes off in spooky stage diff --git a/Scenes/States/PlayState.tscn b/Scenes/States/PlayState.tscn index 7427a7c..a7fadd7 100644 --- a/Scenes/States/PlayState.tscn +++ b/Scenes/States/PlayState.tscn @@ -61,10 +61,18 @@ font_data = ExtResource( 2 ) script = ExtResource( 1 ) PlayerStrumPath = NodePath("HUD/PlayerStrumLine") EnemyStrumPath = NodePath("HUD/EnemyStrumLine") -song = "dad-battle" +song = "fresh-bf-remix" [node name="HUD" type="CanvasLayer" parent="."] +[node name="Background" type="ColorRect" parent="HUD"] +anchor_right = 1.0 +anchor_bottom = 1.0 +color = Color( 1, 1, 1, 0 ) +__meta__ = { +"_edit_use_anchors_": false +} + [node name="Ratings" type="Node" parent="HUD"] [node name="PlayerStrumLine" parent="HUD" instance=ExtResource( 7 )] @@ -193,7 +201,6 @@ position = Vector2( 704, 384 ) [node name="Camera" type="Camera2D" parent="."] position = Vector2( 640, 360 ) current = true -zoom = Vector2( 1.1, 1.1 ) smoothing_enabled = true [node name="Characters" type="Node2D" parent="."] diff --git a/Scripts/GamePlay/ARROWSYSTEM/Note.gd b/Scripts/GamePlay/ARROWSYSTEM/Note.gd index b872953..2d54ce2 100644 --- a/Scripts/GamePlay/ARROWSYSTEM/Note.gd +++ b/Scripts/GamePlay/ARROWSYSTEM/Note.gd @@ -30,7 +30,7 @@ func _on_Tween_tween_completed(_object, _key): if (missed): note_miss(true) - if (!must_hit || Resources.botPlay): + if (!must_hit || Settings.botPlay): note_hit(0) else: missed = true @@ -48,7 +48,7 @@ func note_hit(timing): func note_miss(passed): playState.on_miss(must_hit, note_type, passed) - print("miss lmao") + queue_free() func _process(_delta): @@ -56,7 +56,7 @@ func _process(_delta): $Tween.remove_all() note_miss(true) - if (Resources.downScroll): + if (Settings.downScroll): scale.y = -1 $Sprite.frame = note_type * 2 diff --git a/Scripts/GamePlay/ARROWSYSTEM/PauseMenuScripts/ChoiceMenu.gd b/Scripts/GamePlay/ARROWSYSTEM/PauseMenuScripts/ChoiceMenu.gd index 02019df..902dc22 100644 --- a/Scripts/GamePlay/ARROWSYSTEM/PauseMenuScripts/ChoiceMenu.gd +++ b/Scripts/GamePlay/ARROWSYSTEM/PauseMenuScripts/ChoiceMenu.gd @@ -10,41 +10,29 @@ export var optionOffset = Vector2(20, 145) export var enabled = true -onready var moveStream = AudioStreamPlayer.new() var selected = 0 var optionsOffset = Vector2(0, 0) var offset = Vector2.ZERO -func _ready(): - add_child(moveStream) - SoundController.Play_sound("scrollMenu") + func _process(_delta): update() if (enabled): - var move = int(Input.is_action_just_pressed("down")) - int(Input.is_action_just_pressed("up")) - selected += move - - if (selected > options.size() - 1): - selected = 0 - move = -move - elif (selected < 0): - selected = options.size() - 1 - move = -move - - if (move != 0): - offset = Vector2(optionsOffset.x * move, optionsOffset.y * move) - moveStream.play() + move_option() if (Input.is_action_just_pressed("confirm")): emit_signal("option_selected", selected) - offset = lerp(offset, Vector2.ZERO, 0.2) - optionsOffset = lerp(optionsOffset, optionOffset, 0.1) + offset = lerp(offset, Vector2.ZERO, 20 * _delta) + optionsOffset = lerp(optionsOffset, optionOffset, 10 * _delta) func _draw(): + draw_options() + +func draw_options(): var idx = 0 for option in options: var sIdx = idx - selected @@ -57,3 +45,18 @@ func _draw(): draw_string(FONT, position + Vector2((sIdx * optionsOffset.x) + 70, (sIdx * optionsOffset.y) + 320) + offset, option.to_upper(), color) idx += 1 + +func move_option(): + var move = int(Input.is_action_just_pressed("down")) - int(Input.is_action_just_pressed("up")) + selected += move + + if (selected > options.size() - 1): + selected = 0 + move = -move + elif (selected < 0): + selected = options.size() - 1 + move = -move + + if (move != 0): + offset = Vector2(optionsOffset.x * move, optionsOffset.y * move) + SoundController.Play_sound("scrollMenu") diff --git a/Scripts/GamePlay/ARROWSYSTEM/StrumArrow.gd b/Scripts/GamePlay/ARROWSYSTEM/StrumArrow.gd index 75fa715..a7dc150 100644 --- a/Scripts/GamePlay/ARROWSYSTEM/StrumArrow.gd +++ b/Scripts/GamePlay/ARROWSYSTEM/StrumArrow.gd @@ -4,14 +4,18 @@ extends Node2D enum Note {Left, Down, Up, Right} export (Note) var note_type = Note.Left export (int) var animFrame = 0 +var enemyStrum = false func _process(_delta): if not Engine.editor_hint: - if (Resources.downScroll): + if (Settings.downScroll): scale.y = -1 $Sprite.frame = animFrame + (note_type * 6) func _on_AnimationPlayer_animation_finished(anim_name): + if (!enemyStrum && !Settings.botPlay): + return + if (anim_name == "hit"): $AnimationPlayer.play("idle") diff --git a/Scripts/Menus/MainMenu.gd b/Scripts/Menus/MainMenu.gd index 1dbc006..2fbcde5 100644 --- a/Scripts/Menus/MainMenu.gd +++ b/Scripts/Menus/MainMenu.gd @@ -53,4 +53,4 @@ func _on_ExitTimer_timeout(): 1: SceneLoader.Load("res://Scenes/Menus/Freeplay.tscn") 2: - SceneLoader.Load("res://Scenes/Menus/Options.tscn") + SceneLoader.Load("res://Scenes/States/OptionsState.tscn") diff --git a/Scripts/Menus/StoryModeMenu.gd b/Scripts/Menus/StoryModeMenu.gd index 0abe753..cc40853 100644 --- a/Scripts/Menus/StoryModeMenu.gd +++ b/Scripts/Menus/StoryModeMenu.gd @@ -4,42 +4,27 @@ extends Control enum week { TUTORIAL, WEEK1, - WEEK2, - WEEK3, - WEEK4, - WEEK5, - WEEK6, - WEEK7 + WEEK2 } var week_strings = [ "Tutorial", "Week1", - "Week2", - "Week3", - "Week4", - "Week5", - "Week6", - "Week7" + "Week2" ] var week_Tracks = [ ["TUTORIAL", "", ""], ["BOPEEBO", "FRESH", "DAD-BATTLE"], - ["SPOOKEEZ", "SOUTH", "MONSTER"], - ["PICO", "PHILLY", "BLAMMED"], - ["SATIN-PANTIES", "HIGH", "MILF"], - ["COCOA", "EGGNOG", "WINTER-HORRORLAND"], - ["SENPAI", "ROSES", "THORNS"], - ["CUM", "CUM", "CUM"] + ["SPOOKEEZ", "SOUTH", ""] +] +var week_sizes = [ + 1, + 3, + 2 ] var week_Titles = [ ["Tutorial"], ["Daddy Dearest"], - ["Skid and Pump"], - ["Pico"], - ["Mummy Mearest"], - ["Red Snow"], - ["Hate Simulator"], - ["Tankman's Cum Session"] + ["Skid n' Pump"] ] enum difficulty { EASY, @@ -83,11 +68,11 @@ func _input(event): if event.is_action_pressed("ui_up"): if lock == false: SoundController.Play_sound("scrollMenu") - Selected_Week = posmod(Selected_Week-1, 8) + Selected_Week = posmod(Selected_Week-1, 3) if event.is_action_pressed("ui_down"): if lock == false: SoundController.Play_sound("scrollMenu") - Selected_Week = posmod(Selected_Week+1, 8) + Selected_Week = posmod(Selected_Week+1, 3) # Enter and Cancel if event.is_action_pressed("ui_cancel"): @@ -109,7 +94,7 @@ func _input(event): Resources.StoryWeek = Selected_Week Resources.Track = week_Tracks[Selected_Week][0] Resources.Track_Number = 0 - Resources.Track_Length = week_Tracks[Selected_Week].size() - 1 + Resources.Track_Length = week_sizes[Selected_Week] - 1 print("Week Track Amount: " + str(Resources.Track_Length)) Resources.show_menu = false @@ -147,8 +132,10 @@ func _process(_delta): $"FrontLayer/Track Title".text = week_Titles[0][0] 1: $FrontLayer/Opponent.show() + $FrontLayer/Opponent.animation = "dad" $"FrontLayer/Track Title".text = week_Titles[1][0] 2: + $FrontLayer/Opponent.animation = "spooky" $"FrontLayer/Track Title".text = week_Titles[2][0] 3: $"FrontLayer/Track Title".text = week_Titles[3][0] @@ -187,11 +174,11 @@ func _ready(): Resources.Track_Number = 0 Resources.show_menu = true if Resources.show_menu: - if not MusicController.playing: + Resources.StoryMode = false + if not MusicController.playing or MusicController.stream != Resources.FreakyMenu: MusicController.stop_song() var freaky = load("res://Assets/Menus/Music&Sounds/freakyMenu.ogg") MusicController.play_song(freaky, 102) - Resources.StoryMode = false #MusicController.play_song(freaky, 102) MusicController.connect("beat_hit", self, "_beat_hit") MusicController.connect("half_beat_hit", self, "_half_beat") diff --git a/Scripts/Nodes/ToolKit.gd b/Scripts/Nodes/ToolKit.gd index 2857ed6..4fa6f8a 100644 --- a/Scripts/Nodes/ToolKit.gd +++ b/Scripts/Nodes/ToolKit.gd @@ -31,10 +31,10 @@ func _process(delta): lineedit.text = "" command = "PRINT" lineedit.placeholder_text = "PRINT WHAT?" - "LOADWEEK": + "LOADPLAYSTATE": lineedit.text = "" - command = "SCENE" - lineedit.placeholder_text = "SCENE TO LOAD?" + command = "LOADPLAYSTATE" + lineedit.placeholder_text = "Song,Difficulty (No Spaces)" "FUN IS INFINITE": command = "FUN" lineedit.text = "" @@ -50,27 +50,32 @@ func _process(delta): command = "WFC" lineedit.text = "" lineedit.placeholder_text = "PASSWORD?" - +func split(s: String, delimeters, allow_empty: bool = true) -> Array: + var parts := [] + + var start := 0 + var i := 0 + + while i < s.length(): + if s[i] in delimeters: + if allow_empty or start < i: + parts.push_back(s.substr(start, i - start)) + start = i + 1 + i += 1 + + if allow_empty or start < i: + parts.push_back(s.substr(start, i - start)) + + return parts func _on_LineEdit_text_entered(new_text): match command: - "SCENE": - match lineedit.text: - "WEEK0": - SceneLoader.Load_Week(lineedit.text) - isup = false - animationplayer.play("down") - lineedit.placeholder_text = "LOADED SCENE" - lineedit.text = "" - yield(get_tree().create_timer(1), "timeout") - lineedit.placeholder_text = "" - command = "" - if SceneLoader.failed == true: - print("FAILED") - lineedit.placeholder_text = "FAILED TO LOAD THAT SCENE" - lineedit.text = "" - yield(get_tree().create_timer(1), "timeout") + "LOADPLAYSTATE": + SceneLoader.change_playstate(split(lineedit.text, ",", false)[0], split(lineedit.text, ",", false)[1]) + isup = false + animationplayer.play("down") lineedit.placeholder_text = "" + lineedit.text = "" command = "" "PRINT": print(lineedit.text) diff --git a/project.godot b/project.godot index e3c62aa..c553014 100644 --- a/project.godot +++ b/project.godot @@ -611,6 +611,7 @@ Mapper="*res://AutoLoads/Mapper.gd" ToolKit="*res://Scenes/DEBUG/ToolKit.tscn" WFC="*res://AutoLoads/WFC.tscn" Resources="*res://AutoLoads/Resources.gd" +Settings="*res://AutoLoads/Settings.gd" [display]