Skip to content

Migrate playlist freestyle select screen to use SongSelectV2#36694

Merged
bdach merged 6 commits intoppy:masterfrom
peppy:freestyle-select-update
Feb 19, 2026
Merged

Migrate playlist freestyle select screen to use SongSelectV2#36694
bdach merged 6 commits intoppy:masterfrom
peppy:freestyle-select-update

Conversation

@peppy
Copy link
Copy Markdown
Member

@peppy peppy commented Feb 18, 2026

One step forward.

@peppy peppy force-pushed the freestyle-select-update branch from 1cc2516 to c7f5685 Compare February 18, 2026 11:47
Of note, this test scene still doesn't use the new footer properly.
Should these even be here? Maybe it's better to leave these real world
flows to a `Navigation` style test so we're not dealing with weird test
setups that kinda do something but don't... or maybe do it in three
different ways (two footers present, three back buttons etc.)

Dunno. But this kind of covers what I want (except it doesn't cover the
new footer usage).
@peppy peppy force-pushed the freestyle-select-update branch from c7f5685 to 110f11f Compare February 18, 2026 11:48
@bdach bdach self-requested a review February 18, 2026 13:41
Comment on lines +64 to +72
// Must be from the same set as the playlist item.
criteria.BeatmapSetId = beatmapSetId;
criteria.HasOnlineID = true;

// Must be within 30s of the playlist item.
criteria.Length.Min = itemLength - 30000;
criteria.Length.Max = itemLength + 30000;
criteria.Length.IsLowerInclusive = true;
criteria.Length.IsUpperInclusive = true;
Copy link
Copy Markdown
Collaborator

@bdach bdach Feb 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're probably gonna hate me for this but it's possible to bypass these using my last song select feature which is the scoping thing:

Screen.Recording.2026-02-18.at.14.53.03.mov

Unsure how much to care. The low effort resolution would be to make {ScopeTo,Unscope}BeatmapSet() virtual on SongSelect and override them to no-ops in this class. Maybe even add a SupportsScoping boolean and conditionally hide or disable the control.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I prefer the SupportsScoping path. But also it's great that the failsafes still catch this, which makes it a lesser issue.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As you say due to the safeties in place I'm fine leaving as is and fixing this later. Let me know what you wanna do here.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be addressed via 1153d17.

peppy and others added 2 commits February 19, 2026 01:47
- The mods button should not be visible because it is not hooked up
  properly to actually work with selecting user mods. As written it
  would show (and feign the ability to modify) required mods on the
  playlist item.

  You could probably adjust the logic to make user mods controllable via
  this button but this is simpler for now.

- The random and options buttons could perhaps remain, but they are of
  very limited use on this screen anyway.

The previous iteration disabled all footer buttons altogether, so I'm
just following precedent here mostly.
@bdach
Copy link
Copy Markdown
Collaborator

bdach commented Feb 19, 2026

I've pushed one extra change (f9f927f). The primary reasoning for it was that the mods footer button was visible and appeared to be doing very incorrect things.

Probably good to go otherwise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants