diff --git a/Project.xml b/Project.xml
index a4437fa7d..3eb374045 100644
--- a/Project.xml
+++ b/Project.xml
@@ -92,5 +92,5 @@
-
+
diff --git a/art/Monster_Assets.fla b/art/Monster_Assets.fla
new file mode 100644
index 000000000..a3ecb7691
Binary files /dev/null and b/art/Monster_Assets.fla differ
diff --git a/assets/data/monster/monster.json b/assets/data/monster/monster.json
new file mode 100644
index 000000000..dd6216238
Binary files /dev/null and b/assets/data/monster/monster.json differ
diff --git a/assets/data/spookeez/spookeez.json b/assets/data/spookeez/spookeez.json
index 5797e2814..220f63121 100644
--- a/assets/data/spookeez/spookeez.json
+++ b/assets/data/spookeez/spookeez.json
@@ -1 +1 @@
-{"song":{"song":"Spookeez","notes":[{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[6400,0,0],[6600,1,0],[6800,3,0],[7200,3,0],[7600,2,0],[7800,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[8000,1,0],[8200,3,0],[8400,3,0],[9300,0,0],[9400,3,0],[8800,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[9600,0,0],[9800,1,0],[10000,3,0],[10400,3,0],[10800,2,0],[11000,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[11200,1,0],[11400,3,0],[11600,3,0],[12500,0,0],[12600,3,0],[12000,2,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[12800,2,0],[13000,3,0],[13100,1,0],[13200,0,0],[13400,0,0],[13500,1,0],[13700,2,0],[13800,3,0],[13900,0,0],[14000,1,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[14700,1,0],[15100,1,0],[14400,1,0],[14600,0,0],[14800,3,0],[15000,3,0],[15300,0,0],[15500,0,0],[15700,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[16000,2,0],[16200,3,0],[16300,1,0],[16400,0,0],[16600,0,0],[16700,1,0],[16900,2,0],[17000,3,0],[17100,0,0],[17200,1,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[17900,1,0],[18300,1,0],[17600,1,0],[17800,0,0],[18000,3,0],[18200,3,0],[18500,0,0],[18700,0,0],[18900,2,0],[19000,4,0],[19100,7,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[20000,3,0],[20600,3,0],[19700,3,0],[20400,3,0],[19200,2,0],[19300,0,0],[19400,3,0],[19500,1,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[20800,2,0],[21100,1,0],[20900,3,0],[21000,0,0],[21300,3,0],[21600,3,0],[21900,1,0],[22000,3,0],[22200,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[22900,3,0],[23200,3,0],[23600,3,0],[23800,3,0],[22700,1,0],[22400,2,0],[22500,0,0],[22600,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[24500,3,0],[24300,1,0],[24000,2,0],[24200,0,0],[24100,3,0],[24800,1,0],[25200,2,0],[25400,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[26400,3,0],[27000,3,0],[26100,3,0],[26800,3,0],[25600,2,0],[25700,0,0],[25800,3,0],[25900,1,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[27200,2,0],[27500,1,0],[27300,3,0],[27400,0,0],[27700,3,0],[28000,3,0],[28300,1,0],[28400,3,0],[28600,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[29300,3,0],[29600,3,0],[30000,3,0],[30200,3,0],[29100,1,0],[28800,2,0],[28900,0,0],[29000,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[30900,3,0],[30700,1,0],[30400,2,0],[30600,0,0],[30500,3,0],[31200,1,0],[31600,2,0],[31800,2,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[32000,0,0],[32200,1,0],[32400,3,0],[32800,3,0],[33200,2,0],[33400,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[33600,1,0],[33800,3,0],[34000,3,0],[34900,0,0],[35000,3,0],[34400,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[35200,0,0],[35400,1,0],[35600,3,0],[36000,3,0],[36400,2,0],[36600,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[36800,1,0],[37000,3,0],[37200,3,0],[38100,0,0],[38200,3,0],[37600,2,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[38400,2,0],[38600,3,0],[38700,1,0],[38800,0,0],[39000,0,0],[39100,1,0],[39300,2,0],[39400,3,0],[39500,0,0],[39600,1,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[40300,1,0],[40700,1,0],[40000,1,0],[40200,0,0],[40400,3,0],[40600,3,0],[40900,0,0],[41100,0,0],[41300,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[41600,2,0],[41800,3,0],[41900,1,0],[42000,0,0],[42200,0,0],[42300,1,0],[42500,2,0],[42600,3,0],[42700,0,0],[42800,1,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[43500,1,0],[43900,1,0],[43200,1,0],[43400,0,0],[43600,3,0],[43800,3,0],[44100,0,0],[44300,0,0],[44500,2,0],[44600,4,0],[44700,7,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[45600,3,0],[46200,3,0],[45300,3,0],[46000,3,0],[44800,2,0],[44900,0,0],[45000,3,0],[45100,1,0],[45700,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[46400,2,0],[46700,1,0],[46500,3,0],[46600,0,0],[46900,3,0],[47200,3,0],[47600,3,0],[47800,3,0],[47300,1,0],[47500,0,0],[47538,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[48500,3,0],[48800,3,0],[49200,3,0],[49400,3,0],[48300,1,0],[48000,2,0],[48100,0,0],[48200,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[50100,3,0],[49900,1,0],[49600,2,0],[49800,0,0],[49700,3,0],[50400,3,0],[50800,4,0],[51000,7,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[52000,3,0],[52600,3,0],[51700,3,0],[52400,3,0],[51200,2,0],[51300,0,0],[51400,3,0],[51500,1,0],[52100,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[52800,2,0],[53100,1,0],[52900,3,0],[53000,0,0],[53300,3,0],[53600,3,0],[54000,3,0],[54200,3,0],[53700,1,0],[53900,0,0],[53938,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[54900,3,0],[55200,3,0],[55600,3,0],[55800,3,0],[54700,1,0],[54400,2,0],[54500,0,0],[54600,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[56500,3,0],[56300,1,0],[56000,2,0],[56200,0,0],[56100,3,0],[56800,3,0],[57200,4,0],[57400,7,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]}],"bpm":150,"sections":0,"needsVoices":true,"player1":"bf","player2":"spooky","sectionLengths":[],"speed":1.9000000000000008},"bpm":150,"sections":40,"notes":[{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[6400,0,0],[6600,1,0],[6800,3,0],[7200,3,0],[7600,2,0],[7800,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[8000,1,0],[8200,3,0],[8400,3,0],[9300,0,0],[9400,3,0],[8800,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[9600,0,0],[9800,1,0],[10000,3,0],[10400,3,0],[10800,2,0],[11000,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[11200,1,0],[11400,3,0],[11600,3,0],[12500,0,0],[12600,3,0],[12000,2,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[12800,2,0],[13000,3,0],[13100,1,0],[13200,0,0],[13400,0,0],[13500,1,0],[13700,2,0],[13800,3,0],[13900,0,0],[14000,1,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[14700,1,0],[15100,1,0],[14400,1,0],[14600,0,0],[14800,3,0],[15000,3,0],[15300,0,0],[15500,0,0],[15700,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[16000,2,0],[16200,3,0],[16300,1,0],[16400,0,0],[16600,0,0],[16700,1,0],[16900,2,0],[17000,3,0],[17100,0,0],[17200,1,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[17900,1,0],[18300,1,0],[17600,1,0],[17800,0,0],[18000,3,0],[18200,3,0],[18500,0,0],[18700,0,0],[18900,2,0],[19000,4,0],[19100,7,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[20000,3,0],[20600,3,0],[19700,3,0],[20400,3,0],[19200,2,0],[19300,0,0],[19400,3,0],[19500,1,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[20800,2,0],[21100,1,0],[20900,3,0],[21000,0,0],[21300,3,0],[21600,3,0],[21900,1,0],[22000,3,0],[22200,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[22900,3,0],[23200,3,0],[23600,3,0],[23800,3,0],[22700,1,0],[22400,2,0],[22500,0,0],[22600,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[24500,3,0],[24300,1,0],[24000,2,0],[24200,0,0],[24100,3,0],[24800,1,0],[25200,2,0],[25400,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[26400,3,0],[27000,3,0],[26100,3,0],[26800,3,0],[25600,2,0],[25700,0,0],[25800,3,0],[25900,1,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[27200,2,0],[27500,1,0],[27300,3,0],[27400,0,0],[27700,3,0],[28000,3,0],[28300,1,0],[28400,3,0],[28600,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[29300,3,0],[29600,3,0],[30000,3,0],[30200,3,0],[29100,1,0],[28800,2,0],[28900,0,0],[29000,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[30900,3,0],[30700,1,0],[30400,2,0],[30600,0,0],[30500,3,0],[31200,1,0],[31600,2,0],[31800,2,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[32000,0,0],[32200,1,0],[32400,3,0],[32800,3,0],[33200,2,0],[33400,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[33600,1,0],[33800,3,0],[34000,3,0],[34900,0,0],[35000,3,0],[34400,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[35200,0,0],[35400,1,0],[35600,3,0],[36000,3,0],[36400,2,0],[36600,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[36800,1,0],[37000,3,0],[37200,3,0],[38100,0,0],[38200,3,0],[37600,2,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[38400,2,0],[38600,3,0],[38700,1,0],[38800,0,0],[39000,0,0],[39100,1,0],[39300,2,0],[39400,3,0],[39500,0,0],[39600,1,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[40300,1,0],[40700,1,0],[40000,1,0],[40200,0,0],[40400,3,0],[40600,3,0],[40900,0,0],[41100,0,0],[41300,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[41600,2,0],[41800,3,0],[41900,1,0],[42000,0,0],[42200,0,0],[42300,1,0],[42500,2,0],[42600,3,0],[42700,0,0],[42800,1,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[43500,1,0],[43900,1,0],[43200,1,0],[43400,0,0],[43600,3,0],[43800,3,0],[44100,0,0],[44300,0,0],[44500,2,0],[44600,4,0],[44700,7,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[45600,3,0],[46200,3,0],[45300,3,0],[46000,3,0],[44800,2,0],[44900,0,0],[45000,3,0],[45100,1,0],[45700,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[46400,2,0],[46700,1,0],[46500,3,0],[46600,0,0],[46900,3,0],[47200,3,0],[47600,3,0],[47800,3,0],[47300,1,0],[47500,0,0],[47538,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[48500,3,0],[48800,3,0],[49200,3,0],[49400,3,0],[48300,1,0],[48000,2,0],[48100,0,0],[48200,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[50100,3,0],[49900,1,0],[49600,2,0],[49800,0,0],[49700,3,0],[50400,3,0],[50800,4,0],[51000,7,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[52000,3,0],[52600,3,0],[51700,3,0],[52400,3,0],[51200,2,0],[51300,0,0],[51400,3,0],[51500,1,0],[52100,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[52800,2,0],[53100,1,0],[52900,3,0],[53000,0,0],[53300,3,0],[53600,3,0],[54000,3,0],[54200,3,0],[53700,1,0],[53900,0,0],[53938,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[54900,3,0],[55200,3,0],[55600,3,0],[55800,3,0],[54700,1,0],[54400,2,0],[54500,0,0],[54600,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[56500,3,0],[56300,1,0],[56000,2,0],[56200,0,0],[56100,3,0],[56800,3,0],[57200,4,0],[57400,7,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]}]}
\ No newline at end of file
+{"song":{"song":"Spookeez","notes":[{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[6400,0,0],[6600,1,0],[6800,3,0],[7200,3,0],[7600,2,0],[7800,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[8000,1,0],[8200,3,0],[8400,3,0],[9300,0,0],[9400,3,0],[8800,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[9600,0,0],[9800,1,0],[10000,3,0],[10400,3,0],[10800,2,0],[11000,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[11200,1,0],[11400,3,0],[11600,3,0],[12500,0,0],[12600,3,0],[12000,2,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[12800,2,0],[13000,3,0],[13100,1,0],[13200,0,0],[13400,0,0],[13500,1,0],[13700,2,0],[13800,3,0],[13900,0,0],[14000,1,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[14700,1,0],[15100,1,0],[14400,1,0],[14600,0,0],[14800,3,0],[15000,3,0],[15300,0,0],[15500,0,0],[15700,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[16000,2,0],[16200,3,0],[16300,1,0],[16400,0,0],[16600,0,0],[16700,1,0],[16900,2,0],[17000,3,0],[17100,0,0],[17200,1,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[17900,1,0],[18300,1,0],[17600,1,0],[17800,0,0],[18000,3,0],[18200,3,0],[18500,0,0],[18700,0,0],[18900,2,0],[19000,4,0],[19100,7,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[20000,3,0],[20600,3,0],[19700,3,0],[20400,3,0],[19200,2,0],[19300,0,0],[19400,3,0],[19500,1,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[20800,2,0],[21100,1,0],[20900,3,0],[21000,0,0],[21300,3,0],[21600,3,0],[21900,1,0],[22000,3,0],[22200,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[22900,3,0],[23200,3,0],[23600,3,0],[23800,3,0],[22700,1,0],[22400,2,0],[22500,0,0],[22600,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[24500,3,0],[24300,1,0],[24000,2,0],[24200,0,0],[24100,3,0],[24800,1,0],[25200,2,0],[25400,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[26400,3,0],[27000,3,0],[26100,3,0],[26800,3,0],[25600,2,0],[25700,0,0],[25800,3,0],[25900,1,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[27200,2,0],[27500,1,0],[27300,3,0],[27400,0,0],[27700,3,0],[28000,3,0],[28300,1,0],[28400,3,0],[28600,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[29300,3,0],[29600,3,0],[30000,3,0],[30200,3,0],[29100,1,0],[28800,2,0],[28900,0,0],[29000,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[30900,3,0],[30700,1,0],[30400,2,0],[30600,0,0],[30500,3,0],[31200,1,0],[31600,2,0],[31800,2,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[32000,0,0],[32200,1,0],[32400,3,0],[32800,3,0],[33200,2,0],[33400,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[33600,1,0],[33800,3,0],[34000,3,0],[34900,0,0],[35000,3,0],[34400,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[35200,0,0],[35400,1,0],[35600,3,0],[36000,3,0],[36400,2,0],[36600,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[36800,1,0],[37000,3,0],[37200,3,0],[38100,0,0],[38200,3,0],[37600,2,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[38400,2,0],[38600,3,0],[38700,1,0],[38800,0,0],[39000,0,0],[39100,1,0],[39300,2,0],[39400,3,0],[39500,0,0],[39600,1,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[40300,1,0],[40700,1,0],[40000,1,0],[40200,0,0],[40400,3,0],[40600,3,0],[40900,0,0],[41100,0,0],[41300,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[41600,2,0],[41800,3,0],[41900,1,0],[42000,0,0],[42200,0,0],[42300,1,0],[42500,2,0],[42600,3,0],[42700,0,0],[42800,1,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[43500,1,0],[43900,1,0],[43200,1,0],[43400,0,0],[43600,3,0],[43800,3,0],[44100,0,0],[44300,0,0],[44500,2,0],[44600,4,0],[44700,7,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[45600,3,0],[46200,3,0],[45300,3,0],[46000,3,0],[44800,2,0],[44900,0,0],[45000,3,0],[45100,1,0],[45700,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[46400,2,0],[46700,1,0],[46500,3,0],[46600,0,0],[46900,3,0],[47200,3,0],[47600,3,0],[47800,3,0],[47300,1,0],[47500,0,0],[47538,2,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[48500,3,0],[48800,3,0],[49200,3,0],[49400,3,0],[48300,1,0],[48000,2,0],[48100,0,0],[48200,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[50100,3,0],[49900,1,0],[49600,2,0],[49800,0,0],[49700,3,0],[50400,3,0],[50800,4,0],[51000,7,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[52000,3,0],[52600,3,0],[51700,3,0],[52400,3,0],[51200,2,0],[51300,0,0],[51400,3,0],[51500,1,0],[52100,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[52800,2,0],[53100,1,0],[52900,3,0],[53000,0,0],[53300,3,0],[53600,3,0],[54000,3,0],[54200,3,0],[53700,1,0],[53900,0,0],[53938,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[54900,3,0],[55200,3,0],[55600,3,0],[55800,3,0],[54700,1,0],[54400,2,0],[54500,0,0],[54600,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[56500,3,0],[56300,1,0],[56000,2,0],[56200,0,0],[56100,3,0],[56800,3,0],[57200,4,0],[57400,7,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]}],"bpm":150,"sections":0,"needsVoices":true,"player1":"bf","player2":"spooky","sectionLengths":[],"speed":1.7000000000000006},"bpm":150,"sections":41,"notes":[{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[6400,0,0],[6600,1,0],[6800,3,0],[7200,3,0],[7600,2,0],[7800,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[8000,1,0],[8200,3,0],[8400,3,0],[9300,0,0],[9400,3,0],[8800,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[9600,0,0],[9800,1,0],[10000,3,0],[10400,3,0],[10800,2,0],[11000,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[11200,1,0],[11400,3,0],[11600,3,0],[12500,0,0],[12600,3,0],[12000,2,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[12800,2,0],[13000,3,0],[13100,1,0],[13200,0,0],[13400,0,0],[13500,1,0],[13700,2,0],[13800,3,0],[13900,0,0],[14000,1,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[14700,1,0],[15100,1,0],[14400,1,0],[14600,0,0],[14800,3,0],[15000,3,0],[15300,0,0],[15500,0,0],[15700,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[16000,2,0],[16200,3,0],[16300,1,0],[16400,0,0],[16600,0,0],[16700,1,0],[16900,2,0],[17000,3,0],[17100,0,0],[17200,1,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[17900,1,0],[18300,1,0],[17600,1,0],[17800,0,0],[18000,3,0],[18200,3,0],[18500,0,0],[18700,0,0],[18900,2,0],[19000,4,0],[19100,7,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[20000,3,0],[20600,3,0],[19700,3,0],[20400,3,0],[19200,2,0],[19300,0,0],[19400,3,0],[19500,1,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[20800,2,0],[21100,1,0],[20900,3,0],[21000,0,0],[21300,3,0],[21600,3,0],[21900,1,0],[22000,3,0],[22200,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[22900,3,0],[23200,3,0],[23600,3,0],[23800,3,0],[22700,1,0],[22400,2,0],[22500,0,0],[22600,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[24500,3,0],[24300,1,0],[24000,2,0],[24200,0,0],[24100,3,0],[24800,1,0],[25200,2,0],[25400,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[26400,3,0],[27000,3,0],[26100,3,0],[26800,3,0],[25600,2,0],[25700,0,0],[25800,3,0],[25900,1,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[27200,2,0],[27500,1,0],[27300,3,0],[27400,0,0],[27700,3,0],[28000,3,0],[28300,1,0],[28400,3,0],[28600,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[29300,3,0],[29600,3,0],[30000,3,0],[30200,3,0],[29100,1,0],[28800,2,0],[28900,0,0],[29000,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[30900,3,0],[30700,1,0],[30400,2,0],[30600,0,0],[30500,3,0],[31200,1,0],[31600,2,0],[31800,2,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[32000,0,0],[32200,1,0],[32400,3,0],[32800,3,0],[33200,2,0],[33400,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[33600,1,0],[33800,3,0],[34000,3,0],[34900,0,0],[35000,3,0],[34400,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[35200,0,0],[35400,1,0],[35600,3,0],[36000,3,0],[36400,2,0],[36600,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[36800,1,0],[37000,3,0],[37200,3,0],[38100,0,0],[38200,3,0],[37600,2,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[38400,2,0],[38600,3,0],[38700,1,0],[38800,0,0],[39000,0,0],[39100,1,0],[39300,2,0],[39400,3,0],[39500,0,0],[39600,1,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[40300,1,0],[40700,1,0],[40000,1,0],[40200,0,0],[40400,3,0],[40600,3,0],[40900,0,0],[41100,0,0],[41300,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[41600,2,0],[41800,3,0],[41900,1,0],[42000,0,0],[42200,0,0],[42300,1,0],[42500,2,0],[42600,3,0],[42700,0,0],[42800,1,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[43500,1,0],[43900,1,0],[43200,1,0],[43400,0,0],[43600,3,0],[43800,3,0],[44100,0,0],[44300,0,0],[44500,2,0],[44600,4,0],[44700,7,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[45600,3,0],[46200,3,0],[45300,3,0],[46000,3,0],[44800,2,0],[44900,0,0],[45000,3,0],[45100,1,0],[45700,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[46400,2,0],[46700,1,0],[46500,3,0],[46600,0,0],[46900,3,0],[47200,3,0],[47600,3,0],[47800,3,0],[47300,1,0],[47500,0,0],[47538,2,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[48500,3,0],[48800,3,0],[49200,3,0],[49400,3,0],[48300,1,0],[48000,2,0],[48100,0,0],[48200,3,0]]},{"mustHitSection":false,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[50100,3,0],[49900,1,0],[49600,2,0],[49800,0,0],[49700,3,0],[50400,3,0],[50800,4,0],[51000,7,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[52000,3,0],[52600,3,0],[51700,3,0],[52400,3,0],[51200,2,0],[51300,0,0],[51400,3,0],[51500,1,0],[52100,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[52800,2,0],[53100,1,0],[52900,3,0],[53000,0,0],[53300,3,0],[53600,3,0],[54000,3,0],[54200,3,0],[53700,1,0],[53900,0,0],[53938,2,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[54900,3,0],[55200,3,0],[55600,3,0],[55800,3,0],[54700,1,0],[54400,2,0],[54500,0,0],[54600,3,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[[56500,3,0],[56300,1,0],[56000,2,0],[56200,0,0],[56100,3,0],[56800,3,0],[57200,4,0],[57400,7,0]]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]},{"mustHitSection":true,"typeOfSection":0,"lengthInSteps":16,"sectionNotes":[]}]}
\ No newline at end of file
diff --git a/assets/images/Monster_Assets.png b/assets/images/Monster_Assets.png
new file mode 100644
index 000000000..10b7bbee9
Binary files /dev/null and b/assets/images/Monster_Assets.png differ
diff --git a/assets/images/Monster_Assets.xml b/assets/images/Monster_Assets.xml
new file mode 100644
index 000000000..687d2944b
--- /dev/null
+++ b/assets/images/Monster_Assets.xml
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/music/Monster.mp3 b/assets/music/Monster.mp3
new file mode 100644
index 000000000..a5bee769d
Binary files /dev/null and b/assets/music/Monster.mp3 differ
diff --git a/assets/music/Monster.ogg b/assets/music/Monster.ogg
new file mode 100644
index 000000000..29357b2b7
Binary files /dev/null and b/assets/music/Monster.ogg differ
diff --git a/assets/music/Monster_Inst.mp3 b/assets/music/Monster_Inst.mp3
new file mode 100644
index 000000000..7beb7ee03
Binary files /dev/null and b/assets/music/Monster_Inst.mp3 differ
diff --git a/assets/music/Monster_Inst.ogg b/assets/music/Monster_Inst.ogg
new file mode 100644
index 000000000..587e15a62
Binary files /dev/null and b/assets/music/Monster_Inst.ogg differ
diff --git a/assets/music/Monster_Voices.mp3 b/assets/music/Monster_Voices.mp3
new file mode 100644
index 000000000..94694b78d
Binary files /dev/null and b/assets/music/Monster_Voices.mp3 differ
diff --git a/assets/music/Monster_Voices.ogg b/assets/music/Monster_Voices.ogg
new file mode 100644
index 000000000..62f433ca7
Binary files /dev/null and b/assets/music/Monster_Voices.ogg differ
diff --git a/source/AnimationDebug.hx b/source/AnimationDebug.hx
index 1cf4021a3..e74b45c56 100644
--- a/source/AnimationDebug.hx
+++ b/source/AnimationDebug.hx
@@ -21,7 +21,7 @@ class AnimationDebug extends FlxState
var dumbTexts:FlxTypedGroup;
var animList:Array = [];
var curAnim:Int = 0;
- var isDad:Bool = false;
+ var isDad:Bool = true;
var daAnim:String = 'spooky';
var camFollow:FlxObject;
@@ -39,6 +39,9 @@ class AnimationDebug extends FlxState
gridBG.scrollFactor.set(0.5, 0.5);
add(gridBG);
+ if (daAnim == 'bf')
+ isDad = false;
+
if (isDad)
{
dad = new Character(0, 0, daAnim);
diff --git a/source/Character.hx b/source/Character.hx
index aa9cfe4da..af441f023 100644
--- a/source/Character.hx
+++ b/source/Character.hx
@@ -85,6 +85,21 @@ class Character extends FlxSprite
addOffset("singDOWN", -50, -130);
playAnim('danceRight');
+ case 'monster':
+ tex = FlxAtlasFrames.fromSparrow(AssetPaths.Monster_Assets__png, AssetPaths.Monster_Assets__xml);
+ frames = tex;
+ animation.addByPrefix('idle', 'monster idle', 24);
+ animation.addByPrefix('singUP', 'monster up note', 24, false);
+ animation.addByPrefix('singDOWN', 'monster down', 24, false);
+ animation.addByPrefix('singLEFT', 'Monster left note', 24, false);
+ animation.addByPrefix('singRIGHT', 'Monster Right note', 24, false);
+
+ addOffset('idle');
+ addOffset("singUP", -20, 50);
+ addOffset("singRIGHT", -51);
+ addOffset("singLEFT", -30);
+ addOffset("singDOWN", -30, -40);
+ playAnim('idle');
}
}
@@ -113,6 +128,8 @@ class Character extends FlxSprite
playAnim('danceLeft');
case 'dad':
playAnim('idle');
+ case 'monster':
+ playAnim('idle');
}
}
diff --git a/source/ChartingState.hx b/source/ChartingState.hx
index a2740dd16..c0ce793e5 100644
--- a/source/ChartingState.hx
+++ b/source/ChartingState.hx
@@ -1,5 +1,6 @@
package;
+import Section.SwagSection;
import Song.SwagSong;
import flixel.FlxG;
import flixel.FlxSprite;
@@ -68,6 +69,8 @@ class ChartingState extends MusicBeatState
**/
var curSelectedNote:Array;
+ var tempBpm:Int = 0;
+
override function create()
{
gridBG = FlxGridOverlay.create(GRID_SIZE, GRID_SIZE, GRID_SIZE * 8, GRID_SIZE * 16);
@@ -93,6 +96,8 @@ class ChartingState extends MusicBeatState
};
}
+ tempBpm = _song.bpm;
+
addSection();
// sections = _song.notes;
@@ -172,7 +177,7 @@ class ChartingState extends MusicBeatState
stepperBPM.value = Conductor.bpm;
stepperBPM.name = 'song_bpm';
- var characters:Array = ["bf", 'dad', 'gf', 'spooky'];
+ var characters:Array = ["bf", 'dad', 'gf', 'spooky', 'monster'];
var player1DropDown = new FlxUIDropDownMenu(10, 100, FlxUIDropDownMenu.makeStrIdLabelArray(characters, true), function(character:String)
{
@@ -208,6 +213,8 @@ class ChartingState extends MusicBeatState
var stepperLength:FlxUINumericStepper;
var check_mustHitSection:FlxUICheckBox;
+ var check_changeBPM:FlxUICheckBox;
+ var stepperSectionBPM:FlxUINumericStepper;
function addSectionUI():Void
{
@@ -218,6 +225,10 @@ class ChartingState extends MusicBeatState
stepperLength.value = _song.notes[curSection].lengthInSteps;
stepperLength.name = "section_length";
+ stepperSectionBPM = new FlxUINumericStepper(10, 80, 1, Conductor.bpm, 0, 999, 0);
+ stepperSectionBPM.value = Conductor.bpm;
+ stepperSectionBPM.name = 'section_bpm';
+
var stepperCopy:FlxUINumericStepper = new FlxUINumericStepper(110, 30, 1, 1, -999, 999, 0);
var copyButton:FlxButton = new FlxButton(110, 8, "Copy last section", function()
@@ -229,15 +240,15 @@ class ChartingState extends MusicBeatState
check_mustHitSection.name = 'check_mustHit';
check_mustHitSection.checked = true;
// _song.needsVoices = check_mustHit.checked;
- check_mustHitSection.callback = function()
- {
- // _song.needsVoices = check_mustHit.checked;
- trace('CHECKED!');
- };
+
+ check_changeBPM = new FlxUICheckBox(10, 60, null, null, 'Change BPM', 100);
+ check_changeBPM.name = 'check_changeBPM';
tab_group_section.add(stepperLength);
+ tab_group_section.add(stepperSectionBPM);
tab_group_section.add(stepperCopy);
tab_group_section.add(check_mustHitSection);
+ tab_group_section.add(check_changeBPM);
tab_group_section.add(copyButton);
UI_box.addGroup(tab_group_section);
@@ -305,6 +316,8 @@ class ChartingState extends MusicBeatState
{
case 'Must hit section':
_song.notes[curSection].mustHitSection = check.checked;
+ case 'Change BPM':
+ _song.notes[curSection].changeBPM = check.checked;
}
}
else if (id == FlxUINumericStepper.CHANGE_EVENT && (sender is FlxUINumericStepper))
@@ -323,6 +336,7 @@ class ChartingState extends MusicBeatState
}
else if (wname == 'song_bpm')
{
+ tempBpm = Std.int(nums.value);
Conductor.changeBPM(Std.int(nums.value));
}
else if (wname == 'note_susLength')
@@ -330,6 +344,11 @@ class ChartingState extends MusicBeatState
curSelectedNote[2] = nums.value;
updateGrid();
}
+ else if (wname == 'section_bpm')
+ {
+ _song.notes[curSection].bpm = Std.int(nums.value);
+ updateGrid();
+ }
}
// FlxG.log.add(id + " WEED " + sender + " WEED " + data + " WEED " + params);
@@ -448,12 +467,12 @@ class ChartingState extends MusicBeatState
}
}
- _song.bpm = Conductor.bpm;
+ _song.bpm = tempBpm;
- if (FlxG.keys.justPressed.UP)
- Conductor.changeBPM(Conductor.bpm + 1);
- if (FlxG.keys.justPressed.DOWN)
- Conductor.changeBPM(Conductor.bpm - 1);
+ /* if (FlxG.keys.justPressed.UP)
+ Conductor.changeBPM(Conductor.bpm + 1);
+ if (FlxG.keys.justPressed.DOWN)
+ Conductor.changeBPM(Conductor.bpm - 1); */
if (FlxG.keys.justPressed.RIGHT)
changeSection(curSection + 1);
@@ -471,7 +490,6 @@ class ChartingState extends MusicBeatState
if (_song.notes[sec] != null)
{
curSection = sec;
- updateGrid();
if (updateMusic)
{
@@ -489,6 +507,7 @@ class ChartingState extends MusicBeatState
updateCurStep();
}
+ updateGrid();
updateSectionUI();
}
}
@@ -514,6 +533,8 @@ class ChartingState extends MusicBeatState
stepperLength.value = sec.lengthInSteps;
check_mustHitSection.checked = sec.mustHitSection;
+ check_changeBPM.checked = sec.changeBPM;
+ stepperSectionBPM.value = sec.bpm;
}
function updateNoteUI():Void
@@ -535,6 +556,15 @@ class ChartingState extends MusicBeatState
var sectionInfo:Array = _song.notes[curSection].sectionNotes;
+ if (_song.notes[curSection].changeBPM && _song.notes[curSection].bpm > 0)
+ {
+ Conductor.changeBPM(_song.notes[curSection].bpm);
+ }
+ else
+ {
+ Conductor.changeBPM(tempBpm);
+ }
+
/* // PORT BULLSHIT, INCASE THERE'S NO SUSTAIN DATA FOR A NOTE
for (sec in 0..._song.notes.length)
{
@@ -567,8 +597,7 @@ class ChartingState extends MusicBeatState
if (daSus > 0)
{
var sustainVis:FlxSprite = new FlxSprite(note.x + (GRID_SIZE / 2),
- note.y + getYfromStrum(note.strumTime + Conductor.stepCrochet)).makeGraphic(8,
- Math.floor(FlxMath.remapToRange(daSus, 0, Conductor.stepCrochet * 16, 0, gridBG.height)));
+ note.y + GRID_SIZE).makeGraphic(8, Math.floor(FlxMath.remapToRange(daSus, 0, Conductor.stepCrochet * 16, 0, gridBG.height)));
curRenderedSustains.add(sustainVis);
}
}
@@ -576,7 +605,16 @@ class ChartingState extends MusicBeatState
private function addSection(lengthInSteps:Int = 16):Void
{
- _song.notes.push(new Section(lengthInSteps));
+ var sec:SwagSection = {
+ lengthInSteps: lengthInSteps,
+ bpm: _song.bpm,
+ changeBPM: false,
+ mustHitSection: true,
+ sectionNotes: [],
+ typeOfSection: 0
+ };
+
+ _song.notes.push(sec);
}
function selectNote(note:Note):Void
@@ -648,7 +686,7 @@ class ChartingState extends MusicBeatState
return FlxMath.remapToRange(strumTime, 0, 16 * Conductor.stepCrochet, gridBG.y, gridBG.y + gridBG.height);
}
- function calculateSectionLengths(?sec:Section):Int
+ function calculateSectionLengths(?sec:SwagSection):Int
{
var daLength:Int = 0;
diff --git a/source/FreeplayState.hx b/source/FreeplayState.hx
index 4df7ff260..56c435a8e 100644
--- a/source/FreeplayState.hx
+++ b/source/FreeplayState.hx
@@ -7,7 +7,7 @@ import flixel.text.FlxText;
class FreeplayState extends MusicBeatState
{
- var songs:Array = ["Bopeebo", "Dadbattle", "Fresh", "Tutorial", "Spookeez", "South"];
+ var songs:Array = ["Bopeebo", "Dadbattle", "Fresh", "Tutorial", "Spookeez", "South", "Monster"];
var selector:FlxText;
var curSelected:Int = 0;
diff --git a/source/PlayState.hx b/source/PlayState.hx
index ac496ee69..9b0cffc78 100644
--- a/source/PlayState.hx
+++ b/source/PlayState.hx
@@ -125,6 +125,8 @@ class PlayState extends MusicBeatState
gf.visible = false;
case "spooky":
dad.y += 200;
+ case "monster":
+ dad.y += 100;
}
boyfriend = new Boyfriend(770, 450);
@@ -188,8 +190,8 @@ class PlayState extends MusicBeatState
healthBarBG.cameras = [camHUD];
healthHeads.cameras = [camHUD];
- if (SONG.song == 'South')
- FlxG.camera.alpha = 0.7;
+ // if (SONG.song == 'South')
+ // FlxG.camera.alpha = 0.7;
// UI_camera.zoom = 1;
// cameras = [FlxG.cameras.list[1]];
@@ -542,7 +544,7 @@ class PlayState extends MusicBeatState
/* if (FlxG.keys.justPressed.NINE)
FlxG.switchState(new Charting()); */
if (FlxG.keys.justPressed.EIGHT)
- FlxG.switchState(new AnimationDebug(SONG.player1));
+ FlxG.switchState(new AnimationDebug(SONG.player2));
if (startingSong)
{
@@ -700,6 +702,9 @@ class PlayState extends MusicBeatState
dad.playAnim('singLEFT');
}
+ if (SONG.needsVoices)
+ vocals.volume = 1;
+
daNote.kill();
notes.remove(daNote, true);
daNote.destroy();
@@ -1145,6 +1150,14 @@ class PlayState extends MusicBeatState
if (generatedMusic)
{
notes.sort(FlxSort.byY, FlxSort.DESCENDING);
+
+ if (SONG.notes[curSection].changeBPM != null)
+ {
+ if (SONG.notes[curSection].changeBPM)
+ {
+ Conductor.changeBPM(SONG.notes[curSection].bpm);
+ }
+ }
}
if (camZooming && FlxG.camera.zoom < 1.35 && totalBeats % 4 == 0)
diff --git a/source/Section.hx b/source/Section.hx
index c811e306d..19770b6ea 100644
--- a/source/Section.hx
+++ b/source/Section.hx
@@ -6,6 +6,8 @@ typedef SwagSection =
var lengthInSteps:Int;
var typeOfSection:Int;
var mustHitSection:Bool;
+ var bpm:Int;
+ var changeBPM:Bool;
}
class Section