From 341a088f5f4689304a50fd507175482ce240e90c Mon Sep 17 00:00:00 2001 From: Yoshman29 <81191621+YoshiCrafter29@users.noreply.github.com> Date: Thu, 17 Nov 2022 23:16:45 +0100 Subject: [PATCH] e --- buildnumber.txt | 2 +- source/funkin/menus/PauseSubState.hx | 5 +- source/funkin/menus/StoryMenuState_old.hx | 475 ---------------------- 3 files changed, 5 insertions(+), 477 deletions(-) delete mode 100644 source/funkin/menus/StoryMenuState_old.hx diff --git a/buildnumber.txt b/buildnumber.txt index 3b2a35fa..04602d5d 100644 --- a/buildnumber.txt +++ b/buildnumber.txt @@ -1 +1 @@ -1293 \ No newline at end of file +1296 \ No newline at end of file diff --git a/source/funkin/menus/PauseSubState.hx b/source/funkin/menus/PauseSubState.hx index e7822fe6..43b14107 100644 --- a/source/funkin/menus/PauseSubState.hx +++ b/source/funkin/menus/PauseSubState.hx @@ -1,5 +1,6 @@ package funkin.menus; +import flixel.FlxCamera; import funkin.scripting.events.PauseCreationEvent; import funkin.scripting.events.NameEvent; import funkin.scripting.Script; @@ -95,7 +96,9 @@ class PauseSubState extends MusicBeatSubstate changeSelection(); - cameras = [FlxG.cameras.list[FlxG.cameras.list.length - 1]]; + camera = new FlxCamera(); + camera.bgColor = 0; + FlxG.cameras.add(camera, false); pauseScript.call("postCreate"); } diff --git a/source/funkin/menus/StoryMenuState_old.hx b/source/funkin/menus/StoryMenuState_old.hx deleted file mode 100644 index 11cf635a..00000000 --- a/source/funkin/menus/StoryMenuState_old.hx +++ /dev/null @@ -1,475 +0,0 @@ -package funkin.menus; - -#if desktop -import funkin.system.Discord.DiscordClient; -#end -import flixel.FlxG; -import flixel.FlxSprite; -import flixel.addons.transition.FlxTransitionableState; -import flixel.graphics.frames.FlxAtlasFrames; -import flixel.group.FlxGroup.FlxTypedGroup; -import flixel.group.FlxGroup; -import flixel.math.FlxMath; -import flixel.text.FlxText; -import flixel.tweens.FlxTween; -import flixel.util.FlxColor; -import flixel.util.FlxTimer; -import lime.net.curl.CURLCode; -import funkin.system.Song; -import funkin.game.Highscore; -import flixel.group.FlxSpriteGroup; - -using StringTools; - -class StoryMenuState extends MusicBeatState -{ - var scoreText:FlxText; - - var weekData:Array = [ - ['Tutorial'], - ['Bopeebo', 'Fresh', 'Dadbattle'], - ['Spookeez', 'South', "Monster"], - ['Pico', 'Philly', "Blammed"], - ['Satin-Panties', "High", "Milf"], - ['Cocoa', 'Eggnog', 'Winter-Horrorland'], - ['Senpai', 'Roses', 'Thorns'] - ]; - var curDifficulty:Int = 1; - - public static var weekUnlocked:Array = [true, true, true, true, true, true, true]; - - var weekCharacters:Array = [ - ['dad', 'bf', 'gf'], - ['dad', 'bf', 'gf'], - ['spooky', 'bf', 'gf'], - ['pico', 'bf', 'gf'], - ['mom', 'bf', 'gf'], - ['parents-christmas', 'bf', 'gf'], - ['senpai', 'bf', 'gf'] - ]; - - var weekNames:Array = [ - "", - "Daddy Dearest", - "Spooky Month", - "PICO", - "MOMMY MUST MURDER", - "RED SNOW", - "hating simulator ft. moawling" - ]; - - var txtWeekTitle:FlxText; - - var curWeek:Int = 0; - - var txtTracklist:FlxText; - - var grpWeekText:FlxTypedGroup; - var grpWeekCharacters:FlxTypedGroup; - - var grpLocks:FlxTypedGroup; - - var difficultySelectors:FlxGroup; - var sprDifficulty:FlxSprite; - var leftArrow:FlxSprite; - var rightArrow:FlxSprite; - - override function create() - { - CoolUtil.playMenuSong(); - - persistentUpdate = persistentDraw = true; - - scoreText = new FlxText(10, 10, 0, "SCORE: 49324858", 36); - scoreText.setFormat("VCR OSD Mono", 32); - - txtWeekTitle = new FlxText(FlxG.width * 0.7, 10, 0, "", 32); - txtWeekTitle.setFormat("VCR OSD Mono", 32, FlxColor.WHITE, RIGHT); - txtWeekTitle.alpha = 0.7; - - var ui_tex = Paths.getSparrowAtlas('menus/storymenu/assets'); - var yellowBG:FlxSprite = new FlxSprite(0, 56).makeGraphic(FlxG.width, 400, 0xFFF9CF51); - - grpWeekText = new FlxTypedGroup(); - add(grpWeekText); - - var blackBarThingie:FlxSprite = new FlxSprite().makeGraphic(FlxG.width, 56, FlxColor.BLACK); - add(blackBarThingie); - - grpWeekCharacters = new FlxTypedGroup(); - - grpLocks = new FlxTypedGroup(); - add(grpLocks); - - #if desktop - // Updating Discord Rich Presence - DiscordClient.changePresence("In the Menus", null); - #end - - for (i in 0...weekData.length) - { - var weekThing:MenuItem = new MenuItem(0, yellowBG.y + yellowBG.height + 10, i); - weekThing.y += ((weekThing.height + 20) * i); - weekThing.targetY = i; - grpWeekText.add(weekThing); - - weekThing.screenCenter(X); - weekThing.antialiasing = true; - // weekThing.updateHitbox(); - - // Needs an offset thingie - if (!weekUnlocked[i]) - { - var lock:FlxSprite = new FlxSprite(weekThing.width + 10 + weekThing.x); - lock.frames = ui_tex; - lock.animation.addByPrefix('lock', 'lock'); - lock.animation.play('lock'); - lock.ID = i; - lock.antialiasing = true; - grpLocks.add(lock); - } - } - - for (char in 0...3) - { - var weekCharacterThing:MenuCharacter = new MenuCharacter((FlxG.width * 0.25) * (1 + char) - 150, weekCharacters[curWeek][char]); - weekCharacterThing.y += 70; - weekCharacterThing.antialiasing = true; - switch (weekCharacterThing.character) - { - case 'dad': - weekCharacterThing.setGraphicSize(Std.int(weekCharacterThing.width * 0.5)); - weekCharacterThing.updateHitbox(); - - case 'bf': - weekCharacterThing.setGraphicSize(Std.int(weekCharacterThing.width * 0.9)); - weekCharacterThing.updateHitbox(); - weekCharacterThing.x -= 80; - case 'gf': - weekCharacterThing.setGraphicSize(Std.int(weekCharacterThing.width * 0.5)); - weekCharacterThing.updateHitbox(); - case 'pico': - weekCharacterThing.flipX = true; - case 'parents-christmas': - weekCharacterThing.setGraphicSize(Std.int(weekCharacterThing.width * 0.9)); - weekCharacterThing.updateHitbox(); - } - - grpWeekCharacters.add(weekCharacterThing); - } - - difficultySelectors = new FlxGroup(); - add(difficultySelectors); - - leftArrow = new FlxSprite(grpWeekText.members[0].x + grpWeekText.members[0].width + 10, grpWeekText.members[0].y + 10); - leftArrow.frames = ui_tex; - leftArrow.animation.addByPrefix('idle', "arrow left"); - leftArrow.animation.addByPrefix('press', "arrow push left"); - leftArrow.animation.play('idle'); - difficultySelectors.add(leftArrow); - - sprDifficulty = new FlxSprite(leftArrow.x + 130, leftArrow.y); - sprDifficulty.frames = ui_tex; - sprDifficulty.animation.addByPrefix('easy', 'EASY'); - sprDifficulty.animation.addByPrefix('normal', 'NORMAL'); - sprDifficulty.animation.addByPrefix('hard', 'HARD'); - sprDifficulty.animation.play('easy'); - changeDifficulty(); - - difficultySelectors.add(sprDifficulty); - - rightArrow = new FlxSprite(sprDifficulty.x + sprDifficulty.width + 50, leftArrow.y); - rightArrow.frames = ui_tex; - rightArrow.animation.addByPrefix('idle', 'arrow right'); - rightArrow.animation.addByPrefix('press', "arrow push right", 24, false); - rightArrow.animation.play('idle'); - difficultySelectors.add(rightArrow); - - add(yellowBG); - add(grpWeekCharacters); - - txtTracklist = new FlxText(FlxG.width * 0.05, yellowBG.x + yellowBG.height + 100, 0, "Tracks", 32); - txtTracklist.alignment = CENTER; - txtTracklist.font = Paths.font("vcr.ttf"); - txtTracklist.color = 0xFFe55777; - add(txtTracklist); - // add(rankText); - add(scoreText); - add(txtWeekTitle); - - updateText(); - - trace("Line 165"); - - super.create(); - } - - override function update(elapsed:Float) - { - // scoreText.setFormat('VCR OSD Mono', 32); - lerpScore = Math.floor(lerp(lerpScore, intendedScore, 0.5)); - - scoreText.text = "WEEK SCORE:" + lerpScore; - - txtWeekTitle.text = weekNames[curWeek].toUpperCase(); - txtWeekTitle.x = FlxG.width - (txtWeekTitle.width + 10); - - // FlxG.watch.addQuick('font', scoreText.font); - - difficultySelectors.visible = weekUnlocked[curWeek]; - - grpLocks.forEach(function(lock:FlxSprite) - { - lock.y = grpWeekText.members[lock.ID].y; - }); - - if (!movedBack) - { - if (!selectedWeek) - { - if (controls.UP_P) - { - changeWeek(-1); - } - - if (controls.DOWN_P) - { - changeWeek(1); - } - - if (controls.RIGHT) - rightArrow.animation.play('press') - else - rightArrow.animation.play('idle'); - - if (controls.LEFT) - leftArrow.animation.play('press'); - else - leftArrow.animation.play('idle'); - - if (controls.RIGHT_P) - changeDifficulty(1); - if (controls.LEFT_P) - changeDifficulty(-1); - } - - if (controls.ACCEPT) - { - selectWeek(); - } - } - - if (controls.BACK && !movedBack && !selectedWeek) - { - CoolUtil.playMenuSFX(2); - movedBack = true; - FlxG.switchState(new MainMenuState()); - } - - super.update(elapsed); - } - - var movedBack:Bool = false; - var selectedWeek:Bool = false; - var stopspamming:Bool = false; - - function selectWeek() - { - if (weekUnlocked[curWeek]) - { - if (stopspamming == false) - { - CoolUtil.playMenuSFX(1); - - grpWeekText.members[curWeek].startFlashing(); - grpWeekCharacters.members[1].animation.play('bfConfirm'); - stopspamming = true; - } - - PlayState.storyPlaylist = weekData[curWeek]; - PlayState.isStoryMode = true; - selectedWeek = true; - - var diffic = ""; - - switch (curDifficulty) - { - case 0: - diffic = '-easy'; - case 2: - diffic = '-hard'; - } - - PlayState.difficulty = curDifficulty; - - PlayState.SONG = Song.loadFromJson(PlayState.storyPlaylist[0].toLowerCase() + diffic, PlayState.storyPlaylist[0].toLowerCase()); - PlayState.storyWeek = curWeek; - PlayState.campaignScore = 0; - new FlxTimer().start(1, function(tmr:FlxTimer) - { - FlxG.switchState(new PlayState()); - }); - } - } - - function changeDifficulty(change:Int = 0):Void - { - curDifficulty += change; - - if (curDifficulty < 0) - curDifficulty = 2; - if (curDifficulty > 2) - curDifficulty = 0; - - sprDifficulty.offset.x = 0; - - switch (curDifficulty) - { - case 0: - sprDifficulty.animation.play('easy'); - sprDifficulty.offset.x = 20; - case 1: - sprDifficulty.animation.play('normal'); - sprDifficulty.offset.x = 70; - case 2: - sprDifficulty.animation.play('hard'); - sprDifficulty.offset.x = 20; - } - - sprDifficulty.alpha = 0; - - // USING THESE WEIRD VALUES SO THAT IT DOESNT FLOAT UP - sprDifficulty.y = leftArrow.y - 15; - intendedScore = Highscore.getWeekScore(curWeek, curDifficulty); - - #if !switch - intendedScore = Highscore.getWeekScore(curWeek, curDifficulty); - #end - - FlxTween.tween(sprDifficulty, {y: leftArrow.y + 15, alpha: 1}, 0.07); - } - - var lerpScore:Int = 0; - var intendedScore:Int = 0; - - function changeWeek(change:Int = 0):Void - { - curWeek += change; - - if (curWeek >= weekData.length) - curWeek = 0; - if (curWeek < 0) - curWeek = weekData.length - 1; - - var bullShit:Int = 0; - - for (item in grpWeekText.members) - { - item.targetY = bullShit - curWeek; - if (item.targetY == Std.int(0) && weekUnlocked[curWeek]) - item.alpha = 1; - else - item.alpha = 0.6; - bullShit++; - } - - CoolUtil.playMenuSFX(0); - - updateText(); - } - - function updateText() - { - grpWeekCharacters.members[0].animation.play(weekCharacters[curWeek][0]); - grpWeekCharacters.members[1].animation.play(weekCharacters[curWeek][1]); - grpWeekCharacters.members[2].animation.play(weekCharacters[curWeek][2]); - txtTracklist.text = "Tracks\n"; - - var stringThing:Array = weekData[curWeek]; - - for (i in stringThing) - { - txtTracklist.text += "\n" + i; - } - - txtTracklist.text = txtTracklist.text.toUpperCase(); - - txtTracklist.screenCenter(X); - txtTracklist.x -= FlxG.width * 0.35; - - #if !switch - intendedScore = Highscore.getWeekScore(curWeek, curDifficulty); - #end - } -} - - -class MenuCharacter extends FlxSprite -{ - public var character:String; - - public function new(x:Float, character:String = 'bf') - { - super(x); - - this.character = character; - - var tex = Paths.getSparrowAtlas('menus/storymenu/characters'); - frames = tex; - - animation.addByPrefix('bf', "BF idle dance white", 24); - animation.addByPrefix('bfConfirm', 'BF HEY!!', 24, false); - animation.addByPrefix('gf', "GF Dancing Beat WHITE", 24); - animation.addByPrefix('dad', "Dad idle dance BLACK LINE", 24); - animation.addByPrefix('spooky', "spooky dance idle BLACK LINES", 24); - animation.addByPrefix('pico', "Pico Idle Dance", 24); - animation.addByPrefix('mom', "Mom Idle BLACK LINES", 24); - animation.addByPrefix('parents-christmas', "Parent Christmas Idle", 24); - animation.addByPrefix('senpai', "SENPAI idle Black Lines", 24); - // Parent Christmas Idle - - animation.play(character); - updateHitbox(); - } -} - -class MenuItem extends FlxSpriteGroup -{ - public var targetY:Float = 0; - public var week:FlxSprite; - public var flashingInt:Int = 0; - - public function new(x:Float, y:Float, weekNum:Int = 0) - { - super(x, y); - week = new FlxSprite().loadGraphic(Paths.image('menus/storymenu/week' + weekNum)); - add(week); - } - - private var isFlashing:Bool = false; - - public function startFlashing():Void - { - isFlashing = true; - } - - // if it runs at 60fps, fake framerate will be 6 - // if it runs at 144 fps, fake framerate will be like 14, and will update the graphic every 0.016666 * 3 seconds still??? - // so it runs basically every so many seconds, not dependant on framerate?? - // I'm still learning how math works thanks whoever is reading this lol - var fakeFramerate:Int = Math.round((1 / FlxG.elapsed) / 10); - - override function update(elapsed:Float) - { - super.update(elapsed); - y = CoolUtil.fpsLerp(y, (targetY * 120) + 480, 0.17); - - if (isFlashing) - flashingInt += 1; - - if (flashingInt % fakeFramerate >= Math.floor(fakeFramerate / 2)) - week.color = 0xFF33ffff; - else - week.color = FlxColor.WHITE; - } -}