diff --git a/source/Character.hx b/source/Character.hx index aa47684..e4c64ae 100644 --- a/source/Character.hx +++ b/source/Character.hx @@ -224,7 +224,7 @@ class Character extends FlxSprite animation.addByPrefix('hey', 'BF HEY', 24, false); animation.addByPrefix('firstDeath', "BF dies", 24, false); - animation.addByPrefix('deathLoop', "BF Dead Loop", 24, true); + animation.addByPrefix('deathLoop', "BF Dead Loop", 24, false); animation.addByPrefix('deathConfirm', "BF Dead confirm", 24, false); animation.addByPrefix('scared', 'BF idle shaking', 24); @@ -300,7 +300,7 @@ class Character extends FlxSprite frames = Paths.getSparrowAtlas('bfPixelsDEAD','shared',true); animation.addByPrefix('singUP', "BF Dies pixel", 24, false); animation.addByPrefix('firstDeath', "BF Dies pixel", 24, false); - animation.addByPrefix('deathLoop', "Retry Loop", 24, true); + animation.addByPrefix('deathLoop', "Retry Loop", 24, false); animation.addByPrefix('deathConfirm', "RETRY CONFIRM", 24, false); animation.play('firstDeath'); diff --git a/source/GameOverSubstate.hx b/source/GameOverSubstate.hx index f784827..8a840b3 100644 --- a/source/GameOverSubstate.hx +++ b/source/GameOverSubstate.hx @@ -48,6 +48,8 @@ class GameOverSubstate extends MusicBeatSubstate bf.playAnim('firstDeath'); } + var startVibin:Bool = false; + override function update(elapsed:Float) { super.update(elapsed); @@ -76,6 +78,7 @@ class GameOverSubstate extends MusicBeatSubstate if (bf.animation.curAnim.name == 'firstDeath' && bf.animation.curAnim.finished) { FlxG.sound.playMusic(Paths.music('gameOver' + stageSuffix)); + startVibin = true; } if (FlxG.sound.music.playing) @@ -88,6 +91,10 @@ class GameOverSubstate extends MusicBeatSubstate { super.beatHit(); + if (startVibin && !isEnding) + { + bf.playAnim('deathLoop', true); + } FlxG.log.add('beat'); } diff --git a/source/Main.hx b/source/Main.hx index 030d6f5..2fd77ed 100644 --- a/source/Main.hx +++ b/source/Main.hx @@ -85,13 +85,6 @@ class Main extends Sprite game = new FlxGame(gameWidth, gameHeight, initialState, zoom, framerate, framerate, skipSplash, startFullscreen); #end addChild(game); - - #if !mobile - fpsCounter = new FPS(10, 3, 0xFFFFFF); - addChild(fpsCounter); - toggleFPS(FlxG.save.data.fps); - - #end PlayerSettings.init(); @@ -110,6 +103,12 @@ class Main extends Sprite FlxG.save.bind('funkin', 'ninjamuffin99'); KadeEngineData.initSave(); + + #if !mobile + fpsCounter = new FPS(10, 3, 0xFFFFFF); + addChild(fpsCounter); + toggleFPS(FlxG.save.data.fps); + #end } var game:FlxGame; diff --git a/source/MusicBeatState.hx b/source/MusicBeatState.hx index 6eb151c..9deb2bf 100644 --- a/source/MusicBeatState.hx +++ b/source/MusicBeatState.hx @@ -53,11 +53,21 @@ class MusicBeatState extends FlxUIState //everyStep(); var nextStep:Int = updateCurStep(); - if (nextStep > curStep && curStep >= 0) + if (nextStep >= 0) { - for (i in curStep...nextStep) + if (nextStep > curStep) { - curStep++; + for (i in curStep...nextStep) + { + curStep++; + updateBeat(); + stepHit(); + } + } + else if (nextStep < curStep) + { + //Song reset? + curStep = nextStep; updateBeat(); stepHit(); } diff --git a/source/MusicBeatSubstate.hx b/source/MusicBeatSubstate.hx index 1be9789..ee15697 100644 --- a/source/MusicBeatSubstate.hx +++ b/source/MusicBeatSubstate.hx @@ -26,11 +26,21 @@ class MusicBeatSubstate extends FlxSubState //everyStep(); var nextStep = updateCurStep(); - if (nextStep > curStep && curStep >= 0) + if (nextStep >= 0) { - for (i in curStep...nextStep) + if (nextStep > curStep) { - curStep++; + for (i in curStep...nextStep) + { + curStep++; + updateBeat(); + stepHit(); + } + } + else if (nextStep < curStep) + { + //Song reset? + curStep = nextStep; updateBeat(); stepHit(); } diff --git a/source/Note.hx b/source/Note.hx index 1c0985c..d591bbe 100644 --- a/source/Note.hx +++ b/source/Note.hx @@ -35,6 +35,8 @@ class Note extends FlxSprite public var noteScore:Float = 1; + public var noteYOff:Int = 0; + public static var swagWidth:Float = 160 * 0.7; public static var PURP_NOTE:Int = 0; public static var GREEN_NOTE:Int = 2; @@ -92,8 +94,6 @@ class Note extends FlxSprite //defaults if no noteStyle was found in chart var noteTypeCheck:String = 'normal'; - if (PlayState.curStage.startsWith('school')) - noteTypeCheck = 'pixel'; if (inCharter) { @@ -192,22 +192,29 @@ class Note extends FlxSprite x -= width / 2; - if (noteTypeCheck == 'pixel') - x += 30; - + //if (noteTypeCheck == 'pixel') + // x += 30; if (inCharter) x += 30; if (prevNote.isSustainNote) { prevNote.animation.play(dataColor[prevNote.originColor] + 'hold'); - - if(FlxG.save.data.scrollSpeed != 1) - prevNote.scale.y *= Conductor.stepCrochet / 100 * 1.5 * FlxG.save.data.scrollSpeed; - else - prevNote.scale.y *= Conductor.stepCrochet / 100 * 1.5 * PlayState.SONG.speed; prevNote.updateHitbox(); + + prevNote.noteYOff = 0; + prevNote.scale.y *= (0.45 * Conductor.stepCrochet * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? PlayState.SONG.speed : PlayStateChangeables.scrollSpeed, 2)) / prevNote.height * 1.01; //The 1.01 is so that there aren't odd 1 pixel gaps as the notes scroll + prevNote.updateHitbox(); + // prevNote.setGraphicSize(); + + switch (noteTypeCheck) + { + case 'pixel': + noteYOff = -13; + default: + noteYOff = -23; + } } } } diff --git a/source/PlayState.hx b/source/PlayState.hx index 368d68f..b985df0 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -2641,6 +2641,8 @@ class PlayState extends MusicBeatState if (generatedMusic) { + var holdArray:Array = [controls.LEFT, controls.DOWN, controls.UP, controls.RIGHT]; + notes.forEachAlive(function(daNote:Note) { // instead of doing stupid y > FlxG.height @@ -2662,14 +2664,12 @@ class PlayState extends MusicBeatState { if (daNote.mustPress) daNote.y = (playerStrums.members[Math.floor(Math.abs(daNote.noteData))].y - + - 0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed, - 2)); + + 0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed, + 2)) - daNote.noteYOff; else daNote.y = (strumLineNotes.members[Math.floor(Math.abs(daNote.noteData))].y - + - 0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed, - 2)); + + 0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed, + 2)) - daNote.noteYOff; if (daNote.isSustainNote) { // Remember = minus makes notes go up, plus makes them go down @@ -2711,11 +2711,11 @@ class PlayState extends MusicBeatState if (daNote.mustPress) daNote.y = (playerStrums.members[Math.floor(Math.abs(daNote.noteData))].y - 0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed, - 2)); + 2)) + daNote.noteYOff; else daNote.y = (strumLineNotes.members[Math.floor(Math.abs(daNote.noteData))].y - 0.45 * (Conductor.songPosition - daNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed, - 2)); + 2)) + daNote.noteYOff; if (daNote.isSustainNote) { daNote.y -= daNote.height / 2; diff --git a/source/TitleState.hx b/source/TitleState.hx index dadc361..13c4660 100644 --- a/source/TitleState.hx +++ b/source/TitleState.hx @@ -364,6 +364,8 @@ class TitleState extends MusicBeatState switch (curBeat) { + case 0: + deleteCoolText(); case 1: createCoolText(['ninjamuffin99', 'phantomArcade', 'kawaisprite', 'evilsk8er']); // credTextShit.visible = true;