@@ -283,8 +283,14 @@ class FreeplayState extends MusicBeatState
283283
284284 // if(curSelected >= songs.length) curSelected = -1;
285285 try {
286- bg .color = fpManager .songList [curSelected ].color [1 ][0 ];
287- intendedColor = bg .color ;
286+ // Use default color if songs are hidden to avoid identifying the song
287+ if (APEntryState .inArchipelagoMode && archipelago. APItem .unknownSongs ) {
288+ bg .color = FlxColor .fromString (' #FD719B' ); // Default pink color
289+ intendedColor = bg .color ;
290+ } else {
291+ bg .color = fpManager .songList [curSelected ].color [1 ][0 ];
292+ intendedColor = bg .color ;
293+ }
288294 }
289295 catch (e )
290296 {
@@ -435,13 +441,14 @@ class FreeplayState extends MusicBeatState
435441 if (APEntryState .inArchipelagoMode ) {
436442 var isBronze : Bool = FlxG .random .bool (50 ); // Randomly decide between orange and bronze
437443 var bronzeOrOrangeColor : Int = isBronze ? 0xFFCD7F32 : 0xFFFFA500 ; // Bronze or Orange color
444+ var displayName = archipelago. APItem .unknownSongs ? " Unknown" : songName ;
438445 songText = APFreeplayManager .isVictorySong (songName , modName ) ?
439446 (isMissing ?
440447 (someLocationsNotMissing ?
441- new DynamicColoredAlphabet (90 , 320 , songName , true , bronzeOrOrangeColor , true )
442- : new VictorySong (90 , 320 , songName , color , true ))
443- : new DynamicColoredAlphabet (90 , 320 , songName , true , 0xFFFFD700 , true ))
444- : new DynamicColoredAlphabet (90 , 320 , songName , true , color , true );
448+ new DynamicColoredAlphabet (90 , 320 , displayName , true , bronzeOrOrangeColor , true )
449+ : new VictorySong (90 , 320 , displayName , color , true ))
450+ : new DynamicColoredAlphabet (90 , 320 , displayName , true , 0xFFFFD700 , true ))
451+ : new DynamicColoredAlphabet (90 , 320 , displayName , true , color , true );
445452 } else {
446453 songText = new DynamicAlphabet (90 , 320 , fpManager .songList [i ].songName , true , true );
447454 }
@@ -466,7 +473,8 @@ class FreeplayState extends MusicBeatState
466473 songText .visible = songText .active = songText .isMenuItem = false ;
467474
468475 var isLock : Bool = APEntryState .inArchipelagoMode && CategoryState .loadWeekForce == " all" && isMissing && ! APFreeplayManager .unplayedList .contains (songName );
469- var icon : HealthIcon = new HealthIcon (isLock ? " lock" : fpManager .songList [i ].songCharacter );
476+ var iconName = isLock ? " lock" : (archipelago. APItem .unknownSongs ? " face" : fpManager .songList [i ].songCharacter );
477+ var icon : HealthIcon = new HealthIcon (iconName );
470478 icon .sprTracker = songText ;
471479 icon .visible = icon .active = false ;
472480 iconArray .push (icon );
@@ -1167,7 +1175,10 @@ class FreeplayState extends MusicBeatState
11671175 if (curSelected >= fpManager .songList .length )
11681176 curSelected = - 1 ;
11691177
1170- var newColor : Int = curSelected != - 1 ? fpManager .songList [curSelected ].color [1 ][0 ] : FlxColor .fromString (' #FD719B' );
1178+ var newColor : Int = FlxColor .fromString (' #FD719B' ); // Default color
1179+ if (! APEntryState .inArchipelagoMode || ! archipelago. APItem .unknownSongs ) {
1180+ newColor = curSelected != - 1 ? fpManager .songList [curSelected ].color [1 ][0 ] : FlxColor .fromString (' #FD719B' );
1181+ }
11711182 if (newColor != intendedColor ) {
11721183 if (colorTween != null ) {
11731184 colorTween .cancel ();
@@ -1294,7 +1305,8 @@ class FreeplayState extends MusicBeatState
12941305 }
12951306
12961307 if (metadata != null && metadata .freeplay != null ) {
1297- if (metadata .freeplay .bg != null && metadata .freeplay .bg != ' ' ) {
1308+ // Always use default background if songs are hidden
1309+ if (! archipelago. APItem .unknownSongs && metadata .freeplay .bg != null && metadata .freeplay .bg != ' ' ) {
12981310 bg .loadGraphic (Paths .image (metadata .freeplay .bg ));
12991311 bg .screenCenter ();
13001312 } else {
@@ -1303,7 +1315,8 @@ class FreeplayState extends MusicBeatState
13031315 }
13041316
13051317 if (albumPhoto != null ) {
1306- if (metadata .freeplay .album != null && metadata .freeplay .album != ' ' ) {
1318+ // Always use default album if songs are hidden
1319+ if (! archipelago. APItem .unknownSongs && metadata .freeplay .album != null && metadata .freeplay .album != ' ' ) {
13071320 albumPhoto .loadGraphic (Paths .image (' albums/ ${Std .string (metadata .freeplay .album )}' ));
13081321 albumPhoto .setGraphicSize (Std .int (albumPhoto .width * 1.6 ));
13091322 albumPhoto .screenCenter (Y );
0 commit comments