diff --git a/README.md b/README.md index 2c16d9a..fc33559 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ # Friday Night Funkin': Kade Engine ### If you want to contribute to Kade Engine, read [this](https://github.com/KadeDev/Kade-Engine/blob/stable/CONTRIBUTING.md) first. +### If you want to build Kade Engine, read [this](https://github.com/KadeDev/Kade-Engine/blob/stable/docs/building.md). ## Friday Night Funkin' **Friday Night Funkin'** is a rhythm game originally made for Ludum Dare 47 "Stuck In a Loop". diff --git a/source/Alphabet.hx b/source/Alphabet.hx index eec323d..e376150 100644 --- a/source/Alphabet.hx +++ b/source/Alphabet.hx @@ -278,10 +278,7 @@ class AlphaCharacter extends FlxSprite super(x, y); var tex = Paths.getSparrowAtlas('alphabet'); frames = tex; - if(FlxG.save.data.antialiasing) - { - antialiasing = true; - } + antialiasing = FlxG.save.data.antialiasing; } public function createBold(letter:String) diff --git a/source/BackgroundDancer.hx b/source/BackgroundDancer.hx index 07ef6da..99a83df 100644 --- a/source/BackgroundDancer.hx +++ b/source/BackgroundDancer.hx @@ -14,10 +14,7 @@ class BackgroundDancer extends FlxSprite animation.addByIndices('danceLeft', 'bg dancer sketch PINK', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "", 24, false); animation.addByIndices('danceRight', 'bg dancer sketch PINK', [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "", 24, false); animation.play('danceLeft'); - if(FlxG.save.data.antialiasing) - { - antialiasing = true; - } + antialiasing = FlxG.save.data.antialiasing; } var danceDir:Bool = false; diff --git a/source/Caching.hx b/source/Caching.hx index 568c921..7c7900b 100644 --- a/source/Caching.hx +++ b/source/Caching.hx @@ -73,7 +73,10 @@ class Caching extends MusicBeatState text.y -= kadeLogo.height / 2 - 125; text.x -= 170; kadeLogo.setGraphicSize(Std.int(kadeLogo.width * 0.6)); - kadeLogo.antialiasing = true; + if(FlxG.save.data.antialiasing != null) + kadeLogo.antialiasing = FlxG.save.data.antialiasing; + else + kadeLogo.antialiasing = true; kadeLogo.alpha = 0; diff --git a/source/Character.hx b/source/Character.hx index 3093191..36136c1 100644 --- a/source/Character.hx +++ b/source/Character.hx @@ -26,10 +26,7 @@ class Character extends FlxSprite this.isPlayer = isPlayer; var tex:FlxAtlasFrames; - if(FlxG.save.data.antialiasing) - { - antialiasing = true; - } + antialiasing = FlxG.save.data.antialiasing; switch (curCharacter) { @@ -103,11 +100,11 @@ class Character extends FlxSprite // DAD ANIMATION LOADING CODE tex = Paths.getSparrowAtlas('DADDY_DEAREST','shared',true); frames = tex; - animation.addByPrefix('idle', 'Dad idle dance', 24); - animation.addByPrefix('singUP', 'Dad Sing Note UP', 24); - animation.addByPrefix('singRIGHT', 'Dad Sing Note RIGHT', 24); - animation.addByPrefix('singDOWN', 'Dad Sing Note DOWN', 24); - animation.addByPrefix('singLEFT', 'Dad Sing Note LEFT', 24); + animation.addByPrefix('idle', 'Dad idle dance', 24, false); + animation.addByPrefix('singUP', 'Dad Sing Note UP', 24, false); + animation.addByPrefix('singRIGHT', 'Dad Sing Note RIGHT', 24, false); + animation.addByPrefix('singDOWN', 'Dad Sing Note DOWN', 24, false); + animation.addByPrefix('singLEFT', 'Dad Sing Note LEFT', 24, false); loadOffsetFile(curCharacter); @@ -181,7 +178,7 @@ class Character extends FlxSprite case 'pico': tex = Paths.getSparrowAtlas('Pico_FNF_assetss','shared',true); frames = tex; - animation.addByPrefix('idle', "Pico Idle Dance", 24); + animation.addByPrefix('idle', "Pico Idle Dance", 24, false); animation.addByPrefix('singUP', 'pico Up note0', 24, false); animation.addByPrefix('singDOWN', 'Pico Down Note0', 24, false); if (isPlayer) diff --git a/source/ChartingState.hx b/source/ChartingState.hx index 880ad24..e3a8bd7 100644 --- a/source/ChartingState.hx +++ b/source/ChartingState.hx @@ -2604,12 +2604,13 @@ class ChartingState extends MusicBeatState function loadJson(song:String):Void { + var difficultyArray:Array = ["-easy", "", "-hard"]; var format = StringTools.replace(PlayState.SONG.song.toLowerCase(), " ", "-"); switch (format) { case 'Dad-Battle': format = 'Dadbattle'; case 'Philly-Nice': format = 'Philly'; } - PlayState.SONG = Song.loadFromJson(format, format); + PlayState.SONG = Song.loadFromJson(format + difficultyArray[PlayState.storyDifficulty], format); LoadingState.loadAndSwitchState(new ChartingState()); } @@ -2629,6 +2630,7 @@ class ChartingState extends MusicBeatState private function saveLevel() { + var difficultyArray:Array = ["-easy", "", "-hard"]; var json = { "song": _song }; @@ -2641,7 +2643,7 @@ class ChartingState extends MusicBeatState _file.addEventListener(Event.COMPLETE, onSaveComplete); _file.addEventListener(Event.CANCEL, onSaveCancel); _file.addEventListener(IOErrorEvent.IO_ERROR, onSaveError); - _file.save(data.trim(), _song.song.toLowerCase() + ".json"); + _file.save(data.trim(), _song.song.toLowerCase() + difficultyArray[PlayState.storyDifficulty] + ".json"); } } diff --git a/source/DiffOverview.hx b/source/DiffOverview.hx index 4f27fcc..2a11393 100644 --- a/source/DiffOverview.hx +++ b/source/DiffOverview.hx @@ -89,10 +89,7 @@ class DiffOverview extends FlxSubState babyArrow.animation.addByPrefix('blue', 'arrowDOWN'); babyArrow.animation.addByPrefix('purple', 'arrowLEFT'); babyArrow.animation.addByPrefix('red', 'arrowRIGHT'); - if(FlxG.save.data.antialiasing) - { - babyArrow.antialiasing = true; - } + babyArrow.antialiasing = FlxG.save.data.antialiasing; babyArrow.setGraphicSize(Std.int(babyArrow.width * 0.7)); switch (Math.abs(i)) diff --git a/source/FreeplayState.hx b/source/FreeplayState.hx index 96d0c30..59509c0 100644 --- a/source/FreeplayState.hx +++ b/source/FreeplayState.hx @@ -179,10 +179,7 @@ class FreeplayState extends MusicBeatState // LOAD CHARACTERS var bg:FlxSprite = new FlxSprite().loadGraphic(Paths.image('menuBGBlue')); - if(FlxG.save.data.antialiasing) - { - bg.antialiasing = true; - } + bg.antialiasing = FlxG.save.data.antialiasing; add(bg); grpSongs = new FlxTypedGroup(); diff --git a/source/GameOverState.hx b/source/GameOverState.hx index 250095e..905500d 100644 --- a/source/GameOverState.hx +++ b/source/GameOverState.hx @@ -23,12 +23,13 @@ class GameOverState extends FlxTransitionableState override function create() { - var loser:FlxSprite = new FlxSprite(100, 100); - var loseTex = Paths.getSparrowAtlas('lose'); - loser.frames = loseTex; - loser.animation.addByPrefix('lose', 'lose', 24, false); - loser.animation.play('lose'); - add(loser); + var loser:FlxSprite = new FlxSprite(100, 100); + var loseTex = Paths.getSparrowAtlas('lose'); + loser.frames = loseTex; + loser.animation.addByPrefix('lose', 'lose', 24, false); + loser.animation.play('lose'); + loser.antialiasing = FlxG.save.data.antialiasing; + add(loser); var bf:Boyfriend = new Boyfriend(bfX, bfY); // bf.scrollFactor.set(); @@ -37,15 +38,12 @@ class GameOverState extends FlxTransitionableState FlxG.camera.follow(bf, LOCKON, 0.001); - var restart:FlxSprite = new FlxSprite(500, 50).loadGraphic(Paths.image('restart')); - restart.setGraphicSize(Std.int(restart.width * 0.6)); - restart.updateHitbox(); - restart.alpha = 0; - if(FlxG.save.data.antialiasing) - { - restart.antialiasing = true; - } - add(restart); + var restart:FlxSprite = new FlxSprite(500, 50).loadGraphic(Paths.image('restart')); + restart.setGraphicSize(Std.int(restart.width * 0.6)); + restart.updateHitbox(); + restart.alpha = 0; + restart.antialiasing = FlxG.save.data.antialiasing; + add(restart); FlxG.sound.music.fadeOut(2, FlxG.sound.music.volume * 0.6); diff --git a/source/GameplayCustomizeState.hx b/source/GameplayCustomizeState.hx index 03f66d1..ff664dd 100644 --- a/source/GameplayCustomizeState.hx +++ b/source/GameplayCustomizeState.hx @@ -47,10 +47,14 @@ class GameplayCustomizeState extends MusicBeatState #end sick = new FlxSprite().loadGraphic(Paths.image('sick','shared')); + sick.antialiasing = FlxG.save.data.antialiasing; sick.scrollFactor.set(); background = new FlxSprite(-600, -200).loadGraphic(Paths.image('stageback','shared')); curt = new FlxSprite(-500, -300).loadGraphic(Paths.image('stagecurtains','shared')); front = new FlxSprite(-650, 600).loadGraphic(Paths.image('stagefront','shared')); + background.antialiasing = FlxG.save.data.antialiasing; + curt.antialiasing = FlxG.save.data.antialiasing; + front.antialiasing = FlxG.save.data.antialiasing; //Conductor.changeBPM(102); persistentUpdate = true; @@ -232,7 +236,7 @@ class GameplayCustomizeState extends MusicBeatState babyArrow.animation.addByPrefix('blue', 'arrowDOWN'); babyArrow.animation.addByPrefix('purple', 'arrowLEFT'); babyArrow.animation.addByPrefix('red', 'arrowRIGHT'); - babyArrow.antialiasing = true; + babyArrow.antialiasing = FlxG.save.data.antialiasing; babyArrow.setGraphicSize(Std.int(babyArrow.width * 0.7)); switch (Math.abs(i)) { diff --git a/source/GitarooPause.hx b/source/GitarooPause.hx index a8c5f99..1e35766 100644 --- a/source/GitarooPause.hx +++ b/source/GitarooPause.hx @@ -22,20 +22,14 @@ class GitarooPause extends MusicBeatState FlxG.sound.music.stop(); var bg:FlxSprite = new FlxSprite().loadGraphic(Paths.image('pauseAlt/pauseBG')); - if(FlxG.save.data.antialiasing) - { - bg.antialiasing = true; - } + bg.antialiasing = FlxG.save.data.antialiasing; add(bg); var bf:FlxSprite = new FlxSprite(0, 30); bf.frames = Paths.getSparrowAtlas('pauseAlt/bfLol'); bf.animation.addByPrefix('lol', "funnyThing", 13); bf.animation.play('lol'); - if(FlxG.save.data.antialiasing) - { - bf.antialiasing = true; - } + bf.antialiasing = FlxG.save.data.antialiasing; add(bf); bf.screenCenter(X); @@ -44,10 +38,7 @@ class GitarooPause extends MusicBeatState replayButton.animation.addByPrefix('selected', 'bluereplay', 0, false); replayButton.animation.appendByPrefix('selected', 'yellowreplay'); replayButton.animation.play('selected'); - if(FlxG.save.data.antialiasing) - { - replayButton.antialiasing = true; - } + replayButton.antialiasing = FlxG.save.data.antialiasing; add(replayButton); cancelButton = new FlxSprite(FlxG.width * 0.58, replayButton.y); @@ -55,10 +46,7 @@ class GitarooPause extends MusicBeatState cancelButton.animation.addByPrefix('selected', 'bluecancel', 0, false); cancelButton.animation.appendByPrefix('selected', 'cancelyellow'); cancelButton.animation.play('selected'); - if(FlxG.save.data.antialiasing) - { - cancelButton.antialiasing = true; - } + cancelButton.antialiasing = FlxG.save.data.antialiasing; add(cancelButton); changeThing(); diff --git a/source/HealthIcon.hx b/source/HealthIcon.hx index 8104468..cd380d2 100644 --- a/source/HealthIcon.hx +++ b/source/HealthIcon.hx @@ -25,16 +25,7 @@ class HealthIcon extends FlxSprite isPlayer = isOldIcon = false; - if (FlxG.save.data.antialiasing) - { - switch(char) - { - case 'bf-pixel' | 'senpai' | 'senpai-angry' | 'spirit' | 'gf-pixel': - antialiasing = false; - default: - antialiasing = true; - } - } + antialiasing = FlxG.save.data.antialiasing; changeIcon(char); scrollFactor.set(); @@ -51,6 +42,10 @@ class HealthIcon extends FlxSprite char = char.split("-")[0]; loadGraphic(Paths.image('icons/icon-' + char), true, 150, 150); + if(char.endsWith('-pixel') || char.startsWith('senpai') || char.startsWith('spirit')) + antialiasing = false + else + antialiasing = FlxG.save.data.antialiasing; animation.add(char, [0, 1], 0, false, isPlayer); animation.play(char); } diff --git a/source/LoadReplayState.hx b/source/LoadReplayState.hx index 3688a6b..b4df680 100644 --- a/source/LoadReplayState.hx +++ b/source/LoadReplayState.hx @@ -71,10 +71,7 @@ class LoadReplayState extends MusicBeatState menuBG.setGraphicSize(Std.int(menuBG.width * 1.1)); menuBG.updateHitbox(); menuBG.screenCenter(); - if(FlxG.save.data.antialiasing) - { - menuBG.antialiasing = true; - } + menuBG.antialiasing = FlxG.save.data.antialiasing; add(menuBG); grpControls = new FlxTypedGroup(); diff --git a/source/LoadingState.hx b/source/LoadingState.hx index 6609fa4..6ef20fa 100644 --- a/source/LoadingState.hx +++ b/source/LoadingState.hx @@ -38,10 +38,7 @@ class LoadingState extends MusicBeatState { logo = new FlxSprite(-150, -100); logo.frames = Paths.getSparrowAtlas('logoBumpin'); - if(FlxG.save.data.antialiasing) - { - logo.antialiasing = true; - } + logo.antialiasing = FlxG.save.data.antialiasing; logo.animation.addByPrefix('bump', 'logo bumpin', 24); logo.animation.play('bump'); logo.updateHitbox(); @@ -52,10 +49,7 @@ class LoadingState extends MusicBeatState 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); - if(FlxG.save.data.antialiasing) - { - gfDance.antialiasing = true; - } + gfDance.antialiasing = FlxG.save.data.antialiasing; add(gfDance); add(logo); diff --git a/source/MainMenuState.hx b/source/MainMenuState.hx index 543421b..774dbae 100644 --- a/source/MainMenuState.hx +++ b/source/MainMenuState.hx @@ -67,10 +67,7 @@ class MainMenuState extends MusicBeatState bg.setGraphicSize(Std.int(bg.width * 1.1)); bg.updateHitbox(); bg.screenCenter(); - if(FlxG.save.data.antialiasing) - { - bg.antialiasing = true; - } + bg.antialiasing = FlxG.save.data.antialiasing; add(bg); camFollow = new FlxObject(0, 0, 1, 1); @@ -83,10 +80,7 @@ class MainMenuState extends MusicBeatState magenta.updateHitbox(); magenta.screenCenter(); magenta.visible = false; - if(FlxG.save.data.antialiasing) - { - magenta.antialiasing = true; - } + magenta.antialiasing = FlxG.save.data.antialiasing; magenta.color = 0xFFfd719b; add(magenta); // magenta.scrollFactor.set(); @@ -107,10 +101,7 @@ class MainMenuState extends MusicBeatState menuItem.screenCenter(X); menuItems.add(menuItem); menuItem.scrollFactor.set(); - if(FlxG.save.data.antialiasing) - { - menuItem.antialiasing = true; - } + menuItem.antialiasing = FlxG.save.data.antialiasing; if (firstStart) FlxTween.tween(menuItem,{y: 60 + (i * 160)},1 + (i * 0.25) ,{ease: FlxEase.expoInOut, onComplete: function(flxTween:FlxTween) { diff --git a/source/MenuCharacter.hx b/source/MenuCharacter.hx index c35e25a..567b5c6 100644 --- a/source/MenuCharacter.hx +++ b/source/MenuCharacter.hx @@ -44,10 +44,7 @@ class MenuCharacter extends FlxSprite super(x, y); this.flipped = flipped; - if(FlxG.save.data.antialiasing) - { - antialiasing = true; - } + antialiasing = FlxG.save.data.antialiasing; frames = Paths.getSparrowAtlas('campaign_menu_UI_characters'); diff --git a/source/Note.hx b/source/Note.hx index 428a505..ac1fd6d 100644 --- a/source/Note.hx +++ b/source/Note.hx @@ -119,10 +119,7 @@ class Note extends FlxSprite setGraphicSize(Std.int(width * 0.7)); updateHitbox(); - if(FlxG.save.data.antialiasing) - { - antialiasing = true; - } + antialiasing = FlxG.save.data.antialiasing; } else { @@ -159,10 +156,7 @@ class Note extends FlxSprite setGraphicSize(Std.int(width * 0.7)); updateHitbox(); - if(FlxG.save.data.antialiasing) - { - antialiasing = true; - } + antialiasing = FlxG.save.data.antialiasing; } } @@ -193,6 +187,7 @@ class Note extends FlxSprite // and flip it so it doesn't look weird. // THIS DOESN'T FUCKING FLIP THE NOTE, CONTRIBUTERS DON'T JUST COMMENT THIS OUT JESUS // then what is this lol + // BRO IT LITERALLY SAYS IT FLIPS IF ITS A TRAIL AND ITS DOWNSCROLL if (FlxG.save.data.downscroll && sustainNote) flipY = true; @@ -275,7 +270,7 @@ class Note extends FlxSprite wasGoodHit = true; } - if (tooLate) + if (tooLate && !wasGoodHit) { if (alpha > 0.3) alpha = 0.3; diff --git a/source/OptionsMenu.hx b/source/OptionsMenu.hx index 87a6b56..cf5199e 100644 --- a/source/OptionsMenu.hx +++ b/source/OptionsMenu.hx @@ -92,10 +92,7 @@ class OptionsMenu extends MusicBeatState menuBG.setGraphicSize(Std.int(menuBG.width * 1.1)); menuBG.updateHitbox(); menuBG.screenCenter(); - if(FlxG.save.data.antialiasing) - { - menuBG.antialiasing = true; - } + menuBG.antialiasing = FlxG.save.data.antialiasing; add(menuBG); grpControls = new FlxTypedGroup(); diff --git a/source/OutdatedSubState.hx b/source/OutdatedSubState.hx index c825c50..899c2fd 100644 --- a/source/OutdatedSubState.hx +++ b/source/OutdatedSubState.hx @@ -32,10 +32,7 @@ class OutdatedSubState extends MusicBeatState bg.scale.x *= 1.55; bg.scale.y *= 1.55; bg.screenCenter(); - if(FlxG.save.data.antialiasing) - { - bg.antialiasing = true; - } + bg.antialiasing = FlxG.save.data.antialiasing; add(bg); var kadeLogo:FlxSprite = new FlxSprite(FlxG.width, 0).loadGraphic(Paths.image('KadeEngineLogo')); @@ -44,10 +41,7 @@ class OutdatedSubState extends MusicBeatState kadeLogo.x -= kadeLogo.frameHeight; kadeLogo.y -= 180; kadeLogo.alpha = 0.8; - if(FlxG.save.data.antialiasing) - { - kadeLogo.antialiasing = true; - } + kadeLogo.antialiasing = FlxG.save.data.antialiasing; add(kadeLogo); var txt:FlxText = new FlxText(0, 0, FlxG.width, diff --git a/source/PlayState.hx b/source/PlayState.hx index 84a8a65..331c468 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -538,10 +538,7 @@ class PlayState extends MusicBeatState halloweenBG.animation.addByPrefix('idle', 'halloweem bg0'); halloweenBG.animation.addByPrefix('lightning', 'halloweem bg lightning strike', 24, false); halloweenBG.animation.play('idle'); - if(FlxG.save.data.antialiasing) - { - halloweenBG.antialiasing = true; - } + halloweenBG.antialiasing = FlxG.save.data.antialiasing; add(halloweenBG); isHalloween = true; @@ -573,10 +570,7 @@ class PlayState extends MusicBeatState light.visible = false; light.setGraphicSize(Std.int(light.width * 0.85)); light.updateHitbox(); - if(FlxG.save.data.antialiasing) - { - light.antialiasing = true; - } + light.antialiasing = FlxG.save.data.antialiasing; phillyCityLights.add(light); } @@ -604,6 +598,7 @@ class PlayState extends MusicBeatState var skyBG:FlxSprite = new FlxSprite(-120, -50).loadGraphic(Paths.image('limo/limoSunset', 'week4')); skyBG.scrollFactor.set(0.1, 0.1); + skyBG.antialiasing = FlxG.save.data.antialiasing; add(skyBG); var bgLimo:FlxSprite = new FlxSprite(-200, 480); @@ -611,6 +606,7 @@ class PlayState extends MusicBeatState bgLimo.animation.addByPrefix('drive', "background limo pink", 24); bgLimo.animation.play('drive'); bgLimo.scrollFactor.set(0.4, 0.4); + bgLimo.antialiasing = FlxG.save.data.antialiasing; add(bgLimo); if (FlxG.save.data.distractions) { @@ -641,12 +637,10 @@ class PlayState extends MusicBeatState limo.frames = limoTex; limo.animation.addByPrefix('drive', "Limo stage", 24); limo.animation.play('drive'); - if(FlxG.save.data.antialiasing) - { - limo.antialiasing = true; - } + limo.antialiasing = FlxG.save.data.antialiasing; fastCar = new FlxSprite(-300, 160).loadGraphic(Paths.image('limo/fastCarLol', 'week4')); + fastCar.antialiasing = FlxG.save.data.antialiasing; // add(limo); } case 'mall': @@ -656,10 +650,7 @@ class PlayState extends MusicBeatState defaultCamZoom = 0.80; var bg:FlxSprite = new FlxSprite(-1000, -500).loadGraphic(Paths.image('christmas/bgWalls', 'week5')); - if(FlxG.save.data.antialiasing) - { - bg.antialiasing = true; - } + bg.antialiasing = FlxG.save.data.antialiasing; bg.scrollFactor.set(0.2, 0.2); bg.active = false; bg.setGraphicSize(Std.int(bg.width * 0.8)); @@ -669,10 +660,7 @@ class PlayState extends MusicBeatState upperBoppers = new FlxSprite(-240, -90); upperBoppers.frames = Paths.getSparrowAtlas('christmas/upperBop', 'week5'); upperBoppers.animation.addByPrefix('bop', "Upper Crowd Bob", 24, false); - if(FlxG.save.data.antialiasing) - { - upperBoppers.antialiasing = true; - } + upperBoppers.antialiasing = FlxG.save.data.antialiasing; upperBoppers.scrollFactor.set(0.33, 0.33); upperBoppers.setGraphicSize(Std.int(upperBoppers.width * 0.85)); upperBoppers.updateHitbox(); @@ -682,10 +670,7 @@ class PlayState extends MusicBeatState } var bgEscalator:FlxSprite = new FlxSprite(-1100, -600).loadGraphic(Paths.image('christmas/bgEscalator', 'week5')); - if(FlxG.save.data.antialiasing) - { - bgEscalator.antialiasing = true; - } + bgEscalator.antialiasing = FlxG.save.data.antialiasing; bgEscalator.scrollFactor.set(0.3, 0.3); bgEscalator.active = false; bgEscalator.setGraphicSize(Std.int(bgEscalator.width * 0.9)); @@ -693,20 +678,14 @@ class PlayState extends MusicBeatState add(bgEscalator); var tree:FlxSprite = new FlxSprite(370, -250).loadGraphic(Paths.image('christmas/christmasTree', 'week5')); - if(FlxG.save.data.antialiasing) - { - tree.antialiasing = true; - } + tree.antialiasing = FlxG.save.data.antialiasing; tree.scrollFactor.set(0.40, 0.40); add(tree); bottomBoppers = new FlxSprite(-300, 140); bottomBoppers.frames = Paths.getSparrowAtlas('christmas/bottomBop', 'week5'); bottomBoppers.animation.addByPrefix('bop', 'Bottom Level Boppers', 24, false); - if(FlxG.save.data.antialiasing) - { - bottomBoppers.antialiasing = true; - } + bottomBoppers.antialiasing = FlxG.save.data.antialiasing; bottomBoppers.scrollFactor.set(0.9, 0.9); bottomBoppers.setGraphicSize(Std.int(bottomBoppers.width * 1)); bottomBoppers.updateHitbox(); @@ -717,19 +696,13 @@ class PlayState extends MusicBeatState var fgSnow:FlxSprite = new FlxSprite(-600, 700).loadGraphic(Paths.image('christmas/fgSnow', 'week5')); fgSnow.active = false; - if(FlxG.save.data.antialiasing) - { - fgSnow.antialiasing = true; - } + fgSnow.antialiasing = FlxG.save.data.antialiasing; add(fgSnow); santa = new FlxSprite(-840, 150); santa.frames = Paths.getSparrowAtlas('christmas/santa', 'week5'); santa.animation.addByPrefix('idle', 'santa idle in fear', 24, false); - if(FlxG.save.data.antialiasing) - { - santa.antialiasing = true; - } + santa.antialiasing = FlxG.save.data.antialiasing; if (FlxG.save.data.distractions) { add(santa); @@ -739,10 +712,7 @@ class PlayState extends MusicBeatState { curStage = 'mallEvil'; var bg:FlxSprite = new FlxSprite(-400, -500).loadGraphic(Paths.image('christmas/evilBG', 'week5')); - if(FlxG.save.data.antialiasing) - { - bg.antialiasing = true; - } + bg.antialiasing = FlxG.save.data.antialiasing; bg.scrollFactor.set(0.2, 0.2); bg.active = false; bg.setGraphicSize(Std.int(bg.width * 0.8)); @@ -750,18 +720,12 @@ class PlayState extends MusicBeatState add(bg); var evilTree:FlxSprite = new FlxSprite(300, -300).loadGraphic(Paths.image('christmas/evilTree', 'week5')); - if(FlxG.save.data.antialiasing) - { - evilTree.antialiasing = true; - } + evilTree.antialiasing = FlxG.save.data.antialiasing; evilTree.scrollFactor.set(0.2, 0.2); add(evilTree); var evilSnow:FlxSprite = new FlxSprite(-200, 700).loadGraphic(Paths.image("christmas/evilSnow", 'week5')); - if(FlxG.save.data.antialiasing) - { - evilSnow.antialiasing = true; - } + evilSnow.antialiasing = FlxG.save.data.antialiasing; add(evilSnow); } case 'school': @@ -901,10 +865,7 @@ class PlayState extends MusicBeatState defaultCamZoom = 0.9; curStage = 'stage'; var bg:FlxSprite = new FlxSprite(-600, -200).loadGraphic(Paths.image('stageback')); - if(FlxG.save.data.antialiasing) - { - bg.antialiasing = true; - } + bg.antialiasing = FlxG.save.data.antialiasing; bg.scrollFactor.set(0.9, 0.9); bg.active = false; add(bg); @@ -912,10 +873,7 @@ class PlayState extends MusicBeatState var stageFront:FlxSprite = new FlxSprite(-650, 600).loadGraphic(Paths.image('stagefront')); stageFront.setGraphicSize(Std.int(stageFront.width * 1.1)); stageFront.updateHitbox(); - if(FlxG.save.data.antialiasing) - { - stageFront.antialiasing = true; - } + stageFront.antialiasing = FlxG.save.data.antialiasing; stageFront.scrollFactor.set(0.9, 0.9); stageFront.active = false; add(stageFront); @@ -923,10 +881,7 @@ class PlayState extends MusicBeatState var stageCurtains:FlxSprite = new FlxSprite(-500, -300).loadGraphic(Paths.image('stagecurtains')); stageCurtains.setGraphicSize(Std.int(stageCurtains.width * 0.9)); stageCurtains.updateHitbox(); - if(FlxG.save.data.antialiasing) - { - stageCurtains.antialiasing = true; - } + stageCurtains.antialiasing = FlxG.save.data.antialiasing; stageCurtains.scrollFactor.set(1.3, 1.3); stageCurtains.active = false; @@ -2079,10 +2034,7 @@ class PlayState extends MusicBeatState babyArrow.x += Note.swagWidth * i; - if(FlxG.save.data.antialiasing) - { - babyArrow.antialiasing = true; - } + babyArrow.antialiasing = FlxG.save.data.antialiasing; babyArrow.setGraphicSize(Std.int(babyArrow.width * 0.7)); } @@ -2995,7 +2947,7 @@ class PlayState extends MusicBeatState // If not in botplay, only clip sustain notes when properly hit, botplay gets to clip it everytime if (!PlayStateChangeables.botPlay) { - if ((!daNote.mustPress || daNote.wasGoodHit || daNote.prevNote.wasGoodHit && !daNote.canBeHit) + if ((!daNote.mustPress || daNote.wasGoodHit || daNote.prevNote.wasGoodHit || holdArray[Math.floor(Math.abs(daNote.noteData))] && !daNote.tooLate) && daNote.y - daNote.offset.y * daNote.scale.y + daNote.height >= (strumLine.y + Note.swagWidth / 2)) { // Clip to strumline @@ -3036,7 +2988,7 @@ class PlayState extends MusicBeatState if (!PlayStateChangeables.botPlay) { - if ((!daNote.mustPress || daNote.wasGoodHit || daNote.prevNote.wasGoodHit && !daNote.canBeHit) + if ((!daNote.mustPress || daNote.wasGoodHit || daNote.prevNote.wasGoodHit || holdArray[Math.floor(Math.abs(daNote.noteData))] && !daNote.tooLate) && daNote.y + daNote.offset.y * daNote.scale.y <= (strumLine.y + Note.swagWidth / 2)) { // Clip to strumline @@ -3148,7 +3100,13 @@ class PlayState extends MusicBeatState // WIP interpolation shit? Need to fix the pause issue // daNote.y = (strumLine.y - (songTime - daNote.strumTime) * (0.45 * PlayState.SONG.speed)); - if ((daNote.mustPress && daNote.tooLate && !PlayStateChangeables.useDownscroll || daNote.mustPress && daNote.tooLate + if (daNote.isSustainNote && daNote.wasGoodHit && Conductor.songPosition >= daNote.strumTime) + { + daNote.kill(); + notes.remove(daNote, true); + daNote.destroy(); + } + else if ((daNote.mustPress && daNote.tooLate && !PlayStateChangeables.useDownscroll || daNote.mustPress && daNote.tooLate && PlayStateChangeables.useDownscroll) && daNote.mustPress) { @@ -3624,15 +3582,9 @@ class PlayState extends MusicBeatState if (!curStage.startsWith('school')) { rating.setGraphicSize(Std.int(rating.width * 0.7)); - if(FlxG.save.data.antialiasing) - { - rating.antialiasing = true; - } + rating.antialiasing = FlxG.save.data.antialiasing; comboSpr.setGraphicSize(Std.int(comboSpr.width * 0.7)); - if(FlxG.save.data.antialiasing) - { - comboSpr.antialiasing = true; - } + comboSpr.antialiasing = FlxG.save.data.antialiasing; } else { @@ -3681,10 +3633,7 @@ class PlayState extends MusicBeatState if (!curStage.startsWith('school')) { - if(FlxG.save.data.antialiasing) - { - numScore.antialiasing = true; - } + numScore.antialiasing = FlxG.save.data.antialiasing; numScore.setGraphicSize(Std.int(numScore.width * 0.5)); } else @@ -4312,9 +4261,16 @@ class PlayState extends MusicBeatState } }); - note.kill(); - notes.remove(note, true); - note.destroy(); + if (!note.isSustainNote) + { + note.kill(); + notes.remove(note, true); + note.destroy(); + } + else + { + note.wasGoodHit = true; + } updateAccuracy(); } diff --git a/source/StoryMenuState.hx b/source/StoryMenuState.hx index ce2d49d..b2bcce0 100644 --- a/source/StoryMenuState.hx +++ b/source/StoryMenuState.hx @@ -146,10 +146,7 @@ class StoryMenuState extends MusicBeatState grpWeekText.add(weekThing); weekThing.screenCenter(X); - if(FlxG.save.data.antialiasing) - { - weekThing.antialiasing = true; - } + weekThing.antialiasing = FlxG.save.data.antialiasing; // weekThing.updateHitbox(); // Needs an offset thingie @@ -161,10 +158,7 @@ class StoryMenuState extends MusicBeatState lock.animation.addByPrefix('lock', 'lock'); lock.animation.play('lock'); lock.ID = i; - if(FlxG.save.data.antialiasing) - { - lock.antialiasing = true; - } + lock.antialiasing = FlxG.save.data.antialiasing; grpLocks.add(lock); } } diff --git a/source/TitleState.hx b/source/TitleState.hx index 1a42555..f0017ba 100644 --- a/source/TitleState.hx +++ b/source/TitleState.hx @@ -122,7 +122,7 @@ class TitleState extends MusicBeatState persistentUpdate = true; var bg:FlxSprite = new FlxSprite().makeGraphic(FlxG.width, FlxG.height, FlxColor.BLACK); - // bg.antialiasing = true; + // bg.antialiasing = FlxG.save.data.antialiasing; // bg.setGraphicSize(Std.int(bg.width * 0.6)); // bg.updateHitbox(); add(bg); @@ -134,10 +134,7 @@ class TitleState extends MusicBeatState logoBl = new FlxSprite(-150, -100); logoBl.frames = Paths.getSparrowAtlas('logoBumpin'); } - if(FlxG.save.data.antialiasing) - { - logoBl.antialiasing = true; - } + logoBl.antialiasing = FlxG.save.data.antialiasing; logoBl.animation.addByPrefix('bump', 'logo bumpin', 24, false); logoBl.updateHitbox(); // logoBl.screenCenter(); @@ -147,10 +144,7 @@ class TitleState extends MusicBeatState 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); - if(FlxG.save.data.antialiasing) - { - gfDance.antialiasing = true; - } + gfDance.antialiasing = FlxG.save.data.antialiasing; add(gfDance); add(logoBl); @@ -158,10 +152,7 @@ class TitleState extends MusicBeatState titleText.frames = Paths.getSparrowAtlas('titleEnter'); titleText.animation.addByPrefix('idle', "Press Enter to Begin", 24); titleText.animation.addByPrefix('press', "ENTER PRESSED", 24); - if(FlxG.save.data.antialiasing) - { - titleText.antialiasing = true; - } + titleText.antialiasing = FlxG.save.data.antialiasing; titleText.animation.play('idle'); titleText.updateHitbox(); // titleText.screenCenter(X); @@ -169,10 +160,7 @@ class TitleState extends MusicBeatState var logo:FlxSprite = new FlxSprite().loadGraphic(Paths.image('logo')); logo.screenCenter(); - if(FlxG.save.data.antialiasing) - { - logo.antialiasing = true; - } + logo.antialiasing = FlxG.save.data.antialiasing; // add(logo); // FlxTween.tween(logoBl, {y: logoBl.y + 50}, 0.6, {ease: FlxEase.quadInOut, type: PINGPONG}); @@ -198,10 +186,7 @@ class TitleState extends MusicBeatState ngSpr.setGraphicSize(Std.int(ngSpr.width * 0.8)); ngSpr.updateHitbox(); ngSpr.screenCenter(X); - if(FlxG.save.data.antialiasing) - { - ngSpr.antialiasing = true; - } + ngSpr.antialiasing = FlxG.save.data.antialiasing; FlxTween.tween(credTextShit, {y: credTextShit.y + 20}, 2.9, {ease: FlxEase.quadInOut, type: PINGPONG});