1
0
Fork 0
mirror of https://github.com/ninjamuffin99/Funkin.git synced 2024-10-04 00:10:39 +00:00

Erect mixes play properly when selected

This commit is contained in:
EliteMasterEric 2023-05-22 13:47:01 -04:00
parent a599dbea11
commit 09654170ed
4 changed files with 16 additions and 7 deletions

View file

@ -103,9 +103,9 @@ class Paths
return 'songs:assets/songs/${song.toLowerCase()}/Voices$suffix.$SOUND_EXT'; return 'songs:assets/songs/${song.toLowerCase()}/Voices$suffix.$SOUND_EXT';
} }
inline static public function inst(song:String) inline static public function inst(song:String, ?suffix:String)
{ {
return 'songs:assets/songs/${song.toLowerCase()}/Inst.$SOUND_EXT'; return 'songs:assets/songs/${song.toLowerCase()}/Inst$suffix.$SOUND_EXT';
} }
inline static public function image(key:String, ?library:String) inline static public function image(key:String, ?library:String)

View file

@ -253,7 +253,8 @@ class SongDifficulty
public inline function playInst(volume:Float = 1.0, looped:Bool = false) public inline function playInst(volume:Float = 1.0, looped:Bool = false)
{ {
FlxG.sound.playMusic(Paths.inst(this.song.songId), volume, looped); var suffix:String = variation == null ? null : '-$variation';
FlxG.sound.playMusic(Paths.inst(this.song.songId, suffix), volume, looped);
} }
public inline function cacheVocals() public inline function cacheVocals()
@ -265,7 +266,7 @@ class SongDifficulty
{ {
// TODO: Implement. // TODO: Implement.
return [""]; return [variation == null ? '' : '-$variation'];
} }
public function buildVocals(charId:String = "bf"):VoicesGroup public function buildVocals(charId:String = "bf"):VoicesGroup

View file

@ -143,9 +143,15 @@ class SongDataParser
for (variation in variations) for (variation in variations)
{ {
var variationRawJson:String = loadSongMetadataFile(songId, variation); var variationJsonStr:String = loadSongMetadataFile(songId, variation);
var variationSongMetadata:SongMetadata = SongMigrator.migrateSongMetadata(variationRawJson, '${songId}_${variation}'); var variationJsonData:Dynamic = null;
variationSongMetadata = SongValidator.validateSongMetadata(variationSongMetadata, '${songId}_${variation}'); try
{
variationJsonData = Json.parse(variationJsonStr);
}
catch (e) {}
var variationSongMetadata:SongMetadata = SongMigrator.migrateSongMetadata(variationJsonData, '${songId}-${variation}');
variationSongMetadata = SongValidator.validateSongMetadata(variationSongMetadata, '${songId}-${variation}');
if (variationSongMetadata != null) if (variationSongMetadata != null)
{ {
variationSongMetadata.variation = variation; variationSongMetadata.variation = variation;

View file

@ -127,6 +127,8 @@ class Level implements IRegistryEntry<LevelData>
var songId:String = songList[songIndex]; var songId:String = songList[songIndex];
var song:Song = funkin.play.song.SongData.SongDataParser.fetchSong(songId); var song:Song = funkin.play.song.SongData.SongDataParser.fetchSong(songId);
if (song == null) continue;
for (difficulty in difficulties) for (difficulty in difficulties)
{ {
if (!song.hasDifficulty(difficulty)) if (!song.hasDifficulty(difficulty))