Merge branch 'KadeDev:master' into master

This commit is contained in:
CyndaquilDAC 2021-07-04 20:04:12 -05:00 committed by GitHub
commit 8d9d088948
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 209 additions and 162 deletions

Binary file not shown.

View File

@ -0,0 +1,9 @@
idle -5 0
singUP -29 27
singRIGHT -38 -7
singLEFT 12 -6
singDOWN -10 -50
singUPmiss -29 27
singRIGHTmiss -30 21
singLEFTmiss 12 24
singDOWNmiss -11 -19

View File

@ -0,0 +1,10 @@
idle -5 0
singUP -29 27
singRIGHT -38 -7
singLEFT 12 -6
singDOWN -10 -50
singUPmiss -29 27
singRIGHTmiss -30 21
singLEFTmiss 12 24
singDOWNmiss -11 -19
hey 7 4

View File

@ -0,0 +1,3 @@
firstDeath 0 0
deathLoop -30 -12
deathConfirm -30 -12

View File

@ -0,0 +1,9 @@
idle 0 0
singUP 0 0
singRIGHT 0 0
singLEFT 0 0
singDOWN 0 0
singUPmiss 0 0
singRIGHTmiss 0 0
singLEFTmiss 0 0
singDOWNmiss 0 0

View File

@ -0,0 +1,14 @@
idle -5 0
singUP -29 27
singRIGHT -38 -7
singLEFT 12 -6
singDOWN -10 -50
singUPmiss -29 27
singRIGHTmiss -30 21
singLEFTmiss 12 24
singDOWNmiss -11 -19
hey 7 4
firstDeath 37 11
deathLoop 37 5
deathConfirm 37 69
scared -4 0

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<TextureAtlas imagePath="bfPixelsDEAD.png"> <TextureAtlas imagePath="bfPixelsDEAD.png">
<!-- Created with Adobe Animate version 20.0.0.17400 --> <!-- if you read this you're epic. -->
<!-- http://www.adobe.com/products/animate.html --> <!-- manual tweaks done on BF Dies pixel last 2 frames -->
<SubTexture name="BF Dies pixel0000" x="0" y="0" width="90" height="81"/> <SubTexture name="BF Dies pixel0000" x="0" y="0" width="90" height="81"/>
<SubTexture name="BF Dies pixel0001" x="100" y="0" width="90" height="81"/> <SubTexture name="BF Dies pixel0001" x="100" y="0" width="90" height="81"/>
<SubTexture name="BF Dies pixel0002" x="200" y="0" width="90" height="81"/> <SubTexture name="BF Dies pixel0002" x="200" y="0" width="90" height="81"/>
@ -58,8 +58,8 @@
<SubTexture name="BF Dies pixel0053" x="300" y="273" width="90" height="81"/> <SubTexture name="BF Dies pixel0053" x="300" y="273" width="90" height="81"/>
<SubTexture name="BF Dies pixel0054" x="400" y="273" width="90" height="81"/> <SubTexture name="BF Dies pixel0054" x="400" y="273" width="90" height="81"/>
<SubTexture name="BF Dies pixel0055" x="500" y="273" width="90" height="81"/> <SubTexture name="BF Dies pixel0055" x="500" y="273" width="90" height="81"/>
<SubTexture name="BF Dies pixel0056" x="696" y="450" width="77" height="76"/> <SubTexture name="BF Dies pixel0056" x="691" y="448" width="90" height="81"/>
<SubTexture name="BF Dies pixel0057" x="696" y="450" width="77" height="76"/> <SubTexture name="BF Dies pixel0057" x="691" y="448" width="90" height="81"/>
<SubTexture name="RETRY CONFIRM0000" x="600" y="273" width="77" height="76"/> <SubTexture name="RETRY CONFIRM0000" x="600" y="273" width="77" height="76"/>
<SubTexture name="RETRY CONFIRM0001" x="687" y="273" width="77" height="76"/> <SubTexture name="RETRY CONFIRM0001" x="687" y="273" width="77" height="76"/>
<SubTexture name="RETRY CONFIRM0002" x="687" y="273" width="77" height="76"/> <SubTexture name="RETRY CONFIRM0002" x="687" y="273" width="77" height="76"/>

View File

@ -0,0 +1,5 @@
idle 0 0
singUP -6 50
singRIGHT 0 27
singLEFT -10 10
singDOWN 0 -30

View File

@ -0,0 +1,2 @@
danceLeft 0 0
danceRight 0 0

View File

@ -0,0 +1,11 @@
cheer 0 0
sad -2 -21
danceLeft 0 -9
danceRight 0 -9
singUP 0 4
singRIGHT 0 -20
singLEFT 0 -19
singDOWN 0 -20
hairBlow 45 -8
hairFall 0 -9
scared -2 -17

View File

@ -0,0 +1,2 @@
danceLeft 0 0
danceRight 0 0

View File

@ -0,0 +1,11 @@
cheer 0 0
sad -2 -21
danceLeft 0 -9
danceRight 0 -9
singUP 0 4
singRIGHT 0 -20
singLEFT 0 -19
singDOWN 0 -20
hairBlow 45 -8
hairFall 0 -9
scared -2 -17

View File

@ -0,0 +1,5 @@
idle 0 0
singUP 14 71
singRIGHT 10 -60
singLEFT 250 -23
singDOWN 20 -160

View File

@ -0,0 +1,5 @@
idle 0 0
singUP 14 71
singRIGHT 10 -60
singLEFT 250 -23
singDOWN 20 -160

View File

@ -0,0 +1,5 @@
idle 0 0
singUP -20 50
singRIGHT -51 0
singLEFT -30 0
singDOWN -40 -94

View File

@ -0,0 +1,5 @@
idle 0 0
singUP -20 94
singRIGHT -51 30
singLEFT -30 20
singDOWN -50 -80

View File

@ -0,0 +1,9 @@
idle 0 0
singUP -47 24
singRIGHT -1 -23
singLEFT -30 16
singDOWN -31 -29
singUP-alt -47 24
singRIGHT-alt -1 -24
singLEFT-alt -30 15
singDOWN-alt -30 -27

View File

@ -0,0 +1,9 @@
idle 0 0
singUP -29 27
singRIGHT -68 -7
singLEFT 65 9
singDOWN 200 -70
singUPmiss -19 67
singRIGHTmiss -60 41
singLEFTmiss 62 64
singDOWNmiss 210 -28

View File

@ -0,0 +1,5 @@
idle 0 0
singUP 5 37
singRIGHT 0 0
singLEFT 40 0
singDOWN 14 0

View File

@ -0,0 +1,5 @@
idle 0 0
singUP 5 37
singRIGHT 0 0
singLEFT 40 0
singDOWN 14 0

View File

@ -0,0 +1,5 @@
idle -220 -280
singUP -220 -240
singRIGHT -220 -280
singLEFT -200 -280
singDOWN 170 110

View File

@ -0,0 +1,6 @@
danceLeft 0 0
danceRight 0 0
singUP -20 26
singRIGHT -130 -14
singLEFT 130 -10
singDOWN -50 -130

View File

@ -46,19 +46,7 @@ class Character extends FlxSprite
animation.addByIndices('hairFall', "GF Dancing Beat Hair Landing", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "", 24, false); animation.addByIndices('hairFall', "GF Dancing Beat Hair Landing", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "", 24, false);
animation.addByPrefix('scared', 'GF FEAR', 24); animation.addByPrefix('scared', 'GF FEAR', 24);
addOffset('cheer'); loadOffsetFile(curCharacter);
addOffset('sad', -2, -2);
addOffset('danceLeft', 0, -9);
addOffset('danceRight', 0, -9);
addOffset("singUP", 0, 4);
addOffset("singRIGHT", 0, -20);
addOffset("singLEFT", 0, -19);
addOffset("singDOWN", 0, -20);
addOffset('hairBlow', 45, -8);
addOffset('hairFall', 0, -9);
addOffset('scared', -2, -17);
playAnim('danceRight'); playAnim('danceRight');
@ -77,19 +65,7 @@ class Character extends FlxSprite
animation.addByIndices('hairFall', "GF Dancing Beat Hair Landing", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "", 24, false); animation.addByIndices('hairFall', "GF Dancing Beat Hair Landing", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "", 24, false);
animation.addByPrefix('scared', 'GF FEAR', 24); animation.addByPrefix('scared', 'GF FEAR', 24);
addOffset('cheer'); loadOffsetFile(curCharacter);
addOffset('sad', -2, -2);
addOffset('danceLeft', 0, -9);
addOffset('danceRight', 0, -9);
addOffset("singUP", 0, 4);
addOffset("singRIGHT", 0, -20);
addOffset("singLEFT", 0, -19);
addOffset("singDOWN", 0, -20);
addOffset('hairBlow', 45, -8);
addOffset('hairFall', 0, -9);
addOffset('scared', -2, -17);
playAnim('danceRight'); playAnim('danceRight');
@ -101,8 +77,7 @@ class Character extends FlxSprite
animation.addByIndices('danceRight', 'GF Dancing Beat Hair blowing CAR', [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "", 24, animation.addByIndices('danceRight', 'GF Dancing Beat Hair blowing CAR', [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "", 24,
false); false);
addOffset('danceLeft', 0); loadOffsetFile(curCharacter);
addOffset('danceRight', 0);
playAnim('danceRight'); playAnim('danceRight');
@ -113,8 +88,7 @@ class Character extends FlxSprite
animation.addByIndices('danceLeft', 'GF IDLE', [30, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "", 24, false); animation.addByIndices('danceLeft', 'GF IDLE', [30, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "", 24, false);
animation.addByIndices('danceRight', 'GF IDLE', [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "", 24, false); animation.addByIndices('danceRight', 'GF IDLE', [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "", 24, false);
addOffset('danceLeft', 0); loadOffsetFile(curCharacter);
addOffset('danceRight', 0);
playAnim('danceRight'); playAnim('danceRight');
@ -132,11 +106,7 @@ class Character extends FlxSprite
animation.addByPrefix('singDOWN', 'Dad Sing Note DOWN', 24); animation.addByPrefix('singDOWN', 'Dad Sing Note DOWN', 24);
animation.addByPrefix('singLEFT', 'Dad Sing Note LEFT', 24); animation.addByPrefix('singLEFT', 'Dad Sing Note LEFT', 24);
addOffset('idle'); loadOffsetFile(curCharacter);
addOffset("singUP", -6, 50);
addOffset("singRIGHT", 0, 27);
addOffset("singLEFT", -10, 10);
addOffset("singDOWN", 0, -30);
playAnim('idle'); playAnim('idle');
case 'spooky': case 'spooky':
@ -149,13 +119,7 @@ class Character extends FlxSprite
animation.addByIndices('danceLeft', 'spooky dance idle', [0, 2, 6], "", 12, false); animation.addByIndices('danceLeft', 'spooky dance idle', [0, 2, 6], "", 12, false);
animation.addByIndices('danceRight', 'spooky dance idle', [8, 10, 12, 14], "", 12, false); animation.addByIndices('danceRight', 'spooky dance idle', [8, 10, 12, 14], "", 12, false);
addOffset('danceLeft'); loadOffsetFile(curCharacter);
addOffset('danceRight');
addOffset("singUP", -20, 26);
addOffset("singRIGHT", -130, -14);
addOffset("singLEFT", 130, -10);
addOffset("singDOWN", -50, -130);
playAnim('danceRight'); playAnim('danceRight');
case 'mom': case 'mom':
@ -170,11 +134,7 @@ class Character extends FlxSprite
// CUZ DAVE IS DUMB! // CUZ DAVE IS DUMB!
animation.addByPrefix('singRIGHT', 'Mom Pose Left', 24, false); animation.addByPrefix('singRIGHT', 'Mom Pose Left', 24, false);
addOffset('idle'); loadOffsetFile(curCharacter);
addOffset("singUP", 14, 71);
addOffset("singRIGHT", 10, -60);
addOffset("singLEFT", 250, -23);
addOffset("singDOWN", 20, -160);
playAnim('idle'); playAnim('idle');
@ -190,11 +150,7 @@ class Character extends FlxSprite
// CUZ DAVE IS DUMB! // CUZ DAVE IS DUMB!
animation.addByPrefix('singRIGHT', 'Mom Pose Left', 24, false); animation.addByPrefix('singRIGHT', 'Mom Pose Left', 24, false);
addOffset('idle'); loadOffsetFile(curCharacter);
addOffset("singUP", 14, 71);
addOffset("singRIGHT", 10, -60);
addOffset("singLEFT", 250, -23);
addOffset("singDOWN", 20, -160);
playAnim('idle'); playAnim('idle');
case 'monster': case 'monster':
@ -206,11 +162,7 @@ class Character extends FlxSprite
animation.addByPrefix('singLEFT', 'Monster left note', 24, false); animation.addByPrefix('singLEFT', 'Monster left note', 24, false);
animation.addByPrefix('singRIGHT', 'Monster Right note', 24, false); animation.addByPrefix('singRIGHT', 'Monster Right note', 24, false);
addOffset('idle'); loadOffsetFile(curCharacter);
addOffset("singUP", -20, 50);
addOffset("singRIGHT", -51);
addOffset("singLEFT", -30);
addOffset("singDOWN", -30, -40);
playAnim('idle'); playAnim('idle');
case 'monster-christmas': case 'monster-christmas':
tex = Paths.getSparrowAtlas('characters/monsterChristmas'); tex = Paths.getSparrowAtlas('characters/monsterChristmas');
@ -221,11 +173,7 @@ class Character extends FlxSprite
animation.addByPrefix('singLEFT', 'Monster left note', 24, false); animation.addByPrefix('singLEFT', 'Monster left note', 24, false);
animation.addByPrefix('singRIGHT', 'Monster Right note', 24, false); animation.addByPrefix('singRIGHT', 'Monster Right note', 24, false);
addOffset('idle'); loadOffsetFile(curCharacter);
addOffset("singUP", -20, 50);
addOffset("singRIGHT", -51);
addOffset("singLEFT", -30);
addOffset("singDOWN", -40, -94);
playAnim('idle'); playAnim('idle');
case 'pico': case 'pico':
tex = Paths.getSparrowAtlas('characters/Pico_FNF_assetss'); tex = Paths.getSparrowAtlas('characters/Pico_FNF_assetss');
@ -252,15 +200,7 @@ class Character extends FlxSprite
animation.addByPrefix('singUPmiss', 'pico Up note miss', 24); animation.addByPrefix('singUPmiss', 'pico Up note miss', 24);
animation.addByPrefix('singDOWNmiss', 'Pico Down Note MISS', 24); animation.addByPrefix('singDOWNmiss', 'Pico Down Note MISS', 24);
addOffset('idle'); loadOffsetFile(curCharacter);
addOffset("singUP", -29, 27);
addOffset("singRIGHT", -68, -7);
addOffset("singLEFT", 65, 9);
addOffset("singDOWN", 200, -70);
addOffset("singUPmiss", -19, 67);
addOffset("singRIGHTmiss", -60, 41);
addOffset("singLEFTmiss", 62, 64);
addOffset("singDOWNmiss", 210, -28);
playAnim('idle'); playAnim('idle');
@ -289,20 +229,7 @@ class Character extends FlxSprite
animation.addByPrefix('scared', 'BF idle shaking', 24); animation.addByPrefix('scared', 'BF idle shaking', 24);
addOffset('idle', -5); loadOffsetFile(curCharacter);
addOffset("singUP", -29, 27);
addOffset("singRIGHT", -38, -7);
addOffset("singLEFT", 12, -6);
addOffset("singDOWN", -10, -50);
addOffset("singUPmiss", -29, 27);
addOffset("singRIGHTmiss", -30, 21);
addOffset("singLEFTmiss", 12, 24);
addOffset("singDOWNmiss", -11, -19);
addOffset("hey", 7, 4);
addOffset('firstDeath', 37, 11);
addOffset('deathLoop', 37, 5);
addOffset('deathConfirm', 37, 69);
addOffset('scared', -4);
playAnim('idle'); playAnim('idle');
@ -322,16 +249,7 @@ class Character extends FlxSprite
animation.addByPrefix('singDOWNmiss', 'BF NOTE DOWN MISS', 24, false); animation.addByPrefix('singDOWNmiss', 'BF NOTE DOWN MISS', 24, false);
animation.addByPrefix('hey', 'BF HEY', 24, false); animation.addByPrefix('hey', 'BF HEY', 24, false);
addOffset('idle', -5); loadOffsetFile(curCharacter);
addOffset("singUP", -29, 27);
addOffset("singRIGHT", -38, -7);
addOffset("singLEFT", 12, -6);
addOffset("singDOWN", -10, -50);
addOffset("singUPmiss", -29, 27);
addOffset("singRIGHTmiss", -30, 21);
addOffset("singLEFTmiss", 12, 24);
addOffset("singDOWNmiss", -11, -19);
addOffset("hey", 7, 4);
playAnim('idle'); playAnim('idle');
@ -349,15 +267,7 @@ class Character extends FlxSprite
animation.addByPrefix('singRIGHTmiss', 'BF NOTE RIGHT MISS', 24, false); animation.addByPrefix('singRIGHTmiss', 'BF NOTE RIGHT MISS', 24, false);
animation.addByPrefix('singDOWNmiss', 'BF NOTE DOWN MISS', 24, false); animation.addByPrefix('singDOWNmiss', 'BF NOTE DOWN MISS', 24, false);
addOffset('idle', -5); loadOffsetFile(curCharacter);
addOffset("singUP", -29, 27);
addOffset("singRIGHT", -38, -7);
addOffset("singLEFT", 12, -6);
addOffset("singDOWN", -10, -50);
addOffset("singUPmiss", -29, 27);
addOffset("singRIGHTmiss", -30, 21);
addOffset("singLEFTmiss", 12, 24);
addOffset("singDOWNmiss", -11, -19);
playAnim('idle'); playAnim('idle');
flipX = true; flipX = true;
@ -373,15 +283,7 @@ class Character extends FlxSprite
animation.addByPrefix('singRIGHTmiss', 'BF RIGHT MISS', 24, false); animation.addByPrefix('singRIGHTmiss', 'BF RIGHT MISS', 24, false);
animation.addByPrefix('singDOWNmiss', 'BF DOWN MISS', 24, false); animation.addByPrefix('singDOWNmiss', 'BF DOWN MISS', 24, false);
addOffset('idle'); loadOffsetFile(curCharacter);
addOffset("singUP");
addOffset("singRIGHT");
addOffset("singLEFT");
addOffset("singDOWN");
addOffset("singUPmiss");
addOffset("singRIGHTmiss");
addOffset("singLEFTmiss");
addOffset("singDOWNmiss");
setGraphicSize(Std.int(width * 6)); setGraphicSize(Std.int(width * 6));
updateHitbox(); updateHitbox();
@ -402,9 +304,7 @@ class Character extends FlxSprite
animation.addByPrefix('deathConfirm', "RETRY CONFIRM", 24, false); animation.addByPrefix('deathConfirm', "RETRY CONFIRM", 24, false);
animation.play('firstDeath'); animation.play('firstDeath');
addOffset('firstDeath'); loadOffsetFile(curCharacter);
addOffset('deathLoop', -37);
addOffset('deathConfirm', -37);
playAnim('firstDeath'); playAnim('firstDeath');
// pixel bullshit // pixel bullshit
setGraphicSize(Std.int(width * 6)); setGraphicSize(Std.int(width * 6));
@ -420,11 +320,7 @@ class Character extends FlxSprite
animation.addByPrefix('singRIGHT', 'SENPAI RIGHT NOTE', 24, false); animation.addByPrefix('singRIGHT', 'SENPAI RIGHT NOTE', 24, false);
animation.addByPrefix('singDOWN', 'SENPAI DOWN NOTE', 24, false); animation.addByPrefix('singDOWN', 'SENPAI DOWN NOTE', 24, false);
addOffset('idle'); loadOffsetFile(curCharacter);
addOffset("singUP", 5, 37);
addOffset("singRIGHT");
addOffset("singLEFT", 40);
addOffset("singDOWN", 14);
playAnim('idle'); playAnim('idle');
@ -440,11 +336,7 @@ class Character extends FlxSprite
animation.addByPrefix('singRIGHT', 'Angry Senpai RIGHT NOTE', 24, false); animation.addByPrefix('singRIGHT', 'Angry Senpai RIGHT NOTE', 24, false);
animation.addByPrefix('singDOWN', 'Angry Senpai DOWN NOTE', 24, false); animation.addByPrefix('singDOWN', 'Angry Senpai DOWN NOTE', 24, false);
addOffset('idle'); loadOffsetFile(curCharacter);
addOffset("singUP", 5, 37);
addOffset("singRIGHT");
addOffset("singLEFT", 40);
addOffset("singDOWN", 14);
playAnim('idle'); playAnim('idle');
setGraphicSize(Std.int(width * 6)); setGraphicSize(Std.int(width * 6));
@ -460,11 +352,7 @@ class Character extends FlxSprite
animation.addByPrefix('singLEFT', "left_", 24, false); animation.addByPrefix('singLEFT', "left_", 24, false);
animation.addByPrefix('singDOWN', "spirit down_", 24, false); animation.addByPrefix('singDOWN', "spirit down_", 24, false);
addOffset('idle', -220, -280); loadOffsetFile(curCharacter);
addOffset('singUP', -220, -240);
addOffset("singRIGHT", -220, -280);
addOffset("singLEFT", -200, -280);
addOffset("singDOWN", 170, 110);
setGraphicSize(Std.int(width * 6)); setGraphicSize(Std.int(width * 6));
updateHitbox(); updateHitbox();
@ -487,15 +375,7 @@ class Character extends FlxSprite
animation.addByPrefix('singLEFT-alt', 'Parent Left Note Mom', 24, false); animation.addByPrefix('singLEFT-alt', 'Parent Left Note Mom', 24, false);
animation.addByPrefix('singRIGHT-alt', 'Parent Right Note Mom', 24, false); animation.addByPrefix('singRIGHT-alt', 'Parent Right Note Mom', 24, false);
addOffset('idle'); loadOffsetFile(curCharacter);
addOffset("singUP", -47, 24);
addOffset("singRIGHT", -1, -23);
addOffset("singLEFT", -30, 16);
addOffset("singDOWN", -31, -29);
addOffset("singUP-alt", -47, 24);
addOffset("singRIGHT-alt", -1, -24);
addOffset("singLEFT-alt", -30, 15);
addOffset("singDOWN-alt", -30, -27);
playAnim('idle'); playAnim('idle');
} }
@ -525,6 +405,17 @@ class Character extends FlxSprite
} }
} }
public function loadOffsetFile(character:String)
{
var offset:Array<String> = CoolUtil.coolTextFile(Paths.txt('images/characters/' + character + "Offsets"));
for (i in 0...offset.length)
{
var data:Array<String> = offset[i].split(' ');
addOffset(data[0], Std.parseInt(data[1]), Std.parseInt(data[2]));
}
}
override function update(elapsed:Float) override function update(elapsed:Float)
{ {
if (!curCharacter.startsWith('bf')) if (!curCharacter.startsWith('bf'))

View File

@ -309,10 +309,10 @@ class ChartingState extends MusicBeatState
shiftNotes(Std.int(stepperShiftNoteDial.value),Std.int(stepperShiftNoteDialstep.value),Std.int(stepperShiftNoteDialms.value)); shiftNotes(Std.int(stepperShiftNoteDial.value),Std.int(stepperShiftNoteDialstep.value),Std.int(stepperShiftNoteDialms.value));
}); });
var characters:Array<String> = CoolUtil.coolTextFile(Paths.txt('characterList')); var characters:Array<String> = CoolUtil.coolTextFile(Paths.txt('data/characterList'));
var gfVersions:Array<String> = CoolUtil.coolTextFile(Paths.txt('gfVersionList')); var gfVersions:Array<String> = CoolUtil.coolTextFile(Paths.txt('data/gfVersionList'));
var stages:Array<String> = CoolUtil.coolTextFile(Paths.txt('stageList')); var stages:Array<String> = CoolUtil.coolTextFile(Paths.txt('data/stageList'));
var noteStyles:Array<String> = CoolUtil.coolTextFile(Paths.txt('noteStyleList')); var noteStyles:Array<String> = CoolUtil.coolTextFile(Paths.txt('data/noteStyleList'));
var player1DropDown = new FlxUIDropDownMenu(10, 100, FlxUIDropDownMenu.makeStrIdLabelArray(characters, true), function(character:String) var player1DropDown = new FlxUIDropDownMenu(10, 100, FlxUIDropDownMenu.makeStrIdLabelArray(characters, true), function(character:String)
{ {
@ -1240,6 +1240,7 @@ class ChartingState extends MusicBeatState
var daSus = i[2]; var daSus = i[2];
var note:Note = new Note(daStrumTime, daNoteInfo % 4,null,false,true); var note:Note = new Note(daStrumTime, daNoteInfo % 4,null,false,true);
note.rawNoteData = daNoteInfo;
note.sustainLength = daSus; note.sustainLength = daSus;
note.setGraphicSize(GRID_SIZE, GRID_SIZE); note.setGraphicSize(GRID_SIZE, GRID_SIZE);
note.updateHitbox(); note.updateHitbox();
@ -1282,7 +1283,7 @@ class ChartingState extends MusicBeatState
for (i in _song.notes[curSection].sectionNotes) for (i in _song.notes[curSection].sectionNotes)
{ {
if (i.strumTime == note.strumTime && i.noteData % 4 == note.noteData) if (i[0] == note.strumTime && i[1] == note.rawNoteData)
{ {
curSelectedNote = _song.notes[curSection].sectionNotes[swagNum]; curSelectedNote = _song.notes[curSection].sectionNotes[swagNum];
} }
@ -1300,7 +1301,7 @@ class ChartingState extends MusicBeatState
lastNote = note; lastNote = note;
for (i in _song.notes[curSection].sectionNotes) for (i in _song.notes[curSection].sectionNotes)
{ {
if (i[0] == note.strumTime && i[1] % 4 == note.noteData) if (i[0] == note.strumTime && i[1] == note.rawNoteData)
{ {
_song.notes[curSection].sectionNotes.remove(i); _song.notes[curSection].sectionNotes.remove(i);
} }

View File

@ -56,7 +56,7 @@ class FreeplayState extends MusicBeatState
override function create() override function create()
{ {
var initSonglist = CoolUtil.coolTextFile(Paths.txt('freeplaySonglist')); var initSonglist = CoolUtil.coolTextFile(Paths.txt('data/freeplaySonglist'));
//var diffList = ""; //var diffList = "";

View File

@ -19,6 +19,7 @@ class Note extends FlxSprite
public var mustPress:Bool = false; public var mustPress:Bool = false;
public var noteData:Int = 0; public var noteData:Int = 0;
public var rawNoteData:Int = 0;
public var canBeHit:Bool = false; public var canBeHit:Bool = false;
public var tooLate:Bool = false; public var tooLate:Bool = false;
public var wasGoodHit:Bool = false; public var wasGoodHit:Bool = false;

View File

@ -42,18 +42,16 @@ class OptionsMenu extends MusicBeatState
new OptionCategory("Appearance", [ new OptionCategory("Appearance", [
new DistractionsAndEffectsOption("Toggle stage distractions that can hinder your gameplay."), new DistractionsAndEffectsOption("Toggle stage distractions that can hinder your gameplay."),
new CamZoomOption("Toggle the camera zoom in-game."), new CamZoomOption("Toggle the camera zoom in-game."),
#if desktop
new RainbowFPSOption("Make the FPS Counter Rainbow"), new RainbowFPSOption("Make the FPS Counter Rainbow"),
new AccuracyOption("Display accuracy information."), new AccuracyOption("Display accuracy information."),
new NPSDisplayOption("Shows your current Notes Per Second."), new NPSDisplayOption("Shows your current Notes Per Second."),
new SongPositionOption("Show the songs current position (as a bar)"), new SongPositionOption("Show the songs current position (as a bar)"),
new CpuStrums("CPU's strumline lights up when a note hits it."), new CpuStrums("CPU's strumline lights up when a note hits it."),
#end
]), ]),
new OptionCategory("Misc", [ new OptionCategory("Misc", [
#if desktop
new FPSOption("Toggle the FPS Counter"), new FPSOption("Toggle the FPS Counter"),
#if desktop
new ReplayOption("View replays"), new ReplayOption("View replays"),
#end #end
new FlashingLightsOption("Toggle flashing lights that can cause epileptic seizures and strain."), new FlashingLightsOption("Toggle flashing lights that can cause epileptic seizures and strain."),

View File

@ -67,7 +67,7 @@ class Paths
inline static public function txt(key:String, ?library:String) inline static public function txt(key:String, ?library:String)
{ {
return getPath('data/$key.txt', TEXT, library); return getPath('$key.txt', TEXT, library);
} }
inline static public function xml(key:String, ?library:String) inline static public function xml(key:String, ?library:String)

View File

@ -362,11 +362,11 @@ class PlayState extends MusicBeatState
"Only then I will even CONSIDER letting you\ndate my daughter!" "Only then I will even CONSIDER letting you\ndate my daughter!"
]; ];
case 'senpai': case 'senpai':
dialogue = CoolUtil.coolTextFile(Paths.txt('senpai/senpaiDialogue')); dialogue = CoolUtil.coolTextFile(Paths.txt('data/senpai/senpaiDialogue'));
case 'roses': case 'roses':
dialogue = CoolUtil.coolTextFile(Paths.txt('roses/rosesDialogue')); dialogue = CoolUtil.coolTextFile(Paths.txt('data/roses/rosesDialogue'));
case 'thorns': case 'thorns':
dialogue = CoolUtil.coolTextFile(Paths.txt('thorns/thornsDialogue')); dialogue = CoolUtil.coolTextFile(Paths.txt('data/thorns/thornsDialogue'));
} }
//defaults if no stage was found in chart //defaults if no stage was found in chart
@ -3916,6 +3916,10 @@ class PlayState extends MusicBeatState
boyfriend.playAnim('idle'); boyfriend.playAnim('idle');
} }
if (!dad.animation.curAnim.name.startsWith("sing"))
{
dad.dance();
}
if (curBeat % 8 == 7 && curSong == 'Bopeebo') if (curBeat % 8 == 7 && curSong == 'Bopeebo')
{ {

View File

@ -2,7 +2,7 @@ package;
typedef SwagSection = typedef SwagSection =
{ {
var sectionNotes:Array<Dynamic>; var sectionNotes:Array<Array<Dynamic>>;
var lengthInSteps:Int; var lengthInSteps:Int;
var typeOfSection:Int; var typeOfSection:Int;
var mustHitSection:Bool; var mustHitSection:Bool;
@ -13,7 +13,7 @@ typedef SwagSection =
class Section class Section
{ {
public var sectionNotes:Array<Dynamic> = []; public var sectionNotes:Array<Array<Dynamic>> = [];
public var lengthInSteps:Int = 16; public var lengthInSteps:Int = 16;
public var typeOfSection:Int = 0; public var typeOfSection:Int = 0;

View File

@ -107,10 +107,14 @@ class TitleState extends MusicBeatState
#elseif CHARTING #elseif CHARTING
FlxG.switchState(new ChartingState()); FlxG.switchState(new ChartingState());
#else #else
#if !cpp
new FlxTimer().start(1, function(tmr:FlxTimer) new FlxTimer().start(1, function(tmr:FlxTimer)
{ {
startIntro(); startIntro();
}); });
#else
startIntro();
#end
#end #end
} }
@ -158,7 +162,7 @@ class TitleState extends MusicBeatState
add(bg); add(bg);
if(Main.watermarks) { if(Main.watermarks) {
logoBl = new FlxSprite(-150, -100); logoBl = new FlxSprite(-150, 1500);
logoBl.frames = Paths.getSparrowAtlas('KadeEngineLogoBumpin'); logoBl.frames = Paths.getSparrowAtlas('KadeEngineLogoBumpin');
logoBl.antialiasing = true; logoBl.antialiasing = true;
logoBl.animation.addByPrefix('bump', 'logo bumpin', 24); logoBl.animation.addByPrefix('bump', 'logo bumpin', 24);
@ -239,7 +243,7 @@ class TitleState extends MusicBeatState
function getIntroTextShit():Array<Array<String>> function getIntroTextShit():Array<Array<String>>
{ {
var fullText:String = Assets.getText(Paths.txt('introText')); var fullText:String = Assets.getText(Paths.txt('data/introText'));
var firstArray:Array<String> = fullText.split('\n'); var firstArray:Array<String> = fullText.split('\n');
var swagGoodArray:Array<Array<String>> = []; var swagGoodArray:Array<Array<String>> = [];
@ -454,6 +458,19 @@ class TitleState extends MusicBeatState
FlxG.camera.flash(FlxColor.WHITE, 4); FlxG.camera.flash(FlxColor.WHITE, 4);
remove(credGroup); remove(credGroup);
FlxTween.tween(logoBl,{y: -100}, 1.4, {ease: FlxEase.expoInOut});
logoBl.angle = -4;
new FlxTimer().start(0.01, function(tmr:FlxTimer)
{
if(logoBl.angle == -4)
FlxTween.angle(logoBl, logoBl.angle, 4, 4, {ease: FlxEase.quartInOut});
if (logoBl.angle == 4)
FlxTween.angle(logoBl, logoBl.angle, -4, 4, {ease: FlxEase.quartInOut});
}, 0);
skippedIntro = true; skippedIntro = true;
} }
} }