diff --git a/art b/art index bfb99631f..f4acf8d6e 160000 --- a/art +++ b/art @@ -1 +1 @@ -Subproject commit bfb99631f899493b599e1dee49a029b8ec18f16a +Subproject commit f4acf8d6e1981ea4d1a28e7e512e335b2a4f261f diff --git a/assets b/assets index b0bd61a2f..37fa62d8e 160000 --- a/assets +++ b/assets @@ -1 +1 @@ -Subproject commit b0bd61a2f0fa9be900a236f20662601bd4d81a1d +Subproject commit 37fa62d8e88b7a7023e689ef52d8a5c527cd4618 diff --git a/source/funkin/FreeplayState.hx b/source/funkin/FreeplayState.hx index 7aedb5ae2..5e3e896e2 100644 --- a/source/funkin/FreeplayState.hx +++ b/source/funkin/FreeplayState.hx @@ -38,6 +38,7 @@ import funkin.play.PlayStatePlaylist; import funkin.play.song.Song; import lime.app.Future; import lime.utils.Assets; +import funkin.graphics.adobeanimate.FlxAtlasSprite; class FreeplayState extends MusicBeatSubState { @@ -312,6 +313,40 @@ class FreeplayState extends MusicBeatSubState grpDifficulties.group.members[curDifficulty].visible = true; + var albumArt:FlxAtlasSprite = new FlxAtlasSprite(640, 360, Paths.animateAtlas("freeplay/albumRoll")); + albumArt.visible = false; + add(albumArt); + + exitMovers.set([albumArt], + { + x: FlxG.width, + speed: 0.4, + wait: 0 + }); + + var albumTitle:FlxSprite = new FlxSprite(947, 491).loadGraphic(Paths.image('freeplay/albumTitle-fnfvol1')); + var albumArtist:FlxSprite = new FlxSprite(1010, 607).loadGraphic(Paths.image('freeplay/albumArtist-kawaisprite')); + + albumTitle.visible = false; + albumArtist.visible = false; + + exitMovers.set([albumTitle], + { + x: FlxG.width, + speed: 0.2, + wait: 0.1 + }); + + exitMovers.set([albumArtist], + { + x: FlxG.width * 1.1, + speed: 0.2, + wait: 0.2 + }); + + add(albumTitle); + add(albumArtist); + var overhangStuff:FlxSprite = new FlxSprite().makeGraphic(FlxG.width, 64, FlxColor.BLACK); overhangStuff.y -= overhangStuff.height; add(overhangStuff); @@ -371,7 +406,7 @@ class FreeplayState extends MusicBeatSubState case "fav": generateSongList({filterType: FAVORITE}, true); case "ALL": - // generateSongList(null, true); + generateSongList(null, true); default: generateSongList({filterType: REGEXP, filterData: str}, true); } @@ -384,6 +419,22 @@ class FreeplayState extends MusicBeatSubState }); dj.onIntroDone.add(function() { + // when boyfriend hits dat shiii + // + albumArt.visible = true; + albumArt.anim.play(""); + albumArt.anim.onComplete = function() { + albumArt.anim.pause(); + }; + + new FlxTimer().start(1, function(_) { + albumTitle.visible = true; + }); + + new FlxTimer().start(35 / 24, function(_) { + albumArtist.visible = true; + }); + FlxTween.tween(grpDifficulties, {x: 90}, 0.6, {ease: FlxEase.quartOut}); var diffSelLeft = new DifficultySelector(20, grpDifficulties.y - 10, false, controls);