Explicitly specify the variation for a bunch of song requests to fix some bugs

This commit is contained in:
EliteMasterEric
2025-08-27 23:18:32 +08:00
committed by Hundrec
parent 9dfda77d1e
commit e4fdf1019a
6 changed files with 16 additions and 15 deletions
+2 -2
View File
@@ -400,7 +400,7 @@ class InitState extends FlxState
*/
function startSong(songId:String, difficultyId:String = 'normal'):Void
{
var songData:Null<funkin.play.song.Song> = funkin.data.song.SongRegistry.instance.fetchEntry(songId);
var songData:Null<funkin.play.song.Song> = funkin.data.song.SongRegistry.instance.fetchEntry(songId, {variation: Constants.DEFAULT_VARIATION});
if (songData == null)
{
@@ -472,7 +472,7 @@ class InitState extends FlxState
var targetSong:Null<funkin.play.song.Song> = null;
if (targetSongId != null) targetSong = SongRegistry.instance.fetchEntry(targetSongId);
if (targetSongId != null) targetSong = SongRegistry.instance.fetchEntry(targetSongId, {variation: Constants.DEFAULT_VARIATION});
if (targetSongId == null)
{
@@ -139,7 +139,7 @@ class ChartEditorWelcomeDialog extends ChartEditorBaseDialog
for (targetSongId in songList)
{
var songData:Null<Song> = SongRegistry.instance.fetchEntry(targetSongId);
var songData:Null<Song> = SongRegistry.instance.fetchEntry(targetSongId, {variation: Constants.DEFAULT_VARIATION});
if (songData == null) continue;
var songName:Null<String> = songData.getDifficulty('normal')?.songName;
@@ -31,7 +31,7 @@ class ChartEditorImportExportHandler
{
trace('===============START');
var song:Null<Song> = SongRegistry.instance.fetchEntry(songId);
var song:Null<Song> = SongRegistry.instance.fetchEntry(songId, {variation: targetSongVariation});
if (song == null) return;
@@ -126,7 +126,8 @@ class ChartEditorImportExportHandler
* @param newSongMetadata The song metadata to load.
* @param newSongChartData The song chart data to load.
*/
public static function loadSong(state:ChartEditorState, newSongMetadata:Map<String, SongMetadata>, newSongChartData:Map<String, SongChartData>, ?newSongManifestData:ChartManifestData):Void
public static function loadSong(state:ChartEditorState, newSongMetadata:Map<String, SongMetadata>, newSongChartData:Map<String, SongChartData>,
?newSongManifestData:ChartManifestData):Void
{
state.songMetadata = newSongMetadata;
state.songChartData = newSongChartData;
+5 -5
View File
@@ -372,7 +372,7 @@ class FreeplayState extends MusicBeatSubState
for (songId in level.getSongs())
{
var song:Null<Song> = SongRegistry.instance.fetchEntry(songId);
var song:Null<Song> = SongRegistry.instance.fetchEntry(songId, {variation: currentVariation});
if (song == null)
{
@@ -2291,7 +2291,7 @@ class FreeplayState extends MusicBeatSubState
if (daSong != null)
{
var targetSong:Null<Song> = SongRegistry.instance.fetchEntry(daSong.data.id);
var targetSong:Null<Song> = SongRegistry.instance.fetchEntry(daSong.data.id, {variation: currentVariation});
if (targetSong == null)
{
FlxG.log.warn('WARN: could not find song with id (${daSong.data.id})');
@@ -2455,8 +2455,10 @@ class FreeplayState extends MusicBeatSubState
{
controls.active = false;
letterSort.inputEnabled = false;
var targetDifficultyId:String = currentDifficulty;
var targetVariation:Null<String> = currentVariation;
var targetSongId:String = cap?.freeplayData?.data.id ?? 'unknown';
var targetSongNullable:Null<Song> = SongRegistry.instance.fetchEntry(targetSongId);
var targetSongNullable:Null<Song> = SongRegistry.instance.fetchEntry(targetSongId, {variation: targetVariation});
if (targetSongNullable == null)
{
FlxG.log.warn('WARN: could not find song with id (${targetSongId})');
@@ -2465,8 +2467,6 @@ class FreeplayState extends MusicBeatSubState
return;
}
var targetSong:Song = targetSongNullable;
var targetDifficultyId:String = currentDifficulty;
var targetVariation:Null<String> = currentVariation;
trace('target song: ${targetSongId} (${targetVariation})');
var targetLevelId:Null<String> = cap?.freeplayData?.levelId;
PlayStatePlaylist.campaignId = targetLevelId ?? null;
+3 -3
View File
@@ -76,7 +76,7 @@ class Level implements IRegistryEntry<LevelData>
static function getSongDisplayName(songId:String, difficulty:String):String
{
var song:Null<Song> = SongRegistry.instance.fetchEntry(songId);
var song:Null<Song> = SongRegistry.instance.fetchEntry(songId, {variation: Constants.DEFAULT_VARIATION});
if (song == null) return 'Unknown';
return song.songName;
@@ -154,7 +154,7 @@ class Level implements IRegistryEntry<LevelData>
var songList:Array<String> = getSongs();
var firstSongId:String = songList[0];
var firstSong:Song = SongRegistry.instance.fetchEntry(firstSongId);
var firstSong:Song = SongRegistry.instance.fetchEntry(firstSongId, {variation: Constants.DEFAULT_VARIATION});
if (firstSong != null)
{
@@ -172,7 +172,7 @@ class Level implements IRegistryEntry<LevelData>
for (songIndex in 1...songList.length)
{
var songId:String = songList[songIndex];
var song:Song = SongRegistry.instance.fetchEntry(songId);
var song:Song = SongRegistry.instance.fetchEntry(songId, {variation: Constants.DEFAULT_VARIATION});
if (song == null) continue;
+2 -2
View File
@@ -362,7 +362,7 @@ class StoryMenuState extends MusicBeatState
changeLevel(-levelList.length);
changeDifficulty(0);
}
#if !html5
if (FlxG.mouse.wheel != 0)
{
@@ -602,7 +602,7 @@ class StoryMenuState extends MusicBeatState
var targetSongId:String = PlayStatePlaylist.playlistSongIds.shift();
var targetSong:Song = SongRegistry.instance.fetchEntry(targetSongId);
var targetSong:Song = SongRegistry.instance.fetchEntry(targetSongId, {variation: Constants.DEFAULT_VARIATION});
PlayStatePlaylist.campaignId = currentLevel.id;
PlayStatePlaylist.campaignTitle = currentLevel.getTitle();