From 44b9b75690468909343ceac176d0f695cdbb4a3f Mon Sep 17 00:00:00 2001 From: Legend Date: Wed, 5 Jun 2024 21:24:12 -0400 Subject: [PATCH] sum engine touch ups :] --- .../data/roses/rosesDialogueCensored.txt | 4 + assets/preload/data/test/test-easy.json | 2 +- assets/preload/data/test/test-hard.json | 2 +- assets/preload/data/test/test.json | 2 +- .../images/charactersAssets/bfPixelsDEAD.xml | 8 +- source/Character.hx | 131 ++++++------- source/LoadingState.hx | 25 ++- source/MainMenuState.hx | 5 +- source/Options.hx | 58 ++++++ source/OptionsMenuState.hx | 2 + source/PlayState.hx | 170 +++++++--------- source/TitleState.hx | 182 ++++++++---------- 12 files changed, 300 insertions(+), 291 deletions(-) create mode 100644 assets/preload/data/roses/rosesDialogueCensored.txt diff --git a/assets/preload/data/roses/rosesDialogueCensored.txt b/assets/preload/data/roses/rosesDialogueCensored.txt new file mode 100644 index 0000000..568110f --- /dev/null +++ b/assets/preload/data/roses/rosesDialogueCensored.txt @@ -0,0 +1,4 @@ +:dad:Not bad for an ugly worm. +:dad:But this time I'm gonna make you scream... +:dad:Almost as loud as I'll make your girlfriend scream later tonight, you fat midget. +:bf:Bop beep be be skdoo bep \ No newline at end of file diff --git a/assets/preload/data/test/test-easy.json b/assets/preload/data/test/test-easy.json index 738e568..7ab03a7 100644 --- a/assets/preload/data/test/test-easy.json +++ b/assets/preload/data/test/test-easy.json @@ -1 +1 @@ -{"song":{"song":"Test","bpm":150.0,"needsVoices":true,"player1":"bf","player2":"bf-pixel-opponent","speed":1.6,"notes":[{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[12800.0,0,0.0],[13199.999,1,0.0],[13599.999,2,0.0],[13999.999,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[14399.999,0,0.0],[14799.999,1,0.0],[15199.999,2,0.0],[15599.999,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[15999.999,0,0.0],[16199.999,0,0.0],[16400.0,1,0.0],[16600.0,1,0.0],[16800.0,2,0.0],[17000.0,2,0.0],[17200.0,3,0.0],[17400.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[17600.0,0,0.0],[17800.0,0,0.0],[18000.0,1,0.0],[18200.0,1,0.0],[18400.0,2,0.0],[18600.0,2,0.0],[18800.0,3,0.0],[19000.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[19200.0,0,300.0],[19600.0,1,300.0],[20000.0,2,300.0],[20400.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[20800.0,0,300.0],[21200.0,1,300.0],[21600.0,2,300.0],[22000.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[22400.0,0,700.0],[22800.0,1,300.0],[23200.0,2,700.0],[23600.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[24000.0,0,700.0],[24400.0,1,300.0],[24800.0,2,700.0],[25200.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[25600.0,0,0.0],[25600.0,1,0.0],[26399.998,3,0.0],[26399.998,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[27199.998,0,0.0],[27199.998,2,0.0],[27599.998,0,0.0],[27599.998,2,0.0],[27999.998,3,0.0],[27999.998,1,0.0],[28199.998,1,0.0],[28199.998,3,0.0],[28399.998,3,0.0],[28399.998,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[28799.998,0,0.0],[28799.998,1,0.0],[29599.998,3,0.0],[29599.998,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[30399.998,0,0.0],[30399.998,2,0.0],[30799.998,0,0.0],[30799.998,2,0.0],[31199.998,3,0.0],[31199.998,1,0.0],[31399.998,1,0.0],[31399.998,3,0.0],[31599.998,3,0.0],[31599.998,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[31999.998,0,0.0],[32099.998,1,0.0],[32199.998,0,100.0],[32399.998,3,0.0],[32499.998,2,0.0],[32599.998,3,100.0],[32800.0,0,0.0],[32900.0,1,0.0],[33000.0,0,100.0],[33200.0,3,0.0],[33300.0,2,0.0],[33400.0,3,100.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[33600.0,2,0.0],[33700.0,3,0.0],[33800.0,2,100.0],[34000.0,1,0.0],[34100.0,0,0.0],[34200.0,1,100.0],[34400.0,2,0.0],[34500.0,3,0.0],[34600.0,2,100.0],[34800.0,1,0.0],[34900.0,0,0.0],[35000.0,1,100.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[35200.0,0,0.0],[35300.0,1,0.0],[35400.0,0,100.0],[35600.0,3,0.0],[35700.0,2,0.0],[35800.0,3,100.0],[36000.0,0,0.0],[36100.0,1,0.0],[36200.0,0,100.0],[36400.0,3,0.0],[36500.0,2,0.0],[36600.0,3,100.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[36800.0,2,0.0],[36900.0,3,0.0],[37000.0,2,100.0],[37200.0,1,0.0],[37300.0,0,0.0],[37400.0,1,100.0],[37600.0,2,0.0],[37700.0,3,0.0],[37800.0,2,100.0],[38000.0,1,0.0],[38100.0,0,0.0],[38200.0,1,100.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[38400.0,0,0.0],[38600.0,3,0.0],[38800.0,1,0.0],[38900.0,2,0.0],[39000.0,1,0.0],[39100.0,2,0.0],[39200.0,0,0.0],[39400.0,3,0.0],[39600.0,1,0.0],[39700.0,2,0.0],[39800.0,1,0.0],[39900.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[40000.0,3,0.0],[40200.0,0,0.0],[40400.0,1,0.0],[40600.0,3,0.0],[40800.0,0,0.0],[41000.0,2,0.0],[41200.0,3,0.0],[41400.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[41600.0,0,0.0],[41800.0,3,0.0],[42000.0,1,0.0],[42100.0,2,0.0],[42200.0,1,0.0],[42300.0,2,0.0],[42400.0,0,0.0],[42600.0,3,0.0],[42800.0,1,0.0],[42900.0,2,0.0],[43000.0,1,0.0],[43100.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[43200.0,3,0.0],[43400.0,0,0.0],[43600.0,1,0.0],[43800.0,3,0.0],[44000.0,0,0.0],[44200.0,2,0.0],[44400.0,3,0.0],[44600.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[44800.0,0,0.0],[45066.6641,0,0.0],[45333.332,0,0.0],[45600.0,3,0.0],[45866.6641,3,0.0],[46133.332,3,0.0],[46266.6641,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[46400.0,1,100.0],[46800.0,1,200.0],[47200.0,1,300.0],[47600.0,1,400.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[48000.0,0,0.0],[48266.6641,0,0.0],[48533.332,0,0.0],[48800.0,3,0.0],[49066.6641,3,0.0],[49333.332,3,0.0],[49466.6641,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[49600.0,1,100.0],[50000.0,1,200.0],[50400.0,1,300.0],[50800.0,1,400.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[51200.0,0,800.0],[51200.0,1,800.0],[52599.9961,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[52799.9961,3,800.0],[52799.9961,1,800.0],[53599.9961,4,700.0],[53799.9961,5,499.999969],[53999.9961,6,300.0],[53999.9961,1,0.0],[53999.9961,2,0.0],[54199.9961,7,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[54399.9961,7,800.0],[54399.9961,6,800.0],[54399.9961,5,800.0],[54399.9961,4,800.0],[54399.9961,2,800.0],[54399.9961,0,800.0],[55799.9961,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[55999.9961,2,800.0],[55999.9961,3,800.0],[57199.9961,2,0.0],[57199.9961,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[57599.9961,1,800.0],[57599.9961,0,800.0],[58999.9961,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[59199.9961,3,800.0],[59199.9961,1,800.0],[59999.9961,4,700.0],[60199.9961,5,499.999969],[60399.9961,6,300.0],[60399.9961,1,0.0],[60399.9961,2,0.0],[60599.9961,7,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[60799.9961,7,800.0],[60799.9961,6,800.0],[60799.9961,5,800.0],[60799.9961,4,800.0],[60799.9961,0,800.0],[60799.9961,2,800.0],[62199.9961,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[62399.9961,2,800.0],[62399.9961,3,800.0],[63199.9961,6,0.0],[63299.9961,7,0.0],[63399.9961,6,0.0],[63499.9961,7,0.0],[63599.9961,4,0.0],[63599.9961,2,0.0],[63599.9961,1,0.0],[63649.9961,5,0.0],[63699.9961,6,0.0],[63749.9961,7,0.0],[63799.9961,6,0.0],[63849.9961,5,0.0],[63899.9961,4,0.0],[63949.9961,5,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[63999.9961,3,0.0],[64199.9961,2,0.0],[64399.9961,0,0.0],[64599.9961,3,499.999969],[65199.9961,3,0.0],[65399.9961,0,400.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[66000.0,0,0.0],[66200.0,1,0.0],[66400.0,0,0.0],[66666.6641,3,0.0],[66933.33,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[67200.0,3,0.0],[67300.0,2,0.0],[67800.0,2,0.0],[67850.0,0,449.999969],[68400.0,3,100.0],[68600.0,2,0.0],[68700.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[68800.0,0,0.0],[69000.0,1,0.0],[69200.0,0,0.0],[69400.0,3,0.0],[69600.0,2,0.0],[69800.0,3,300.0],[70200.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[70400.0,4,0.0],[70400.0,3,0.0],[70600.0,6,0.0],[70600.0,2,0.0],[70800.0,7,0.0],[70800.0,0,0.0],[71000.0,4,499.999969],[71000.0,3,499.999969],[71600.0,4,0.0],[71600.0,3,0.0],[71800.0,7,400.0],[71800.0,0,400.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[72400.0,7,0.0],[72400.0,0,0.0],[72600.0,5,0.0],[72600.0,1,0.0],[72800.0,7,0.0],[72800.0,0,0.0],[73066.6641,4,0.0],[73066.6641,3,0.0],[73333.33,6,0.0],[73333.33,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[73600.0,4,0.0],[73600.0,3,0.0],[73700.0,6,0.0],[73700.0,2,0.0],[74200.0,6,0.0],[74200.0,2,0.0],[74250.0,7,449.999969],[74250.0,0,449.999969],[74800.0,4,100.0],[74800.0,3,100.0],[75000.0,6,0.0],[75000.0,2,0.0],[75100.0,4,0.0],[75100.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[75200.0,7,0.0],[75200.0,0,0.0],[75400.0,5,0.0],[75400.0,1,0.0],[75600.0,7,0.0],[75600.0,0,0.0],[75800.0,4,0.0],[75800.0,3,0.0],[76000.0,6,0.0],[76000.0,2,0.0],[76200.0,4,300.0],[76200.0,3,300.0],[76600.0,0,0.0],[76600.0,7,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[76800.0,3,0.0],[76900.0,2,0.0],[77000.0,3,0.0],[77100.0,2,0.0],[77200.0,0,0.0],[77300.0,2,0.0],[77400.0,0,0.0],[77500.0,2,0.0],[77600.0,4,700.0],[77600.0,3,0.0],[77700.0,2,0.0],[77800.0,3,0.0],[77900.0,2,0.0],[78000.0,0,0.0],[78100.0,2,0.0],[78200.0,0,0.0],[78300.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[78400.0,7,700.0],[78400.0,3,0.0],[78500.0,1,0.0],[78600.0,3,0.0],[78700.0,1,0.0],[78800.0,0,0.0],[78900.0,1,0.0],[79000.0,0,0.0],[79100.0,1,0.0],[79200.0,5,400.0],[79200.0,3,0.0],[79300.0,1,0.0],[79400.0,3,0.0],[79500.0,1,0.0],[79600.0,0,0.0],[79700.0,1,0.0],[79800.0,0,0.0],[79900.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[80000.0,3,0.0],[80100.0,2,0.0],[80200.0,3,0.0],[80300.0,2,0.0],[80400.0,0,0.0],[80500.0,2,0.0],[80600.0,0,0.0],[80700.0,2,0.0],[80800.0,7,700.0],[80800.0,3,0.0],[80900.0,2,0.0],[81000.0,3,0.0],[81100.0,2,0.0],[81200.0,0,0.0],[81300.0,2,0.0],[81400.0,0,0.0],[81500.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[81600.0,4,700.0],[81600.0,3,0.0],[81700.0,1,0.0],[81800.0,3,0.0],[81900.0,1,0.0],[82000.0,0,0.0],[82100.0,1,0.0],[82200.0,0,0.0],[82300.0,1,0.0],[82400.0,5,400.0],[82400.0,3,0.0],[82500.0,1,0.0],[82600.0,3,0.0],[82700.0,1,0.0],[82800.0,0,0.0],[82900.0,1,0.0],[83000.0,0,0.0],[83100.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[83200.0,2,0.0],[83300.0,2,0.0],[83400.0,2,0.0],[83500.0,2,0.0],[83600.0,0,0.0],[83700.0,0,0.0],[83800.0,0,0.0],[83900.0,0,0.0],[84000.0,3,0.0],[84100.0,3,0.0],[84200.0,3,0.0],[84300.0,3,0.0],[84400.0,1,0.0],[84500.0,1,0.0],[84600.0,1,0.0],[84700.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[84800.0,0,0.0],[84933.33,0,0.0],[85066.6641,0,0.0],[85200.0,2,0.0],[85333.33,2,0.0],[85466.6641,2,0.0],[85600.0,3,0.0],[85733.33,3,0.0],[85866.6641,3,0.0],[86000.0,0,0.0],[86133.33,0,0.0],[86266.6641,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[86400.0,6,600.0],[86400.0,2,0.0],[86500.0,2,0.0],[86600.0,2,0.0],[86700.0,2,0.0],[86800.0,0,0.0],[86900.0,0,0.0],[87000.0,0,0.0],[87100.0,0,0.0],[87200.0,4,600.0],[87200.0,3,0.0],[87300.0,3,0.0],[87400.0,3,0.0],[87500.0,3,0.0],[87600.0,1,0.0],[87700.0,1,0.0],[87800.0,1,0.0],[87900.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[88000.0,7,600.0],[88000.0,0,0.0],[88133.33,0,0.0],[88266.6641,0,0.0],[88400.0,2,0.0],[88533.33,2,0.0],[88666.6641,2,0.0],[88800.0,5,600.0],[88800.0,3,0.0],[88933.33,3,0.0],[89066.6641,3,0.0],[89200.0,0,0.0],[89333.33,0,0.0],[89466.6641,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[89600.0,0,3200.0],[90000.0,3,300.0],[90400.0,2,300.0],[90800.0,1,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[91200.0,2,0.0],[91400.0,3,0.0],[91600.0,2,0.0],[91800.0,1,0.0],[92000.0,2,300.0],[92400.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[92800.0,0,3200.0],[93200.0,3,300.0],[93600.0,2,300.0],[94000.0,1,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[94400.0,2,0.0],[94600.0,3,0.0],[94800.0,2,0.0],[95000.0,1,0.0],[95200.0,2,300.0],[95600.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[96000.0,0,2300.0],[96400.0,3,300.0],[96800.0,2,300.0],[97200.0,1,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[97600.0,2,0.0],[97800.0,3,0.0],[98000.0,2,0.0],[98200.0,1,0.0],[98400.0,1,700.0],[98400.0,2,300.0],[98800.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[99200.0,2,300.0],[99200.0,0,700.0],[99600.0,2,0.0],[99800.0,2,0.0],[100000.0,3,300.0],[100000.0,1,300.0],[100400.0,2,300.0],[100400.0,0,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[100800.0,3,300.0],[100800.0,1,700.0],[101200.0,2,300.0],[101600.0,3,300.0],[101600.0,1,700.0],[102000.0,2,300.0]]}]},"generatedBy":"SNIFF ver.6"} \ No newline at end of file +{"song":{"song":"Test","bpm":150.0,"needsVoices":true,"player1":"bf","player2":"bf-pixel","speed":2.0,"notes":[{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[12800.0,0,0.0],[13199.999,1,0.0],[13599.999,2,0.0],[13999.999,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[14399.999,0,0.0],[14799.999,1,0.0],[15199.999,2,0.0],[15599.999,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[15999.999,0,0.0],[16199.999,0,0.0],[16400.0,1,0.0],[16600.0,1,0.0],[16800.0,2,0.0],[17000.0,2,0.0],[17200.0,3,0.0],[17400.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[17600.0,0,0.0],[17800.0,0,0.0],[18000.0,1,0.0],[18200.0,1,0.0],[18400.0,2,0.0],[18600.0,2,0.0],[18800.0,3,0.0],[19000.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[19200.0,0,300.0],[19600.0,1,300.0],[20000.0,2,300.0],[20400.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[20800.0,0,300.0],[21200.0,1,300.0],[21600.0,2,300.0],[22000.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[22400.0,0,700.0],[22800.0,1,300.0],[23200.0,2,700.0],[23600.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[24000.0,0,700.0],[24400.0,1,300.0],[24800.0,2,700.0],[25200.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[25600.0,0,0.0],[25600.0,1,0.0],[26399.998,3,0.0],[26399.998,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[27199.998,0,0.0],[27199.998,2,0.0],[27599.998,0,0.0],[27599.998,2,0.0],[27999.998,3,0.0],[27999.998,1,0.0],[28199.998,1,0.0],[28199.998,3,0.0],[28399.998,3,0.0],[28399.998,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[28799.998,0,0.0],[28799.998,1,0.0],[29599.998,3,0.0],[29599.998,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[30399.998,0,0.0],[30399.998,2,0.0],[30799.998,0,0.0],[30799.998,2,0.0],[31199.998,3,0.0],[31199.998,1,0.0],[31399.998,1,0.0],[31399.998,3,0.0],[31599.998,3,0.0],[31599.998,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[31999.998,0,0.0],[32099.998,1,0.0],[32199.998,0,100.0],[32399.998,3,0.0],[32499.998,2,0.0],[32599.998,3,100.0],[32800.0,0,0.0],[32900.0,1,0.0],[33000.0,0,100.0],[33200.0,3,0.0],[33300.0,2,0.0],[33400.0,3,100.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[33600.0,2,0.0],[33700.0,3,0.0],[33800.0,2,100.0],[34000.0,1,0.0],[34100.0,0,0.0],[34200.0,1,100.0],[34400.0,2,0.0],[34500.0,3,0.0],[34600.0,2,100.0],[34800.0,1,0.0],[34900.0,0,0.0],[35000.0,1,100.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[35200.0,0,0.0],[35300.0,1,0.0],[35400.0,0,100.0],[35600.0,3,0.0],[35700.0,2,0.0],[35800.0,3,100.0],[36000.0,0,0.0],[36100.0,1,0.0],[36200.0,0,100.0],[36400.0,3,0.0],[36500.0,2,0.0],[36600.0,3,100.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[36800.0,2,0.0],[36900.0,3,0.0],[37000.0,2,100.0],[37200.0,1,0.0],[37300.0,0,0.0],[37400.0,1,100.0],[37600.0,2,0.0],[37700.0,3,0.0],[37800.0,2,100.0],[38000.0,1,0.0],[38100.0,0,0.0],[38200.0,1,100.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[38400.0,0,0.0],[38600.0,3,0.0],[38800.0,1,0.0],[38900.0,2,0.0],[39000.0,1,0.0],[39100.0,2,0.0],[39200.0,0,0.0],[39400.0,3,0.0],[39600.0,1,0.0],[39700.0,2,0.0],[39800.0,1,0.0],[39900.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[40000.0,3,0.0],[40200.0,0,0.0],[40400.0,1,0.0],[40600.0,3,0.0],[40800.0,0,0.0],[41000.0,2,0.0],[41200.0,3,0.0],[41400.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[41600.0,0,0.0],[41800.0,3,0.0],[42000.0,1,0.0],[42100.0,2,0.0],[42200.0,1,0.0],[42300.0,2,0.0],[42400.0,0,0.0],[42600.0,3,0.0],[42800.0,1,0.0],[42900.0,2,0.0],[43000.0,1,0.0],[43100.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[43200.0,3,0.0],[43400.0,0,0.0],[43600.0,1,0.0],[43800.0,3,0.0],[44000.0,0,0.0],[44200.0,2,0.0],[44400.0,3,0.0],[44600.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[44800.0,0,0.0],[45066.6641,0,0.0],[45333.332,0,0.0],[45600.0,3,0.0],[45866.6641,3,0.0],[46133.332,3,0.0],[46266.6641,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[46400.0,1,100.0],[46800.0,1,200.0],[47200.0,1,300.0],[47600.0,1,400.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[48000.0,0,0.0],[48266.6641,0,0.0],[48533.332,0,0.0],[48800.0,3,0.0],[49066.6641,3,0.0],[49333.332,3,0.0],[49466.6641,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[49600.0,1,100.0],[50000.0,1,200.0],[50400.0,1,300.0],[50800.0,1,400.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[51200.0,0,800.0],[51200.0,1,800.0],[52599.9961,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[52799.9961,3,800.0],[52799.9961,1,800.0],[53599.9961,4,700.0],[53799.9961,5,499.999969],[53999.9961,6,300.0],[53999.9961,1,0.0],[53999.9961,2,0.0],[54199.9961,7,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[54399.9961,7,800.0],[54399.9961,6,800.0],[54399.9961,5,800.0],[54399.9961,4,800.0],[54399.9961,2,800.0],[54399.9961,0,800.0],[55799.9961,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[55999.9961,2,800.0],[55999.9961,3,800.0],[57199.9961,2,0.0],[57199.9961,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[57599.9961,1,800.0],[57599.9961,0,800.0],[58999.9961,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[59199.9961,3,800.0],[59199.9961,1,800.0],[59999.9961,4,700.0],[60199.9961,5,499.999969],[60399.9961,6,300.0],[60399.9961,1,0.0],[60399.9961,2,0.0],[60599.9961,7,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[60799.9961,7,800.0],[60799.9961,6,800.0],[60799.9961,5,800.0],[60799.9961,4,800.0],[60799.9961,0,800.0],[60799.9961,2,800.0],[62199.9961,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[62399.9961,2,800.0],[62399.9961,3,800.0],[63199.9961,6,0.0],[63299.9961,7,0.0],[63399.9961,6,0.0],[63499.9961,7,0.0],[63599.9961,4,0.0],[63599.9961,2,0.0],[63599.9961,1,0.0],[63649.9961,5,0.0],[63699.9961,6,0.0],[63749.9961,7,0.0],[63799.9961,6,0.0],[63849.9961,5,0.0],[63899.9961,4,0.0],[63949.9961,5,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[63999.9961,3,0.0],[64199.9961,2,0.0],[64399.9961,0,0.0],[64599.9961,3,499.999969],[65199.9961,3,0.0],[65399.9961,0,400.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[66000.0,0,0.0],[66200.0,1,0.0],[66400.0,0,0.0],[66666.6641,3,0.0],[66933.33,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[67200.0,3,0.0],[67300.0,2,0.0],[67800.0,2,0.0],[67850.0,0,449.999969],[68400.0,3,100.0],[68600.0,2,0.0],[68700.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[68800.0,0,0.0],[69000.0,1,0.0],[69200.0,0,0.0],[69400.0,3,0.0],[69600.0,2,0.0],[69800.0,3,300.0],[70200.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[70400.0,4,0.0],[70400.0,3,0.0],[70600.0,6,0.0],[70600.0,2,0.0],[70800.0,7,0.0],[70800.0,0,0.0],[71000.0,4,499.999969],[71000.0,3,499.999969],[71600.0,4,0.0],[71600.0,3,0.0],[71800.0,7,400.0],[71800.0,0,400.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[72400.0,7,0.0],[72400.0,0,0.0],[72600.0,5,0.0],[72600.0,1,0.0],[72800.0,7,0.0],[72800.0,0,0.0],[73066.6641,4,0.0],[73066.6641,3,0.0],[73333.33,6,0.0],[73333.33,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[73600.0,4,0.0],[73600.0,3,0.0],[73700.0,6,0.0],[73700.0,2,0.0],[74200.0,6,0.0],[74200.0,2,0.0],[74250.0,7,449.999969],[74250.0,0,449.999969],[74800.0,4,100.0],[74800.0,3,100.0],[75000.0,6,0.0],[75000.0,2,0.0],[75100.0,4,0.0],[75100.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[75200.0,7,0.0],[75200.0,0,0.0],[75400.0,5,0.0],[75400.0,1,0.0],[75600.0,7,0.0],[75600.0,0,0.0],[75800.0,4,0.0],[75800.0,3,0.0],[76000.0,6,0.0],[76000.0,2,0.0],[76200.0,4,300.0],[76200.0,3,300.0],[76600.0,0,0.0],[76600.0,7,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[76800.0,3,0.0],[76900.0,2,0.0],[77000.0,3,0.0],[77100.0,2,0.0],[77200.0,0,0.0],[77300.0,2,0.0],[77400.0,0,0.0],[77500.0,2,0.0],[77600.0,4,700.0],[77600.0,3,0.0],[77700.0,2,0.0],[77800.0,3,0.0],[77900.0,2,0.0],[78000.0,0,0.0],[78100.0,2,0.0],[78200.0,0,0.0],[78300.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[78400.0,7,700.0],[78400.0,3,0.0],[78500.0,1,0.0],[78600.0,3,0.0],[78700.0,1,0.0],[78800.0,0,0.0],[78900.0,1,0.0],[79000.0,0,0.0],[79100.0,1,0.0],[79200.0,5,400.0],[79200.0,3,0.0],[79300.0,1,0.0],[79400.0,3,0.0],[79500.0,1,0.0],[79600.0,0,0.0],[79700.0,1,0.0],[79800.0,0,0.0],[79900.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[80000.0,3,0.0],[80100.0,2,0.0],[80200.0,3,0.0],[80300.0,2,0.0],[80400.0,0,0.0],[80500.0,2,0.0],[80600.0,0,0.0],[80700.0,2,0.0],[80800.0,7,700.0],[80800.0,3,0.0],[80900.0,2,0.0],[81000.0,3,0.0],[81100.0,2,0.0],[81200.0,0,0.0],[81300.0,2,0.0],[81400.0,0,0.0],[81500.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[81600.0,4,700.0],[81600.0,3,0.0],[81700.0,1,0.0],[81800.0,3,0.0],[81900.0,1,0.0],[82000.0,0,0.0],[82100.0,1,0.0],[82200.0,0,0.0],[82300.0,1,0.0],[82400.0,5,400.0],[82400.0,3,0.0],[82500.0,1,0.0],[82600.0,3,0.0],[82700.0,1,0.0],[82800.0,0,0.0],[82900.0,1,0.0],[83000.0,0,0.0],[83100.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[83200.0,2,0.0],[83300.0,2,0.0],[83400.0,2,0.0],[83500.0,2,0.0],[83600.0,0,0.0],[83700.0,0,0.0],[83800.0,0,0.0],[83900.0,0,0.0],[84000.0,3,0.0],[84100.0,3,0.0],[84200.0,3,0.0],[84300.0,3,0.0],[84400.0,1,0.0],[84500.0,1,0.0],[84600.0,1,0.0],[84700.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[84800.0,0,0.0],[84933.33,0,0.0],[85066.6641,0,0.0],[85200.0,2,0.0],[85333.33,2,0.0],[85466.6641,2,0.0],[85600.0,3,0.0],[85733.33,3,0.0],[85866.6641,3,0.0],[86000.0,0,0.0],[86133.33,0,0.0],[86266.6641,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[86400.0,6,600.0],[86400.0,2,0.0],[86500.0,2,0.0],[86600.0,2,0.0],[86700.0,2,0.0],[86800.0,0,0.0],[86900.0,0,0.0],[87000.0,0,0.0],[87100.0,0,0.0],[87200.0,4,600.0],[87200.0,3,0.0],[87300.0,3,0.0],[87400.0,3,0.0],[87500.0,3,0.0],[87600.0,1,0.0],[87700.0,1,0.0],[87800.0,1,0.0],[87900.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[88000.0,7,600.0],[88000.0,0,0.0],[88133.33,0,0.0],[88266.6641,0,0.0],[88400.0,2,0.0],[88533.33,2,0.0],[88666.6641,2,0.0],[88800.0,5,600.0],[88800.0,3,0.0],[88933.33,3,0.0],[89066.6641,3,0.0],[89200.0,0,0.0],[89333.33,0,0.0],[89466.6641,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[89600.0,0,3200.0],[90000.0,3,300.0],[90400.0,2,300.0],[90800.0,1,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[91200.0,2,0.0],[91400.0,3,0.0],[91600.0,2,0.0],[91800.0,1,0.0],[92000.0,2,300.0],[92400.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[92800.0,0,3200.0],[93200.0,3,300.0],[93600.0,2,300.0],[94000.0,1,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[94400.0,2,0.0],[94600.0,3,0.0],[94800.0,2,0.0],[95000.0,1,0.0],[95200.0,2,300.0],[95600.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[96000.0,0,2300.0],[96400.0,3,300.0],[96800.0,2,300.0],[97200.0,1,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[97600.0,2,0.0],[97800.0,3,0.0],[98000.0,2,0.0],[98200.0,1,0.0],[98400.0,1,700.0],[98400.0,2,300.0],[98800.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[99200.0,2,300.0],[99200.0,0,700.0],[99600.0,2,0.0],[99800.0,2,0.0],[100000.0,3,300.0],[100000.0,1,300.0],[100400.0,2,300.0],[100400.0,0,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[100800.0,3,300.0],[100800.0,1,700.0],[101200.0,2,300.0],[101600.0,3,300.0],[101600.0,1,700.0],[102000.0,2,300.0]]}]},"generatedBy":"SNIFF ver.6"} \ No newline at end of file diff --git a/assets/preload/data/test/test-hard.json b/assets/preload/data/test/test-hard.json index 738e568..1d28949 100644 --- a/assets/preload/data/test/test-hard.json +++ b/assets/preload/data/test/test-hard.json @@ -1 +1 @@ -{"song":{"song":"Test","bpm":150.0,"needsVoices":true,"player1":"bf","player2":"bf-pixel-opponent","speed":1.6,"notes":[{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[12800.0,0,0.0],[13199.999,1,0.0],[13599.999,2,0.0],[13999.999,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[14399.999,0,0.0],[14799.999,1,0.0],[15199.999,2,0.0],[15599.999,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[15999.999,0,0.0],[16199.999,0,0.0],[16400.0,1,0.0],[16600.0,1,0.0],[16800.0,2,0.0],[17000.0,2,0.0],[17200.0,3,0.0],[17400.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[17600.0,0,0.0],[17800.0,0,0.0],[18000.0,1,0.0],[18200.0,1,0.0],[18400.0,2,0.0],[18600.0,2,0.0],[18800.0,3,0.0],[19000.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[19200.0,0,300.0],[19600.0,1,300.0],[20000.0,2,300.0],[20400.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[20800.0,0,300.0],[21200.0,1,300.0],[21600.0,2,300.0],[22000.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[22400.0,0,700.0],[22800.0,1,300.0],[23200.0,2,700.0],[23600.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[24000.0,0,700.0],[24400.0,1,300.0],[24800.0,2,700.0],[25200.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[25600.0,0,0.0],[25600.0,1,0.0],[26399.998,3,0.0],[26399.998,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[27199.998,0,0.0],[27199.998,2,0.0],[27599.998,0,0.0],[27599.998,2,0.0],[27999.998,3,0.0],[27999.998,1,0.0],[28199.998,1,0.0],[28199.998,3,0.0],[28399.998,3,0.0],[28399.998,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[28799.998,0,0.0],[28799.998,1,0.0],[29599.998,3,0.0],[29599.998,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[30399.998,0,0.0],[30399.998,2,0.0],[30799.998,0,0.0],[30799.998,2,0.0],[31199.998,3,0.0],[31199.998,1,0.0],[31399.998,1,0.0],[31399.998,3,0.0],[31599.998,3,0.0],[31599.998,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[31999.998,0,0.0],[32099.998,1,0.0],[32199.998,0,100.0],[32399.998,3,0.0],[32499.998,2,0.0],[32599.998,3,100.0],[32800.0,0,0.0],[32900.0,1,0.0],[33000.0,0,100.0],[33200.0,3,0.0],[33300.0,2,0.0],[33400.0,3,100.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[33600.0,2,0.0],[33700.0,3,0.0],[33800.0,2,100.0],[34000.0,1,0.0],[34100.0,0,0.0],[34200.0,1,100.0],[34400.0,2,0.0],[34500.0,3,0.0],[34600.0,2,100.0],[34800.0,1,0.0],[34900.0,0,0.0],[35000.0,1,100.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[35200.0,0,0.0],[35300.0,1,0.0],[35400.0,0,100.0],[35600.0,3,0.0],[35700.0,2,0.0],[35800.0,3,100.0],[36000.0,0,0.0],[36100.0,1,0.0],[36200.0,0,100.0],[36400.0,3,0.0],[36500.0,2,0.0],[36600.0,3,100.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[36800.0,2,0.0],[36900.0,3,0.0],[37000.0,2,100.0],[37200.0,1,0.0],[37300.0,0,0.0],[37400.0,1,100.0],[37600.0,2,0.0],[37700.0,3,0.0],[37800.0,2,100.0],[38000.0,1,0.0],[38100.0,0,0.0],[38200.0,1,100.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[38400.0,0,0.0],[38600.0,3,0.0],[38800.0,1,0.0],[38900.0,2,0.0],[39000.0,1,0.0],[39100.0,2,0.0],[39200.0,0,0.0],[39400.0,3,0.0],[39600.0,1,0.0],[39700.0,2,0.0],[39800.0,1,0.0],[39900.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[40000.0,3,0.0],[40200.0,0,0.0],[40400.0,1,0.0],[40600.0,3,0.0],[40800.0,0,0.0],[41000.0,2,0.0],[41200.0,3,0.0],[41400.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[41600.0,0,0.0],[41800.0,3,0.0],[42000.0,1,0.0],[42100.0,2,0.0],[42200.0,1,0.0],[42300.0,2,0.0],[42400.0,0,0.0],[42600.0,3,0.0],[42800.0,1,0.0],[42900.0,2,0.0],[43000.0,1,0.0],[43100.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[43200.0,3,0.0],[43400.0,0,0.0],[43600.0,1,0.0],[43800.0,3,0.0],[44000.0,0,0.0],[44200.0,2,0.0],[44400.0,3,0.0],[44600.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[44800.0,0,0.0],[45066.6641,0,0.0],[45333.332,0,0.0],[45600.0,3,0.0],[45866.6641,3,0.0],[46133.332,3,0.0],[46266.6641,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[46400.0,1,100.0],[46800.0,1,200.0],[47200.0,1,300.0],[47600.0,1,400.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[48000.0,0,0.0],[48266.6641,0,0.0],[48533.332,0,0.0],[48800.0,3,0.0],[49066.6641,3,0.0],[49333.332,3,0.0],[49466.6641,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[49600.0,1,100.0],[50000.0,1,200.0],[50400.0,1,300.0],[50800.0,1,400.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[51200.0,0,800.0],[51200.0,1,800.0],[52599.9961,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[52799.9961,3,800.0],[52799.9961,1,800.0],[53599.9961,4,700.0],[53799.9961,5,499.999969],[53999.9961,6,300.0],[53999.9961,1,0.0],[53999.9961,2,0.0],[54199.9961,7,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[54399.9961,7,800.0],[54399.9961,6,800.0],[54399.9961,5,800.0],[54399.9961,4,800.0],[54399.9961,2,800.0],[54399.9961,0,800.0],[55799.9961,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[55999.9961,2,800.0],[55999.9961,3,800.0],[57199.9961,2,0.0],[57199.9961,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[57599.9961,1,800.0],[57599.9961,0,800.0],[58999.9961,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[59199.9961,3,800.0],[59199.9961,1,800.0],[59999.9961,4,700.0],[60199.9961,5,499.999969],[60399.9961,6,300.0],[60399.9961,1,0.0],[60399.9961,2,0.0],[60599.9961,7,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[60799.9961,7,800.0],[60799.9961,6,800.0],[60799.9961,5,800.0],[60799.9961,4,800.0],[60799.9961,0,800.0],[60799.9961,2,800.0],[62199.9961,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[62399.9961,2,800.0],[62399.9961,3,800.0],[63199.9961,6,0.0],[63299.9961,7,0.0],[63399.9961,6,0.0],[63499.9961,7,0.0],[63599.9961,4,0.0],[63599.9961,2,0.0],[63599.9961,1,0.0],[63649.9961,5,0.0],[63699.9961,6,0.0],[63749.9961,7,0.0],[63799.9961,6,0.0],[63849.9961,5,0.0],[63899.9961,4,0.0],[63949.9961,5,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[63999.9961,3,0.0],[64199.9961,2,0.0],[64399.9961,0,0.0],[64599.9961,3,499.999969],[65199.9961,3,0.0],[65399.9961,0,400.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[66000.0,0,0.0],[66200.0,1,0.0],[66400.0,0,0.0],[66666.6641,3,0.0],[66933.33,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[67200.0,3,0.0],[67300.0,2,0.0],[67800.0,2,0.0],[67850.0,0,449.999969],[68400.0,3,100.0],[68600.0,2,0.0],[68700.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[68800.0,0,0.0],[69000.0,1,0.0],[69200.0,0,0.0],[69400.0,3,0.0],[69600.0,2,0.0],[69800.0,3,300.0],[70200.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[70400.0,4,0.0],[70400.0,3,0.0],[70600.0,6,0.0],[70600.0,2,0.0],[70800.0,7,0.0],[70800.0,0,0.0],[71000.0,4,499.999969],[71000.0,3,499.999969],[71600.0,4,0.0],[71600.0,3,0.0],[71800.0,7,400.0],[71800.0,0,400.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[72400.0,7,0.0],[72400.0,0,0.0],[72600.0,5,0.0],[72600.0,1,0.0],[72800.0,7,0.0],[72800.0,0,0.0],[73066.6641,4,0.0],[73066.6641,3,0.0],[73333.33,6,0.0],[73333.33,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[73600.0,4,0.0],[73600.0,3,0.0],[73700.0,6,0.0],[73700.0,2,0.0],[74200.0,6,0.0],[74200.0,2,0.0],[74250.0,7,449.999969],[74250.0,0,449.999969],[74800.0,4,100.0],[74800.0,3,100.0],[75000.0,6,0.0],[75000.0,2,0.0],[75100.0,4,0.0],[75100.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[75200.0,7,0.0],[75200.0,0,0.0],[75400.0,5,0.0],[75400.0,1,0.0],[75600.0,7,0.0],[75600.0,0,0.0],[75800.0,4,0.0],[75800.0,3,0.0],[76000.0,6,0.0],[76000.0,2,0.0],[76200.0,4,300.0],[76200.0,3,300.0],[76600.0,0,0.0],[76600.0,7,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[76800.0,3,0.0],[76900.0,2,0.0],[77000.0,3,0.0],[77100.0,2,0.0],[77200.0,0,0.0],[77300.0,2,0.0],[77400.0,0,0.0],[77500.0,2,0.0],[77600.0,4,700.0],[77600.0,3,0.0],[77700.0,2,0.0],[77800.0,3,0.0],[77900.0,2,0.0],[78000.0,0,0.0],[78100.0,2,0.0],[78200.0,0,0.0],[78300.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[78400.0,7,700.0],[78400.0,3,0.0],[78500.0,1,0.0],[78600.0,3,0.0],[78700.0,1,0.0],[78800.0,0,0.0],[78900.0,1,0.0],[79000.0,0,0.0],[79100.0,1,0.0],[79200.0,5,400.0],[79200.0,3,0.0],[79300.0,1,0.0],[79400.0,3,0.0],[79500.0,1,0.0],[79600.0,0,0.0],[79700.0,1,0.0],[79800.0,0,0.0],[79900.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[80000.0,3,0.0],[80100.0,2,0.0],[80200.0,3,0.0],[80300.0,2,0.0],[80400.0,0,0.0],[80500.0,2,0.0],[80600.0,0,0.0],[80700.0,2,0.0],[80800.0,7,700.0],[80800.0,3,0.0],[80900.0,2,0.0],[81000.0,3,0.0],[81100.0,2,0.0],[81200.0,0,0.0],[81300.0,2,0.0],[81400.0,0,0.0],[81500.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[81600.0,4,700.0],[81600.0,3,0.0],[81700.0,1,0.0],[81800.0,3,0.0],[81900.0,1,0.0],[82000.0,0,0.0],[82100.0,1,0.0],[82200.0,0,0.0],[82300.0,1,0.0],[82400.0,5,400.0],[82400.0,3,0.0],[82500.0,1,0.0],[82600.0,3,0.0],[82700.0,1,0.0],[82800.0,0,0.0],[82900.0,1,0.0],[83000.0,0,0.0],[83100.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[83200.0,2,0.0],[83300.0,2,0.0],[83400.0,2,0.0],[83500.0,2,0.0],[83600.0,0,0.0],[83700.0,0,0.0],[83800.0,0,0.0],[83900.0,0,0.0],[84000.0,3,0.0],[84100.0,3,0.0],[84200.0,3,0.0],[84300.0,3,0.0],[84400.0,1,0.0],[84500.0,1,0.0],[84600.0,1,0.0],[84700.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[84800.0,0,0.0],[84933.33,0,0.0],[85066.6641,0,0.0],[85200.0,2,0.0],[85333.33,2,0.0],[85466.6641,2,0.0],[85600.0,3,0.0],[85733.33,3,0.0],[85866.6641,3,0.0],[86000.0,0,0.0],[86133.33,0,0.0],[86266.6641,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[86400.0,6,600.0],[86400.0,2,0.0],[86500.0,2,0.0],[86600.0,2,0.0],[86700.0,2,0.0],[86800.0,0,0.0],[86900.0,0,0.0],[87000.0,0,0.0],[87100.0,0,0.0],[87200.0,4,600.0],[87200.0,3,0.0],[87300.0,3,0.0],[87400.0,3,0.0],[87500.0,3,0.0],[87600.0,1,0.0],[87700.0,1,0.0],[87800.0,1,0.0],[87900.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[88000.0,7,600.0],[88000.0,0,0.0],[88133.33,0,0.0],[88266.6641,0,0.0],[88400.0,2,0.0],[88533.33,2,0.0],[88666.6641,2,0.0],[88800.0,5,600.0],[88800.0,3,0.0],[88933.33,3,0.0],[89066.6641,3,0.0],[89200.0,0,0.0],[89333.33,0,0.0],[89466.6641,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[89600.0,0,3200.0],[90000.0,3,300.0],[90400.0,2,300.0],[90800.0,1,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[91200.0,2,0.0],[91400.0,3,0.0],[91600.0,2,0.0],[91800.0,1,0.0],[92000.0,2,300.0],[92400.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[92800.0,0,3200.0],[93200.0,3,300.0],[93600.0,2,300.0],[94000.0,1,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[94400.0,2,0.0],[94600.0,3,0.0],[94800.0,2,0.0],[95000.0,1,0.0],[95200.0,2,300.0],[95600.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[96000.0,0,2300.0],[96400.0,3,300.0],[96800.0,2,300.0],[97200.0,1,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[97600.0,2,0.0],[97800.0,3,0.0],[98000.0,2,0.0],[98200.0,1,0.0],[98400.0,1,700.0],[98400.0,2,300.0],[98800.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[99200.0,2,300.0],[99200.0,0,700.0],[99600.0,2,0.0],[99800.0,2,0.0],[100000.0,3,300.0],[100000.0,1,300.0],[100400.0,2,300.0],[100400.0,0,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[100800.0,3,300.0],[100800.0,1,700.0],[101200.0,2,300.0],[101600.0,3,300.0],[101600.0,1,700.0],[102000.0,2,300.0]]}]},"generatedBy":"SNIFF ver.6"} \ No newline at end of file +{"song":{"song":"Test","bpm":150.0,"needsVoices":true,"player1":"bf","player2":"bf-pixel","speed":1.5,"notes":[{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[12800.0,0,0.0],[13199.999,1,0.0],[13599.999,2,0.0],[13999.999,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[14399.999,0,0.0],[14799.999,1,0.0],[15199.999,2,0.0],[15599.999,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[15999.999,0,0.0],[16199.999,0,0.0],[16400.0,1,0.0],[16600.0,1,0.0],[16800.0,2,0.0],[17000.0,2,0.0],[17200.0,3,0.0],[17400.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[17600.0,0,0.0],[17800.0,0,0.0],[18000.0,1,0.0],[18200.0,1,0.0],[18400.0,2,0.0],[18600.0,2,0.0],[18800.0,3,0.0],[19000.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[19200.0,0,300.0],[19600.0,1,300.0],[20000.0,2,300.0],[20400.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[20800.0,0,300.0],[21200.0,1,300.0],[21600.0,2,300.0],[22000.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[22400.0,0,700.0],[22800.0,1,300.0],[23200.0,2,700.0],[23600.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[24000.0,0,700.0],[24400.0,1,300.0],[24800.0,2,700.0],[25200.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[25600.0,0,0.0],[25600.0,1,0.0],[26399.998,3,0.0],[26399.998,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[27199.998,0,0.0],[27199.998,2,0.0],[27599.998,0,0.0],[27599.998,2,0.0],[27999.998,3,0.0],[27999.998,1,0.0],[28199.998,1,0.0],[28199.998,3,0.0],[28399.998,3,0.0],[28399.998,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[28799.998,0,0.0],[28799.998,1,0.0],[29599.998,3,0.0],[29599.998,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[30399.998,0,0.0],[30399.998,2,0.0],[30799.998,0,0.0],[30799.998,2,0.0],[31199.998,3,0.0],[31199.998,1,0.0],[31399.998,1,0.0],[31399.998,3,0.0],[31599.998,3,0.0],[31599.998,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[31999.998,0,0.0],[32099.998,1,0.0],[32199.998,0,100.0],[32399.998,3,0.0],[32499.998,2,0.0],[32599.998,3,100.0],[32800.0,0,0.0],[32900.0,1,0.0],[33000.0,0,100.0],[33200.0,3,0.0],[33300.0,2,0.0],[33400.0,3,100.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[33600.0,2,0.0],[33700.0,3,0.0],[33800.0,2,100.0],[34000.0,1,0.0],[34100.0,0,0.0],[34200.0,1,100.0],[34400.0,2,0.0],[34500.0,3,0.0],[34600.0,2,100.0],[34800.0,1,0.0],[34900.0,0,0.0],[35000.0,1,100.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[35200.0,0,0.0],[35300.0,1,0.0],[35400.0,0,100.0],[35600.0,3,0.0],[35700.0,2,0.0],[35800.0,3,100.0],[36000.0,0,0.0],[36100.0,1,0.0],[36200.0,0,100.0],[36400.0,3,0.0],[36500.0,2,0.0],[36600.0,3,100.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[36800.0,2,0.0],[36900.0,3,0.0],[37000.0,2,100.0],[37200.0,1,0.0],[37300.0,0,0.0],[37400.0,1,100.0],[37600.0,2,0.0],[37700.0,3,0.0],[37800.0,2,100.0],[38000.0,1,0.0],[38100.0,0,0.0],[38200.0,1,100.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[38400.0,0,0.0],[38600.0,3,0.0],[38800.0,1,0.0],[38900.0,2,0.0],[39000.0,1,0.0],[39100.0,2,0.0],[39200.0,0,0.0],[39400.0,3,0.0],[39600.0,1,0.0],[39700.0,2,0.0],[39800.0,1,0.0],[39900.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[40000.0,3,0.0],[40200.0,0,0.0],[40400.0,1,0.0],[40600.0,3,0.0],[40800.0,0,0.0],[41000.0,2,0.0],[41200.0,3,0.0],[41400.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[41600.0,0,0.0],[41800.0,3,0.0],[42000.0,1,0.0],[42100.0,2,0.0],[42200.0,1,0.0],[42300.0,2,0.0],[42400.0,0,0.0],[42600.0,3,0.0],[42800.0,1,0.0],[42900.0,2,0.0],[43000.0,1,0.0],[43100.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[43200.0,3,0.0],[43400.0,0,0.0],[43600.0,1,0.0],[43800.0,3,0.0],[44000.0,0,0.0],[44200.0,2,0.0],[44400.0,3,0.0],[44600.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[44800.0,0,0.0],[45066.6641,0,0.0],[45333.332,0,0.0],[45600.0,3,0.0],[45866.6641,3,0.0],[46133.332,3,0.0],[46266.6641,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[46400.0,1,100.0],[46800.0,1,200.0],[47200.0,1,300.0],[47600.0,1,400.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[48000.0,0,0.0],[48266.6641,0,0.0],[48533.332,0,0.0],[48800.0,3,0.0],[49066.6641,3,0.0],[49333.332,3,0.0],[49466.6641,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[49600.0,1,100.0],[50000.0,1,200.0],[50400.0,1,300.0],[50800.0,1,400.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[51200.0,0,800.0],[51200.0,1,800.0],[52599.9961,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[52799.9961,3,800.0],[52799.9961,1,800.0],[53599.9961,4,700.0],[53799.9961,5,499.999969],[53999.9961,6,300.0],[53999.9961,1,0.0],[53999.9961,2,0.0],[54199.9961,7,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[54399.9961,7,800.0],[54399.9961,6,800.0],[54399.9961,5,800.0],[54399.9961,4,800.0],[54399.9961,2,800.0],[54399.9961,0,800.0],[55799.9961,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[55999.9961,2,800.0],[55999.9961,3,800.0],[57199.9961,2,0.0],[57199.9961,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[57599.9961,1,800.0],[57599.9961,0,800.0],[58999.9961,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[59199.9961,3,800.0],[59199.9961,1,800.0],[59999.9961,4,700.0],[60199.9961,5,499.999969],[60399.9961,6,300.0],[60399.9961,1,0.0],[60399.9961,2,0.0],[60599.9961,7,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[60799.9961,7,800.0],[60799.9961,6,800.0],[60799.9961,5,800.0],[60799.9961,4,800.0],[60799.9961,0,800.0],[60799.9961,2,800.0],[62199.9961,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[62399.9961,2,800.0],[62399.9961,3,800.0],[63199.9961,6,0.0],[63299.9961,7,0.0],[63399.9961,6,0.0],[63499.9961,7,0.0],[63599.9961,4,0.0],[63599.9961,2,0.0],[63599.9961,1,0.0],[63649.9961,5,0.0],[63699.9961,6,0.0],[63749.9961,7,0.0],[63799.9961,6,0.0],[63849.9961,5,0.0],[63899.9961,4,0.0],[63949.9961,5,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[63999.9961,3,0.0],[64199.9961,2,0.0],[64399.9961,0,0.0],[64599.9961,3,499.999969],[65199.9961,3,0.0],[65399.9961,0,400.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[66000.0,0,0.0],[66200.0,1,0.0],[66400.0,0,0.0],[66666.6641,3,0.0],[66933.33,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[67200.0,3,0.0],[67300.0,2,0.0],[67800.0,2,0.0],[67850.0,0,449.999969],[68400.0,3,100.0],[68600.0,2,0.0],[68700.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[68800.0,0,0.0],[69000.0,1,0.0],[69200.0,0,0.0],[69400.0,3,0.0],[69600.0,2,0.0],[69800.0,3,300.0],[70200.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[70400.0,4,0.0],[70400.0,3,0.0],[70600.0,6,0.0],[70600.0,2,0.0],[70800.0,7,0.0],[70800.0,0,0.0],[71000.0,4,499.999969],[71000.0,3,499.999969],[71600.0,4,0.0],[71600.0,3,0.0],[71800.0,7,400.0],[71800.0,0,400.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[72400.0,7,0.0],[72400.0,0,0.0],[72600.0,5,0.0],[72600.0,1,0.0],[72800.0,7,0.0],[72800.0,0,0.0],[73066.6641,4,0.0],[73066.6641,3,0.0],[73333.33,6,0.0],[73333.33,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[73600.0,4,0.0],[73600.0,3,0.0],[73700.0,6,0.0],[73700.0,2,0.0],[74200.0,6,0.0],[74200.0,2,0.0],[74250.0,7,449.999969],[74250.0,0,449.999969],[74800.0,4,100.0],[74800.0,3,100.0],[75000.0,6,0.0],[75000.0,2,0.0],[75100.0,4,0.0],[75100.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[75200.0,7,0.0],[75200.0,0,0.0],[75400.0,5,0.0],[75400.0,1,0.0],[75600.0,7,0.0],[75600.0,0,0.0],[75800.0,4,0.0],[75800.0,3,0.0],[76000.0,6,0.0],[76000.0,2,0.0],[76200.0,4,300.0],[76200.0,3,300.0],[76600.0,0,0.0],[76600.0,7,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[76800.0,3,0.0],[76900.0,2,0.0],[77000.0,3,0.0],[77100.0,2,0.0],[77200.0,0,0.0],[77300.0,2,0.0],[77400.0,0,0.0],[77500.0,2,0.0],[77600.0,4,700.0],[77600.0,3,0.0],[77700.0,2,0.0],[77800.0,3,0.0],[77900.0,2,0.0],[78000.0,0,0.0],[78100.0,2,0.0],[78200.0,0,0.0],[78300.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[78400.0,7,700.0],[78400.0,3,0.0],[78500.0,1,0.0],[78600.0,3,0.0],[78700.0,1,0.0],[78800.0,0,0.0],[78900.0,1,0.0],[79000.0,0,0.0],[79100.0,1,0.0],[79200.0,5,400.0],[79200.0,3,0.0],[79300.0,1,0.0],[79400.0,3,0.0],[79500.0,1,0.0],[79600.0,0,0.0],[79700.0,1,0.0],[79800.0,0,0.0],[79900.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[80000.0,3,0.0],[80100.0,2,0.0],[80200.0,3,0.0],[80300.0,2,0.0],[80400.0,0,0.0],[80500.0,2,0.0],[80600.0,0,0.0],[80700.0,2,0.0],[80800.0,7,700.0],[80800.0,3,0.0],[80900.0,2,0.0],[81000.0,3,0.0],[81100.0,2,0.0],[81200.0,0,0.0],[81300.0,2,0.0],[81400.0,0,0.0],[81500.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[81600.0,4,700.0],[81600.0,3,0.0],[81700.0,1,0.0],[81800.0,3,0.0],[81900.0,1,0.0],[82000.0,0,0.0],[82100.0,1,0.0],[82200.0,0,0.0],[82300.0,1,0.0],[82400.0,5,400.0],[82400.0,3,0.0],[82500.0,1,0.0],[82600.0,3,0.0],[82700.0,1,0.0],[82800.0,0,0.0],[82900.0,1,0.0],[83000.0,0,0.0],[83100.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[83200.0,2,0.0],[83300.0,2,0.0],[83400.0,2,0.0],[83500.0,2,0.0],[83600.0,0,0.0],[83700.0,0,0.0],[83800.0,0,0.0],[83900.0,0,0.0],[84000.0,3,0.0],[84100.0,3,0.0],[84200.0,3,0.0],[84300.0,3,0.0],[84400.0,1,0.0],[84500.0,1,0.0],[84600.0,1,0.0],[84700.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[84800.0,0,0.0],[84933.33,0,0.0],[85066.6641,0,0.0],[85200.0,2,0.0],[85333.33,2,0.0],[85466.6641,2,0.0],[85600.0,3,0.0],[85733.33,3,0.0],[85866.6641,3,0.0],[86000.0,0,0.0],[86133.33,0,0.0],[86266.6641,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[86400.0,6,600.0],[86400.0,2,0.0],[86500.0,2,0.0],[86600.0,2,0.0],[86700.0,2,0.0],[86800.0,0,0.0],[86900.0,0,0.0],[87000.0,0,0.0],[87100.0,0,0.0],[87200.0,4,600.0],[87200.0,3,0.0],[87300.0,3,0.0],[87400.0,3,0.0],[87500.0,3,0.0],[87600.0,1,0.0],[87700.0,1,0.0],[87800.0,1,0.0],[87900.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[88000.0,7,600.0],[88000.0,0,0.0],[88133.33,0,0.0],[88266.6641,0,0.0],[88400.0,2,0.0],[88533.33,2,0.0],[88666.6641,2,0.0],[88800.0,5,600.0],[88800.0,3,0.0],[88933.33,3,0.0],[89066.6641,3,0.0],[89200.0,0,0.0],[89333.33,0,0.0],[89466.6641,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[89600.0,0,3200.0],[90000.0,3,300.0],[90400.0,2,300.0],[90800.0,1,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[91200.0,2,0.0],[91400.0,3,0.0],[91600.0,2,0.0],[91800.0,1,0.0],[92000.0,2,300.0],[92400.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[92800.0,0,3200.0],[93200.0,3,300.0],[93600.0,2,300.0],[94000.0,1,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[94400.0,2,0.0],[94600.0,3,0.0],[94800.0,2,0.0],[95000.0,1,0.0],[95200.0,2,300.0],[95600.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[96000.0,0,2300.0],[96400.0,3,300.0],[96800.0,2,300.0],[97200.0,1,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[97600.0,2,0.0],[97800.0,3,0.0],[98000.0,2,0.0],[98200.0,1,0.0],[98400.0,1,700.0],[98400.0,2,300.0],[98800.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[99200.0,2,300.0],[99200.0,0,700.0],[99600.0,2,0.0],[99800.0,2,0.0],[100000.0,3,300.0],[100000.0,1,300.0],[100400.0,2,300.0],[100400.0,0,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[100800.0,3,300.0],[100800.0,1,700.0],[101200.0,2,300.0],[101600.0,3,300.0],[101600.0,1,700.0],[102000.0,2,300.0]]}]},"generatedBy":"SNIFF ver.6"} \ No newline at end of file diff --git a/assets/preload/data/test/test.json b/assets/preload/data/test/test.json index 738e568..def6e0f 100644 --- a/assets/preload/data/test/test.json +++ b/assets/preload/data/test/test.json @@ -1 +1 @@ -{"song":{"song":"Test","bpm":150.0,"needsVoices":true,"player1":"bf","player2":"bf-pixel-opponent","speed":1.6,"notes":[{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[12800.0,0,0.0],[13199.999,1,0.0],[13599.999,2,0.0],[13999.999,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[14399.999,0,0.0],[14799.999,1,0.0],[15199.999,2,0.0],[15599.999,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[15999.999,0,0.0],[16199.999,0,0.0],[16400.0,1,0.0],[16600.0,1,0.0],[16800.0,2,0.0],[17000.0,2,0.0],[17200.0,3,0.0],[17400.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[17600.0,0,0.0],[17800.0,0,0.0],[18000.0,1,0.0],[18200.0,1,0.0],[18400.0,2,0.0],[18600.0,2,0.0],[18800.0,3,0.0],[19000.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[19200.0,0,300.0],[19600.0,1,300.0],[20000.0,2,300.0],[20400.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[20800.0,0,300.0],[21200.0,1,300.0],[21600.0,2,300.0],[22000.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[22400.0,0,700.0],[22800.0,1,300.0],[23200.0,2,700.0],[23600.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[24000.0,0,700.0],[24400.0,1,300.0],[24800.0,2,700.0],[25200.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[25600.0,0,0.0],[25600.0,1,0.0],[26399.998,3,0.0],[26399.998,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[27199.998,0,0.0],[27199.998,2,0.0],[27599.998,0,0.0],[27599.998,2,0.0],[27999.998,3,0.0],[27999.998,1,0.0],[28199.998,1,0.0],[28199.998,3,0.0],[28399.998,3,0.0],[28399.998,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[28799.998,0,0.0],[28799.998,1,0.0],[29599.998,3,0.0],[29599.998,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[30399.998,0,0.0],[30399.998,2,0.0],[30799.998,0,0.0],[30799.998,2,0.0],[31199.998,3,0.0],[31199.998,1,0.0],[31399.998,1,0.0],[31399.998,3,0.0],[31599.998,3,0.0],[31599.998,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[31999.998,0,0.0],[32099.998,1,0.0],[32199.998,0,100.0],[32399.998,3,0.0],[32499.998,2,0.0],[32599.998,3,100.0],[32800.0,0,0.0],[32900.0,1,0.0],[33000.0,0,100.0],[33200.0,3,0.0],[33300.0,2,0.0],[33400.0,3,100.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[33600.0,2,0.0],[33700.0,3,0.0],[33800.0,2,100.0],[34000.0,1,0.0],[34100.0,0,0.0],[34200.0,1,100.0],[34400.0,2,0.0],[34500.0,3,0.0],[34600.0,2,100.0],[34800.0,1,0.0],[34900.0,0,0.0],[35000.0,1,100.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[35200.0,0,0.0],[35300.0,1,0.0],[35400.0,0,100.0],[35600.0,3,0.0],[35700.0,2,0.0],[35800.0,3,100.0],[36000.0,0,0.0],[36100.0,1,0.0],[36200.0,0,100.0],[36400.0,3,0.0],[36500.0,2,0.0],[36600.0,3,100.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[36800.0,2,0.0],[36900.0,3,0.0],[37000.0,2,100.0],[37200.0,1,0.0],[37300.0,0,0.0],[37400.0,1,100.0],[37600.0,2,0.0],[37700.0,3,0.0],[37800.0,2,100.0],[38000.0,1,0.0],[38100.0,0,0.0],[38200.0,1,100.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[38400.0,0,0.0],[38600.0,3,0.0],[38800.0,1,0.0],[38900.0,2,0.0],[39000.0,1,0.0],[39100.0,2,0.0],[39200.0,0,0.0],[39400.0,3,0.0],[39600.0,1,0.0],[39700.0,2,0.0],[39800.0,1,0.0],[39900.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[40000.0,3,0.0],[40200.0,0,0.0],[40400.0,1,0.0],[40600.0,3,0.0],[40800.0,0,0.0],[41000.0,2,0.0],[41200.0,3,0.0],[41400.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[41600.0,0,0.0],[41800.0,3,0.0],[42000.0,1,0.0],[42100.0,2,0.0],[42200.0,1,0.0],[42300.0,2,0.0],[42400.0,0,0.0],[42600.0,3,0.0],[42800.0,1,0.0],[42900.0,2,0.0],[43000.0,1,0.0],[43100.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[43200.0,3,0.0],[43400.0,0,0.0],[43600.0,1,0.0],[43800.0,3,0.0],[44000.0,0,0.0],[44200.0,2,0.0],[44400.0,3,0.0],[44600.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[44800.0,0,0.0],[45066.6641,0,0.0],[45333.332,0,0.0],[45600.0,3,0.0],[45866.6641,3,0.0],[46133.332,3,0.0],[46266.6641,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[46400.0,1,100.0],[46800.0,1,200.0],[47200.0,1,300.0],[47600.0,1,400.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[48000.0,0,0.0],[48266.6641,0,0.0],[48533.332,0,0.0],[48800.0,3,0.0],[49066.6641,3,0.0],[49333.332,3,0.0],[49466.6641,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[49600.0,1,100.0],[50000.0,1,200.0],[50400.0,1,300.0],[50800.0,1,400.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[51200.0,0,800.0],[51200.0,1,800.0],[52599.9961,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[52799.9961,3,800.0],[52799.9961,1,800.0],[53599.9961,4,700.0],[53799.9961,5,499.999969],[53999.9961,6,300.0],[53999.9961,1,0.0],[53999.9961,2,0.0],[54199.9961,7,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[54399.9961,7,800.0],[54399.9961,6,800.0],[54399.9961,5,800.0],[54399.9961,4,800.0],[54399.9961,2,800.0],[54399.9961,0,800.0],[55799.9961,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[55999.9961,2,800.0],[55999.9961,3,800.0],[57199.9961,2,0.0],[57199.9961,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[57599.9961,1,800.0],[57599.9961,0,800.0],[58999.9961,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[59199.9961,3,800.0],[59199.9961,1,800.0],[59999.9961,4,700.0],[60199.9961,5,499.999969],[60399.9961,6,300.0],[60399.9961,1,0.0],[60399.9961,2,0.0],[60599.9961,7,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[60799.9961,7,800.0],[60799.9961,6,800.0],[60799.9961,5,800.0],[60799.9961,4,800.0],[60799.9961,0,800.0],[60799.9961,2,800.0],[62199.9961,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[62399.9961,2,800.0],[62399.9961,3,800.0],[63199.9961,6,0.0],[63299.9961,7,0.0],[63399.9961,6,0.0],[63499.9961,7,0.0],[63599.9961,4,0.0],[63599.9961,2,0.0],[63599.9961,1,0.0],[63649.9961,5,0.0],[63699.9961,6,0.0],[63749.9961,7,0.0],[63799.9961,6,0.0],[63849.9961,5,0.0],[63899.9961,4,0.0],[63949.9961,5,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[63999.9961,3,0.0],[64199.9961,2,0.0],[64399.9961,0,0.0],[64599.9961,3,499.999969],[65199.9961,3,0.0],[65399.9961,0,400.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[66000.0,0,0.0],[66200.0,1,0.0],[66400.0,0,0.0],[66666.6641,3,0.0],[66933.33,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[67200.0,3,0.0],[67300.0,2,0.0],[67800.0,2,0.0],[67850.0,0,449.999969],[68400.0,3,100.0],[68600.0,2,0.0],[68700.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[68800.0,0,0.0],[69000.0,1,0.0],[69200.0,0,0.0],[69400.0,3,0.0],[69600.0,2,0.0],[69800.0,3,300.0],[70200.0,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[70400.0,4,0.0],[70400.0,3,0.0],[70600.0,6,0.0],[70600.0,2,0.0],[70800.0,7,0.0],[70800.0,0,0.0],[71000.0,4,499.999969],[71000.0,3,499.999969],[71600.0,4,0.0],[71600.0,3,0.0],[71800.0,7,400.0],[71800.0,0,400.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[72400.0,7,0.0],[72400.0,0,0.0],[72600.0,5,0.0],[72600.0,1,0.0],[72800.0,7,0.0],[72800.0,0,0.0],[73066.6641,4,0.0],[73066.6641,3,0.0],[73333.33,6,0.0],[73333.33,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[73600.0,4,0.0],[73600.0,3,0.0],[73700.0,6,0.0],[73700.0,2,0.0],[74200.0,6,0.0],[74200.0,2,0.0],[74250.0,7,449.999969],[74250.0,0,449.999969],[74800.0,4,100.0],[74800.0,3,100.0],[75000.0,6,0.0],[75000.0,2,0.0],[75100.0,4,0.0],[75100.0,3,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[75200.0,7,0.0],[75200.0,0,0.0],[75400.0,5,0.0],[75400.0,1,0.0],[75600.0,7,0.0],[75600.0,0,0.0],[75800.0,4,0.0],[75800.0,3,0.0],[76000.0,6,0.0],[76000.0,2,0.0],[76200.0,4,300.0],[76200.0,3,300.0],[76600.0,0,0.0],[76600.0,7,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[76800.0,3,0.0],[76900.0,2,0.0],[77000.0,3,0.0],[77100.0,2,0.0],[77200.0,0,0.0],[77300.0,2,0.0],[77400.0,0,0.0],[77500.0,2,0.0],[77600.0,4,700.0],[77600.0,3,0.0],[77700.0,2,0.0],[77800.0,3,0.0],[77900.0,2,0.0],[78000.0,0,0.0],[78100.0,2,0.0],[78200.0,0,0.0],[78300.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[78400.0,7,700.0],[78400.0,3,0.0],[78500.0,1,0.0],[78600.0,3,0.0],[78700.0,1,0.0],[78800.0,0,0.0],[78900.0,1,0.0],[79000.0,0,0.0],[79100.0,1,0.0],[79200.0,5,400.0],[79200.0,3,0.0],[79300.0,1,0.0],[79400.0,3,0.0],[79500.0,1,0.0],[79600.0,0,0.0],[79700.0,1,0.0],[79800.0,0,0.0],[79900.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[80000.0,3,0.0],[80100.0,2,0.0],[80200.0,3,0.0],[80300.0,2,0.0],[80400.0,0,0.0],[80500.0,2,0.0],[80600.0,0,0.0],[80700.0,2,0.0],[80800.0,7,700.0],[80800.0,3,0.0],[80900.0,2,0.0],[81000.0,3,0.0],[81100.0,2,0.0],[81200.0,0,0.0],[81300.0,2,0.0],[81400.0,0,0.0],[81500.0,2,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[81600.0,4,700.0],[81600.0,3,0.0],[81700.0,1,0.0],[81800.0,3,0.0],[81900.0,1,0.0],[82000.0,0,0.0],[82100.0,1,0.0],[82200.0,0,0.0],[82300.0,1,0.0],[82400.0,5,400.0],[82400.0,3,0.0],[82500.0,1,0.0],[82600.0,3,0.0],[82700.0,1,0.0],[82800.0,0,0.0],[82900.0,1,0.0],[83000.0,0,0.0],[83100.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[83200.0,2,0.0],[83300.0,2,0.0],[83400.0,2,0.0],[83500.0,2,0.0],[83600.0,0,0.0],[83700.0,0,0.0],[83800.0,0,0.0],[83900.0,0,0.0],[84000.0,3,0.0],[84100.0,3,0.0],[84200.0,3,0.0],[84300.0,3,0.0],[84400.0,1,0.0],[84500.0,1,0.0],[84600.0,1,0.0],[84700.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[84800.0,0,0.0],[84933.33,0,0.0],[85066.6641,0,0.0],[85200.0,2,0.0],[85333.33,2,0.0],[85466.6641,2,0.0],[85600.0,3,0.0],[85733.33,3,0.0],[85866.6641,3,0.0],[86000.0,0,0.0],[86133.33,0,0.0],[86266.6641,0,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[86400.0,6,600.0],[86400.0,2,0.0],[86500.0,2,0.0],[86600.0,2,0.0],[86700.0,2,0.0],[86800.0,0,0.0],[86900.0,0,0.0],[87000.0,0,0.0],[87100.0,0,0.0],[87200.0,4,600.0],[87200.0,3,0.0],[87300.0,3,0.0],[87400.0,3,0.0],[87500.0,3,0.0],[87600.0,1,0.0],[87700.0,1,0.0],[87800.0,1,0.0],[87900.0,1,0.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[88000.0,7,600.0],[88000.0,0,0.0],[88133.33,0,0.0],[88266.6641,0,0.0],[88400.0,2,0.0],[88533.33,2,0.0],[88666.6641,2,0.0],[88800.0,5,600.0],[88800.0,3,0.0],[88933.33,3,0.0],[89066.6641,3,0.0],[89200.0,0,0.0],[89333.33,0,0.0],[89466.6641,0,0.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[89600.0,0,3200.0],[90000.0,3,300.0],[90400.0,2,300.0],[90800.0,1,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[91200.0,2,0.0],[91400.0,3,0.0],[91600.0,2,0.0],[91800.0,1,0.0],[92000.0,2,300.0],[92400.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[92800.0,0,3200.0],[93200.0,3,300.0],[93600.0,2,300.0],[94000.0,1,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[94400.0,2,0.0],[94600.0,3,0.0],[94800.0,2,0.0],[95000.0,1,0.0],[95200.0,2,300.0],[95600.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[96000.0,0,2300.0],[96400.0,3,300.0],[96800.0,2,300.0],[97200.0,1,300.0]]},{"lengthInSteps":16,"mustHitSection":false,"sectionNotes":[[97600.0,2,0.0],[97800.0,3,0.0],[98000.0,2,0.0],[98200.0,1,0.0],[98400.0,1,700.0],[98400.0,2,300.0],[98800.0,3,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[99200.0,2,300.0],[99200.0,0,700.0],[99600.0,2,0.0],[99800.0,2,0.0],[100000.0,3,300.0],[100000.0,1,300.0],[100400.0,2,300.0],[100400.0,0,300.0]]},{"lengthInSteps":16,"mustHitSection":true,"sectionNotes":[[100800.0,3,300.0],[100800.0,1,700.0],[101200.0,2,300.0],[101600.0,3,300.0],[101600.0,1,700.0],[102000.0,2,300.0]]}]},"generatedBy":"SNIFF ver.6"} \ No newline at end of file +{"song":{"player1":"bf","notes":[{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[12800,0,0],[13199.999,1,0],[13599.999,2,0],[13999.999,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[14399.999,0,0],[14799.999,1,0],[15199.999,2,0],[15599.999,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[15999.999,0,0],[16199.999,0,0],[16400,1,0],[16600,1,0],[16800,2,0],[17000,2,0],[17200,3,0],[17400,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[17600,0,0],[17800,0,0],[18000,1,0],[18200,1,0],[18400,2,0],[18600,2,0],[18800,3,0],[19000,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[19200,0,300],[19600,1,300],[20000,2,300],[20400,3,300]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[20800,0,300],[21200,1,300],[21600,2,300],[22000,3,300]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[22400,0,700],[22800,1,300],[23200,2,700],[23600,3,300]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[24000,0,700],[24400,1,300],[24800,2,700],[25200,3,300]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[25600,0,0],[25600,1,0],[26399.998,3,0],[26399.998,2,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[27199.998,0,0],[27199.998,2,0],[27599.998,0,0],[27599.998,2,0],[27999.998,3,0],[27999.998,1,0],[28199.998,1,0],[28199.998,3,0],[28399.998,3,0],[28399.998,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[28799.998,0,0],[28799.998,1,0],[29599.998,3,0],[29599.998,2,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[30399.998,0,0],[30399.998,2,0],[30799.998,0,0],[30799.998,2,0],[31199.998,3,0],[31199.998,1,0],[31399.998,1,0],[31399.998,3,0],[31599.998,3,0],[31599.998,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[31999.998,0,0],[32099.998,1,0],[32199.998,0,100],[32399.998,3,0],[32499.998,2,0],[32599.998,3,100],[32800,0,0],[32900,1,0],[33000,0,100],[33200,3,0],[33300,2,0],[33400,3,100]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[33600,2,0],[33700,3,0],[33800,2,100],[34000,1,0],[34100,0,0],[34200,1,100],[34400,2,0],[34500,3,0],[34600,2,100],[34800,1,0],[34900,0,0],[35000,1,100]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[35200,0,0],[35300,1,0],[35400,0,100],[35600,3,0],[35700,2,0],[35800,3,100],[36000,0,0],[36100,1,0],[36200,0,100],[36400,3,0],[36500,2,0],[36600,3,100]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[36800,2,0],[36900,3,0],[37000,2,100],[37200,1,0],[37300,0,0],[37400,1,100],[37600,2,0],[37700,3,0],[37800,2,100],[38000,1,0],[38100,0,0],[38200,1,100]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[38400,0,0],[38600,3,0],[38800,1,0],[38900,2,0],[39000,1,0],[39100,2,0],[39200,0,0],[39400,3,0],[39600,1,0],[39700,2,0],[39800,1,0],[39900,2,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[40000,3,0],[40200,0,0],[40400,1,0],[40600,3,0],[40800,0,0],[41000,2,0],[41200,3,0],[41400,0,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[41600,0,0],[41800,3,0],[42000,1,0],[42100,2,0],[42200,1,0],[42300,2,0],[42400,0,0],[42600,3,0],[42800,1,0],[42900,2,0],[43000,1,0],[43100,2,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[43200,3,0],[43400,0,0],[43600,1,0],[43800,3,0],[44000,0,0],[44200,2,0],[44400,3,0],[44600,0,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[44800,0,0],[45066.6641,0,0],[45333.332,0,0],[45600,3,0],[45866.6641,3,0],[46133.332,3,0],[46266.6641,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[46400,1,100],[46800,1,200],[47200,1,300],[47600,1,400]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[48000,0,0],[48266.6641,0,0],[48533.332,0,0],[48800,3,0],[49066.6641,3,0],[49333.332,3,0],[49466.6641,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[49600,1,100],[50000,1,200],[50400,1,300],[50800,1,400]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[51200,0,800],[51200,1,800],[52599.9961,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[52799.9961,3,800],[52799.9961,1,800],[53599.9961,4,700],[53799.9961,5,499.999969],[53999.9961,6,300],[53999.9961,1,0],[53999.9961,2,0],[54199.9961,7,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[54399.9961,7,800],[54399.9961,6,800],[54399.9961,5,800],[54399.9961,4,800],[54399.9961,2,800],[54399.9961,0,800],[55799.9961,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[55999.9961,2,800],[55999.9961,3,800],[57199.9961,2,0],[57199.9961,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[57599.9961,1,800],[57599.9961,0,800],[58999.9961,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[59199.9961,3,800],[59199.9961,1,800],[59999.9961,4,700],[60199.9961,5,499.999969],[60399.9961,6,300],[60399.9961,1,0],[60399.9961,2,0],[60599.9961,7,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[60799.9961,7,800],[60799.9961,6,800],[60799.9961,5,800],[60799.9961,4,800],[60799.9961,0,800],[60799.9961,2,800],[62199.9961,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[62399.9961,2,800],[62399.9961,3,800],[63199.9961,6,0],[63299.9961,7,0],[63399.9961,6,0],[63499.9961,7,0],[63599.9961,4,0],[63599.9961,2,0],[63599.9961,1,0],[63649.9961,5,0],[63699.9961,6,0],[63749.9961,7,0],[63799.9961,6,0],[63849.9961,5,0],[63899.9961,4,0],[63949.9961,5,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[63999.9961,3,0],[64199.9961,2,0],[64399.9961,0,0],[64599.9961,3,499.999969],[65199.9961,3,0],[65399.9961,0,400]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[66000,0,0],[66200,1,0],[66400,0,0],[66666.6641,3,0],[66933.33,2,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[67200,3,0],[67300,2,0],[67800,2,0],[67850,0,449.999969],[68400,3,100],[68600,2,0],[68700,3,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[68800,0,0],[69000,1,0],[69200,0,0],[69400,3,0],[69600,2,0],[69800,3,300],[70200,0,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[70400,4,0],[70400,3,0],[70600,6,0],[70600,2,0],[70800,7,0],[70800,0,0],[71000,4,499.999969],[71000,3,499.999969],[71600,4,0],[71600,3,0],[71800,7,400],[71800,0,400]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[72400,7,0],[72400,0,0],[72600,5,0],[72600,1,0],[72800,7,0],[72800,0,0],[73066.6641,4,0],[73066.6641,3,0],[73333.33,6,0],[73333.33,2,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[73600,4,0],[73600,3,0],[73700,6,0],[73700,2,0],[74200,6,0],[74200,2,0],[74250,7,449.999969],[74250,0,449.999969],[74800,4,100],[74800,3,100],[75000,6,0],[75000,2,0],[75100,4,0],[75100,3,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[75200,7,0],[75200,0,0],[75400,5,0],[75400,1,0],[75600,7,0],[75600,0,0],[75800,4,0],[75800,3,0],[76000,6,0],[76000,2,0],[76200,4,300],[76200,3,300],[76600,0,0],[76600,7,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[76800,3,0],[76900,2,0],[77000,3,0],[77100,2,0],[77200,0,0],[77300,2,0],[77400,0,0],[77500,2,0],[77600,4,700],[77600,3,0],[77700,2,0],[77800,3,0],[77900,2,0],[78000,0,0],[78100,2,0],[78200,0,0],[78300,2,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[78400,7,700],[78400,3,0],[78500,1,0],[78600,3,0],[78700,1,0],[78800,0,0],[78900,1,0],[79000,0,0],[79100,1,0],[79200,5,400],[79200,3,0],[79300,1,0],[79400,3,0],[79500,1,0],[79600,0,0],[79700,1,0],[79800,0,0],[79900,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[80000,3,0],[80100,2,0],[80200,3,0],[80300,2,0],[80400,0,0],[80500,2,0],[80600,0,0],[80700,2,0],[80800,7,700],[80800,3,0],[80900,2,0],[81000,3,0],[81100,2,0],[81200,0,0],[81300,2,0],[81400,0,0],[81500,2,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[81600,4,700],[81600,3,0],[81700,1,0],[81800,3,0],[81900,1,0],[82000,0,0],[82100,1,0],[82200,0,0],[82300,1,0],[82400,5,400],[82400,3,0],[82500,1,0],[82600,3,0],[82700,1,0],[82800,0,0],[82900,1,0],[83000,0,0],[83100,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[83200,2,0],[83300,2,0],[83400,2,0],[83500,2,0],[83600,0,0],[83700,0,0],[83800,0,0],[83900,0,0],[84000,3,0],[84100,3,0],[84200,3,0],[84300,3,0],[84400,1,0],[84500,1,0],[84600,1,0],[84700,1,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[84800,0,0],[84933.33,0,0],[85066.6641,0,0],[85200,2,0],[85333.33,2,0],[85466.6641,2,0],[85600,3,0],[85733.33,3,0],[85866.6641,3,0],[86000,0,0],[86133.33,0,0],[86266.6641,0,0]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[86400,6,600],[86400,2,0],[86500,2,0],[86600,2,0],[86700,2,0],[86800,0,0],[86900,0,0],[87000,0,0],[87100,0,0],[87200,4,600],[87200,3,0],[87300,3,0],[87400,3,0],[87500,3,0],[87600,1,0],[87700,1,0],[87800,1,0],[87900,1,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[88000,7,600],[88000,0,0],[88133.33,0,0],[88266.6641,0,0],[88400,2,0],[88533.33,2,0],[88666.6641,2,0],[88800,5,600],[88800,3,0],[88933.33,3,0],[89066.6641,3,0],[89200,0,0],[89333.33,0,0],[89466.6641,0,0]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[89600,0,3200],[90000,3,300],[90400,2,300],[90800,1,300]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[91200,2,0],[91400,3,0],[91600,2,0],[91800,1,0],[92000,2,300],[92400,3,300]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[92800,0,3200],[93200,3,300],[93600,2,300],[94000,1,300]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[94400,2,0],[94600,3,0],[94800,2,0],[95000,1,0],[95200,2,300],[95600,3,300]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[96000,0,2300],[96400,3,300],[96800,2,300],[97200,1,300]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[97600,2,0],[97800,3,0],[98000,2,0],[98200,1,0],[98400,1,700],[98400,2,300],[98800,3,300]],"lengthInSteps":16,"mustHitSection":false},{"sectionNotes":[[99200,2,300],[99200,0,700],[99600,2,0],[99800,2,0],[100000,3,300],[100000,1,300],[100400,2,300],[100400,0,300]],"lengthInSteps":16,"mustHitSection":true},{"sectionNotes":[[100800,3,300],[100800,1,700],[101200,2,300],[101600,3,300],[101600,1,700],[102000,2,300]],"lengthInSteps":16,"mustHitSection":true},{"lengthInSteps":16,"altAnim":false,"typeOfSection":0,"sectionNotes":[],"bpm":150,"changeBPM":false,"mustHitSection":true}],"player2":"bf-pixel","song":"Test","validScore":true,"needsVoices":true,"speed":1.0,"bpm":150}} \ No newline at end of file diff --git a/assets/shared/images/charactersAssets/bfPixelsDEAD.xml b/assets/shared/images/charactersAssets/bfPixelsDEAD.xml index 2d741ca..7878f0d 100644 --- a/assets/shared/images/charactersAssets/bfPixelsDEAD.xml +++ b/assets/shared/images/charactersAssets/bfPixelsDEAD.xml @@ -1,7 +1,9 @@ - + + + @@ -58,8 +60,8 @@ - - + + diff --git a/source/Character.hx b/source/Character.hx index 35a7f48..281f482 100644 --- a/source/Character.hx +++ b/source/Character.hx @@ -17,6 +17,7 @@ class Character extends FlxSprite public var curCharacter:String = 'bf'; public var holdTimer:Float = 0; + public var singDuration:Float = 4; public var animationNotes:Array = []; @@ -428,19 +429,30 @@ class Character extends FlxSprite frames = Paths.getSparrowAtlas('charactersAssets/bfPixel', 'shared'); animation.addByPrefix('idle', 'BF IDLE', 24, false); animation.addByPrefix('singUP', 'BF UP NOTE', 24, false); - animation.addByPrefix('singLEFT', 'BF LEFT NOTE', 24, false); - animation.addByPrefix('singRIGHT', 'BF RIGHT NOTE', 24, false); + if (!isPlayer) + { + animation.addByPrefix('singLEFT', 'BF RIGHT NOTE', 24, false); + animation.addByPrefix('singRIGHT', 'BF LEFT NOTE', 24, false); + } + else + { + animation.addByPrefix('singLEFT', 'BF LEFT NOTE', 24, false); + animation.addByPrefix('singRIGHT', 'BF RIGHT NOTE', 24, false); + + // miss anims + animation.addByPrefix('singUPmiss', 'BF UP MISS', 24, false); + animation.addByPrefix('singLEFTmiss', 'BF LEFT MISS', 24, false); + animation.addByPrefix('singRIGHTmiss', 'BF RIGHT MISS', 24, false); + animation.addByPrefix('singDOWNmiss', 'BF DOWN MISS', 24, false); + } animation.addByPrefix('singDOWN', 'BF DOWN NOTE', 24, false); - animation.addByPrefix('singUPmiss', 'BF UP MISS', 24, false); - animation.addByPrefix('singLEFTmiss', 'BF LEFT MISS', 24, false); - animation.addByPrefix('singRIGHTmiss', 'BF RIGHT MISS', 24, false); - animation.addByPrefix('singDOWNmiss', 'BF DOWN MISS', 24, false); addOffset('idle'); addOffset("singUP"); addOffset("singRIGHT"); addOffset("singLEFT"); addOffset("singDOWN"); + addOffset("singUPmiss"); addOffset("singRIGHTmiss"); addOffset("singLEFTmiss"); @@ -457,29 +469,6 @@ class Character extends FlxSprite antialiasing = false; flipX = true; - - case 'bf-pixel-opponent': - frames = Paths.getSparrowAtlas('charactersAssets/bfPixel', 'shared'); - animation.addByPrefix('idle', 'BF IDLE', 24, false); - animation.addByPrefix('singUP', 'BF UP NOTE', 24, false); - animation.addByPrefix('singLEFT', 'BF RIGHT NOTE', 24, false); - animation.addByPrefix('singRIGHT', 'BF LEFT NOTE', 24, false); - animation.addByPrefix('singDOWN', 'BF DOWN NOTE', 24, false); - - addOffset('idle'); - addOffset("singUP"); - addOffset("singRIGHT"); - addOffset("singLEFT"); - addOffset("singDOWN"); - - setGraphicSize(Std.int(width * 7)); - updateHitbox(); - - playAnim('idle'); - - width -= 100; - height -= 100; - antialiasing = false; case 'bf-pixel-dead': @@ -664,6 +653,7 @@ class Character extends FlxSprite } dance(); + animation.finish(); if (isPlayer) { @@ -710,28 +700,37 @@ class Character extends FlxSprite override function update(elapsed:Float) { - if (!curCharacter.startsWith('bf')) + if (!isPlayer) { if (animation.curAnim.name.startsWith('sing')) { holdTimer += elapsed; } - var dadVar:Float = 4; - - if (curCharacter == 'dad') - dadVar = 6.1; - if (holdTimer >= Conductor.stepCrochet * dadVar * 0.001) + if (holdTimer >= Conductor.stepCrochet * 0.0011 * singDuration) { dance(); holdTimer = 0; } + + // some characters need to hold their poses longer because it looks weird to me.... + switch (curCharacter) + { + case 'dad': + singDuration = 6.1; + case 'gf' | 'spooky': + singDuration = 4.2; // to fix the double dances + } } if (!debugMode) { - if(animation.curAnim.finished && animation.getByName(animation.curAnim.name + '-loop') != null) - playAnim(animation.curAnim.name + '-loop'); + if (animation.getByName(animation.curAnim.name + '-loop') != null) + { + if (animation.curAnim.finished) { + playAnim(animation.curAnim.name + '-loop'); + } + } } switch (curCharacter) @@ -765,46 +764,44 @@ class Character extends FlxSprite private var danced:Bool = false; - /** - * FOR GF DANCING SHIT - */ - public function dance() + // FOR GF DANCING SHIT + public function dance() + { + if (!debugMode) { - if (!debugMode) + switch (curCharacter) { - switch (curCharacter) - { - case 'gf' | 'gf-car' | 'gf-christmas' | 'gf-pixel' | 'gf-tankmen': - if (!animation.curAnim.name.startsWith('hair')) - { - danced = !danced; - - if (danced) - playAnim('danceRight'); - else - playAnim('danceLeft'); - } - case 'bf-pixel-dead': - // do nothing, just act casual lol - case 'bf-holding-gf-DEAD': - // do nothing, just act casual lol - case 'pico-speaker': - // do nothing, just act casual lol - case 'spooky': + case 'gf' | 'gf-car' | 'gf-christmas' | 'gf-pixel' | 'gf-tankmen': + if (!animation.curAnim.name.startsWith('hair')) + { danced = !danced; if (danced) playAnim('danceRight'); else playAnim('danceLeft'); - case 'tankman': - if (!animation.curAnim.name.endsWith('DOWN-alt')) - playAnim('idle'); - default: - playAnim('idle'); - } + } + case 'bf-pixel-dead': + // do nothing, just act casual lol + case 'bf-holding-gf-DEAD': + // do nothing, just act casual lol + case 'pico-speaker': + // do nothing, just act casual lol + case 'spooky': + danced = !danced; + + if (danced) + playAnim('danceRight'); + else + playAnim('danceLeft'); + case 'tankman': + if (!animation.curAnim.name.endsWith('DOWN-alt')) + playAnim('idle'); + default: + playAnim('idle'); } } + } public function playAnim(AnimName:String, Force:Bool = false, Reversed:Bool = false, Frame:Int = 0):Void { diff --git a/source/LoadingState.hx b/source/LoadingState.hx index d015d00..7e2aeb0 100644 --- a/source/LoadingState.hx +++ b/source/LoadingState.hx @@ -25,10 +25,6 @@ class LoadingState extends MusicBeatState var stopMusic = false; var callbacks:MultiCallback; - var logo:FlxSprite; - var gfDance:FlxSprite; - var danceLeft = false; - function new(target:FlxState, stopMusic:Bool) { super(); @@ -38,6 +34,7 @@ class LoadingState extends MusicBeatState var funkay:FlxSprite; var loadBar:FlxSprite; + override function create() { var bg:FlxSprite = new FlxSprite(0, 0).makeGraphic(FlxG.width, FlxG.height, 0xffcaff4d); @@ -63,9 +60,11 @@ class LoadingState extends MusicBeatState callbacks = new MultiCallback(onLoad); var introComplete = callbacks.add("introComplete"); checkLoadSong(getSongPath()); + if (PlayState.SONG.needsVoices) checkLoadSong(getVocalPath()); checkLibrary("shared"); + if (PlayState.storyWeek > 0) checkLibrary("week" + PlayState.storyWeek); else @@ -84,10 +83,6 @@ class LoadingState extends MusicBeatState { var library = Assets.getLibrary("songs"); final symbolPath = path.split(":").pop(); - // @:privateAccess - // library.types.set(symbolPath, SOUND); - // @:privateAccess - // library.pathGroups.set(symbolPath, [library.__cacheBreak(symbolPath)]); var callback = callbacks.add("song:" + path); Assets.loadSound(path).onComplete(function (_) { callback(); }); } @@ -120,10 +115,18 @@ class LoadingState extends MusicBeatState funkay.updateHitbox(); } - if(callbacks != null) { + if(callbacks != null) + { targetShit = FlxMath.remapToRange(callbacks.numRemaining / callbacks.length, 1, 0, 0, 1); - loadBar.scale.x += 0.5 * (targetShit - loadBar.scale.x); + + var lerpWidth:Int = Std.int(FlxMath.lerp(loadBar.width, FlxG.width * targetShit, 0.2)); + loadBar.setGraphicSize(lerpWidth, FlxG.height); + loadBar.updateHitbox(); } + + #if debug + if (FlxG.keys.justPressed.SPACE) trace('fired: ' + callbacks.getFired() + ' unfired:' + callbacks.getUnfired()); + #end } function onLoad() @@ -152,12 +155,14 @@ class LoadingState extends MusicBeatState static function getNextState(target:FlxState, stopMusic = false):FlxState { Paths.setCurrentLevel("week" + PlayState.storyWeek); + var loaded = isSoundLoaded(getSongPath()) && (!PlayState.SONG.needsVoices || isSoundLoaded(getVocalPath())) && isLibraryLoaded("shared"); if (!loaded) return new LoadingState(target, stopMusic); + if (stopMusic && FlxG.sound.music != null) FlxG.sound.music.stop(); diff --git a/source/MainMenuState.hx b/source/MainMenuState.hx index a8f2331..083cb35 100644 --- a/source/MainMenuState.hx +++ b/source/MainMenuState.hx @@ -32,7 +32,7 @@ class MainMenuState extends MusicBeatState #if !switch var optionShit:Array = ['story mode', 'freeplay', 'donate', 'options']; #else - var optionShit:Array = ['story mode', 'freeplay']; + var optionShit:Array = ['story mode', 'freeplay', 'options']; #end var magenta:FlxSprite; @@ -81,7 +81,8 @@ class MainMenuState extends MusicBeatState magenta.visible = false; magenta.antialiasing = true; magenta.color = 0xFFFD719B; - magenta.scrollFactor.set(); + if (FlxG.save.data.flashingLights) + add(magenta); menuItems = new MainMenuList(); add(menuItems); diff --git a/source/Options.hx b/source/Options.hx index d196c39..05396af 100644 --- a/source/Options.hx +++ b/source/Options.hx @@ -1,5 +1,6 @@ package; +import ui.OptionsMenu; import lime.app.Application; import openfl.text.FontType; import flixel.util.FlxColor; @@ -119,6 +120,14 @@ class Option if(FlxG.save.data.camhudZoom == null) FlxG.save.data.camhudZoom = true; + if(FlxG.save.data.flashingLights == null) + FlxG.save.data.flashingLights = true; + + if(FlxG.save.data.autoPause == null) { + FlxG.save.data.autoPause = true; + FlxG.autoPause = true; + } + if(FlxG.save.data.weekUnlocked == null) FlxG.save.data.weekUnlocked = 8; @@ -357,6 +366,55 @@ class OpponentLightStrums extends Option } } +class FlashingOption extends Option +{ + public function new(desc:String) + { + super(); + description = desc; + } + + public override function press(changeData:Bool):Bool + { + if (changeData) + FlxG.save.data.flashingLights = !FlxG.save.data.flashingLights; + acceptValues = FlxG.save.data.flashingLights; + display = updateDisplay(); + return true; + } + + private override function updateDisplay():String + { + return "Flashing Lights "; + } +} + +class AutoPauseOption extends Option +{ + public function new(desc:String) + { + super(); + description = desc; + } + + public override function press(changeData:Bool):Bool + { + if (changeData) { + FlxG.save.data.autoPause = !FlxG.save.data.autoPause; + FlxG.autoPause = !FlxG.autoPause; + } + acceptValues = FlxG.save.data.autoPause; + display = updateDisplay(); + return true; + } + + private override function updateDisplay():String + { + return "Auto Pause "; + } +} + + class LockWeeksOption extends Option { var confirm:Bool = false; diff --git a/source/OptionsMenuState.hx b/source/OptionsMenuState.hx index f4662d1..f708a6e 100644 --- a/source/OptionsMenuState.hx +++ b/source/OptionsMenuState.hx @@ -29,8 +29,10 @@ class OptionsMenuState extends MusicBeatState new NaughtyOption("If unchecked, any explicit content will be censored/removed from the game."), new DownscrollOption("If checked, your note strums appears on the bottom of the screen instead of up."), new MiddlescrollOption("If checked, your note strums appear in the middle of the screen, & your opponents note strums disappear."), + new FlashingOption("If unchecked, flashing effects won't be shown \n [RECOMMENDED FOR PEOPLE WHO ARE PHOTO SENSETIVE]"), new CameraZoomOption("If unchecked, the camera won't zoom on every concurring beat."), new FPSOption("If unchecked, your fps counter & memory counter disappear's."), + new AutoPauseOption("If checked, it will automatically pause the game when it loses focus"), #if !html5 new FramerateOption("Self explanatory. Use your left and right arrow keys to switch between your framerate. [DEFAULT: 120]"), // HTML5 has some Vsync enabled by default so this option is pretty much useless on web builds diff --git a/source/PlayState.hx b/source/PlayState.hx index dacef64..f1735d8 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -93,8 +93,9 @@ class PlayState extends MusicBeatState private var health:Float = 1; private var combo:Int = 0; - private var healthBarBG:FlxSprite; - private var healthBar:FlxBar; + public var healthLerp:Float = 1; + public var healthBarBG:FlxSprite; + public var healthBar:FlxBar; private var generatedMusic:Bool = false; private var startingSong:Bool = false; @@ -189,7 +190,11 @@ class PlayState extends MusicBeatState case 'senpai': dialogue = CoolUtil.coolTextFile(Paths.txt('senpai/senpaiDialogue')); case 'roses': - dialogue = CoolUtil.coolTextFile(Paths.txt('roses/rosesDialogue')); + if (FlxG.save.data.explicitContent) { + dialogue = CoolUtil.coolTextFile(Paths.txt('roses/rosesDialogue')); + } else { + dialogue = CoolUtil.coolTextFile(Paths.txt('roses/rosesDialogueCensored')); + } case 'thorns': dialogue = CoolUtil.coolTextFile(Paths.txt('thorns/thornsDialogue')); } @@ -299,7 +304,7 @@ class PlayState extends MusicBeatState { var light:FlxSprite = new FlxSprite(city.x).loadGraphic(Paths.image('philly/win' + i, 'week3')); light.scrollFactor.set(0.3, 0.3); - light.visible = false; + light.visible = FlxG.save.data.flashingLights; light.setGraphicSize(Std.int(light.width * 0.85)); light.updateHitbox(); light.antialiasing = true; @@ -647,7 +652,7 @@ class PlayState extends MusicBeatState camPos.set(dad.getGraphicMidpoint().x + 300, dad.getGraphicMidpoint().y); case 'tankman': dad.y += 180; - case 'bf-pixel-opponent': + case 'bf-pixel': dad.x -= 80; dad.y += 460; camPos.set(dad.getGraphicMidpoint().x + 300, dad.getGraphicMidpoint().y); @@ -769,16 +774,12 @@ class PlayState extends MusicBeatState FlxG.fixedTimestep = false; healthBarBG = new FlxSprite(0, FlxG.height * 0.9).loadGraphic(Paths.image('healthBar')); - if (FlxG.save.data.downscroll) - { - healthBarBG.y = FlxG.height * 0.1; - } + if (FlxG.save.data.downscroll) healthBarBG.y = FlxG.height * 0.1; healthBarBG.screenCenter(X); healthBarBG.scrollFactor.set(); add(healthBarBG); - healthBar = new FlxBar(healthBarBG.x + 4, healthBarBG.y + 4, RIGHT_TO_LEFT, Std.int(healthBarBG.width - 8), Std.int(healthBarBG.height - 8), this, - 'health', 0, 2); + healthBar = new FlxBar(healthBarBG.x + 4, healthBarBG.y + 4, RIGHT_TO_LEFT, Std.int(healthBarBG.width - 8), Std.int(healthBarBG.height - 8), this, 'healthLerp', 0, 2); healthBar.scrollFactor.set(); healthBar.createFilledBar(0xFFFF0000, 0xFF66FF33); add(healthBar); // <--- health bar @@ -1925,6 +1926,8 @@ class PlayState extends MusicBeatState scoreTxt.text = "Score:" + songScore; + healthLerp = FlxMath.lerp(healthLerp, health, 0.15); + if (FlxG.keys.justPressed.ENTER && startedCountdown && canPause) { persistentUpdate = false; @@ -1954,16 +1957,20 @@ class PlayState extends MusicBeatState #end } - iconP1.setGraphicSize(Std.int(FlxMath.lerp(150, iconP1.width, 0.80))); - iconP2.setGraphicSize(Std.int(FlxMath.lerp(150, iconP2.width, 0.80))); + iconP1.setGraphicSize(Std.int(FlxMath.lerp(145, iconP1.width, 0.85))); + iconP2.setGraphicSize(Std.int(FlxMath.lerp(145, iconP2.width, 0.85))); iconP1.updateHitbox(); iconP2.updateHitbox(); var iconOffset:Int = 26; - iconP1.x = healthBar.x + (healthBar.width * (FlxMath.remapToRange(healthBar.percent, 0, 100, 100, 0) * 0.01) - iconOffset); - iconP2.x = healthBar.x + (healthBar.width * (FlxMath.remapToRange(healthBar.percent, 0, 100, 100, 0) * 0.01)) - (iconP2.width - iconOffset); + iconP1.x = healthBar.x + (healthBar.width * (FlxMath.remapToRange(healthBar.value, 0, 2, 100, 0) * 0.01) - iconOffset); + iconP2.x = healthBar.x + (healthBar.width * (FlxMath.remapToRange(healthBar.value, 0, 2, 100, 0) * 0.01)) - (iconP2.width - iconOffset); + + // keep the icon centered vertically on the health bar + iconP1.y = healthBar.y - (iconP1.height / 2); + iconP2.y = healthBar.y - (iconP2.height / 2); if (health > 2) health = 2; @@ -2225,17 +2232,12 @@ class PlayState extends MusicBeatState } var missNote:Bool = daNote.y < -daNote.height; - if (FlxG.save.data.downscroll) - { - missNote = daNote.y > FlxG.height; - } + if (FlxG.save.data.downscroll) missNote = daNote.y > FlxG.height; - if (missNote && daNote.mustPress) + if (missNote) { - if (daNote.tooLate || !daNote.wasGoodHit) - { + if (daNote.mustPress && (daNote.tooLate || !daNote.wasGoodHit)) { noteMiss(daNote.noteData); - vocals.volume = 0; } } @@ -2260,6 +2262,14 @@ class PlayState extends MusicBeatState #if debug if (FlxG.keys.justPressed.ONE) endSong(); + + // gain 10% of health + if (FlxG.keys.justPressed.TWO) + health += 0.1 * 2.0; + + // lose 5% of health + if (FlxG.keys.justPressed.THREE) + health -= 0.05 * 2.0; #end } @@ -2350,22 +2360,22 @@ class PlayState extends MusicBeatState var endingSong:Bool = false; - private function popUpScore(strumtime:Float, daNote:Note):Void + private function popUpScore(daNote:Note):Void { - var noteDiff:Float = Math.abs(strumtime - Conductor.songPosition); + var noteDiff:Float; if (daNote != null) noteDiff = -(daNote.strumTime - Conductor.songPosition); else - noteDiff = Conductor.safeZoneOffset; + noteDiff = Conductor.safeZoneOffset; // Assumed SHIT if no note was given vocals.volume = 1; var placement:String = Std.string(combo); var coolText:FlxText = new FlxText(0, 0, 0, placement, 32); + coolText.x = FlxG.width * 0.20; coolText.screenCenter(); - coolText.x = FlxG.width * 0.35; var rating:FlxSprite = new FlxSprite(); var score:Int = 350; @@ -2374,12 +2384,9 @@ class PlayState extends MusicBeatState if (noteDiff <= Conductor.safeZoneOffset * 0.23) { daRating = 'sick'; + if (health > 4) health += 0.004; + if (FlxG.save.data.notesplash) createNoteSplash(daNote); score = 350; - - if (FlxG.save.data.notesplash) - { - createNoteSplash(daNote); - } } else if (noteDiff <= Conductor.safeZoneOffset * 0.7) { @@ -2389,11 +2396,13 @@ class PlayState extends MusicBeatState else if (noteDiff <= Conductor.safeZoneOffset * 0.2) { daRating = 'bad'; + combo = 0; score = 100; } else { daRating = 'shit'; + combo = 0; score = 50; } @@ -2412,14 +2421,12 @@ class PlayState extends MusicBeatState } rating.loadGraphic(Paths.image(pixelShitPart1 + daRating + pixelShitPart2, pixelShitPart3)); - rating.screenCenter(); - rating.y -= 25; - rating.scrollFactor.set(0.7); - var scaleX = rating.scale.x; var scaleY = rating.scale.y; - + rating.y -= 25; + rating.scrollFactor.set(0.7); rating.scale.scale(1.2); + rating.screenCenter(); rating.x = coolText.x - 40; rating.acceleration.y = 550; rating.velocity.y -= FlxG.random.int(140, 175); @@ -2427,21 +2434,23 @@ class PlayState extends MusicBeatState add(rating); var comboSpr:FlxSprite = new FlxSprite().loadGraphic(Paths.image(pixelShitPart1 + 'combo' + pixelShitPart2, pixelShitPart3)); - comboSpr.y += 90; - comboSpr.screenCenter(); - comboSpr.scrollFactor.set(0.7); - var scaleX = rating.scale.x; var scaleY = rating.scale.y; - + comboSpr.scrollFactor.set(0.7); comboSpr.scale.scale(1.2); comboSpr.screenCenter(); comboSpr.x = coolText.x + 55; - comboSpr.y += 50; + comboSpr.y += 90; comboSpr.acceleration.y = 550; comboSpr.velocity.y -= 150; comboSpr.velocity.x += FlxG.random.int(1, 10); + if (combo == 0) { + add(comboSpr); + } else { + comboSpr.kill(); + } + if (!curStage.startsWith('school')) { rating.setGraphicSize(Std.int(rating.width * 0.7)); @@ -2464,20 +2473,19 @@ class PlayState extends MusicBeatState seperatedScore.push(Math.floor((combo - (seperatedScore[0] * 100)) / 10)); seperatedScore.push(combo % 10); - var daLoop:Int = 1; + var daLoop:Int = 0; + for (i in seperatedScore) { var numScore:FlxSprite = new FlxSprite().loadGraphic(Paths.image(pixelShitPart1 + 'num' + Std.int(i) + pixelShitPart2, pixelShitPart3)); + var scaleX = numScore.scale.x; + var scaleY = numScore.scale.y; numScore.screenCenter(); numScore.y += 50; numScore.x -= 50; numScore.scrollFactor.set(0.7); - - var scaleX = numScore.scale.x; - var scaleY = numScore.scale.y; - numScore.x = coolText.x + (43 * daLoop) - 90; - numScore.y += 80; + numScore.y += 50; if (!curStage.startsWith('school')) { @@ -2494,10 +2502,8 @@ class PlayState extends MusicBeatState numScore.velocity.y -= FlxG.random.int(140, 160); numScore.velocity.x = FlxG.random.float(-5, 5); - if (combo >= 10 || combo == 0) { - // add(comboSpr); + if (combo >= 10 || combo == 0) add(numScore); - } FlxTween.tween(numScore, {alpha: 0}, 0.2, { onComplete: function(tween:FlxTween) @@ -2724,60 +2730,22 @@ class PlayState extends MusicBeatState { if (!boyfriend.stunned) { - health -= 0.05; - if (combo > 10 && gf.animOffsets.exists('sad')) + if (combo != 0) { - gf.playAnim('sad'); + combo = 0; + popUpScore(null); } - var pixelShitPart1:String = ""; // pixel prefixes - var pixelShitPart2:String = ''; - var pixelShitPart3:String = null; - var comboBreak:FlxSprite = new FlxSprite(); - - if (curStage.startsWith('school')) { - pixelShitPart1 = 'weeb/pixelUI/'; - pixelShitPart2 = '-pixel'; - pixelShitPart3 = 'week6'; - } - - if (!practiceMode) - songScore -= 10; - - comboBreak.loadGraphic(Paths.image(pixelShitPart1 + 'comboBreak' + pixelShitPart2, pixelShitPart3)); - comboBreak.screenCenter(); - comboBreak.y -= 25; - comboBreak.screenCenter(); - comboBreak.scrollFactor.set(0.7); - - var scaleX = comboBreak.scale.x; - var scaleY = comboBreak.scale.y; - - comboBreak.scale.scale(1.2); - comboBreak.x -= 40; - comboBreak.y -= 60; - comboBreak.acceleration.y = 550; - comboBreak.velocity.y -= FlxG.random.int(140, 175); - comboBreak.velocity.x += FlxG.random.int(0, 10); - - if (!curStage.startsWith('school')) { - comboBreak.setGraphicSize(Std.int(comboBreak.width * 0.7)); - comboBreak.antialiasing = true; - } else { - comboBreak.setGraphicSize(Std.int(comboBreak.width * daPixelZoom * 0.02)); + if (combo > 10 && gf.animOffsets.exists('sad')) + { + gf.playAnim('sad'); } - if (combo > 10) - add(comboBreak); - - FlxTween.tween(comboBreak, {alpha: 0.001}, 0.1, { - startDelay: Conductor.crochet * 0.001 - }); - if (!practiceMode) songScore -= 10; combo = 0; + health -= 0.05; songScore -= 10; FlxG.sound.play(Paths.soundRandom('missnote', 1, 3), FlxG.random.float(0.1, 0.2)); @@ -2810,8 +2778,9 @@ class PlayState extends MusicBeatState { if (!note.isSustainNote) { - popUpScore(note.strumTime, note); combo += 1; + popUpScore(note); + if(combo > 9999) combo = 9999; } if (note.noteData >= 0) @@ -2975,7 +2944,9 @@ class PlayState extends MusicBeatState function lightningStrikeShit():Void { FlxG.sound.play(Paths.soundRandom('thunder_', 1, 2)); - halloweenBG.animation.play('lightning'); + + if (FlxG.save.data.FlashingLights) + halloweenBG.animation.play('lightning'); lightningStrikeBeat = curBeat; lightningOffset = FlxG.random.int(8, 24); @@ -3020,6 +2991,7 @@ class PlayState extends MusicBeatState if (SONG.notes[Math.floor(curStep / 16)].mustHitSection) dad.dance(); } + wiggleShit.update(Conductor.crochet); if (FlxG.save.data.camhudZoom) diff --git a/source/TitleState.hx b/source/TitleState.hx index ee077be..1bbf781 100644 --- a/source/TitleState.hx +++ b/source/TitleState.hx @@ -49,19 +49,16 @@ class TitleState extends MusicBeatState var curWacky:Array = []; var wackyImage:FlxSprite; - - var swagShader:ColorSwap; - #if web - var video:Video; - var netStream:NetStream; - var overlay:Sprite; - #end + public static var closedState:Bool = false; override public function create():Void { Paths.clearStoredMemory(); + FlxG.fixedTimestep = false; + FlxG.game.focusLostFramerate = 60; + swagShader = new ColorSwap(); FlxG.sound.muteKeys = [ZERO]; @@ -76,16 +73,17 @@ class TitleState extends MusicBeatState Option.setupSaveData(); Highscore.load(); - if (FlxG.save.data.seenVideo != null) { - VideoState.seenVideo = FlxG.save.data.seenVideo; - } - if (FlxG.save.data.weekUnlocked != null) { StoryMenuState.weekUnlocked = StoryMenuState.unlockWeeks(); FlxG.save.flush(); } + if (FlxG.keys.justPressed.F) + FlxG.fullscreen = !FlxG.fullscreen; + + FlxG.mouse.visible = false; + #if FREEPLAY FlxG.switchState(new FreeplayState()); #elseif CHARTING @@ -104,64 +102,44 @@ class TitleState extends MusicBeatState DiscordClient.shutdown(); }); #end - - #if desktop - if(FlxG.save.data.framerateDraw != null) - { - FlxG.updateFramerate = FlxG.save.data.framerateDraw; - FlxG.drawFramerate = FlxG.save.data.framerateDraw; - } - #end } var logoBl:FlxSprite; var gfDance:FlxSprite; var danceLeft:Bool = false; var titleText:FlxSprite; + var swagShader:ColorSwap = null; function startIntro() { - if (!initialized) - { - var diamond:FlxGraphic = FlxGraphic.fromClass(GraphicTransTileDiamond); - diamond.persist = true; - diamond.destroyOnNoUse = false; - - FlxTransitionableState.defaultTransIn = new TransitionData(FADE, FlxColor.BLACK, 1, new FlxPoint(0, -1), {asset: diamond, width: 32, height: 32}, - new FlxRect(-200, -200, FlxG.width * 1.4, FlxG.height * 1.4)); - FlxTransitionableState.defaultTransOut = new TransitionData(FADE, FlxColor.BLACK, 0.7, new FlxPoint(0, 1), - {asset: diamond, width: 32, height: 32}, new FlxRect(-200, -200, FlxG.width * 1.4, FlxG.height * 1.4)); - - transIn = FlxTransitionableState.defaultTransIn; - transOut = FlxTransitionableState.defaultTransOut; - - FlxG.sound.playMusic(Paths.music('freakyMenu'), 0); - FlxG.sound.music.fadeIn(4, 0, 0.7); - } - - Conductor.changeBPM(102); persistentUpdate = true; var bg:FlxSprite = new FlxSprite().makeGraphic(FlxG.width, FlxG.height, FlxColor.BLACK); + bg.antialiasing = FlxG.save.data.antialiasing; add(bg); logoBl = new FlxSprite(-150, -100); logoBl.frames = Paths.getSparrowAtlas('logoBumpin'); - logoBl.antialiasing = true; + logoBl.antialiasing = FlxG.save.data.antialiasing; logoBl.animation.addByPrefix('bump', 'logo bumpin', 24); logoBl.animation.play('bump'); logoBl.updateHitbox(); - logoBl.shader = swagShader.shader; + if(FlxG.save.data.shaders) swagShader = new ColorSwap(); gfDance = new FlxSprite(FlxG.width * 0.4, FlxG.height * 0.07); gfDance.frames = Paths.getSparrowAtlas('gfDanceTitle'); gfDance.animation.addByIndices('danceLeft', 'gfDance', [30, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "", 24, false); gfDance.animation.addByIndices('danceRight', 'gfDance', [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "", 24, false); - gfDance.antialiasing = true; + gfDance.antialiasing = FlxG.save.data.antialiasing; add(gfDance); - gfDance.shader = swagShader.shader; add(logoBl); + if(swagShader != null) + { + gfDance.shader = swagShader.shader; + logoBl.shader = swagShader.shader; + } + titleText = new FlxSprite(100, FlxG.height * 0.8); titleText.frames = Paths.getSparrowAtlas('titleEnter'); titleText.animation.addByPrefix('idle', "Press Enter to Begin", 24); @@ -172,20 +150,19 @@ class TitleState extends MusicBeatState add(titleText); var logo:FlxSprite = new FlxSprite().loadGraphic(Paths.image('logo')); - logo.screenCenter(); logo.antialiasing = true; + logo.screenCenter(); credGroup = new FlxGroup(); add(credGroup); textGroup = new FlxGroup(); - + blackScreen = new FlxSprite().makeGraphic(FlxG.width, FlxG.height, FlxColor.BLACK); credGroup.add(blackScreen); - - credTextShit = new Alphabet(0, 0, "ninjamuffin99\nPhantomArcade\nkawaisprite\nevilsk8er", false); + + credTextShit = new Alphabet(0, 0, "", true); credTextShit.screenCenter(); - credTextShit.visible = true; - + ngSpr = new FlxSprite(0, FlxG.height * 0.55).loadGraphic(Paths.image('newgrounds_logo')); ngSpr.visible = false; ngSpr.setGraphicSize(Std.int(ngSpr.width * 0.8)); @@ -193,15 +170,36 @@ class TitleState extends MusicBeatState ngSpr.screenCenter(X); ngSpr.antialiasing = true; add(ngSpr); - - FlxTween.tween(credTextShit, {y: credTextShit.y + 20}, 2.9, {ease: FlxEase.quadInOut, type: PINGPONG}); - - FlxG.mouse.visible = false; + ngSpr.visible = false; if (initialized) skipIntro(); else + { + credTextShit.visible = false; + FlxTween.tween(credTextShit, {y: credTextShit.y + 20}, 2.9, {ease: FlxEase.quadInOut, type: PINGPONG}); + + var diamond:FlxGraphic = FlxGraphic.fromClass(GraphicTransTileDiamond); + diamond.persist = true; + diamond.destroyOnNoUse = false; + + FlxTransitionableState.defaultTransIn = new TransitionData(FADE, FlxColor.BLACK, 1, new FlxPoint(0, -1), {asset: diamond, width: 32, height: 32}, + new FlxRect(-200, -200, FlxG.width * 1.4, FlxG.height * 1.4)); + FlxTransitionableState.defaultTransOut = new TransitionData(FADE, FlxColor.BLACK, 0.7, new FlxPoint(0, 1), + {asset: diamond, width: 32, height: 32}, new FlxRect(-200, -200, FlxG.width * 1.4, FlxG.height * 1.4)); + + transIn = FlxTransitionableState.defaultTransIn; + transOut = FlxTransitionableState.defaultTransOut; + + if (FlxG.sound.music == null || !FlxG.sound.music.playing) + { + FlxG.sound.playMusic(Paths.music('freakyMenu'), 0); + FlxG.sound.music.fadeIn(4, 0, 0.7); + } + + Conductor.changeBPM(102); initialized = true; + } Paths.clearUnusedMemory(); } @@ -230,9 +228,7 @@ class TitleState extends MusicBeatState Conductor.songPosition = FlxG.sound.music.time; if (FlxG.keys.justPressed.F) - { FlxG.fullscreen = !FlxG.fullscreen; - } var pressedEnter:Bool = FlxG.keys.justPressed.ENTER; @@ -261,13 +257,10 @@ class TitleState extends MusicBeatState if (pressedEnter && !transitioning && skippedIntro) { - #if !switch - NGio.unlockMedal(60960); - - // If it's Friday according to da clock - if (Date.now().getDay() == 5) - NGio.unlockMedal(61034); - #end + if (FlxG.sound.music != null) + { + FlxG.sound.music.onComplete = null; + } titleText.animation.play('press'); @@ -275,24 +268,11 @@ class TitleState extends MusicBeatState FlxG.sound.play(Paths.sound('confirmMenu'), 0.7); transitioning = true; - // FlxG.sound.music.stop(); - new FlxTimer().start(0.5, function(tmr:FlxTimer) + new FlxTimer().start(0.3, function(tmr:FlxTimer) { - // Check if version is outdated - - var version:String = "v" + Application.current.meta.get('version'); - - if (version.trim() != NGio.GAME_VER_NUMS.trim() && !OutdatedSubState.leftState) - { - FlxG.switchState(new MainMenuState()); - trace(version.trim()); - trace('current version ^^'); - } - else - { - FlxG.switchState(new MainMenuState()); - } + FlxG.switchState(new MainMenuState()); + closedState = true; }); } @@ -310,23 +290,23 @@ class TitleState extends MusicBeatState super.update(elapsed); } - function createCoolText(textArray:Array) + function createCoolText(textArray:Array, ?offset:Float = 0) { for (i in 0...textArray.length) { var money:Alphabet = new Alphabet(0, 0, textArray[i], true, false); money.screenCenter(X); - money.y += (i * 60) + 200; + money.y += (i * 60) + 200 + offset; credGroup.add(money); textGroup.add(money); } } - function addMoreText(text:String) + function addMoreText(text:String, ?offset:Float = 0) { var coolText:Alphabet = new Alphabet(0, 0, text, true, false); coolText.screenCenter(X); - coolText.y += (textGroup.length * 60) + 200; + coolText.y += (textGroup.length * 60) + 200 + offset; credGroup.add(coolText); textGroup.add(coolText); } @@ -344,60 +324,48 @@ class TitleState extends MusicBeatState { super.beatHit(); - logoBl.animation.play('bump'); + if(logoBl != null && logoBl.animation != null) + logoBl.animation.play('bump', true); + danceLeft = !danceLeft; - if (danceLeft) - gfDance.animation.play('danceRight'); - else - gfDance.animation.play('danceLeft'); + if(gfDance != null && gfDance.animation != null) + { + + if (danceLeft) + gfDance.animation.play('danceRight'); + else + gfDance.animation.play('danceLeft'); + } switch (curBeat) { case 2: createCoolText(['ninjamuffin99', 'phantomArcade', 'kawaisprite', 'evilsk8er']); - // credTextShit.visible = false; case 3: addMoreText('present'); - // credTextShit.text += '\npresent...'; - // credTextShit.addText(); case 4: deleteCoolText(); - // credTextShit.visible = false; - // credTextShit.text = 'In association \nwith'; - // credTextShit.screenCenter(); case 5: createCoolText(['In association', 'with']); case 7: addMoreText('newgrounds'); - ngSpr.visible = true; - // credTextShit.text += '\nNewgrounds'; + if (ngSpr != null) ngSpr.visible = true; case 8: deleteCoolText(); - ngSpr.visible = false; - // credTextShit.visible = false; - // credTextShit.text = 'Shoutouts Tom Fulp'; - // credTextShit.screenCenter(); + if (ngSpr != null) ngSpr.visible = false; case 9: createCoolText([curWacky[0]]); - // credTextShit.visible = true; case 11: addMoreText(curWacky[1]); - // credTextShit.text += '\nlmao'; case 12: deleteCoolText(); - // credTextShit.visible = false; - // credTextShit.text = "Friday"; - // credTextShit.screenCenter(); case 13: addMoreText('Friday'); - // credTextShit.visible = true; case 14: addMoreText('Night'); - // credTextShit.text += '\nNight'; case 15: addMoreText('Funkin'); - // credTextShit.text += '\nFunkin'; case 16: skipIntro(); } @@ -411,7 +379,7 @@ class TitleState extends MusicBeatState { remove(ngSpr); remove(credGroup); - FlxG.camera.flash(FlxColor.WHITE, 4); + FlxG.camera.flash(FlxColor.WHITE, initialized ? 1 : 4); skippedIntro = true; } }