diff --git a/.import/A#.wav-9ef26cd8708600de0a9bffb284ec0e48.md5 b/.import/A#.wav-9ef26cd8708600de0a9bffb284ec0e48.md5 new file mode 100644 index 0000000..6699420 --- /dev/null +++ b/.import/A#.wav-9ef26cd8708600de0a9bffb284ec0e48.md5 @@ -0,0 +1,3 @@ +source_md5="65409e40dd3242a33af1f8d632de9a5c" +dest_md5="a9b825a8846e8b4ca6d1654d9d9cdbc7" + diff --git a/.import/A#.wav-9ef26cd8708600de0a9bffb284ec0e48.sample b/.import/A#.wav-9ef26cd8708600de0a9bffb284ec0e48.sample new file mode 100644 index 0000000..22bab2c Binary files /dev/null and b/.import/A#.wav-9ef26cd8708600de0a9bffb284ec0e48.sample differ diff --git a/.import/A.wav-5b6c1c6634da62a7647953cdafd8d80c.md5 b/.import/A.wav-5b6c1c6634da62a7647953cdafd8d80c.md5 new file mode 100644 index 0000000..8bc9e0a --- /dev/null +++ b/.import/A.wav-5b6c1c6634da62a7647953cdafd8d80c.md5 @@ -0,0 +1,3 @@ +source_md5="6de160677b742b04da120f93b4c2d2b5" +dest_md5="0c381684cc06c0dfa068ec7dc31f46c7" + diff --git a/.import/A.wav-5b6c1c6634da62a7647953cdafd8d80c.sample b/.import/A.wav-5b6c1c6634da62a7647953cdafd8d80c.sample new file mode 100644 index 0000000..a173253 Binary files /dev/null and b/.import/A.wav-5b6c1c6634da62a7647953cdafd8d80c.sample differ diff --git a/.import/B.wav-e5748ec65d418ce4060344491a66a395.md5 b/.import/B.wav-e5748ec65d418ce4060344491a66a395.md5 new file mode 100644 index 0000000..27d78aa --- /dev/null +++ b/.import/B.wav-e5748ec65d418ce4060344491a66a395.md5 @@ -0,0 +1,3 @@ +source_md5="6e920f4f12cb77e19a5259585ec9a02b" +dest_md5="63839259e4ce20520e00e3043ebe6138" + diff --git a/.import/B.wav-e5748ec65d418ce4060344491a66a395.sample b/.import/B.wav-e5748ec65d418ce4060344491a66a395.sample new file mode 100644 index 0000000..c127c85 Binary files /dev/null and b/.import/B.wav-e5748ec65d418ce4060344491a66a395.sample differ diff --git a/.import/BallReset.ogg-8b552df8fc63693a21202072c19d4626.md5 b/.import/BallReset.ogg-8b552df8fc63693a21202072c19d4626.md5 new file mode 100644 index 0000000..2dd69a5 --- /dev/null +++ b/.import/BallReset.ogg-8b552df8fc63693a21202072c19d4626.md5 @@ -0,0 +1,3 @@ +source_md5="4b15d1c767da6a84e8fe628ca271bb66" +dest_md5="10d15aba7394eaa3451d5471b6947393" + diff --git a/.import/BallReset.wav-030c4988d19e35a5110e64ae6fdc34a9.md5 b/.import/BallReset.wav-030c4988d19e35a5110e64ae6fdc34a9.md5 new file mode 100644 index 0000000..d850e55 --- /dev/null +++ b/.import/BallReset.wav-030c4988d19e35a5110e64ae6fdc34a9.md5 @@ -0,0 +1,3 @@ +source_md5="0f29473df2cae3b6b8d5386b82a5bfb2" +dest_md5="20a815fad51ee4a90ba28f7a49cb2996" + diff --git a/.import/BallReset.wav-030c4988d19e35a5110e64ae6fdc34a9.sample b/.import/BallReset.wav-030c4988d19e35a5110e64ae6fdc34a9.sample new file mode 100644 index 0000000..41f283d Binary files /dev/null and b/.import/BallReset.wav-030c4988d19e35a5110e64ae6fdc34a9.sample differ diff --git a/.import/C#.wav-96d693e537180cc41a39bdd6716be216.md5 b/.import/C#.wav-96d693e537180cc41a39bdd6716be216.md5 new file mode 100644 index 0000000..9aa9be1 --- /dev/null +++ b/.import/C#.wav-96d693e537180cc41a39bdd6716be216.md5 @@ -0,0 +1,3 @@ +source_md5="5bb214d18235bea6a07ea78af102772a" +dest_md5="f3bc5ac9f836e74b855e9878fb026f41" + diff --git a/.import/C#.wav-96d693e537180cc41a39bdd6716be216.sample b/.import/C#.wav-96d693e537180cc41a39bdd6716be216.sample new file mode 100644 index 0000000..d6ce4e1 Binary files /dev/null and b/.import/C#.wav-96d693e537180cc41a39bdd6716be216.sample differ diff --git a/.import/C.wav-e4bd7df767f25fea0dc0787e53863aad.md5 b/.import/C.wav-e4bd7df767f25fea0dc0787e53863aad.md5 new file mode 100644 index 0000000..7e6f557 --- /dev/null +++ b/.import/C.wav-e4bd7df767f25fea0dc0787e53863aad.md5 @@ -0,0 +1,3 @@ +source_md5="3094de7abaecdbabc6530d0066893c99" +dest_md5="5b5bf017ae691da607b73e861cbb67a5" + diff --git a/.import/C.wav-e4bd7df767f25fea0dc0787e53863aad.sample b/.import/C.wav-e4bd7df767f25fea0dc0787e53863aad.sample new file mode 100644 index 0000000..307ced4 Binary files /dev/null and b/.import/C.wav-e4bd7df767f25fea0dc0787e53863aad.sample differ diff --git a/.import/D#.wav-d6f3dee8719098c7f7912a8384b82d9f.md5 b/.import/D#.wav-d6f3dee8719098c7f7912a8384b82d9f.md5 new file mode 100644 index 0000000..015e313 --- /dev/null +++ b/.import/D#.wav-d6f3dee8719098c7f7912a8384b82d9f.md5 @@ -0,0 +1,3 @@ +source_md5="75cc49446f075f5230cdf2e808673502" +dest_md5="609bb0c44f02b447032fa27eb8e7acbd" + diff --git a/.import/D#.wav-d6f3dee8719098c7f7912a8384b82d9f.sample b/.import/D#.wav-d6f3dee8719098c7f7912a8384b82d9f.sample new file mode 100644 index 0000000..bcbee42 Binary files /dev/null and b/.import/D#.wav-d6f3dee8719098c7f7912a8384b82d9f.sample differ diff --git a/.import/D.wav-84f2ac366a166d00e768b1e01ace06e9.md5 b/.import/D.wav-84f2ac366a166d00e768b1e01ace06e9.md5 new file mode 100644 index 0000000..3ca9ad1 --- /dev/null +++ b/.import/D.wav-84f2ac366a166d00e768b1e01ace06e9.md5 @@ -0,0 +1,3 @@ +source_md5="31e5dda4737f767944ea507b85152f7e" +dest_md5="38bb821820bfd784b584e8aa61c1b10e" + diff --git a/.import/D.wav-84f2ac366a166d00e768b1e01ace06e9.sample b/.import/D.wav-84f2ac366a166d00e768b1e01ace06e9.sample new file mode 100644 index 0000000..979725a Binary files /dev/null and b/.import/D.wav-84f2ac366a166d00e768b1e01ace06e9.sample differ diff --git a/.import/E.wav-6a76c314a03a675e2204acd78fcb0588.md5 b/.import/E.wav-6a76c314a03a675e2204acd78fcb0588.md5 new file mode 100644 index 0000000..614a547 --- /dev/null +++ b/.import/E.wav-6a76c314a03a675e2204acd78fcb0588.md5 @@ -0,0 +1,3 @@ +source_md5="f3b710f8bfedc0c1c4a772c305c5d90d" +dest_md5="318857f76a28d998eefc47f3668f8e86" + diff --git a/.import/E.wav-6a76c314a03a675e2204acd78fcb0588.sample b/.import/E.wav-6a76c314a03a675e2204acd78fcb0588.sample new file mode 100644 index 0000000..ee86efa Binary files /dev/null and b/.import/E.wav-6a76c314a03a675e2204acd78fcb0588.sample differ diff --git a/.import/F#.wav-a5a586721aca3a8f6c3cf3705ceea89f.md5 b/.import/F#.wav-a5a586721aca3a8f6c3cf3705ceea89f.md5 new file mode 100644 index 0000000..ff75f00 --- /dev/null +++ b/.import/F#.wav-a5a586721aca3a8f6c3cf3705ceea89f.md5 @@ -0,0 +1,3 @@ +source_md5="11d0f72767688762febb4cd746575ca5" +dest_md5="c63895fa9efedc5a2fa71f8ca208bd46" + diff --git a/.import/F#.wav-a5a586721aca3a8f6c3cf3705ceea89f.sample b/.import/F#.wav-a5a586721aca3a8f6c3cf3705ceea89f.sample new file mode 100644 index 0000000..1959a34 Binary files /dev/null and b/.import/F#.wav-a5a586721aca3a8f6c3cf3705ceea89f.sample differ diff --git a/.import/F.wav-1cdcf546c8a65aef8760177f6703338a.md5 b/.import/F.wav-1cdcf546c8a65aef8760177f6703338a.md5 new file mode 100644 index 0000000..06e4322 --- /dev/null +++ b/.import/F.wav-1cdcf546c8a65aef8760177f6703338a.md5 @@ -0,0 +1,3 @@ +source_md5="1d665dbc7c658fbde426e58441e7fae0" +dest_md5="626ba19bd72e7df77891a26d8493687c" + diff --git a/.import/F.wav-1cdcf546c8a65aef8760177f6703338a.sample b/.import/F.wav-1cdcf546c8a65aef8760177f6703338a.sample new file mode 100644 index 0000000..e833e49 Binary files /dev/null and b/.import/F.wav-1cdcf546c8a65aef8760177f6703338a.sample differ diff --git a/.import/Fadein.ogg-eadb2cc899c1b292da7f0ec850c5fe3d.md5 b/.import/Fadein.ogg-eadb2cc899c1b292da7f0ec850c5fe3d.md5 new file mode 100644 index 0000000..1f94b73 --- /dev/null +++ b/.import/Fadein.ogg-eadb2cc899c1b292da7f0ec850c5fe3d.md5 @@ -0,0 +1,3 @@ +source_md5="cae0e8bad917aa340ff3ae3842549de7" +dest_md5="a28209c1e78ea62ad3ad85685b64076b" + diff --git a/.import/Fadein.ogg-eadb2cc899c1b292da7f0ec850c5fe3d.oggstr b/.import/Fadein.ogg-eadb2cc899c1b292da7f0ec850c5fe3d.oggstr new file mode 100644 index 0000000..6fa479a Binary files /dev/null and b/.import/Fadein.ogg-eadb2cc899c1b292da7f0ec850c5fe3d.oggstr differ diff --git a/.import/Fadeout.ogg-17b61e79fb22b1755df3142b0dd92b2e.md5 b/.import/Fadeout.ogg-17b61e79fb22b1755df3142b0dd92b2e.md5 new file mode 100644 index 0000000..2e1ac9f --- /dev/null +++ b/.import/Fadeout.ogg-17b61e79fb22b1755df3142b0dd92b2e.md5 @@ -0,0 +1,3 @@ +source_md5="6c201f22bc1bb60273ea35bc0f51445f" +dest_md5="2d150ae16a014852f5da0e4c32f15953" + diff --git a/.import/Fadeout.ogg-17b61e79fb22b1755df3142b0dd92b2e.oggstr b/.import/Fadeout.ogg-17b61e79fb22b1755df3142b0dd92b2e.oggstr new file mode 100644 index 0000000..40fcb75 Binary files /dev/null and b/.import/Fadeout.ogg-17b61e79fb22b1755df3142b0dd92b2e.oggstr differ diff --git a/.import/G#.wav-4df8639aa965734c341b3616dd348b06.md5 b/.import/G#.wav-4df8639aa965734c341b3616dd348b06.md5 new file mode 100644 index 0000000..897a8d4 --- /dev/null +++ b/.import/G#.wav-4df8639aa965734c341b3616dd348b06.md5 @@ -0,0 +1,3 @@ +source_md5="52bd90b0ba6e1486c46c4d8d68b48852" +dest_md5="2e63c68eeeebece467db20a10ebfb839" + diff --git a/.import/G#.wav-4df8639aa965734c341b3616dd348b06.sample b/.import/G#.wav-4df8639aa965734c341b3616dd348b06.sample new file mode 100644 index 0000000..41e7217 Binary files /dev/null and b/.import/G#.wav-4df8639aa965734c341b3616dd348b06.sample differ diff --git a/.import/G.wav-9cc75de310289e0fca71de569cd981db.md5 b/.import/G.wav-9cc75de310289e0fca71de569cd981db.md5 new file mode 100644 index 0000000..e05e90c --- /dev/null +++ b/.import/G.wav-9cc75de310289e0fca71de569cd981db.md5 @@ -0,0 +1,3 @@ +source_md5="9d3f4010fc8b0426f6a4b78d76eb75ac" +dest_md5="10bdce4fdd1c6b355944226a21b3c175" + diff --git a/.import/G.wav-9cc75de310289e0fca71de569cd981db.sample b/.import/G.wav-9cc75de310289e0fca71de569cd981db.sample new file mode 100644 index 0000000..a638af0 Binary files /dev/null and b/.import/G.wav-9cc75de310289e0fca71de569cd981db.sample differ diff --git a/.import/HoverButton.wav-b4f06b94508ef6329b16866b11deca55.md5 b/.import/HoverButton.wav-b4f06b94508ef6329b16866b11deca55.md5 new file mode 100644 index 0000000..4b02031 --- /dev/null +++ b/.import/HoverButton.wav-b4f06b94508ef6329b16866b11deca55.md5 @@ -0,0 +1,3 @@ +source_md5="6d2b131152ff4c12a5d330d6f862f330" +dest_md5="cbb7597b1e76bec657145883a9d348e8" + diff --git a/.import/HoverButton.wav-b4f06b94508ef6329b16866b11deca55.sample b/.import/HoverButton.wav-b4f06b94508ef6329b16866b11deca55.sample new file mode 100644 index 0000000..e5b7eaf Binary files /dev/null and b/.import/HoverButton.wav-b4f06b94508ef6329b16866b11deca55.sample differ diff --git a/.import/Menu.ogg-5d0b70bc270d7b88fd20e45ac7483499.md5 b/.import/Menu.ogg-5d0b70bc270d7b88fd20e45ac7483499.md5 new file mode 100644 index 0000000..bcfbee2 --- /dev/null +++ b/.import/Menu.ogg-5d0b70bc270d7b88fd20e45ac7483499.md5 @@ -0,0 +1,3 @@ +source_md5="41306e1aeb775a019be7a979d99cb36c" +dest_md5="490bbac48759819e5b977936c915c394" + diff --git a/.import/Menu.ogg-5d0b70bc270d7b88fd20e45ac7483499.oggstr b/.import/Menu.ogg-5d0b70bc270d7b88fd20e45ac7483499.oggstr new file mode 100644 index 0000000..777621e Binary files /dev/null and b/.import/Menu.ogg-5d0b70bc270d7b88fd20e45ac7483499.oggstr differ diff --git a/.import/MusicVolume1.png-8b307e41993910b033bd2a665cbfc5ff.md5 b/.import/MusicVolume1.png-8b307e41993910b033bd2a665cbfc5ff.md5 new file mode 100644 index 0000000..7a06128 --- /dev/null +++ b/.import/MusicVolume1.png-8b307e41993910b033bd2a665cbfc5ff.md5 @@ -0,0 +1,3 @@ +source_md5="36e1ccfd1be6c7f3acf363b9f2cdaf2b" +dest_md5="95f486f524910134bfeabff3df93ac3d" + diff --git a/.import/MusicVolume1.png-8b307e41993910b033bd2a665cbfc5ff.stex b/.import/MusicVolume1.png-8b307e41993910b033bd2a665cbfc5ff.stex new file mode 100644 index 0000000..1d379fd Binary files /dev/null and b/.import/MusicVolume1.png-8b307e41993910b033bd2a665cbfc5ff.stex differ diff --git a/.import/MusicVolume2.png-7a884ade53c6bbc52021437f6bb8418d.md5 b/.import/MusicVolume2.png-7a884ade53c6bbc52021437f6bb8418d.md5 new file mode 100644 index 0000000..87a7d25 --- /dev/null +++ b/.import/MusicVolume2.png-7a884ade53c6bbc52021437f6bb8418d.md5 @@ -0,0 +1,3 @@ +source_md5="cd0bb70b1c99a3c930e11575fa954cc9" +dest_md5="8ba5ddd580e0556e0e90494574b9f5f4" + diff --git a/.import/MusicVolume2.png-7a884ade53c6bbc52021437f6bb8418d.stex b/.import/MusicVolume2.png-7a884ade53c6bbc52021437f6bb8418d.stex new file mode 100644 index 0000000..6ffe3e1 Binary files /dev/null and b/.import/MusicVolume2.png-7a884ade53c6bbc52021437f6bb8418d.stex differ diff --git a/.import/MusicVolume3.png-4556065c35916caee8e7661fb814e73d.md5 b/.import/MusicVolume3.png-4556065c35916caee8e7661fb814e73d.md5 new file mode 100644 index 0000000..d85b9df --- /dev/null +++ b/.import/MusicVolume3.png-4556065c35916caee8e7661fb814e73d.md5 @@ -0,0 +1,3 @@ +source_md5="d5c3144ea1848645e460d57954fc4b11" +dest_md5="88816d991c330488f96b2384eccf464b" + diff --git a/.import/MusicVolume3.png-4556065c35916caee8e7661fb814e73d.stex b/.import/MusicVolume3.png-4556065c35916caee8e7661fb814e73d.stex new file mode 100644 index 0000000..82698c6 Binary files /dev/null and b/.import/MusicVolume3.png-4556065c35916caee8e7661fb814e73d.stex differ diff --git a/.import/SFXVolume1.png-71ddb0fc50fa3d9f89b3d5cd3b7a772a.md5 b/.import/SFXVolume1.png-71ddb0fc50fa3d9f89b3d5cd3b7a772a.md5 new file mode 100644 index 0000000..088e02d --- /dev/null +++ b/.import/SFXVolume1.png-71ddb0fc50fa3d9f89b3d5cd3b7a772a.md5 @@ -0,0 +1,3 @@ +source_md5="c896c4d44bd2790ae022f4c498bfb595" +dest_md5="a75345f02f906b9ecce6235b7e44067e" + diff --git a/.import/SFXVolume1.png-71ddb0fc50fa3d9f89b3d5cd3b7a772a.stex b/.import/SFXVolume1.png-71ddb0fc50fa3d9f89b3d5cd3b7a772a.stex new file mode 100644 index 0000000..e5af169 Binary files /dev/null and b/.import/SFXVolume1.png-71ddb0fc50fa3d9f89b3d5cd3b7a772a.stex differ diff --git a/.import/SFXVolume2.png-1afa9c2c2442c49d99f4471960a9feae.md5 b/.import/SFXVolume2.png-1afa9c2c2442c49d99f4471960a9feae.md5 new file mode 100644 index 0000000..f4108bf --- /dev/null +++ b/.import/SFXVolume2.png-1afa9c2c2442c49d99f4471960a9feae.md5 @@ -0,0 +1,3 @@ +source_md5="654397e6d0c66448a69549a94ee2d6f5" +dest_md5="065b586c869b1710ad10365f43b704ef" + diff --git a/.import/SFXVolume2.png-1afa9c2c2442c49d99f4471960a9feae.stex b/.import/SFXVolume2.png-1afa9c2c2442c49d99f4471960a9feae.stex new file mode 100644 index 0000000..ee362e1 Binary files /dev/null and b/.import/SFXVolume2.png-1afa9c2c2442c49d99f4471960a9feae.stex differ diff --git a/.import/SelectButton.wav-22daca460391460ee3cf8c29d8fc288e.md5 b/.import/SelectButton.wav-22daca460391460ee3cf8c29d8fc288e.md5 new file mode 100644 index 0000000..903390f --- /dev/null +++ b/.import/SelectButton.wav-22daca460391460ee3cf8c29d8fc288e.md5 @@ -0,0 +1,3 @@ +source_md5="b2c45fbff0017002f0d8346d5f881c62" +dest_md5="55e766ae00bf8fd0ce7991075b5020b8" + diff --git a/.import/SelectButton.wav-22daca460391460ee3cf8c29d8fc288e.sample b/.import/SelectButton.wav-22daca460391460ee3cf8c29d8fc288e.sample new file mode 100644 index 0000000..81441bc Binary files /dev/null and b/.import/SelectButton.wav-22daca460391460ee3cf8c29d8fc288e.sample differ diff --git a/.import/greenExplodes.wav-d82703c3b81826bab057136adb820c60.md5 b/.import/greenExplodes.wav-d82703c3b81826bab057136adb820c60.md5 new file mode 100644 index 0000000..5b9c2ef --- /dev/null +++ b/.import/greenExplodes.wav-d82703c3b81826bab057136adb820c60.md5 @@ -0,0 +1,3 @@ +source_md5="72493e6db18982e92e710c752ba0a923" +dest_md5="110364a04533b3146bc1555964aac31d" + diff --git a/.import/greenExplodes.wav-d82703c3b81826bab057136adb820c60.sample b/.import/greenExplodes.wav-d82703c3b81826bab057136adb820c60.sample new file mode 100644 index 0000000..6924f68 Binary files /dev/null and b/.import/greenExplodes.wav-d82703c3b81826bab057136adb820c60.sample differ diff --git a/.import/hoverButton.wav-7e9081d0e1c0d25ca7f506c66f81f62c.md5 b/.import/hoverButton.wav-7e9081d0e1c0d25ca7f506c66f81f62c.md5 new file mode 100644 index 0000000..78589c1 --- /dev/null +++ b/.import/hoverButton.wav-7e9081d0e1c0d25ca7f506c66f81f62c.md5 @@ -0,0 +1,3 @@ +source_md5="da83a19fae3800a8c0fe51d400d504f9" +dest_md5="4a7fe121b19adab3b098e0ee4e20b750" + diff --git a/.import/hoverButton.wav-7e9081d0e1c0d25ca7f506c66f81f62c.sample b/.import/hoverButton.wav-7e9081d0e1c0d25ca7f506c66f81f62c.sample new file mode 100644 index 0000000..1b35b50 Binary files /dev/null and b/.import/hoverButton.wav-7e9081d0e1c0d25ca7f506c66f81f62c.sample differ diff --git a/Aseprite/MusicVolume.ase b/Aseprite/MusicVolume.ase new file mode 100644 index 0000000..205447a Binary files /dev/null and b/Aseprite/MusicVolume.ase differ diff --git a/Aseprite/SFXVolume.ase b/Aseprite/SFXVolume.ase new file mode 100644 index 0000000..05c52fb Binary files /dev/null and b/Aseprite/SFXVolume.ase differ diff --git a/Ball/AudioStreamPlayer.gd b/Ball/AudioStreamPlayer.gd new file mode 100644 index 0000000..4a3cf3f --- /dev/null +++ b/Ball/AudioStreamPlayer.gd @@ -0,0 +1,5 @@ +extends AudioStreamPlayer + + +func _on_AudioStreamPlayer_finished(): + playing = false diff --git a/Ball/Ball.gd b/Ball/Ball.gd index 108ab12..a0b72c6 100644 --- a/Ball/Ball.gd +++ b/Ball/Ball.gd @@ -81,6 +81,7 @@ func spawn_trajectory_dots(): can_spawn_trajectory_dot = true trajectoryTimer.start() func reset_ball(): + GameStats.multiplier = 1 # delete the ball when the level is won, so it doesn't respawn if GameStats.level_won: queue_free() diff --git a/Ball/Ball.tscn b/Ball/Ball.tscn index c4928c3..401482a 100644 --- a/Ball/Ball.tscn +++ b/Ball/Ball.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=6 format=2] +[gd_scene load_steps=7 format=2] [ext_resource path="res://Ball/sprite.png" type="Texture" id=1] [ext_resource path="res://Ball/Ball.gd" type="Script" id=2] [ext_resource path="res://Ball/Ball.tres" type="PhysicsMaterial" id=3] [ext_resource path="res://Ball/BallCollision.tscn" type="PackedScene" id=4] +[ext_resource path="res://SFX/Scratch/BallReset.wav" type="AudioStream" id=5] [sub_resource type="Animation" id=1] resource_name = "reset" @@ -33,6 +34,20 @@ tracks/1/keys = { "points": PoolRealArray( -10, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ), "times": PoolRealArray( 0, 1.5 ) } +tracks/2/type = "audio" +tracks/2/path = NodePath("AudioStreamPlayer") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"clips": [ { +"end_offset": 0.0, +"start_offset": 0.0, +"stream": ExtResource( 5 ) +} ], +"times": PoolRealArray( 0 ) +} [node name="Ball" type="RigidBody2D"] collision_layer = 4 @@ -61,4 +76,7 @@ wait_time = 0.1 [node name="AnimationPlayer" type="AnimationPlayer" parent="."] anims/reset = SubResource( 1 ) +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 5 ) + [connection signal="timeout" from="TrajectoryTimer" to="." method="_on_TrajectoryTimer_timeout"] diff --git a/Effects/FadeIn.tscn b/Effects/FadeIn.tscn index 6025f18..586601d 100644 --- a/Effects/FadeIn.tscn +++ b/Effects/FadeIn.tscn @@ -1,10 +1,13 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=7 format=2] [ext_resource path="res://Effects/transitionPattern.png" type="Texture" id=1] [ext_resource path="res://Effects/Transition.gd" type="Script" id=2] +[ext_resource path="res://SFX/Scratch/Fadeout.ogg" type="AudioStream" id=3] +[ext_resource path="res://SFX/Scratch/Fadein.ogg" type="AudioStream" id=4] [sub_resource type="Animation" id=1] resource_name = "FadeIn" +length = 0.7 step = 0.05 tracks/0/type = "bezier" tracks/0/path = NodePath("TransitionSprite:position:x") @@ -14,7 +17,7 @@ tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { "points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 384, -0.25, 0, 0.25, 0 ), -"times": PoolRealArray( 0, 1 ) +"times": PoolRealArray( 0, 0.7 ) } tracks/1/type = "method" tracks/1/path = NodePath(".") @@ -23,7 +26,7 @@ tracks/1/loop_wrap = true tracks/1/imported = false tracks/1/enabled = true tracks/1/keys = { -"times": PoolRealArray( 1 ), +"times": PoolRealArray( 0.7 ), "transitions": PoolRealArray( 1 ), "values": [ { "args": [ ], @@ -33,7 +36,7 @@ tracks/1/keys = { [sub_resource type="Animation" id=2] resource_name = "FadeOut" -length = 0.75 +length = 1.3 loop = true step = 0.05 tracks/0/type = "value" @@ -43,10 +46,10 @@ tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { -"times": PoolRealArray( 0, 0.75 ), -"transitions": PoolRealArray( 1, 1 ), +"times": PoolRealArray( 0, 0.4, 1.25 ), +"transitions": PoolRealArray( 1, 1, 1 ), "update": 0, -"values": [ Vector2( 384, 0 ), Vector2( 0, 0 ) ] +"values": [ Vector2( 384, 0 ), Vector2( 0, 0 ), Vector2( 0, 0 ) ] } tracks/1/type = "method" tracks/1/path = NodePath(".") @@ -55,13 +58,27 @@ tracks/1/loop_wrap = true tracks/1/imported = false tracks/1/enabled = true tracks/1/keys = { -"times": PoolRealArray( 0.75 ), +"times": PoolRealArray( 1.25 ), "transitions": PoolRealArray( 1 ), "values": [ { "args": [ ], "method": "finish_animation" } ] } +tracks/2/type = "audio" +tracks/2/path = NodePath("AnimationPlayer/FadeoutSound") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"clips": [ { +"end_offset": 0.153926, +"start_offset": 0.0, +"stream": ExtResource( 3 ) +} ], +"times": PoolRealArray( 0 ) +} [node name="Transition" type="CanvasLayer"] layer = 128 @@ -76,6 +93,12 @@ region_enabled = true region_rect = Rect2( 0, 0, 768, 216 ) [node name="AnimationPlayer" type="AnimationPlayer" parent="."] -playback_process_mode = 0 anims/FadeIn = SubResource( 1 ) anims/FadeOut = SubResource( 2 ) + +[node name="FadeInSound" type="AudioStreamPlayer" parent="."] +pause_mode = 1 +stream = ExtResource( 4 ) +bus = "SFX" + +[connection signal="finished" from="FadeInSound" to="." method="_on_FadeInSound_finished"] diff --git a/Effects/FadeOut.tscn b/Effects/FadeOut.tscn index ce06de8..5968f8d 100644 --- a/Effects/FadeOut.tscn +++ b/Effects/FadeOut.tscn @@ -1,10 +1,13 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=4 format=2] [ext_resource path="res://Effects/FadeIn.tscn" type="PackedScene" id=1] [ext_resource path="res://Effects/FadeOut.gd" type="Script" id=2] +[ext_resource path="res://SFX/Scratch/Fadeout.ogg" type="AudioStream" id=3] [node name="FadeOut" instance=ExtResource( 1 )] script = ExtResource( 2 ) -[node name="TransitionSprite" parent="." index="0"] -position = Vector2( 0, 0 ) +[node name="FadeoutSound" type="AudioStreamPlayer" parent="AnimationPlayer" index="0"] +pause_mode = 1 +stream = ExtResource( 3 ) +bus = "SFX" diff --git a/Effects/Transition.gd b/Effects/Transition.gd index 48ee1dc..2b77488 100644 --- a/Effects/Transition.gd +++ b/Effects/Transition.gd @@ -5,6 +5,7 @@ onready var animation = $AnimationPlayer func _ready(): $TransitionSprite.visible = true animation.play("FadeIn") + $FadeInSound.play(0) func finish_animation(): queue_free() diff --git a/Flipper/Flipper.gd b/Flipper/Flipper.gd index 24a3ccc..adffce2 100644 --- a/Flipper/Flipper.gd +++ b/Flipper/Flipper.gd @@ -4,3 +4,5 @@ func _physics_process(delta): if Input.is_action_pressed("shoot"): rotation = lerp(rotation, -90, 0.9) else: rotation = 0 +func bouncy(): + pass diff --git a/Flipper/Flipper.tscn b/Flipper/Flipper.tscn index 4fa208c..92a82da 100644 --- a/Flipper/Flipper.tscn +++ b/Flipper/Flipper.tscn @@ -4,10 +4,12 @@ [ext_resource path="res://Flipper/Flipper.gd" type="Script" id=2] [node name="Flipper" type="KinematicBody2D"] -position = Vector2( 309, 143 ) motion/sync_to_physics = true script = ExtResource( 2 ) [node name="Sprite" type="Sprite" parent="."] position = Vector2( -11, 0 ) texture = ExtResource( 1 ) + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."] +polygon = PoolVector2Array( 3, -5, -2, -5, -3, -4, -10, -4, -17, -4, -18, -3, -20, -3, -21, -2, -22, -2, -23, -1, -24, -1, -25, 0, -26, 0, -27, 1, -27, 2, -26, 3, -25, 3, -24, 4, -20, 4, -19, 5, 2, 5, 3, 4, 4, 3, 4, 2, 5, 1, 5, -2, 4, -3, 4, -4 ) diff --git a/Menu/Buttons/AudioSliders/MusicVolume1.png b/Menu/Buttons/AudioSliders/MusicVolume1.png new file mode 100644 index 0000000..df40ca3 Binary files /dev/null and b/Menu/Buttons/AudioSliders/MusicVolume1.png differ diff --git a/Menu/Buttons/AudioSliders/MusicVolume1.png.import b/Menu/Buttons/AudioSliders/MusicVolume1.png.import new file mode 100644 index 0000000..a40b18f --- /dev/null +++ b/Menu/Buttons/AudioSliders/MusicVolume1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/MusicVolume1.png-8b307e41993910b033bd2a665cbfc5ff.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Menu/Buttons/AudioSliders/MusicVolume1.png" +dest_files=[ "res://.import/MusicVolume1.png-8b307e41993910b033bd2a665cbfc5ff.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=false +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 +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Menu/Buttons/AudioSliders/MusicVolume2.png b/Menu/Buttons/AudioSliders/MusicVolume2.png new file mode 100644 index 0000000..3ef1fd8 Binary files /dev/null and b/Menu/Buttons/AudioSliders/MusicVolume2.png differ diff --git a/Menu/Buttons/AudioSliders/MusicVolume2.png.import b/Menu/Buttons/AudioSliders/MusicVolume2.png.import new file mode 100644 index 0000000..36a89e6 --- /dev/null +++ b/Menu/Buttons/AudioSliders/MusicVolume2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/MusicVolume2.png-7a884ade53c6bbc52021437f6bb8418d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Menu/Buttons/AudioSliders/MusicVolume2.png" +dest_files=[ "res://.import/MusicVolume2.png-7a884ade53c6bbc52021437f6bb8418d.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=false +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 +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Menu/Buttons/AudioSliders/MusicVolume3.png b/Menu/Buttons/AudioSliders/MusicVolume3.png new file mode 100644 index 0000000..cb90f0e Binary files /dev/null and b/Menu/Buttons/AudioSliders/MusicVolume3.png differ diff --git a/Menu/Buttons/AudioSliders/MusicVolume3.png.import b/Menu/Buttons/AudioSliders/MusicVolume3.png.import new file mode 100644 index 0000000..05e137a --- /dev/null +++ b/Menu/Buttons/AudioSliders/MusicVolume3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/MusicVolume3.png-4556065c35916caee8e7661fb814e73d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Menu/Buttons/AudioSliders/MusicVolume3.png" +dest_files=[ "res://.import/MusicVolume3.png-4556065c35916caee8e7661fb814e73d.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=false +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 +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Menu/Buttons/AudioSliders/SFXVolume1.png b/Menu/Buttons/AudioSliders/SFXVolume1.png new file mode 100644 index 0000000..74d21d7 Binary files /dev/null and b/Menu/Buttons/AudioSliders/SFXVolume1.png differ diff --git a/Menu/Buttons/AudioSliders/SFXVolume1.png.import b/Menu/Buttons/AudioSliders/SFXVolume1.png.import new file mode 100644 index 0000000..6e036cd --- /dev/null +++ b/Menu/Buttons/AudioSliders/SFXVolume1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/SFXVolume1.png-71ddb0fc50fa3d9f89b3d5cd3b7a772a.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Menu/Buttons/AudioSliders/SFXVolume1.png" +dest_files=[ "res://.import/SFXVolume1.png-71ddb0fc50fa3d9f89b3d5cd3b7a772a.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=false +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 +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Menu/Buttons/AudioSliders/SFXVolume2.png b/Menu/Buttons/AudioSliders/SFXVolume2.png new file mode 100644 index 0000000..087e309 Binary files /dev/null and b/Menu/Buttons/AudioSliders/SFXVolume2.png differ diff --git a/Menu/Buttons/AudioSliders/SFXVolume2.png.import b/Menu/Buttons/AudioSliders/SFXVolume2.png.import new file mode 100644 index 0000000..2e9fd50 --- /dev/null +++ b/Menu/Buttons/AudioSliders/SFXVolume2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/SFXVolume2.png-1afa9c2c2442c49d99f4471960a9feae.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Menu/Buttons/AudioSliders/SFXVolume2.png" +dest_files=[ "res://.import/SFXVolume2.png-1afa9c2c2442c49d99f4471960a9feae.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=false +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 +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Menu/Buttons/AudioSliders/VolumeSlider.gd b/Menu/Buttons/AudioSliders/VolumeSlider.gd new file mode 100644 index 0000000..575d34d --- /dev/null +++ b/Menu/Buttons/AudioSliders/VolumeSlider.gd @@ -0,0 +1,9 @@ +extends HSlider + +export var bus_channel = "Master" + +func _ready(): + value = db2linear(AudioServer.get_bus_volume_db(AudioServer.get_bus_index(bus_channel))) + +func _on_MusicVolumeSlider_value_changed(value): + AudioServer.set_bus_volume_db(AudioServer.get_bus_index(bus_channel), linear2db(value)) diff --git a/Menu/Buttons/AudioSliders/VolumeSlider.tscn b/Menu/Buttons/AudioSliders/VolumeSlider.tscn new file mode 100644 index 0000000..fd514e4 --- /dev/null +++ b/Menu/Buttons/AudioSliders/VolumeSlider.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Menu/Buttons/AudioSliders/VolumeSlider.gd" type="Script" id=1] +[ext_resource path="res://Menu/Theme.tres" type="Theme" id=2] + +[node name="VolumeSlider" type="HSlider"] +margin_right = 500.0 +margin_bottom = 32.0 +grow_vertical = 2 +rect_min_size = Vector2( 100, 32 ) +theme = ExtResource( 2 ) +max_value = 1.0 +step = 0.025 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[connection signal="value_changed" from="." to="." method="_on_MusicVolumeSlider_value_changed"] diff --git a/Menu/Buttons/ButtonSFX.gd b/Menu/Buttons/ButtonSFX.gd new file mode 100644 index 0000000..56eeaeb --- /dev/null +++ b/Menu/Buttons/ButtonSFX.gd @@ -0,0 +1,8 @@ +extends Node + +func on_hover(): + $Hover.play(0) + +func on_select(): + $Select.play(0) + diff --git a/Menu/Buttons/ButtonSFX.tscn b/Menu/Buttons/ButtonSFX.tscn new file mode 100644 index 0000000..0563114 --- /dev/null +++ b/Menu/Buttons/ButtonSFX.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://SFX/Scratch/HoverButton.wav" type="AudioStream" id=1] +[ext_resource path="res://SFX/Scratch/SelectButton.wav" type="AudioStream" id=2] +[ext_resource path="res://Menu/Buttons/ButtonSFX.gd" type="Script" id=3] + +[node name="ButtonSFX" type="Node"] +script = ExtResource( 3 ) + +[node name="Hover" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 1 ) +bus = "SFX" + +[node name="Select" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 2 ) diff --git a/Menu/Buttons/Fullscreen/FullscreenButton.tscn b/Menu/Buttons/Fullscreen/FullscreenButton.tscn index ba86a8a..22584df 100644 --- a/Menu/Buttons/Fullscreen/FullscreenButton.tscn +++ b/Menu/Buttons/Fullscreen/FullscreenButton.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=6 format=2] [ext_resource path="res://Menu/Buttons/Fullscreen/fullscreen1.png" type="Texture" id=1] [ext_resource path="res://Menu/Buttons/Fullscreen/fullscreen3.png" type="Texture" id=2] [ext_resource path="res://Menu/Buttons/Fullscreen/fullscreen2.png" type="Texture" id=3] [ext_resource path="res://Menu/Buttons/Fullscreen/FullscreenButton.gd" type="Script" id=4] +[ext_resource path="res://Menu/Buttons/ButtonSFX.tscn" type="PackedScene" id=5] [node name="FullscreenButton" type="TextureButton"] anchor_right = 1.0 @@ -17,4 +18,9 @@ __meta__ = { "_edit_use_anchors_": false } +[node name="ButtonSFX" parent="." instance=ExtResource( 5 )] + +[connection signal="focus_entered" from="." to="ButtonSFX" method="on_hover"] +[connection signal="mouse_entered" from="." to="ButtonSFX" method="on_hover"] +[connection signal="pressed" from="." to="ButtonSFX" method="on_select"] [connection signal="toggled" from="." to="." method="_on_FullscreenButton_toggled"] diff --git a/Menu/Buttons/LevelSelectButton.gd b/Menu/Buttons/LevelSelectButton.gd index 9b1d1fe..f8a6132 100644 --- a/Menu/Buttons/LevelSelectButton.gd +++ b/Menu/Buttons/LevelSelectButton.gd @@ -1,6 +1,11 @@ extends Button export var scene = "res://Menu/MainMenu.tscn" +export var unlock_points_required = 0 + +func _ready(): + if unlock_points_required > GameStats.unlock_points: + disabled = true func _on_SceneSelectButton_pressed(): GameStats.set_current_scene(scene) diff --git a/Menu/Buttons/LevelSelectIconButton.gd b/Menu/Buttons/LevelSelectIconButton.gd index 33e9142..a9460b8 100644 --- a/Menu/Buttons/LevelSelectIconButton.gd +++ b/Menu/Buttons/LevelSelectIconButton.gd @@ -9,3 +9,4 @@ func _on_LevelSelectIconButton_pressed(): var fadeout = Fadeout.instance() fadeout.scene_to_load = scene main.add_child(fadeout) + get_tree().paused = false diff --git a/Menu/Buttons/LevelSelectIconButton.tscn b/Menu/Buttons/LevelSelectIconButton.tscn index 3d397d6..6b4eafb 100644 --- a/Menu/Buttons/LevelSelectIconButton.tscn +++ b/Menu/Buttons/LevelSelectIconButton.tscn @@ -1,6 +1,7 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=3 format=2] [ext_resource path="res://Menu/Buttons/LevelSelectIconButton.gd" type="Script" id=1] +[ext_resource path="res://Menu/Buttons/ButtonSFX.tscn" type="PackedScene" id=2] [node name="LevelSelectIconButton" type="TextureButton"] margin_right = 40.0 @@ -10,4 +11,9 @@ __meta__ = { "_edit_use_anchors_": false } +[node name="ButtonSFX" parent="." instance=ExtResource( 2 )] + +[connection signal="focus_entered" from="." to="ButtonSFX" method="on_hover"] +[connection signal="mouse_entered" from="." to="ButtonSFX" method="on_hover"] +[connection signal="pressed" from="." to="ButtonSFX" method="on_select"] [connection signal="pressed" from="." to="." method="_on_LevelSelectIconButton_pressed"] diff --git a/Menu/Buttons/PlayButton.gd b/Menu/Buttons/PlayButton.gd index f377e2f..4d736be 100644 --- a/Menu/Buttons/PlayButton.gd +++ b/Menu/Buttons/PlayButton.gd @@ -3,3 +3,5 @@ extends TextureButton func _on_PlayButton_pressed(): GameStats.restart_level() disabled = true + get_tree().paused = false + get_parent().visible = false diff --git a/Menu/Buttons/PlayButton.tscn b/Menu/Buttons/PlayButton.tscn index 6ebb9d0..28dc23a 100644 --- a/Menu/Buttons/PlayButton.tscn +++ b/Menu/Buttons/PlayButton.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=6 format=2] [ext_resource path="res://Menu/Icons/Play/Play3.png" type="Texture" id=1] [ext_resource path="res://Menu/Icons/Play/Play2.png" type="Texture" id=2] [ext_resource path="res://Menu/Icons/Play/Play1.png" type="Texture" id=3] [ext_resource path="res://Menu/Buttons/PlayButton.gd" type="Script" id=4] +[ext_resource path="res://Menu/Buttons/ButtonSFX.tscn" type="PackedScene" id=5] [node name="PlayButton" type="TextureButton"] margin_right = 40.0 @@ -16,4 +17,9 @@ __meta__ = { "_edit_use_anchors_": false } +[node name="ButtonSFX" parent="." instance=ExtResource( 5 )] + +[connection signal="focus_entered" from="." to="ButtonSFX" method="on_hover"] +[connection signal="mouse_entered" from="." to="ButtonSFX" method="on_hover"] [connection signal="pressed" from="." to="." method="_on_PlayButton_pressed"] +[connection signal="pressed" from="." to="ButtonSFX" method="on_select"] diff --git a/Menu/Buttons/RestartButton.gd b/Menu/Buttons/RestartButton.gd index 5415e90..9270ba9 100644 --- a/Menu/Buttons/RestartButton.gd +++ b/Menu/Buttons/RestartButton.gd @@ -5,3 +5,4 @@ extends TextureButton func _on_RestartButton_pressed(): GameStats.restart_level() disabled = true + diff --git a/Menu/Buttons/RestartButton.tscn b/Menu/Buttons/RestartButton.tscn index ace1a4b..39ac567 100644 --- a/Menu/Buttons/RestartButton.tscn +++ b/Menu/Buttons/RestartButton.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=6 format=2] [ext_resource path="res://Menu/Icons/Replay/replayIcon3.png" type="Texture" id=1] [ext_resource path="res://Menu/Icons/Replay/replayIcon2.png" type="Texture" id=2] [ext_resource path="res://Menu/Icons/Replay/replayIcon1.png" type="Texture" id=3] [ext_resource path="res://Menu/Buttons/RestartButton.gd" type="Script" id=4] +[ext_resource path="res://Menu/Buttons/ButtonSFX.tscn" type="PackedScene" id=5] [node name="RestartButton" type="TextureButton"] margin_right = 32.0 @@ -16,4 +17,9 @@ __meta__ = { "_edit_use_anchors_": false } +[node name="ButtonSFX" parent="." instance=ExtResource( 5 )] + +[connection signal="focus_entered" from="." to="ButtonSFX" method="on_hover"] +[connection signal="mouse_entered" from="." to="ButtonSFX" method="on_hover"] +[connection signal="pressed" from="." to="ButtonSFX" method="on_select"] [connection signal="pressed" from="." to="." method="_on_RestartButton_pressed"] diff --git a/Menu/Buttons/SceneSelectButton.tscn b/Menu/Buttons/SceneSelectButton.tscn index c76bbc3..b3548c6 100644 --- a/Menu/Buttons/SceneSelectButton.tscn +++ b/Menu/Buttons/SceneSelectButton.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=4 format=2] [ext_resource path="res://Menu/Theme.tres" type="Theme" id=1] [ext_resource path="res://Menu/Buttons/LevelSelectButton.gd" type="Script" id=2] +[ext_resource path="res://Menu/Buttons/ButtonSFX.tscn" type="PackedScene" id=3] [node name="SceneSelectButton" type="Button"] anchor_right = 1.0 @@ -15,4 +16,9 @@ __meta__ = { "_edit_use_anchors_": false } +[node name="ButtonSFX" parent="." instance=ExtResource( 3 )] + +[connection signal="focus_entered" from="." to="ButtonSFX" method="on_hover"] +[connection signal="mouse_entered" from="." to="ButtonSFX" method="on_hover"] +[connection signal="pressed" from="." to="ButtonSFX" method="on_select"] [connection signal="pressed" from="." to="." method="_on_SceneSelectButton_pressed"] diff --git a/Menu/MainMenu.tscn b/Menu/MainMenu.tscn index 843e838..5664b28 100644 --- a/Menu/MainMenu.tscn +++ b/Menu/MainMenu.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=9 format=2] +[gd_scene load_steps=14 format=2] [ext_resource path="res://Menu/Theme.tres" type="Theme" id=1] [ext_resource path="res://Menu/Buttons/SceneSelectButton.tscn" type="PackedScene" id=2] @@ -8,6 +8,11 @@ [ext_resource path="res://icon.png" type="Texture" id=6] [ext_resource path="res://Menu/LevelInfo.tscn" type="PackedScene" id=7] [ext_resource path="res://Pegs/Pink/Pink.png" type="Texture" id=8] +[ext_resource path="res://Menu/Buttons/AudioSliders/VolumeSlider.tscn" type="PackedScene" id=9] +[ext_resource path="res://Menu/Buttons/AudioSliders/MusicVolume1.png" type="Texture" id=10] +[ext_resource path="res://Menu/Buttons/AudioSliders/MusicVolume2.png" type="Texture" id=11] +[ext_resource path="res://Menu/Buttons/AudioSliders/SFXVolume1.png" type="Texture" id=12] +[ext_resource path="res://Menu/Buttons/AudioSliders/SFXVolume2.png" type="Texture" id=13] [node name="CanvasLayer" type="CanvasLayer"] @@ -55,13 +60,27 @@ __meta__ = { margin_top = 133.0 margin_right = 368.0 margin_bottom = 165.0 -alignment = 2 +alignment = 1 + +[node name="SFX Volume" parent="Control/TabContainer/Main Menu/VBoxContainer/HBoxContainer" instance=ExtResource( 9 )] +margin_left = 64.0 +margin_right = 164.0 +custom_icons/grabber_highlight = ExtResource( 13 ) +custom_icons/grabber = ExtResource( 12 ) +bus_channel = "SFX" + +[node name="Music Volume" parent="Control/TabContainer/Main Menu/VBoxContainer/HBoxContainer" instance=ExtResource( 9 )] +margin_left = 168.0 +margin_right = 268.0 +custom_icons/grabber_highlight = ExtResource( 11 ) +custom_icons/grabber = ExtResource( 10 ) +bus_channel = "Music" [node name="FullscreenButton" parent="Control/TabContainer/Main Menu/VBoxContainer/HBoxContainer" instance=ExtResource( 5 )] anchor_right = 0.0 anchor_bottom = 0.0 -margin_left = 336.0 -margin_right = 368.0 +margin_left = 272.0 +margin_right = 304.0 margin_bottom = 32.0 [node name="Levels" type="Tabs" parent="Control/TabContainer"] @@ -84,9 +103,12 @@ __meta__ = { } [node name="LevelInfo" parent="Control/TabContainer/Levels/HBoxContainer" instance=ExtResource( 7 )] +margin_left = 157.0 +margin_right = 172.0 +alignment = 1 [node name="LevelList" type="ScrollContainer" parent="Control/TabContainer/Levels/HBoxContainer"] -margin_left = 154.0 +margin_left = 176.0 margin_right = 368.0 margin_bottom = 165.0 theme = ExtResource( 1 ) @@ -102,72 +124,74 @@ margin_bottom = 335.0 [node name="LevelSelectButton" parent="Control/TabContainer/Levels/HBoxContainer/LevelList/LevelListHBox" instance=ExtResource( 2 )] anchor_right = 0.0 anchor_bottom = 0.0 -margin_right = 190.0 -margin_bottom = 40.0 +margin_right = 168.0 +margin_bottom = 25.0 icon = ExtResource( 8 ) scene = "res://Stages/EmptyStage.tscn" [node name="LevelSelectButton3" parent="Control/TabContainer/Levels/HBoxContainer/LevelList/LevelListHBox" instance=ExtResource( 2 )] anchor_right = 0.0 anchor_bottom = 0.0 -margin_top = 88.0 -margin_right = 190.0 -margin_bottom = 128.0 +margin_top = 29.0 +margin_right = 168.0 +margin_bottom = 69.0 icon = ExtResource( 6 ) scene = "res://Stages/EmptyStage.tscn" +unlock_points_required = 10 [node name="LevelSelectButton4" parent="Control/TabContainer/Levels/HBoxContainer/LevelList/LevelListHBox" instance=ExtResource( 2 )] anchor_right = 0.0 anchor_bottom = 0.0 -margin_top = 132.0 -margin_right = 190.0 -margin_bottom = 172.0 +margin_top = 73.0 +margin_right = 168.0 +margin_bottom = 113.0 text = "> piss" icon = ExtResource( 6 ) scene = "res://Stages/EmptyStage.tscn" +unlock_points_required = 20 [node name="LevelSelectButton5" parent="Control/TabContainer/Levels/HBoxContainer/LevelList/LevelListHBox" instance=ExtResource( 2 )] anchor_right = 0.0 anchor_bottom = 0.0 -margin_top = 176.0 -margin_right = 190.0 -margin_bottom = 216.0 +margin_top = 117.0 +margin_right = 168.0 +margin_bottom = 157.0 icon = ExtResource( 6 ) scene = "res://Stages/EmptyStage.tscn" [node name="LevelSelectButton6" parent="Control/TabContainer/Levels/HBoxContainer/LevelList/LevelListHBox" instance=ExtResource( 2 )] anchor_right = 0.0 anchor_bottom = 0.0 -margin_top = 220.0 -margin_right = 190.0 -margin_bottom = 260.0 +margin_top = 161.0 +margin_right = 168.0 +margin_bottom = 201.0 icon = ExtResource( 6 ) scene = "res://Stages/EmptyStage.tscn" [node name="LevelSelectButton7" parent="Control/TabContainer/Levels/HBoxContainer/LevelList/LevelListHBox" instance=ExtResource( 2 )] anchor_right = 0.0 anchor_bottom = 0.0 -margin_top = 264.0 -margin_right = 190.0 -margin_bottom = 304.0 +margin_top = 205.0 +margin_right = 168.0 +margin_bottom = 245.0 icon = ExtResource( 6 ) scene = "res://Stages/EmptyStage.tscn" [node name="LevelSelectButton8" parent="Control/TabContainer/Levels/HBoxContainer/LevelList/LevelListHBox" instance=ExtResource( 2 )] anchor_right = 0.0 anchor_bottom = 0.0 -margin_top = 308.0 -margin_right = 190.0 -margin_bottom = 348.0 +margin_top = 249.0 +margin_right = 168.0 +margin_bottom = 289.0 icon = ExtResource( 6 ) scene = "res://Stages/EmptyStage.tscn" [node name="LevelSelectButton9" parent="Control/TabContainer/Levels/HBoxContainer/LevelList/LevelListHBox" instance=ExtResource( 2 )] anchor_right = 0.0 anchor_bottom = 0.0 -margin_top = 352.0 -margin_right = 190.0 -margin_bottom = 392.0 +margin_top = 293.0 +margin_right = 168.0 +margin_bottom = 333.0 icon = ExtResource( 6 ) scene = "res://Stages/EmptyStage.tscn" diff --git a/Menu/Pause.gd b/Menu/Pause.gd new file mode 100644 index 0000000..6db261b --- /dev/null +++ b/Menu/Pause.gd @@ -0,0 +1,9 @@ +extends CenterContainer + +func _process(delta): + if Input.is_action_just_pressed("pause"): + _on_pause_button_pressed() + +func _on_pause_button_pressed(): + get_tree().paused = !get_tree().paused + visible = !visible diff --git a/Menu/Pause.tscn b/Menu/Pause.tscn new file mode 100644 index 0000000..7065fc6 --- /dev/null +++ b/Menu/Pause.tscn @@ -0,0 +1,95 @@ +[gd_scene load_steps=17 format=2] + +[ext_resource path="res://Menu/Buttons/RestartButton.tscn" type="PackedScene" id=1] +[ext_resource path="res://Menu/Icons/Play/Play2.png" type="Texture" id=2] +[ext_resource path="res://Menu/Icons/Home/homeIcon1.png" type="Texture" id=3] +[ext_resource path="res://Menu/Icons/Home/homeIcon2.png" type="Texture" id=4] +[ext_resource path="res://Menu/Icons/Home/homeIcon3.png" type="Texture" id=5] +[ext_resource path="res://Menu/Buttons/LevelSelectIconButton.tscn" type="PackedScene" id=6] +[ext_resource path="res://Menu/Pause.gd" type="Script" id=7] +[ext_resource path="res://Menu/Icons/Play/Play1.png" type="Texture" id=8] +[ext_resource path="res://Menu/Icons/Play/Play3.png" type="Texture" id=9] +[ext_resource path="res://Menu/Buttons/AudioSliders/SFXVolume2.png" type="Texture" id=10] +[ext_resource path="res://Menu/Buttons/AudioSliders/SFXVolume1.png" type="Texture" id=11] +[ext_resource path="res://Menu/Buttons/AudioSliders/VolumeSlider.tscn" type="PackedScene" id=12] +[ext_resource path="res://Menu/Buttons/AudioSliders/MusicVolume1.png" type="Texture" id=13] +[ext_resource path="res://Menu/Buttons/AudioSliders/MusicVolume2.png" type="Texture" id=14] +[ext_resource path="res://Menu/Theme.tres" type="Theme" id=15] +[ext_resource path="res://Menu/Buttons/Fullscreen/FullscreenButton.tscn" type="PackedScene" id=16] + +[node name="Pause" type="CanvasLayer"] +pause_mode = 2 + +[node name="Pause" type="CenterContainer" parent="."] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +theme = ExtResource( 15 ) +script = ExtResource( 7 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PanelContainer" type="PanelContainer" parent="Pause"] +margin_left = 190.0 +margin_top = 106.0 +margin_right = 194.0 +margin_bottom = 110.0 +theme = ExtResource( 15 ) + +[node name="HBoxContainer" type="VBoxContainer" parent="Pause/PanelContainer"] +margin_left = 2.0 +margin_top = 2.0 +margin_right = 142.0 +margin_bottom = 106.0 + +[node name="VBoxContainer" type="HBoxContainer" parent="Pause/PanelContainer/HBoxContainer"] +margin_right = 140.0 +margin_bottom = 32.0 + +[node name="FullscreenButton" parent="Pause/PanelContainer/HBoxContainer/VBoxContainer" instance=ExtResource( 16 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 32.0 +margin_bottom = 32.0 + +[node name="LevelSelectIconButton" parent="Pause/PanelContainer/HBoxContainer/VBoxContainer" instance=ExtResource( 6 )] +margin_left = 36.0 +margin_right = 68.0 +margin_bottom = 32.0 +texture_normal = ExtResource( 3 ) +texture_pressed = ExtResource( 5 ) +texture_hover = ExtResource( 4 ) + +[node name="RestartButton" parent="Pause/PanelContainer/HBoxContainer/VBoxContainer" instance=ExtResource( 1 )] +margin_left = 72.0 +margin_right = 104.0 +margin_bottom = 32.0 + +[node name="Resume" type="TextureButton" parent="Pause/PanelContainer/HBoxContainer/VBoxContainer"] +margin_left = 108.0 +margin_right = 140.0 +margin_bottom = 32.0 +texture_normal = ExtResource( 8 ) +texture_pressed = ExtResource( 9 ) +texture_hover = ExtResource( 2 ) + +[node name="SFX Volume" parent="Pause/PanelContainer/HBoxContainer" instance=ExtResource( 12 )] +margin_top = 36.0 +margin_right = 140.0 +margin_bottom = 68.0 +custom_icons/grabber_highlight = ExtResource( 10 ) +custom_icons/grabber = ExtResource( 11 ) +bus_channel = "SFX" + +[node name="Music Volume" parent="Pause/PanelContainer/HBoxContainer" instance=ExtResource( 12 )] +margin_top = 72.0 +margin_right = 140.0 +margin_bottom = 104.0 +custom_icons/grabber_highlight = ExtResource( 14 ) +custom_icons/grabber = ExtResource( 13 ) +bus_channel = "Music" + +[connection signal="pressed" from="Pause/PanelContainer/HBoxContainer/VBoxContainer/LevelSelectIconButton" to="Pause" method="_on_pause_button_pressed"] +[connection signal="pressed" from="Pause/PanelContainer/HBoxContainer/VBoxContainer/RestartButton" to="Pause" method="_on_pause_button_pressed"] +[connection signal="pressed" from="Pause/PanelContainer/HBoxContainer/VBoxContainer/Resume" to="Pause" method="_on_pause_button_pressed"] diff --git a/Menu/Theme.tres b/Menu/Theme.tres index 5017b50..afb0df6 100644 --- a/Menu/Theme.tres +++ b/Menu/Theme.tres @@ -1,4 +1,4 @@ -[gd_resource type="Theme" load_steps=22 format=2] +[gd_resource type="Theme" load_steps=26 format=2] [ext_resource path="res://Font/Yoster-island/Yoster16.tres" type="DynamicFont" id=1] [ext_resource path="res://Font/Yoster-island/Yoster.ttf" type="DynamicFontData" id=2] @@ -60,12 +60,40 @@ border_width_right = 2 border_width_bottom = 2 border_color = Color( 0.454902, 0.337255, 0.607843, 1 ) -[sub_resource type="DynamicFont" id=7] +[sub_resource type="StyleBoxFlat" id=7] +bg_color = Color( 0.847059, 0.74902, 0.847059, 1 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.454902, 0.337255, 0.607843, 1 ) +anti_aliasing = false + +[sub_resource type="StyleBoxFlat" id=8] +bg_color = Color( 0.588235, 0.984314, 0.780392, 1 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.454902, 0.337255, 0.607843, 1 ) +anti_aliasing = false + +[sub_resource type="StyleBoxFlat" id=9] +bg_color = Color( 0.847059, 0.74902, 0.847059, 1 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.454902, 0.337255, 0.607843, 1 ) +expand_margin_top = 14.0 +expand_margin_bottom = 14.0 + +[sub_resource type="DynamicFont" id=10] size = 18 outline_color = Color( 0.847059, 0.74902, 0.847059, 1 ) font_data = ExtResource( 2 ) -[sub_resource type="StyleBoxFlat" id=8] +[sub_resource type="StyleBoxFlat" id=11] bg_color = Color( 0.847059, 0.74902, 0.847059, 1 ) border_width_left = 1 border_width_top = 1 @@ -73,14 +101,31 @@ border_width_right = 1 border_width_bottom = 1 border_color = Color( 0.454902, 0.337255, 0.607843, 1 ) -[sub_resource type="StyleBoxFlat" id=9] +[sub_resource type="StyleBoxFlat" id=23] +content_margin_left = 2.0 +content_margin_right = 2.0 +content_margin_top = 2.0 +content_margin_bottom = 2.0 +bg_color = Color( 0.847059, 0.74902, 0.847059, 1 ) +border_width_left = 2 +border_width_top = 2 +border_width_right = 2 +border_width_bottom = 2 +border_color = Color( 0.454902, 0.337255, 0.607843, 1 ) +corner_detail = 1 +expand_margin_left = 2.0 +expand_margin_right = 2.0 +expand_margin_top = 2.0 +expand_margin_bottom = 2.0 + +[sub_resource type="StyleBoxFlat" id=12] content_margin_left = 2.0 content_margin_right = 2.0 content_margin_top = 2.0 content_margin_bottom = 2.0 bg_color = Color( 0.847059, 0.74902, 0.847059, 1 ) -[sub_resource type="StyleBoxFlat" id=10] +[sub_resource type="StyleBoxFlat" id=13] content_margin_left = 4.0 content_margin_right = 4.0 content_margin_top = 4.0 @@ -93,7 +138,7 @@ border_width_bottom = 2 border_color = Color( 0.454902, 0.337255, 0.607843, 1 ) anti_aliasing = false -[sub_resource type="StyleBoxFlat" id=11] +[sub_resource type="StyleBoxFlat" id=14] content_margin_left = 4.0 content_margin_right = 4.0 content_margin_top = 4.0 @@ -105,7 +150,7 @@ border_width_right = 1 border_width_bottom = 1 border_color = Color( 0.454902, 0.337255, 0.607843, 1 ) -[sub_resource type="StyleBoxFlat" id=12] +[sub_resource type="StyleBoxFlat" id=15] content_margin_left = 4.0 content_margin_right = 4.0 content_margin_top = 4.0 @@ -118,15 +163,15 @@ border_width_bottom = 1 border_color = Color( 0.454902, 0.337255, 0.607843, 1 ) anti_aliasing = false -[sub_resource type="StyleBoxFlat" id=13] +[sub_resource type="StyleBoxFlat" id=16] bg_color = Color( 0.454902, 0.337255, 0.607843, 1 ) -[sub_resource type="StyleBoxFlat" id=14] +[sub_resource type="StyleBoxFlat" id=17] -[sub_resource type="StyleBoxFlat" id=15] +[sub_resource type="StyleBoxFlat" id=18] bg_color = Color( 0.847059, 0.74902, 0.847059, 1 ) -[sub_resource type="StyleBoxFlat" id=16] +[sub_resource type="StyleBoxFlat" id=19] bg_color = Color( 0.847059, 0.74902, 0.847059, 1 ) border_width_left = 2 border_width_top = 2 @@ -134,7 +179,7 @@ border_width_right = 2 border_width_bottom = 2 border_color = Color( 0.454902, 0.337255, 0.607843, 1 ) -[sub_resource type="StyleBoxFlat" id=17] +[sub_resource type="StyleBoxFlat" id=20] bg_color = Color( 1, 0.701961, 0.796078, 1 ) border_width_left = 2 border_width_top = 2 @@ -142,7 +187,7 @@ border_width_right = 2 border_width_bottom = 2 border_color = Color( 0.454902, 0.337255, 0.607843, 1 ) -[sub_resource type="StyleBoxFlat" id=18] +[sub_resource type="StyleBoxFlat" id=21] bg_color = Color( 0.588235, 0.984314, 0.780392, 1 ) border_width_left = 2 border_width_top = 2 @@ -150,7 +195,7 @@ border_width_right = 2 border_width_bottom = 2 border_color = Color( 0.454902, 0.337255, 0.607843, 1 ) -[sub_resource type="StyleBoxFlat" id=19] +[sub_resource type="StyleBoxFlat" id=22] content_margin_right = 16.0 bg_color = Color( 0.847059, 0.74902, 0.847059, 1 ) border_width_left = 4 @@ -300,9 +345,9 @@ HSlider/icons/grabber = null HSlider/icons/grabber_disabled = null HSlider/icons/grabber_highlight = null HSlider/icons/tick = null -HSlider/styles/grabber_area = null -HSlider/styles/grabber_area_highlight = null -HSlider/styles/slider = null +HSlider/styles/grabber_area = SubResource( 7 ) +HSlider/styles/grabber_area_highlight = SubResource( 8 ) +HSlider/styles/slider = SubResource( 9 ) HSplitContainer/constants/autohide = 1 HSplitContainer/constants/separation = 12 HSplitContainer/icons/grabber = null @@ -329,7 +374,7 @@ Label/constants/line_spacing = 3 Label/constants/shadow_as_outline = 0 Label/constants/shadow_offset_x = 1 Label/constants/shadow_offset_y = 1 -Label/fonts/font = SubResource( 7 ) +Label/fonts/font = SubResource( 10 ) Label/styles/normal = null LineEdit/colors/clear_button_color = Color( 0, 0, 0, 1 ) LineEdit/colors/clear_button_color_pressed = Color( 0, 0, 0, 1 ) @@ -378,8 +423,8 @@ OptionButton/styles/focus = null OptionButton/styles/hover = null OptionButton/styles/normal = null OptionButton/styles/pressed = null -Panel/styles/panel = SubResource( 8 ) -PanelContainer/styles/panel = null +Panel/styles/panel = SubResource( 11 ) +PanelContainer/styles/panel = SubResource( 23 ) PopupDialog/styles/panel = null PopupMenu/colors/font_color = Color( 0, 0, 0, 1 ) PopupMenu/colors/font_color_accel = Color( 0, 0, 0, 1 ) @@ -423,7 +468,7 @@ RichTextLabel/fonts/mono_font = null RichTextLabel/fonts/normal_font = null RichTextLabel/styles/focus = null RichTextLabel/styles/normal = null -ScrollContainer/styles/bg = SubResource( 9 ) +ScrollContainer/styles/bg = SubResource( 12 ) SpinBox/icons/updown = null TabContainer/colors/font_color_bg = Color( 0, 0, 0, 1 ) TabContainer/colors/font_color_disabled = Color( 0, 0, 0, 1 ) @@ -440,10 +485,10 @@ TabContainer/icons/increment = null TabContainer/icons/increment_highlight = null TabContainer/icons/menu = null TabContainer/icons/menu_highlight = null -TabContainer/styles/panel = SubResource( 10 ) -TabContainer/styles/tab_bg = SubResource( 11 ) +TabContainer/styles/panel = SubResource( 13 ) +TabContainer/styles/tab_bg = SubResource( 14 ) TabContainer/styles/tab_disabled = null -TabContainer/styles/tab_fg = SubResource( 12 ) +TabContainer/styles/tab_fg = SubResource( 15 ) Tabs/colors/font_color_bg = Color( 0.454902, 0.337255, 0.607843, 1 ) Tabs/colors/font_color_disabled = Color( 0.454902, 0.337255, 0.607843, 1 ) Tabs/colors/font_color_fg = Color( 0.454902, 0.337255, 0.607843, 1 ) @@ -457,10 +502,10 @@ Tabs/icons/decrement = null Tabs/icons/decrement_highlight = null Tabs/icons/increment = null Tabs/icons/increment_highlight = null -Tabs/styles/button = SubResource( 13 ) +Tabs/styles/button = SubResource( 16 ) Tabs/styles/button_pressed = null -Tabs/styles/panel = SubResource( 14 ) -Tabs/styles/tab_bg = SubResource( 15 ) +Tabs/styles/panel = SubResource( 17 ) +Tabs/styles/tab_bg = SubResource( 18 ) Tabs/styles/tab_disabled = null Tabs/styles/tab_fg = null TextEdit/colors/background_color = Color( 0, 0, 0, 1 ) @@ -560,10 +605,10 @@ VScrollBar/icons/decrement = null VScrollBar/icons/decrement_highlight = null VScrollBar/icons/increment = null VScrollBar/icons/increment_highlight = null -VScrollBar/styles/grabber = SubResource( 16 ) -VScrollBar/styles/grabber_highlight = SubResource( 17 ) -VScrollBar/styles/grabber_pressed = SubResource( 18 ) -VScrollBar/styles/scroll = SubResource( 19 ) +VScrollBar/styles/grabber = SubResource( 19 ) +VScrollBar/styles/grabber_highlight = SubResource( 20 ) +VScrollBar/styles/grabber_pressed = SubResource( 21 ) +VScrollBar/styles/scroll = SubResource( 22 ) VScrollBar/styles/scroll_focus = null VSeparator/constants/separation = 4 VSeparator/styles/separator = null diff --git a/Music/Menu.ogg b/Music/Menu.ogg new file mode 100644 index 0000000..7daf55b Binary files /dev/null and b/Music/Menu.ogg differ diff --git a/Music/Menu.ogg.import b/Music/Menu.ogg.import new file mode 100644 index 0000000..c1ff1aa --- /dev/null +++ b/Music/Menu.ogg.import @@ -0,0 +1,15 @@ +[remap] + +importer="ogg_vorbis" +type="AudioStreamOGGVorbis" +path="res://.import/Menu.ogg-5d0b70bc270d7b88fd20e45ac7483499.oggstr" + +[deps] + +source_file="res://Music/Menu.ogg" +dest_files=[ "res://.import/Menu.ogg-5d0b70bc270d7b88fd20e45ac7483499.oggstr" ] + +[params] + +loop=true +loop_offset=0 diff --git a/Music/Music.gd b/Music/Music.gd new file mode 100644 index 0000000..01ed6b8 --- /dev/null +++ b/Music/Music.gd @@ -0,0 +1,5 @@ +extends AudioStreamPlayer + +func _process(delta): + var speed = clamp(Engine.time_scale, 0.99, 1.1) + pitch_scale = lerp(pitch_scale, speed, 0.01) diff --git a/Music/Music.tscn b/Music/Music.tscn new file mode 100644 index 0000000..0657efd --- /dev/null +++ b/Music/Music.tscn @@ -0,0 +1,10 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Music/Menu.ogg" type="AudioStream" id=1] +[ext_resource path="res://Music/Music.gd" type="Script" id=2] + +[node name="Jukebox" type="AudioStreamPlayer"] +stream = ExtResource( 1 ) +autoplay = true +bus = "Music" +script = ExtResource( 2 ) diff --git a/Pegs/Green/GreenBar.tscn b/Pegs/Green/GreenBar.tscn index 62295e6..b5d2520 100644 --- a/Pegs/Green/GreenBar.tscn +++ b/Pegs/Green/GreenBar.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=8 format=2] [ext_resource path="res://Pegs/Green/bar.png" type="Texture" id=1] [ext_resource path="res://Pegs/Green/GreenBar.gd" type="Script" id=2] [ext_resource path="res://Pegs/Green/GraceTimer.tscn" type="PackedScene" id=3] +[ext_resource path="res://Pegs/Green/HitSFX.tscn" type="PackedScene" id=4] [sub_resource type="RectangleShape2D" id=1] extents = Vector2( 16, 3 ) @@ -41,6 +42,8 @@ shape = SubResource( 2 ) [node name="GraceTimer" parent="." instance=ExtResource( 3 )] +[node name="HitSFX" parent="." instance=ExtResource( 4 )] + [node name="AnimationPlayer" type="AnimationPlayer" parent="."] anims/spawn = SubResource( 3 ) diff --git a/Pegs/Green/GreenPeg.tscn b/Pegs/Green/GreenPeg.tscn index 3aebfd8..c476b3b 100644 --- a/Pegs/Green/GreenPeg.tscn +++ b/Pegs/Green/GreenPeg.tscn @@ -1,10 +1,11 @@ -[gd_scene load_steps=8 format=2] +[gd_scene load_steps=9 format=2] [ext_resource path="res://Pegs/Green/green.png" type="Texture" id=1] [ext_resource path="res://Pegs/Green/GreenPeg.gd" type="Script" id=2] [ext_resource path="res://Pegs/Green/GraceTimer.tscn" type="PackedScene" id=3] [ext_resource path="res://Pegs/DefaultPegCollisionShape.tscn" type="PackedScene" id=4] [ext_resource path="res://Pegs/Green/GreenPegAnimationPlayer.gd" type="Script" id=5] +[ext_resource path="res://Pegs/Green/HitSFX.tscn" type="PackedScene" id=6] [sub_resource type="PhysicsMaterial" id=1] @@ -38,6 +39,8 @@ texture = ExtResource( 1 ) anims/GetBigger = SubResource( 2 ) script = ExtResource( 5 ) +[node name="HitSFX" parent="." instance=ExtResource( 6 )] + [node name="GraceTimer" parent="." instance=ExtResource( 3 )] [connection signal="timeout" from="GraceTimer" to="." method="_on_GraceTimer_timeout"] diff --git a/Pegs/Green/HitParticles.tscn b/Pegs/Green/HitParticles.tscn index 79fb513..49da0da 100644 --- a/Pegs/Green/HitParticles.tscn +++ b/Pegs/Green/HitParticles.tscn @@ -1,7 +1,9 @@ -[gd_scene load_steps=4 format=2] +[gd_scene load_steps=6 format=2] [ext_resource path="res://Pegs/HitParticles.gd" type="Script" id=1] [ext_resource path="res://Effects/greenParticle.png" type="Texture" id=2] +[ext_resource path="res://SFX/greenExplodes.wav" type="AudioStream" id=3] +[ext_resource path="res://Pegs/Green/HitSFX.gd" type="Script" id=4] [sub_resource type="ParticlesMaterial" id=1] emission_shape = 1 @@ -30,3 +32,9 @@ local_coords = false process_material = SubResource( 1 ) texture = ExtResource( 2 ) script = ExtResource( 1 ) + +[node name="HitSFX" type="AudioStreamPlayer2D" parent="."] +stream = ExtResource( 3 ) +autoplay = true +bus = "SFX" +script = ExtResource( 4 ) diff --git a/Pegs/Green/HitSFX.gd b/Pegs/Green/HitSFX.gd new file mode 100644 index 0000000..2d81d12 --- /dev/null +++ b/Pegs/Green/HitSFX.gd @@ -0,0 +1,4 @@ +extends AudioStreamPlayer2D + +func _ready(): + pitch_scale = rand_range(0.75, 2) diff --git a/Pegs/Green/HitSFX.tscn b/Pegs/Green/HitSFX.tscn new file mode 100644 index 0000000..c1ec796 --- /dev/null +++ b/Pegs/Green/HitSFX.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Pegs/Green/HitSFX.gd" type="Script" id=1] +[ext_resource path="res://SFX/greenExplodes.wav" type="AudioStream" id=2] + +[node name="HitSFX" type="AudioStreamPlayer2D"] +stream = ExtResource( 2 ) +volume_db = 8.0 +autoplay = true +bus = "SFX" +script = ExtResource( 1 ) diff --git a/Pegs/Pink/PinkPeg.gd b/Pegs/Pink/PinkPeg.gd index ee4ed15..9f725fe 100644 --- a/Pegs/Pink/PinkPeg.gd +++ b/Pegs/Pink/PinkPeg.gd @@ -18,6 +18,7 @@ func make_green(): #finally delete the old peg GameStats.pinks_left -= 1 + GameStats.add_to_multiplier() win_level() Engine.time_scale = 1 queue_free() diff --git a/Pegs/Pink/PinkPeg.tscn b/Pegs/Pink/PinkPeg.tscn index 1ebb3d4..b433074 100644 --- a/Pegs/Pink/PinkPeg.tscn +++ b/Pegs/Pink/PinkPeg.tscn @@ -4,10 +4,10 @@ [ext_resource path="res://Pegs/DefaultPegCollisionShape.tscn" type="PackedScene" id=2] [ext_resource path="res://Pegs/Pink/Pink.png" type="Texture" id=3] -[sub_resource type="CircleShape2D" id=2] +[sub_resource type="CircleShape2D" id=1] radius = 10.2018 -[sub_resource type="CircleShape2D" id=1] +[sub_resource type="CircleShape2D" id=2] radius = 33.0151 [node name="PinkPeg" type="StaticBody2D"] @@ -18,7 +18,7 @@ collision_layer = 0 collision_mask = 4 [node name="CollisionShape2D" type="CollisionShape2D" parent="RegularCollision"] -shape = SubResource( 2 ) +shape = SubResource( 1 ) [node name="SlowmoTimer" type="Timer" parent="."] wait_time = 0.075 @@ -34,7 +34,7 @@ collision_layer = 0 collision_mask = 4 [node name="CollisionShape2D" type="CollisionShape2D" parent="LastPegCollision"] -shape = SubResource( 1 ) +shape = SubResource( 2 ) [connection signal="body_entered" from="RegularCollision" to="." method="_on_Area2D_body_entered"] [connection signal="body_exited" from="RegularCollision" to="." method="_on_Area2D_body_exited"] diff --git a/Pegs/Purple/PurpleBar.gd b/Pegs/Purple/PurpleBar.gd index c011887..7fc8a8f 100644 --- a/Pegs/Purple/PurpleBar.gd +++ b/Pegs/Purple/PurpleBar.gd @@ -9,6 +9,7 @@ func make_green(): green_bar.global_rotation = global_rotation main.add_child(green_bar) + GameStats.add_to_multiplier() queue_free() func bouncy(): diff --git a/Pegs/Purple/PurplePeg.gd b/Pegs/Purple/PurplePeg.gd index 298e24e..d9e8ba7 100644 --- a/Pegs/Purple/PurplePeg.gd +++ b/Pegs/Purple/PurplePeg.gd @@ -14,6 +14,9 @@ func make_green(): var main = get_tree().current_scene main.add_child(green_peg) + # increase multiplyier + GameStats.add_to_multiplier() + #finally delete the old peg queue_free() diff --git a/SFX/SFXPlayer.gd b/SFX/SFXPlayer.gd new file mode 100644 index 0000000..07a72a0 --- /dev/null +++ b/SFX/SFXPlayer.gd @@ -0,0 +1,26 @@ +extends AudioStreamPlayer + +var sounds = [] + +func _ready(): + sounds.append("res://SFX/boop/C.wav") + sounds.append("res://SFX/boop/C#.wav") + sounds.append("res://SFX/boop/D.wav") + sounds.append("res://SFX/boop/D#.wav") + sounds.append("res://SFX/boop/E.wav") + sounds.append("res://SFX/boop/F.wav") + sounds.append("res://SFX/boop/F#.wav") + sounds.append("res://SFX/boop/G.wav") + sounds.append("res://SFX/boop/G#.wav") + sounds.append("res://SFX/boop/A.wav") + sounds.append("res://SFX/boop/A#.wav") + sounds.append("res://SFX/boop/B.wav") + + var sfx + # play the highest note when the multiplayer is larger than the amount of available sounds + if(sounds.size() <= GameStats.multiplier): + sfx = load(sounds[sounds.size() - 1]) + else: sfx = load(sounds[GameStats.multiplier - 1]) + stream = sfx + + play() diff --git a/SFX/SFXPlayer.tscn b/SFX/SFXPlayer.tscn new file mode 100644 index 0000000..83ead21 --- /dev/null +++ b/SFX/SFXPlayer.tscn @@ -0,0 +1,9 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://SFX/SFXPlayer.gd" type="Script" id=1] + +[node name="SFXPlayer" type="AudioStreamPlayer"] +volume_db = 11.0 +autoplay = true +bus = "SFX" +script = ExtResource( 1 ) diff --git a/SFX/Scratch/BallReset.wav b/SFX/Scratch/BallReset.wav new file mode 100644 index 0000000..865970d Binary files /dev/null and b/SFX/Scratch/BallReset.wav differ diff --git a/SFX/Scratch/BallReset.wav.import b/SFX/Scratch/BallReset.wav.import new file mode 100644 index 0000000..3a1c608 --- /dev/null +++ b/SFX/Scratch/BallReset.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/BallReset.wav-030c4988d19e35a5110e64ae6fdc34a9.sample" + +[deps] + +source_file="res://SFX/Scratch/BallReset.wav" +dest_files=[ "res://.import/BallReset.wav-030c4988d19e35a5110e64ae6fdc34a9.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/SFX/Scratch/FadeOut.flac b/SFX/Scratch/FadeOut.flac new file mode 100644 index 0000000..5a9655b Binary files /dev/null and b/SFX/Scratch/FadeOut.flac differ diff --git a/SFX/Scratch/Fadein.ogg b/SFX/Scratch/Fadein.ogg new file mode 100644 index 0000000..13f603a Binary files /dev/null and b/SFX/Scratch/Fadein.ogg differ diff --git a/SFX/Scratch/Fadein.ogg.import b/SFX/Scratch/Fadein.ogg.import new file mode 100644 index 0000000..ce2f315 --- /dev/null +++ b/SFX/Scratch/Fadein.ogg.import @@ -0,0 +1,15 @@ +[remap] + +importer="ogg_vorbis" +type="AudioStreamOGGVorbis" +path="res://.import/Fadein.ogg-eadb2cc899c1b292da7f0ec850c5fe3d.oggstr" + +[deps] + +source_file="res://SFX/Scratch/Fadein.ogg" +dest_files=[ "res://.import/Fadein.ogg-eadb2cc899c1b292da7f0ec850c5fe3d.oggstr" ] + +[params] + +loop=true +loop_offset=0 diff --git a/SFX/Scratch/Fadeout.ogg b/SFX/Scratch/Fadeout.ogg new file mode 100644 index 0000000..e3d86c1 Binary files /dev/null and b/SFX/Scratch/Fadeout.ogg differ diff --git a/SFX/Scratch/Fadeout.ogg.import b/SFX/Scratch/Fadeout.ogg.import new file mode 100644 index 0000000..03f746a --- /dev/null +++ b/SFX/Scratch/Fadeout.ogg.import @@ -0,0 +1,15 @@ +[remap] + +importer="ogg_vorbis" +type="AudioStreamOGGVorbis" +path="res://.import/Fadeout.ogg-17b61e79fb22b1755df3142b0dd92b2e.oggstr" + +[deps] + +source_file="res://SFX/Scratch/Fadeout.ogg" +dest_files=[ "res://.import/Fadeout.ogg-17b61e79fb22b1755df3142b0dd92b2e.oggstr" ] + +[params] + +loop=true +loop_offset=0 diff --git a/SFX/Scratch/HoverButton.wav b/SFX/Scratch/HoverButton.wav new file mode 100644 index 0000000..1310163 Binary files /dev/null and b/SFX/Scratch/HoverButton.wav differ diff --git a/SFX/Scratch/HoverButton.wav.import b/SFX/Scratch/HoverButton.wav.import new file mode 100644 index 0000000..a9c1d08 --- /dev/null +++ b/SFX/Scratch/HoverButton.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/HoverButton.wav-b4f06b94508ef6329b16866b11deca55.sample" + +[deps] + +source_file="res://SFX/Scratch/HoverButton.wav" +dest_files=[ "res://.import/HoverButton.wav-b4f06b94508ef6329b16866b11deca55.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/SFX/Scratch/SelectButton.wav b/SFX/Scratch/SelectButton.wav new file mode 100644 index 0000000..5eaf92c Binary files /dev/null and b/SFX/Scratch/SelectButton.wav differ diff --git a/SFX/Scratch/SelectButton.wav.import b/SFX/Scratch/SelectButton.wav.import new file mode 100644 index 0000000..d083503 --- /dev/null +++ b/SFX/Scratch/SelectButton.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/SelectButton.wav-22daca460391460ee3cf8c29d8fc288e.sample" + +[deps] + +source_file="res://SFX/Scratch/SelectButton.wav" +dest_files=[ "res://.import/SelectButton.wav-22daca460391460ee3cf8c29d8fc288e.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/SFX/boop/A#.wav b/SFX/boop/A#.wav new file mode 100644 index 0000000..d81fc4b Binary files /dev/null and b/SFX/boop/A#.wav differ diff --git a/SFX/boop/A#.wav.import b/SFX/boop/A#.wav.import new file mode 100644 index 0000000..5af1818 --- /dev/null +++ b/SFX/boop/A#.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/A#.wav-9ef26cd8708600de0a9bffb284ec0e48.sample" + +[deps] + +source_file="res://SFX/boop/A#.wav" +dest_files=[ "res://.import/A#.wav-9ef26cd8708600de0a9bffb284ec0e48.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/SFX/boop/A.wav b/SFX/boop/A.wav new file mode 100644 index 0000000..a9271cf Binary files /dev/null and b/SFX/boop/A.wav differ diff --git a/SFX/boop/A.wav.import b/SFX/boop/A.wav.import new file mode 100644 index 0000000..cc479fa --- /dev/null +++ b/SFX/boop/A.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/A.wav-5b6c1c6634da62a7647953cdafd8d80c.sample" + +[deps] + +source_file="res://SFX/boop/A.wav" +dest_files=[ "res://.import/A.wav-5b6c1c6634da62a7647953cdafd8d80c.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/SFX/boop/B.wav b/SFX/boop/B.wav new file mode 100644 index 0000000..3cc99b9 Binary files /dev/null and b/SFX/boop/B.wav differ diff --git a/SFX/boop/B.wav.import b/SFX/boop/B.wav.import new file mode 100644 index 0000000..df9da75 --- /dev/null +++ b/SFX/boop/B.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/B.wav-e5748ec65d418ce4060344491a66a395.sample" + +[deps] + +source_file="res://SFX/boop/B.wav" +dest_files=[ "res://.import/B.wav-e5748ec65d418ce4060344491a66a395.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/SFX/boop/C#.wav b/SFX/boop/C#.wav new file mode 100644 index 0000000..259e2c7 Binary files /dev/null and b/SFX/boop/C#.wav differ diff --git a/SFX/boop/C#.wav.import b/SFX/boop/C#.wav.import new file mode 100644 index 0000000..f113216 --- /dev/null +++ b/SFX/boop/C#.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/C#.wav-96d693e537180cc41a39bdd6716be216.sample" + +[deps] + +source_file="res://SFX/boop/C#.wav" +dest_files=[ "res://.import/C#.wav-96d693e537180cc41a39bdd6716be216.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/SFX/boop/C.wav b/SFX/boop/C.wav new file mode 100644 index 0000000..a036d8b Binary files /dev/null and b/SFX/boop/C.wav differ diff --git a/SFX/boop/C.wav.import b/SFX/boop/C.wav.import new file mode 100644 index 0000000..c87eabc --- /dev/null +++ b/SFX/boop/C.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/C.wav-e4bd7df767f25fea0dc0787e53863aad.sample" + +[deps] + +source_file="res://SFX/boop/C.wav" +dest_files=[ "res://.import/C.wav-e4bd7df767f25fea0dc0787e53863aad.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/SFX/boop/D#.wav b/SFX/boop/D#.wav new file mode 100644 index 0000000..51d4182 Binary files /dev/null and b/SFX/boop/D#.wav differ diff --git a/SFX/boop/D#.wav.import b/SFX/boop/D#.wav.import new file mode 100644 index 0000000..aaadee5 --- /dev/null +++ b/SFX/boop/D#.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/D#.wav-d6f3dee8719098c7f7912a8384b82d9f.sample" + +[deps] + +source_file="res://SFX/boop/D#.wav" +dest_files=[ "res://.import/D#.wav-d6f3dee8719098c7f7912a8384b82d9f.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/SFX/boop/D.wav b/SFX/boop/D.wav new file mode 100644 index 0000000..d06bfb6 Binary files /dev/null and b/SFX/boop/D.wav differ diff --git a/SFX/boop/D.wav.import b/SFX/boop/D.wav.import new file mode 100644 index 0000000..28e3764 --- /dev/null +++ b/SFX/boop/D.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/D.wav-84f2ac366a166d00e768b1e01ace06e9.sample" + +[deps] + +source_file="res://SFX/boop/D.wav" +dest_files=[ "res://.import/D.wav-84f2ac366a166d00e768b1e01ace06e9.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/SFX/boop/E.wav b/SFX/boop/E.wav new file mode 100644 index 0000000..3f821e7 Binary files /dev/null and b/SFX/boop/E.wav differ diff --git a/SFX/boop/E.wav.import b/SFX/boop/E.wav.import new file mode 100644 index 0000000..f10d675 --- /dev/null +++ b/SFX/boop/E.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/E.wav-6a76c314a03a675e2204acd78fcb0588.sample" + +[deps] + +source_file="res://SFX/boop/E.wav" +dest_files=[ "res://.import/E.wav-6a76c314a03a675e2204acd78fcb0588.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/SFX/boop/F#.wav b/SFX/boop/F#.wav new file mode 100644 index 0000000..68e8ce4 Binary files /dev/null and b/SFX/boop/F#.wav differ diff --git a/SFX/boop/F#.wav.import b/SFX/boop/F#.wav.import new file mode 100644 index 0000000..fc45bb9 --- /dev/null +++ b/SFX/boop/F#.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/F#.wav-a5a586721aca3a8f6c3cf3705ceea89f.sample" + +[deps] + +source_file="res://SFX/boop/F#.wav" +dest_files=[ "res://.import/F#.wav-a5a586721aca3a8f6c3cf3705ceea89f.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/SFX/boop/F.wav b/SFX/boop/F.wav new file mode 100644 index 0000000..1276141 Binary files /dev/null and b/SFX/boop/F.wav differ diff --git a/SFX/boop/F.wav.import b/SFX/boop/F.wav.import new file mode 100644 index 0000000..811f70b --- /dev/null +++ b/SFX/boop/F.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/F.wav-1cdcf546c8a65aef8760177f6703338a.sample" + +[deps] + +source_file="res://SFX/boop/F.wav" +dest_files=[ "res://.import/F.wav-1cdcf546c8a65aef8760177f6703338a.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/SFX/boop/G#.wav b/SFX/boop/G#.wav new file mode 100644 index 0000000..581b124 Binary files /dev/null and b/SFX/boop/G#.wav differ diff --git a/SFX/boop/G#.wav.import b/SFX/boop/G#.wav.import new file mode 100644 index 0000000..85b5272 --- /dev/null +++ b/SFX/boop/G#.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/G#.wav-4df8639aa965734c341b3616dd348b06.sample" + +[deps] + +source_file="res://SFX/boop/G#.wav" +dest_files=[ "res://.import/G#.wav-4df8639aa965734c341b3616dd348b06.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/SFX/boop/G.wav b/SFX/boop/G.wav new file mode 100644 index 0000000..e6c89a9 Binary files /dev/null and b/SFX/boop/G.wav differ diff --git a/SFX/boop/G.wav.import b/SFX/boop/G.wav.import new file mode 100644 index 0000000..ac3d8a4 --- /dev/null +++ b/SFX/boop/G.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/G.wav-9cc75de310289e0fca71de569cd981db.sample" + +[deps] + +source_file="res://SFX/boop/G.wav" +dest_files=[ "res://.import/G.wav-9cc75de310289e0fca71de569cd981db.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/SFX/greenExplodes.wav b/SFX/greenExplodes.wav new file mode 100644 index 0000000..225042b Binary files /dev/null and b/SFX/greenExplodes.wav differ diff --git a/SFX/greenExplodes.wav.import b/SFX/greenExplodes.wav.import new file mode 100644 index 0000000..b35fb8e --- /dev/null +++ b/SFX/greenExplodes.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/greenExplodes.wav-d82703c3b81826bab057136adb820c60.sample" + +[deps] + +source_file="res://SFX/greenExplodes.wav" +dest_files=[ "res://.import/greenExplodes.wav-d82703c3b81826bab057136adb820c60.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/Stages/EmptyStage.tscn b/Stages/EmptyStage.tscn index c2b8ab0..cf168b2 100644 --- a/Stages/EmptyStage.tscn +++ b/Stages/EmptyStage.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=26 format=2] +[gd_scene load_steps=27 format=2] [ext_resource path="res://Cannon/Cannon.tscn" type="PackedScene" id=1] [ext_resource path="res://Borders/tileset.png" type="Texture" id=2] @@ -13,6 +13,7 @@ [ext_resource path="res://Effects/FadeIn.tscn" type="PackedScene" id=11] [ext_resource path="res://Stages/Background.png" type="Texture" id=12] [ext_resource path="res://Pegs/Purple/PurpleBar.tscn" type="PackedScene" id=13] +[ext_resource path="res://Menu/Pause.tscn" type="PackedScene" id=14] [sub_resource type="ConvexPolygonShape2D" id=1] points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) @@ -203,7 +204,7 @@ limit_right = 384 limit_bottom = 216 limit_smoothed = true smoothing_enabled = true -smoothing_speed = 2.0 +smoothing_speed = 2.5 drag_margin_left = 0.0 drag_margin_top = 0.0 drag_margin_right = 0.0 @@ -318,4 +319,6 @@ position = Vector2( 192, 209 ) [node name="HUD" parent="." instance=ExtResource( 7 )] +[node name="Pause" parent="." instance=ExtResource( 14 )] + [editable path="Ball"] diff --git a/Startup.gd b/Startup.gd new file mode 100644 index 0000000..9beec06 --- /dev/null +++ b/Startup.gd @@ -0,0 +1,7 @@ +extends Node + +func _ready(): + var Jukebox = preload("res://Music/Music.tscn") + var jukebox = Jukebox.instance() + var main = get_tree().current_scene + main.add_child(jukebox) diff --git a/Stats/GameStats.gd b/Stats/GameStats.gd index 2323edb..124ca99 100644 --- a/Stats/GameStats.gd +++ b/Stats/GameStats.gd @@ -3,11 +3,13 @@ extends Node signal balls_changed() signal current_stage_changed(scene) -var max_balls = 2 +var unlock_points = 10 +var max_balls = 8 var balls_left var pinks_left = 0 var level_won = false var current_stage = "res://Stages/EmptyStage.tscn" +var multiplier = 1 func add_balls(balls): balls_left += balls @@ -37,7 +39,15 @@ func reset_board(): balls_left = max_balls pinks_left = 0 level_won = false + multiplier = 1 func set_current_scene(stage): current_stage = stage emit_signal("current_stage_changed", current_stage) + +func add_to_multiplier(): + var SFXPlayer = load("res://SFX/SFXPlayer.tscn") + var sfx_player = SFXPlayer.instance() + var main = get_tree().current_scene + main.add_child(sfx_player) + multiplier += 1 diff --git a/default_bus_layout.tres b/default_bus_layout.tres new file mode 100644 index 0000000..ee0da23 --- /dev/null +++ b/default_bus_layout.tres @@ -0,0 +1,15 @@ +[gd_resource type="AudioBusLayout" format=2] + +[resource] +bus/1/name = "SFX" +bus/1/solo = false +bus/1/mute = false +bus/1/bypass_fx = false +bus/1/volume_db = 0.207247 +bus/1/send = "Master" +bus/2/name = "Music" +bus/2/solo = false +bus/2/mute = false +bus/2/bypass_fx = false +bus/2/volume_db = -80.0 +bus/2/send = "Master" diff --git a/export_presets.cfg b/export_presets.cfg index 973b4d8..bc4baee 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -95,3 +95,28 @@ privacy/microphone_usage_description="" texture_format/s3tc=true texture_format/etc=false texture_format/etc2=false + +[preset.3] + +name="HTML5" +platform="HTML5" +runnable=true +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="" +script_export_mode=1 +script_encryption_key="" + +[preset.3.options] + +custom_template/debug="" +custom_template/release="" +variant/export_type=0 +vram_texture_compression/for_desktop=true +vram_texture_compression/for_mobile=false +html/custom_html_shell="" +html/head_include="" +html/canvas_resize_policy=2 +html/experimental_virtual_keyboard=false diff --git a/project.godot b/project.godot index 65f3c1d..6b24b23 100644 --- a/project.godot +++ b/project.godot @@ -21,6 +21,7 @@ config/icon="res://icon.png" [autoload] GameStats="*res://Stats/GameStats.gd" +Music="*res://Music/Music.tscn" [display] @@ -68,6 +69,15 @@ fast_forward={ , Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":2,"pressed":false,"doubleclick":false,"script":null) ] } +pause={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777217,"unicode":0,"echo":false,"script":null) + ] +} + +[input_devices] + +pointing/emulate_touch_from_mouse=true [layer_names]