mirror of
https://github.com/FunkinCrew/Funkin.git
synced 2025-02-18 12:51:26 -05:00
Fix issue with pink screen when moving from PlayState->Freeplay->Main Menu
This commit is contained in:
parent
aa7ff6fbc4
commit
342782c3d3
7 changed files with 28 additions and 34 deletions
|
@ -238,11 +238,11 @@ class GameOverSubState extends MusicBeatSubState
|
||||||
}
|
}
|
||||||
else if (PlayStatePlaylist.isStoryMode)
|
else if (PlayStatePlaylist.isStoryMode)
|
||||||
{
|
{
|
||||||
FlxG.switchState(() -> new StoryMenuState());
|
openSubState(new funkin.ui.transition.StickerSubState(null, (sticker) -> new StoryMenuState(sticker)));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
FlxG.switchState(() -> new FreeplayState());
|
openSubState(new funkin.ui.transition.StickerSubState(null, (sticker) -> FreeplayState.build(sticker)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,7 @@ import flixel.tweens.FlxTween;
|
||||||
import flixel.util.FlxColor;
|
import flixel.util.FlxColor;
|
||||||
import funkin.audio.FunkinSound;
|
import funkin.audio.FunkinSound;
|
||||||
import funkin.data.song.SongRegistry;
|
import funkin.data.song.SongRegistry;
|
||||||
|
import funkin.ui.freeplay.FreeplayState;
|
||||||
import funkin.graphics.FunkinSprite;
|
import funkin.graphics.FunkinSprite;
|
||||||
import funkin.play.cutscene.VideoCutscene;
|
import funkin.play.cutscene.VideoCutscene;
|
||||||
import funkin.play.PlayState;
|
import funkin.play.PlayState;
|
||||||
|
@ -658,7 +659,7 @@ class PauseSubState extends MusicBeatSubState
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
state.openSubState(new funkin.ui.transition.StickerSubState(null, (sticker) -> new funkin.ui.freeplay.FreeplayState(null, sticker)));
|
state.openSubState(new funkin.ui.transition.StickerSubState(null, (sticker) -> FreeplayState.build(null, sticker)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2785,18 +2785,6 @@ class PlayState extends MusicBeatSubState
|
||||||
|
|
||||||
if (targetSongId == null)
|
if (targetSongId == null)
|
||||||
{
|
{
|
||||||
FunkinSound.playMusic('freakyMenu',
|
|
||||||
{
|
|
||||||
overrideExisting: true,
|
|
||||||
restartTrack: false
|
|
||||||
});
|
|
||||||
|
|
||||||
// transIn = FlxTransitionableState.defaultTransIn;
|
|
||||||
// transOut = FlxTransitionableState.defaultTransOut;
|
|
||||||
|
|
||||||
// TODO: Rework week unlock logic.
|
|
||||||
// StoryMenuState.weekUnlocked[Std.int(Math.min(storyWeek + 1, StoryMenuState.weekUnlocked.length - 1))] = true;
|
|
||||||
|
|
||||||
if (currentSong.validScore)
|
if (currentSong.validScore)
|
||||||
{
|
{
|
||||||
NGio.unlockMedal(60961);
|
NGio.unlockMedal(60961);
|
||||||
|
@ -3205,7 +3193,10 @@ class PlayState extends MusicBeatSubState
|
||||||
// Don't go back in time to before the song started.
|
// Don't go back in time to before the song started.
|
||||||
targetTimeMs = Math.max(0, targetTimeMs);
|
targetTimeMs = Math.max(0, targetTimeMs);
|
||||||
|
|
||||||
FlxG.sound.music.time = targetTimeMs;
|
if (FlxG.sound.music != null)
|
||||||
|
{
|
||||||
|
FlxG.sound.music.time = targetTimeMs;
|
||||||
|
}
|
||||||
|
|
||||||
handleSkippedNotes();
|
handleSkippedNotes();
|
||||||
SongEventRegistry.handleSkippedEvents(songEvents, Conductor.instance.songPosition);
|
SongEventRegistry.handleSkippedEvents(songEvents, Conductor.instance.songPosition);
|
||||||
|
|
|
@ -365,7 +365,7 @@ class ResultState extends MusicBeatSubState
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
openSubState(new funkin.ui.transition.StickerSubState(null, (sticker) -> new FreeplayState(null, sticker)));
|
openSubState(new funkin.ui.transition.StickerSubState(null, (sticker) -> FreeplayState.build(null, sticker)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -145,7 +145,7 @@ class FreeplayState extends MusicBeatSubState
|
||||||
stickerSubState = stickers;
|
stickerSubState = stickers;
|
||||||
}
|
}
|
||||||
|
|
||||||
super();
|
super(FlxColor.TRANSPARENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
override function create():Void
|
override function create():Void
|
||||||
|
@ -899,7 +899,7 @@ class FreeplayState extends MusicBeatSubState
|
||||||
|
|
||||||
if (Type.getClass(FlxG.state) == MainMenuState)
|
if (Type.getClass(FlxG.state) == MainMenuState)
|
||||||
{
|
{
|
||||||
FlxG.state.persistentUpdate = true;
|
FlxG.state.persistentUpdate = false;
|
||||||
FlxG.state.persistentDraw = true;
|
FlxG.state.persistentDraw = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1201,6 +1201,21 @@ class FreeplayState extends MusicBeatSubState
|
||||||
grpCapsules.members[curSelected].selected = true;
|
grpCapsules.members[curSelected].selected = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Build an instance of `FreeplayState` that is above the `MainMenuState`.
|
||||||
|
* @return The MainMenuState with the FreeplayState as a substate.
|
||||||
|
*/
|
||||||
|
public static function build(?params:FreeplayStateParams, ?stickers:StickerSubState):MusicBeatState
|
||||||
|
{
|
||||||
|
var result = new MainMenuState();
|
||||||
|
result.persistentUpdate = false;
|
||||||
|
result.persistentDraw = true;
|
||||||
|
|
||||||
|
result.openSubState(new FreeplayState(params, stickers));
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -56,7 +56,8 @@ class MainMenuState extends MusicBeatState
|
||||||
playMenuMusic();
|
playMenuMusic();
|
||||||
}
|
}
|
||||||
|
|
||||||
persistentUpdate = persistentDraw = true;
|
persistentUpdate = false;
|
||||||
|
persistentDraw = true;
|
||||||
|
|
||||||
var bg:FlxSprite = new FlxSprite(Paths.image('menuBG'));
|
var bg:FlxSprite = new FlxSprite(Paths.image('menuBG'));
|
||||||
bg.scrollFactor.x = 0;
|
bg.scrollFactor.x = 0;
|
||||||
|
@ -311,8 +312,6 @@ class MainMenuState extends MusicBeatState
|
||||||
// Open the debug menu, defaults to ` / ~
|
// Open the debug menu, defaults to ` / ~
|
||||||
if (controls.DEBUG_MENU)
|
if (controls.DEBUG_MENU)
|
||||||
{
|
{
|
||||||
this.persistentUpdate = false;
|
|
||||||
this.persistentDraw = false;
|
|
||||||
FlxG.state.openSubState(new DebugMenuSubState());
|
FlxG.state.openSubState(new DebugMenuSubState());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -290,18 +290,6 @@ class TitleState extends MusicBeatState
|
||||||
// do controls.PAUSE | controls.ACCEPT instead?
|
// do controls.PAUSE | controls.ACCEPT instead?
|
||||||
var pressedEnter:Bool = FlxG.keys.justPressed.ENTER;
|
var pressedEnter:Bool = FlxG.keys.justPressed.ENTER;
|
||||||
|
|
||||||
if (FlxG.onMobile)
|
|
||||||
{
|
|
||||||
for (touch in FlxG.touches.list)
|
|
||||||
{
|
|
||||||
if (touch.justPressed)
|
|
||||||
{
|
|
||||||
FlxG.switchState(() -> new FreeplayState());
|
|
||||||
pressedEnter = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var gamepad:FlxGamepad = FlxG.gamepads.lastActive;
|
var gamepad:FlxGamepad = FlxG.gamepads.lastActive;
|
||||||
|
|
||||||
if (gamepad != null)
|
if (gamepad != null)
|
||||||
|
|
Loading…
Reference in a new issue