mirror of
https://github.com/ninjamuffin99/Funkin.git
synced 2024-11-15 11:22:55 +00:00
Merge pull request #608 from FunkinCrew/bugfix/instrumental-id
Play song IDs based on the chart file's "instrumental" field, not the variation ID.
This commit is contained in:
commit
b64af80eba
|
@ -175,6 +175,12 @@ class PlayState extends MusicBeatSubState
|
|||
*/
|
||||
public var currentVariation:String = Constants.DEFAULT_VARIATION;
|
||||
|
||||
/**
|
||||
* The currently selected instrumental ID.
|
||||
* @default `''`
|
||||
*/
|
||||
public var currentInstrumental:String = '';
|
||||
|
||||
/**
|
||||
* The currently active Stage. This is the object containing all the props.
|
||||
*/
|
||||
|
@ -603,6 +609,7 @@ class PlayState extends MusicBeatSubState
|
|||
currentSong = params.targetSong;
|
||||
if (params.targetDifficulty != null) currentDifficulty = params.targetDifficulty;
|
||||
if (params.targetVariation != null) currentVariation = params.targetVariation;
|
||||
if (params.targetInstrumental != null) currentInstrumental = params.targetInstrumental;
|
||||
isPracticeMode = params.practiceMode ?? false;
|
||||
isBotPlayMode = params.botPlayMode ?? false;
|
||||
isMinimalMode = params.minimalMode ?? false;
|
||||
|
@ -1974,7 +1981,7 @@ class PlayState extends MusicBeatSubState
|
|||
|
||||
if (!overrideMusic && !isGamePaused && currentChart != null)
|
||||
{
|
||||
currentChart.playInst(1.0, false);
|
||||
currentChart.playInst(1.0, currentInstrumental, false);
|
||||
}
|
||||
|
||||
if (FlxG.sound.music == null)
|
||||
|
|
|
@ -682,9 +682,9 @@ class SongDifficulty
|
|||
FlxG.sound.cache(getInstPath(instrumental));
|
||||
}
|
||||
|
||||
public function playInst(volume:Float = 1.0, looped:Bool = false):Void
|
||||
public function playInst(volume:Float = 1.0, instId:String = '', looped:Bool = false):Void
|
||||
{
|
||||
var suffix:String = (variation != null && variation != '' && variation != 'default') ? '-$variation' : '';
|
||||
var suffix:String = (instId != '') ? '-$instId' : '';
|
||||
|
||||
FlxG.sound.music = FunkinSound.load(Paths.inst(this.song.id, suffix), volume, looped, false, true);
|
||||
|
||||
|
|
|
@ -1712,11 +1712,20 @@ class FreeplayState extends MusicBeatSubState
|
|||
FlxG.log.warn('WARN: could not find song with id (${cap.songData.songId})');
|
||||
return;
|
||||
}
|
||||
var targetDifficulty:String = currentDifficulty;
|
||||
var targetVariation:String = targetSong.getFirstValidVariation(targetDifficulty);
|
||||
|
||||
var targetDifficultyId:String = currentDifficulty;
|
||||
var targetVariation:String = targetSong.getFirstValidVariation(targetDifficultyId);
|
||||
PlayStatePlaylist.campaignId = cap.songData.levelId;
|
||||
|
||||
var targetDifficulty:SongDifficulty = targetSong.getDifficulty(targetDifficultyId, targetVariation);
|
||||
if (targetDifficulty == null)
|
||||
{
|
||||
FlxG.log.warn('WARN: could not find difficulty with id (${targetDifficultyId})');
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO: Change this with alternate instrumentals
|
||||
var targetInstId:String = targetDifficulty.characters.instrumental;
|
||||
|
||||
// Visual and audio effects.
|
||||
FunkinSound.playOnce(Paths.sound('confirmMenu'));
|
||||
dj.confirm();
|
||||
|
@ -1765,8 +1774,9 @@ class FreeplayState extends MusicBeatSubState
|
|||
LoadingState.loadPlayState(
|
||||
{
|
||||
targetSong: targetSong,
|
||||
targetDifficulty: targetDifficulty,
|
||||
targetDifficulty: targetDifficultyId,
|
||||
targetVariation: targetVariation,
|
||||
targetInstrumental: targetInstId,
|
||||
practiceMode: false,
|
||||
minimalMode: false,
|
||||
|
||||
|
|
Loading…
Reference in a new issue