1
0
mirror of https://github.com/ppy/osu.git synced 2026-05-31 02:30:06 +08:00

Make freestyle not bypass ruleset filter once more

This commit is contained in:
Dan Balasescu
2025-03-18 14:31:37 +09:00
Unverified
parent ac5a970558
commit bf3caacf51
2 changed files with 1 additions and 18 deletions
@@ -11,7 +11,6 @@ using osu.Framework.Testing;
using osu.Game.Online.Rooms;
using osu.Game.Rulesets.Catch;
using osu.Game.Rulesets.Osu;
using osu.Game.Rulesets.Taiko;
using osu.Game.Screens.OnlinePlay.Lounge;
using osu.Game.Screens.OnlinePlay.Lounge.Components;
using osu.Game.Tests.Visual.OnlinePlay;
@@ -199,22 +198,6 @@ namespace osu.Game.Tests.Visual.Multiplayer
AddStep("add rooms", () => rooms.AddRange(GenerateRooms(3, withPassword: true)));
}
[Test]
public void TestFreestyleBypassesRulesetFilter()
{
AddStep("apply taiko filter", () => container.Filter.Value = new FilterCriteria { Ruleset = new TaikoRuleset().RulesetInfo });
AddStep("add osu + freestyle room", () =>
{
var room = GenerateRooms(1, new OsuRuleset().RulesetInfo)[0];
room.Playlist[0].Freestyle = true;
room.CurrentPlaylistItem = room.Playlist[0];
rooms.Add(room);
});
AddAssert("room visible", () => container.DrawableRooms.Any());
}
private bool checkRoomSelected(Room? room) => selectedRoom.Value == room;
private Room? getRoomInFlow(int index) =>
@@ -99,7 +99,7 @@ namespace osu.Game.Screens.OnlinePlay.Lounge.Components
{
bool matchingFilter = true;
matchingFilter &= criteria.Ruleset == null || r.Room.CurrentPlaylistItem?.Freestyle == true || r.Room.PlaylistItemStats?.RulesetIDs.Any(id => id == criteria.Ruleset.OnlineID) != false;
matchingFilter &= criteria.Ruleset == null || r.Room.PlaylistItemStats?.RulesetIDs.Any(id => id == criteria.Ruleset.OnlineID) != false;
matchingFilter &= matchPermissions(r, criteria.Permissions);
// Room name isn't translatable, so ToString() is used here for simplicity.