mirror of
https://github.com/FunkinCrew/Funkin.git
synced 2025-02-18 12:51:26 -05:00
Fix multiple music, and crashes in freeplay
This commit is contained in:
parent
6ea44dcf25
commit
2b4bf42ac4
2 changed files with 14 additions and 15 deletions
|
@ -321,6 +321,13 @@ class FunkinSound extends FlxSound implements ICloneable<FunkinSound>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (FlxG.sound.music != null)
|
||||||
|
{
|
||||||
|
FlxG.sound.music.fadeTween?.cancel();
|
||||||
|
FlxG.sound.music.stop();
|
||||||
|
FlxG.sound.music.kill();
|
||||||
|
}
|
||||||
|
|
||||||
if (params?.mapTimeChanges ?? true)
|
if (params?.mapTimeChanges ?? true)
|
||||||
{
|
{
|
||||||
var songMusicData:Null<SongMusicData> = SongRegistry.instance.parseMusicData(key);
|
var songMusicData:Null<SongMusicData> = SongRegistry.instance.parseMusicData(key);
|
||||||
|
@ -335,19 +342,6 @@ class FunkinSound extends FlxSound implements ICloneable<FunkinSound>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (FlxG.sound.music != null)
|
|
||||||
{
|
|
||||||
FlxG.sound.music.fadeTween?.cancel();
|
|
||||||
FlxG.sound.music.stop();
|
|
||||||
FlxG.sound.music.kill();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Apparently HaxeFlixel isn't null safe.
|
|
||||||
@:nullSafety(Off)
|
|
||||||
{
|
|
||||||
FlxG.sound.music = FunkinSound.load(Paths.music('$key/$key'), params?.startingVolume ?? 1.0, true, false, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
var music = FunkinSound.load(Paths.music('$key/$key'), params?.startingVolume ?? 1.0, params.loop ?? true, false, true);
|
var music = FunkinSound.load(Paths.music('$key/$key'), params?.startingVolume ?? 1.0, params.loop ?? true, false, true);
|
||||||
if (music != null)
|
if (music != null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -134,7 +134,7 @@ class FreeplayState extends MusicBeatSubState
|
||||||
var stickerSubState:StickerSubState;
|
var stickerSubState:StickerSubState;
|
||||||
|
|
||||||
public static var rememberedDifficulty:Null<String> = Constants.DEFAULT_DIFFICULTY;
|
public static var rememberedDifficulty:Null<String> = Constants.DEFAULT_DIFFICULTY;
|
||||||
public static var rememberedSongId:Null<String> = null;
|
public static var rememberedSongId:Null<String> = 'tutorial';
|
||||||
|
|
||||||
public function new(?params:FreeplayStateParams, ?stickers:StickerSubState)
|
public function new(?params:FreeplayStateParams, ?stickers:StickerSubState)
|
||||||
{
|
{
|
||||||
|
@ -596,7 +596,7 @@ class FreeplayState extends MusicBeatSubState
|
||||||
|
|
||||||
// Only now do we know that the filter is actually changing.
|
// Only now do we know that the filter is actually changing.
|
||||||
|
|
||||||
rememberedSongId = grpCapsules.members[curSelected]?.songData?.songId;
|
rememberedSongId = grpCapsules.members[curSelected]?.songData?.songId ?? rememberedSongId;
|
||||||
|
|
||||||
for (cap in grpCapsules.members)
|
for (cap in grpCapsules.members)
|
||||||
{
|
{
|
||||||
|
@ -939,6 +939,11 @@ class FreeplayState extends MusicBeatSubState
|
||||||
FlxTransitionableState.skipNextTransOut = true;
|
FlxTransitionableState.skipNextTransOut = true;
|
||||||
if (Type.getClass(FlxG.state) == MainMenuState)
|
if (Type.getClass(FlxG.state) == MainMenuState)
|
||||||
{
|
{
|
||||||
|
FunkinSound.playMusic('freakyMenu',
|
||||||
|
{
|
||||||
|
overrideExisting: true,
|
||||||
|
restartTrack: false
|
||||||
|
});
|
||||||
close();
|
close();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue