more week 7 stuff

This commit is contained in:
Yoshman29
2022-11-06 18:26:58 +01:00
parent 8b349e5ceb
commit 59c97c77a5
24 changed files with 384 additions and 72 deletions
+1
View File
@@ -10,4 +10,5 @@
<anim name="singRIGHTmiss" anim="BF NOTE RIGHT MISS" fps="24" loop="false" x="-30" y="21"/>
<anim name="singDOWNmiss" anim="BF NOTE DOWN MISS" fps="24" loop="false" x="-11" y="-19"/>
<anim name="hey" anim="BF HEY" fps="24" loop="false" x="7" y="4"/>
<anim name="scared" anim="BF idle shaking" fps="24" loop="true" x="-4" y="0"/>
</character>
+19
View File
@@ -0,0 +1,19 @@
var dir = 2;
function onDance(event) {
event.cancel();
playAnim("idle" + Std.string(dir), true, "DANCE");
}
function onPlaySingAnim(event) {
dir = FlxG.random.int(0, 1) + (event.direction == 0 ? 1 : 3);
event.cancel();
playAnim("shoot" + Std.string(dir), true);
}
function update(elapsed) {
if (animation.curAnim == null || (animation.curAnim.name.substr(0, 5) == "shoot" && animation.curAnim.finished))
dance();
}
+16
View File
@@ -0,0 +1,16 @@
<!DOCTYPE codename-engine-character>
<character isPlayer="false" flipX="false" icon="pico" x="140" y="-125">
<!-- Left Animations -->
<anim name="shoot1" anim="Pico shoot 1" fps="24" loop="false" indices="0,1,2,3" />
<anim name="idle1" anim="Pico shoot 1" fps="24" loop="false" indices="4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24" />
<anim name="shoot2" anim="Pico shoot 2" fps="24" loop="false" indices="0,1,2,3" x="-1" y="-128" />
<anim name="idle2" anim="Pico shoot 2" fps="24" loop="false" indices="4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24" x="-1" y="-128" />
<!-- Right Animations-->
<anim name="shoot3" anim="Pico shoot 3" fps="24" loop="false" indices="0,1,2,3" x="412" y="-64" />
<anim name="idle3" anim="Pico shoot 3" fps="24" loop="false" indices="4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24" x="412" y="-64" />
<anim name="shoot4" anim="Pico shoot 4" fps="24" loop="false" indices="0,1,2,3" x="439" y="-19" />
<anim name="idle4" anim="Pico shoot 4" fps="24" loop="false" indices="4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24" x="439" y="-19" />
</character>
-8
View File
@@ -1,5 +1,3 @@
import funkin.ui.Alphabet;
function beatHit(curBeat:Int) {
switch(curBeat) {
case 168:
@@ -7,10 +5,4 @@ function beatHit(curBeat:Int) {
case 200:
camZoomingInterval = 4;
}
}
function createPost() {
trace("OH FUCK");
var alpha = new Alphabet(0, 0, "azertyuiopmlkjhgfdsqwxcvbnAZERTYUIOPMLKJHGFDSQWXCVBN");
add(alpha);
}
+19
View File
@@ -0,0 +1,19 @@
import openfl.utils.Assets;
function onNoteCreation(event) {
if (event.noteType != null || event.note.noteTypeID > 0) {
event.note.visible = false;
event.note.mustPress = false;
}
}
function onDadHit(event) {
if (event.noteType == "Pico Speaker Note") {
event.character = gf;
event.cancelStrumGlow();
}
}
function createPost() {
generateNotes(CoolUtil.parseJson(Paths.chart('stress', 'picospeaker')).song);
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+5
View File
@@ -8,6 +8,11 @@ function update(elapsed:Float) {
resetFastCar();
fastCarCanDrive = true;
}
// back limo drive
for(e in [bgLimo, dancer1, dancer2, dancer3, dancer4, dancer5]) {
e.rotOffset.x = Math.sin(curBeatFloat / 4) * Math.cos(curBeatFloat / 16) * 85;
}
}
function beatHit(curBeat:Int) {
if (FlxG.random.bool(10) && fastCarCanDrive)
+22
View File
@@ -0,0 +1,22 @@
public var lightningStrike:Bool = true;
public var lightningStrikeBeat:Int = 0;
public var lightningOffset:Int = 8;
public function lightningStrikeShit():Void
{
FlxG.sound.play(Paths.soundRandom('thunder_', 1, 2));
bg.animation.play('lightning');
lightningStrikeBeat = curBeat;
lightningOffset = FlxG.random.int(8, 24);
boyfriend.playAnim('scared', true, "SING"); // SING so that they dont get indefinitely looped
gf.playAnim('scared', true, "SING");
}
function beatHit(curBeat) {
if (lightningStrike && FlxG.random.bool(10) && curBeat > lightningStrikeBeat + lightningOffset)
{
lightningStrikeShit();
}
}
+2 -2
View File
@@ -1,7 +1,7 @@
<!DOCTYPE codename-engine-stage>
<stage zoom="1.05" name="spooky" folder="stages/spooky/">
<sprite name="bg" x="-200" y="-100" sprite="halloween_bg">
<anim name="idle" anim="halloweem bg0" />
<sprite name="bg" x="-200" y="-100" sprite="halloween_bg" anim="idle" beatAnim="none">
<anim name="idle" anim="halloweem bg0"/>
<anim name="lightning" anim="halloweem bg lightning strike" loop="false"/>
</sprite>
</stage>
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 MiB

+197
View File
@@ -0,0 +1,197 @@
<?xml version="1.0" encoding="utf-8"?>
<TextureAtlas imagePath="picoSpeaker.png">
<!-- Created with Adobe Animate version 21.0.0.35450 -->
<!-- http://www.adobe.com/products/animate.html -->
<SubTexture name="Pico shoot 10000" x="6865" y="667" width="899" height="711" frameX="-2" frameY="-80" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10001" x="2326" y="667" width="901" height="711" frameX="0" frameY="-80" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10002" x="3604" y="0" width="1066" height="791" frameX="-2" frameY="0" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10003" x="0" y="0" width="1176" height="791" frameX="-2" frameY="0" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10004" x="704" y="2074" width="700" height="719" frameX="-2" frameY="-72" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10005" x="4803" y="1439" width="743" height="711" frameX="-2" frameY="-80" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10006" x="3231" y="795" width="752" height="752" frameX="-2" frameY="-39" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10007" x="704" y="2074" width="700" height="719" frameX="-2" frameY="-72" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10008" x="4803" y="1439" width="743" height="711" frameX="-2" frameY="-80" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10009" x="3231" y="795" width="752" height="752" frameX="-2" frameY="-39" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10010" x="704" y="2074" width="700" height="719" frameX="-2" frameY="-72" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10011" x="4803" y="1439" width="743" height="711" frameX="-2" frameY="-80" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10012" x="3231" y="795" width="752" height="752" frameX="-2" frameY="-39" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10013" x="704" y="2074" width="700" height="719" frameX="-2" frameY="-72" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10014" x="4803" y="1439" width="743" height="711" frameX="-2" frameY="-80" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10015" x="3231" y="795" width="752" height="752" frameX="-2" frameY="-39" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10016" x="704" y="2074" width="700" height="719" frameX="-2" frameY="-72" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10017" x="4803" y="1439" width="743" height="711" frameX="-2" frameY="-80" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10018" x="3231" y="795" width="752" height="752" frameX="-2" frameY="-39" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10019" x="704" y="2074" width="700" height="719" frameX="-2" frameY="-72" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10020" x="4803" y="1439" width="743" height="711" frameX="-2" frameY="-80" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10021" x="3231" y="795" width="752" height="752" frameX="-2" frameY="-39" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10022" x="704" y="2074" width="700" height="719" frameX="-2" frameY="-72" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10023" x="4803" y="1439" width="743" height="711" frameX="-2" frameY="-80" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10024" x="3231" y="795" width="752" height="752" frameX="-2" frameY="-39" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 10025" x="704" y="2074" width="700" height="719" frameX="-2" frameY="-72" frameWidth="1178" frameHeight="791"/>
<SubTexture name="Pico shoot 20000" x="0" y="795" width="868" height="653" frameX="0" frameY="-10" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20001" x="2075" y="1382" width="866" height="653" frameX="-2" frameY="-10" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20002" x="6865" y="0" width="1154" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20003" x="2326" y="0" width="1274" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20004" x="6319" y="2128" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20005" x="7023" y="2133" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20006" x="5550" y="2134" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20007" x="6319" y="2128" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20008" x="7023" y="2133" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20009" x="5550" y="2134" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20010" x="6319" y="2128" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20011" x="7023" y="2133" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20012" x="5550" y="2134" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20013" x="6319" y="2128" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20014" x="7023" y="2133" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20015" x="5550" y="2134" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20016" x="6319" y="2128" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20017" x="7023" y="2133" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20018" x="5550" y="2134" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20019" x="6319" y="2128" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20020" x="7023" y="2133" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20021" x="5550" y="2134" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20022" x="6319" y="2128" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20023" x="4385" y="2154" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20024" x="3677" y="2104" width="704" height="663" frameX="0" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20025" x="0" y="2203" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20026" x="7023" y="2133" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20027" x="5550" y="2134" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20028" x="6319" y="2128" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20029" x="7023" y="2133" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20030" x="5550" y="2134" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20031" x="6319" y="2128" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20032" x="7023" y="2133" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20033" x="5550" y="2134" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20034" x="6319" y="2128" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20035" x="7023" y="2133" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20036" x="5550" y="2134" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20037" x="6319" y="2128" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20038" x="7023" y="2133" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20039" x="5550" y="2134" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20040" x="6319" y="2128" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20041" x="7023" y="2133" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20042" x="5550" y="2134" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20043" x="6319" y="2128" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20044" x="7023" y="2133" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20045" x="5550" y="2134" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20046" x="6319" y="2128" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20047" x="4385" y="2154" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20048" x="3677" y="2104" width="704" height="663" frameX="0" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20049" x="0" y="2203" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20050" x="7023" y="2133" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20051" x="5550" y="2134" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20052" x="6319" y="2128" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20053" x="7023" y="2133" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20054" x="5550" y="2134" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20055" x="6319" y="2128" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20056" x="7023" y="2133" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20057" x="5550" y="2134" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20058" x="6319" y="2128" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 20059" x="7023" y="2133" width="700" height="663" frameX="-2" frameY="0" frameWidth="1276" frameHeight="663"/>
<SubTexture name="Pico shoot 30000" x="872" y="1409" width="814" height="661" frameX="-303" frameY="-66" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30001" x="3987" y="1439" width="812" height="661" frameX="-303" frameY="-66" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30002" x="5746" y="731" width="952" height="653" frameX="-163" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30003" x="5746" y="0" width="1115" height="727" frameX="0" frameY="0" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30004" x="1408" y="2754" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30005" x="3130" y="2771" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30006" x="6254" y="2795" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30007" x="1408" y="2754" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30008" x="3130" y="2771" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30009" x="6254" y="2795" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30010" x="1408" y="2754" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30011" x="3130" y="2771" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30012" x="6254" y="2795" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30013" x="1408" y="2754" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30014" x="3130" y="2771" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30015" x="6254" y="2795" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30016" x="1408" y="2754" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30017" x="3130" y="2771" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30018" x="6254" y="2795" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30019" x="1408" y="2754" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30020" x="3130" y="2771" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30021" x="6254" y="2795" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30022" x="1408" y="2754" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30023" x="704" y="2797" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30024" x="2422" y="2266" width="704" height="653" frameX="-413" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30025" x="6958" y="2800" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30026" x="3130" y="2771" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30027" x="6254" y="2795" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30028" x="1408" y="2754" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30029" x="3130" y="2771" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30030" x="6254" y="2795" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30031" x="1408" y="2754" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30032" x="3130" y="2771" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30033" x="6254" y="2795" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30034" x="1408" y="2754" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30035" x="3130" y="2771" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30036" x="6254" y="2795" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30037" x="1408" y="2754" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30038" x="3130" y="2771" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30039" x="6254" y="2795" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30040" x="1408" y="2754" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30041" x="3130" y="2771" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30042" x="6254" y="2795" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30043" x="1408" y="2754" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30044" x="3130" y="2771" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30045" x="6254" y="2795" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30046" x="1408" y="2754" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30047" x="704" y="2797" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30048" x="2422" y="2266" width="704" height="653" frameX="-413" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30049" x="6958" y="2800" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30050" x="3130" y="2771" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30051" x="6254" y="2795" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 30052" x="1408" y="2754" width="700" height="653" frameX="-415" frameY="-74" frameWidth="1117" frameHeight="727"/>
<SubTexture name="Pico shoot 40000" x="1180" y="746" width="891" height="659" frameX="-253" frameY="-113" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40001" x="4674" y="776" width="889" height="659" frameX="-253" frameY="-113" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40002" x="4674" y="0" width="1068" height="772" frameX="-74" frameY="0" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40003" x="1180" y="0" width="1142" height="742" frameX="0" frameY="-30" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40004" x="7456" y="1382" width="700" height="747" frameX="-442" frameY="-25" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40005" x="2945" y="1551" width="728" height="711" frameX="-414" frameY="-61" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40006" x="5567" y="1388" width="748" height="742" frameX="-394" frameY="-30" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40007" x="7456" y="1382" width="700" height="747" frameX="-442" frameY="-25" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40008" x="2945" y="1551" width="728" height="711" frameX="-414" frameY="-61" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40009" x="5567" y="1388" width="748" height="742" frameX="-394" frameY="-30" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40010" x="7456" y="1382" width="700" height="747" frameX="-442" frameY="-25" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40011" x="2945" y="1551" width="728" height="711" frameX="-414" frameY="-61" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40012" x="5567" y="1388" width="748" height="742" frameX="-394" frameY="-30" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40013" x="7456" y="1382" width="700" height="747" frameX="-442" frameY="-25" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40014" x="2945" y="1551" width="728" height="711" frameX="-414" frameY="-61" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40015" x="5567" y="1388" width="748" height="742" frameX="-394" frameY="-30" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40016" x="7456" y="1382" width="700" height="747" frameX="-442" frameY="-25" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40017" x="2945" y="1551" width="728" height="711" frameX="-414" frameY="-61" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40018" x="5567" y="1388" width="748" height="742" frameX="-394" frameY="-30" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40019" x="7456" y="1382" width="700" height="747" frameX="-442" frameY="-25" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40020" x="2945" y="1551" width="728" height="711" frameX="-414" frameY="-61" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40021" x="5567" y="1388" width="748" height="742" frameX="-394" frameY="-30" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40022" x="7456" y="1382" width="700" height="747" frameX="-442" frameY="-25" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40023" x="1690" y="2039" width="728" height="711" frameX="-414" frameY="-61" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40024" x="6702" y="1382" width="750" height="742" frameX="-394" frameY="-30" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40025" x="0" y="1452" width="700" height="747" frameX="-442" frameY="-25" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40026" x="2945" y="1551" width="728" height="711" frameX="-414" frameY="-61" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40027" x="5567" y="1388" width="748" height="742" frameX="-394" frameY="-30" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40028" x="7456" y="1382" width="700" height="747" frameX="-442" frameY="-25" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40029" x="2945" y="1551" width="728" height="711" frameX="-414" frameY="-61" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40030" x="5567" y="1388" width="748" height="742" frameX="-394" frameY="-30" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40031" x="7456" y="1382" width="700" height="747" frameX="-442" frameY="-25" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40032" x="2945" y="1551" width="728" height="711" frameX="-414" frameY="-61" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40033" x="5567" y="1388" width="748" height="742" frameX="-394" frameY="-30" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40034" x="7456" y="1382" width="700" height="747" frameX="-442" frameY="-25" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40035" x="2945" y="1551" width="728" height="711" frameX="-414" frameY="-61" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40036" x="5567" y="1388" width="748" height="742" frameX="-394" frameY="-30" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40037" x="7456" y="1382" width="700" height="747" frameX="-442" frameY="-25" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40038" x="2945" y="1551" width="728" height="711" frameX="-414" frameY="-61" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40039" x="5567" y="1388" width="748" height="742" frameX="-394" frameY="-30" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40040" x="7456" y="1382" width="700" height="747" frameX="-442" frameY="-25" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40041" x="2945" y="1551" width="728" height="711" frameX="-414" frameY="-61" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40042" x="5567" y="1388" width="748" height="742" frameX="-394" frameY="-30" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40043" x="7456" y="1382" width="700" height="747" frameX="-442" frameY="-25" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40044" x="2945" y="1551" width="728" height="711" frameX="-414" frameY="-61" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40045" x="5567" y="1388" width="748" height="742" frameX="-394" frameY="-30" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40046" x="7456" y="1382" width="700" height="747" frameX="-442" frameY="-25" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40047" x="1690" y="2039" width="728" height="711" frameX="-414" frameY="-61" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40048" x="6702" y="1382" width="750" height="742" frameX="-394" frameY="-30" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40049" x="0" y="1452" width="700" height="747" frameX="-442" frameY="-25" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40050" x="2945" y="1551" width="728" height="711" frameX="-414" frameY="-61" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40051" x="5567" y="1388" width="748" height="742" frameX="-394" frameY="-30" frameWidth="1144" frameHeight="772"/>
<SubTexture name="Pico shoot 40052" x="7456" y="1382" width="700" height="747" frameX="-442" frameY="-25" frameWidth="1144" frameHeight="772"/>
</TextureAtlas>
+1 -1
View File
@@ -1 +1 @@
1199
1209
+1
View File
@@ -125,6 +125,7 @@ class ChartingState extends MusicBeatState
_song = {
song: 'Test',
notes: [],
noteTypes: [],
bpm: 150,
needsVoices: true,
player1: 'bf',
+20 -23
View File
@@ -70,7 +70,7 @@ class Character extends FlxSprite implements IBeatReceiver implements IOffsetCom
var event = new DirectionAnimEvent('${anims[direction]}$suffix', direction, suffix, Reversed, Frame);
script.call("onPlaySingAnim", [event]);
if (!event.cancelled) playAnim(event.animName, event.force, event.reversed, event.frame, SING);
if (!event.cancelled) playAnim(event.animName, event.force, SING, event.reversed, event.frame);
}
public function new(x:Float, y:Float, ?character:String = "bf", ?isPlayer:Bool = false)
@@ -334,9 +334,9 @@ class Character extends FlxSprite implements IBeatReceiver implements IOffsetCom
// hardcode custom dance animations here
default:
if (isDanceLeftDanceRight) {
playAnim((danced = !danced) ? 'danceLeft' : 'danceRight');
playAnim((danced = !danced) ? 'danceLeft' : 'danceRight', DANCE);
} else
playAnim('idle');
playAnim('idle', DANCE);
}
}
}
@@ -348,9 +348,20 @@ class Character extends FlxSprite implements IBeatReceiver implements IOffsetCom
public function beatHit(curBeat:Int) {
script.call("beatHit", [curBeat]);
if (danceOnBeat && (lastHit + (Conductor.stepCrochet * holdTime) < Conductor.songPosition) || animation.curAnim == null || (!animation.curAnim.name.startsWith("sing") && animation.curAnim.finished))
dance();
if (danceOnBeat) {
switch(lastAnimContext) {
case SING | MISS:
if (lastHit + (Conductor.stepCrochet * holdTime) < Conductor.songPosition)
dance();
case DANCE:
dance();
default:
if (animation.curAnim == null || animation.curAnim.finished)
dance();
}
}
}
public function stepHit(curStep:Int) {
script.call("stepHit", [curStep]);
// nothing
@@ -382,7 +393,8 @@ class Character extends FlxSprite implements IBeatReceiver implements IOffsetCom
super.draw();
}
public function playAnim(AnimName:String, Force:Bool = false, Reversed:Bool = false, Frame:Int = 0, Context:PlayAnimContext = NONE):Void
public var lastAnimContext:PlayAnimContext = DANCE;
public function playAnim(AnimName:String, Force:Bool = false, Context:PlayAnimContext = NONE, Reversed:Bool = false, Frame:Int = 0):Void
{
var event = new PlayAnimEvent(AnimName, Force, Reversed, Frame, Context);
@@ -400,25 +412,10 @@ class Character extends FlxSprite implements IBeatReceiver implements IOffsetCom
offset.set(globalOffset.x * (isPlayer != playerOffsets ? 1 : -1), -globalOffset.y);
if (event.context != DANCE)
if (event.context == SING || event.context == MISS)
lastHit = Conductor.songPosition;
if (curCharacter == 'gf')
{
if (event.animName == 'singLEFT')
{
danced = true;
}
else if (event.animName == 'singRIGHT')
{
danced = false;
}
if (event.animName == 'singUP' || event.animName == 'singDOWN')
{
danced = !danced;
}
}
lastAnimContext = event.context;
}
public override function destroy() {
+12 -3
View File
@@ -25,7 +25,10 @@ class NoteGroup extends FlxTypedGroup<Note> {
__loopSprite = null;
while(i < length) {
__loopSprite = members[i];
if (__loopSprite == null || !__loopSprite.exists || !__loopSprite.active) continue;
if (__loopSprite == null || !__loopSprite.exists || !__loopSprite.active) {
i++;
continue;
}
if (__loopSprite.strumTime - Conductor.songPosition > 1500)
break;
__loopSprite.update(elapsed);
@@ -44,7 +47,10 @@ class NoteGroup extends FlxTypedGroup<Note> {
__currentlyLooping = true;
while(i < length) {
__loopSprite = members[i];
if (__loopSprite == null || !__loopSprite.exists || !__loopSprite.visible) continue;
if (__loopSprite == null || !__loopSprite.exists || !__loopSprite.visible) {
i++;
continue;
}
if (__loopSprite.strumTime - Conductor.songPosition > 1500) break;
__loopSprite.draw();
i++;
@@ -63,7 +69,10 @@ class NoteGroup extends FlxTypedGroup<Note> {
while(i < length) {
__loopSprite = members[i];
if (__loopSprite == null || !__loopSprite.exists) continue;
if (__loopSprite == null || !__loopSprite.exists) {
i++;
continue;
}
if (__loopSprite.strumTime - Conductor.songPosition > 1500) break;
noteFunc(__loopSprite);
i++;
+40 -25
View File
@@ -267,7 +267,7 @@ class PlayState extends MusicBeatState
cpuStrums = new FlxTypedGroup<Strum>();
add(strumLineNotes);
generateSong(SONG.song);
generateSong(SONG);
if (prevCamFollow != null)
{
@@ -451,22 +451,9 @@ class PlayState extends MusicBeatState
public var debugNum:Int = 0;
private function generateSong(dataPath:String, ?songData:SwagSong):Void
{
if (songData == null) songData = SONG;
Conductor.changeBPM(songData.bpm);
curSong = songData.song;
inst = FlxG.sound.load(Paths.inst(PlayState.SONG.song));
vocals = new FlxSound();
if (SONG.needsVoices)
vocals.loadEmbedded(Paths.voices(PlayState.SONG.song));
FlxG.sound.list.add(vocals);
notes = new NoteGroup();
add(notes);
public function generateNotes(songData:SwagSong) {
if (songData == null) return;
if (songData.noteTypes == null) songData.noteTypes = [];
var noteData:Array<SwagSection> = songData.notes;
var playerCounter:Int = 0;
@@ -489,10 +476,12 @@ class PlayState extends MusicBeatState
var gottaHitNote:Bool = daNoteData >= 4 ? !section.mustHitSection : section.mustHitSection;
if (songNotes.length > 2) {
if (songNotes[3] is Int)
daNoteType = songNotes[3];
if (songNotes[3] is Int)
daNoteType = addNoteType(songData.noteTypes[Std.int(songNotes[3])-1], songNotes[3] == 0);
else if (songNotes[3] is String)
daNoteType = addNoteType(songNotes[3]);
} else {
daNoteType = addNoteType(songData.noteTypes[daNoteType-1], daNoteType == 0);
}
var swagNote:Note;
@@ -523,11 +512,37 @@ class PlayState extends MusicBeatState
daBeats += 1;
}
notes.sortNotes();
}
private function generateSong(?songData:SwagSong):Void
{
if (songData == null) songData = SONG;
Conductor.changeBPM(songData.bpm);
curSong = songData.song;
inst = FlxG.sound.load(Paths.inst(PlayState.SONG.song));
vocals = new FlxSound();
if (SONG.needsVoices)
vocals.loadEmbedded(Paths.voices(PlayState.SONG.song));
FlxG.sound.list.add(vocals);
notes = new NoteGroup();
add(notes);
generateNotes(songData);
generatedMusic = true;
}
public function addNoteType(name:String):Int {
public function addNoteType(name:String, addAsDefaultIfUnknown:Bool = false):Int {
if (name == null) {
if (addAsDefaultIfUnknown)
return 0;
else
name = "Unknown";
}
for(k=>e in noteTypesArray)
if (e == name) return k;
noteTypesArray.push(name);
@@ -1162,13 +1177,13 @@ class PlayState extends MusicBeatState
switch (note.strumID)
{
case 0:
boyfriend.playAnim('singLEFTmiss', true);
boyfriend.playAnim('singLEFTmiss', true, MISS);
case 1:
boyfriend.playAnim('singDOWNmiss', true);
boyfriend.playAnim('singDOWNmiss', true, MISS);
case 2:
boyfriend.playAnim('singUPmiss', true);
boyfriend.playAnim('singUPmiss', true, MISS);
case 3:
boyfriend.playAnim('singRIGHTmiss', true);
boyfriend.playAnim('singRIGHTmiss', true, MISS);
}
deleteNote(note);
}
@@ -1304,7 +1319,7 @@ class PlayState extends MusicBeatState
event.character.playSingAnim(event.direction, event.animSuffix);
}
(event.player ? playerStrums : cpuStrums).forEach(function(str:Strum) {
if (!event.strumGlowCancelled) (event.player ? playerStrums : cpuStrums).forEach(function(str:Strum) {
if (str.ID == Math.abs(note.strumID)) {
str.press(note.strumTime);
}
+5 -2
View File
@@ -156,8 +156,11 @@ class StageSprite extends FlxSprite implements IBeatReceiver {
}
public function beatHit(curBeat:Int) {
if (beatAnims.length > 0)
animation.play(beatAnims[FlxMath.wrap(curBeat, 0, beatAnims.length-1)]);
if (beatAnims.length > 0) {
var anim = beatAnims[FlxMath.wrap(curBeat, 0, beatAnims.length-1)];
if (anim != null && anim != "null" && anim != "none")
animation.play(anim);
}
}
public function stepHit(curBeat:Int) {}
-1
View File
@@ -43,7 +43,6 @@ class ModsFolderLibrary extends AssetLibrary implements ModsAssetLibrary {
}
public override function getAudioBuffer(id:String):AudioBuffer {
trace(id);
if (__isCacheValid(LimeAssets.cache.audio, id)) {
trace("CACHE FOUND!!");
return LimeAssets.cache.audio.get('$libName:$id');
@@ -5,6 +5,7 @@ import funkin.game.Character;
class NoteHitEvent extends CancellableEvent {
@:dox(hide) public var animCancelled:Bool = false;
@:dox(hide) public var strumGlowCancelled:Bool = false;
@:dox(hide) public var deleteNote:Bool = true;
@:dox(hide) public var unmuteVocals:Bool = true;
@:dox(hide) public var enableCamZooming:Bool = true;
@@ -166,4 +167,13 @@ class NoteHitEvent extends CancellableEvent {
}
@:dox(hide)
public function cancelLastSustainHit() {preventLastSustainHit();}
/**
* Prevents the strum from glowing after this note has been pressed.
*/
public function preventStrumGlow() {
strumGlowCancelled = true;
}
@:dox(hide)
public function cancelStrumGlow() {preventStrumGlow();}
}
+9 -3
View File
@@ -1,5 +1,6 @@
package funkin.system;
import haxe.Json;
import funkin.menus.StoryMenuState.WeekData;
import flixel.graphics.frames.FlxAtlasFrames;
import flixel.system.FlxAssets.FlxGraphicAsset;
@@ -23,9 +24,7 @@ using StringTools;
class CoolUtil
{
public static var difficultyArray:Array<String> = ['EASY', "NORMAL", "HARD"];
/**
/*
* Returns `v` if not null, `defaultValue` otherwise.
* @param v The value
* @param defaultValue The default value
@@ -35,6 +34,13 @@ class CoolUtil
return (v == null || isNaN(v)) ? defaultValue : v;
}
public static function parseJson(assetPath:String) {
return Json.parse(Assets.getText(assetPath));
}
public inline static function parseJsonString(str:String)
return Json.parse(str);
public static function isNaN(v:Dynamic) {
if (v is Float || v is Int)
return Math.isNaN(cast(v, Float));
+1
View File
@@ -15,6 +15,7 @@ typedef SwagSong =
var needsVoices:Bool;
var speed:Float;
var stage:String;
var noteTypes:Array<String>;
var player1:String;
var player2:String;