Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add "argon" variant of song progress display #22144

Merged
merged 37 commits into from
Jan 18, 2023

Conversation

ItsShamed
Copy link
Sponsor Contributor

@ItsShamed ItsShamed commented Jan 11, 2023

Related:

Depends on:

Also addresses #21814 in some way, as it will no longer distract the player during gameplay.

I tried to implement the argon variant of the song progress

image

osu._RJ6xXSiZSx.mp4

I made some assumptions regarding UX since I don't know what exactly are the directions about this, any suggestion is welcomed.

@peppy
Copy link
Sponsor Member

peppy commented Jan 12, 2023

Looks like a pretty amazing start! I do think that the density should be visible even from time in the past, rather than having it fully opaque white. Maybe have a play with that and see if you can dim it slightly and still have the density view above the progress.

@peppy
Copy link
Sponsor Member

peppy commented Jan 12, 2023

cc @arflyte please view the video in the opening post and provide any feedback (also see my comment above).

@ItsShamed
Copy link
Sponsor Contributor Author

I think this whole test class makes no sense, since pretty much everything is tested in the tests for SegmentedGraph. @peppy thoughts on this?
I will remove it locally so that I can experiment more on my side, let me know if I should do anything.

@ItsShamed
Copy link
Sponsor Contributor Author

Maybe have a play with that and see if you can dim it slightly and still have the density view above the progress.

With additive blending applied on the graph I get this.

image

@peppy
Copy link
Sponsor Member

peppy commented Jan 17, 2023

I think that looks fine, let's go with that.

You'll need to look into test and code quality failures on CI as well.

@arflyte
Copy link

arflyte commented Jan 17, 2023

I love what I'm looking at so far :D

@peppy peppy self-requested a review January 17, 2023 09:00
@peppy
Copy link
Sponsor Member

peppy commented Jan 17, 2023

I've fixed one issue, but will leave the rest to you.

Also, it looks like masking isn't being applied correctly:

osu! 2023-01-17 at 09 07 41

@ItsShamed
Copy link
Sponsor Contributor Author

ItsShamed commented Jan 17, 2023

Oh you were faster than me 😅
I was going to commit anyway, and masking is a known issue (fixed in next pending commits)

@ItsShamed
Copy link
Sponsor Contributor Author

I did used the SongProgress test scene, although there was no "beatmap density" data fed into any of the SongProgresses components which is why I mostly used the game as a test for that.
But yeah, I should use tests more often and should have taken the time to do one at least before opening this PR. On top of that I have no reason to not make one since I did make one for #22143 😅
My bad

Copy link
Sponsor Contributor Author

@ItsShamed ItsShamed left a comment

Choose a reason for hiding this comment

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

ClicksPerSecondCalculator copy-pasta?

private DrawableRuleset? drawableRuleset { get; set; }

// Even though `FrameStabilityContainer` caches as a `GameplayClock`, we need to check it directly via `drawableRuleset`
// as this calculator is not contained within the `FrameStabilityContainer` and won't see the dependency.
Copy link
Sponsor Contributor Author

Choose a reason for hiding this comment

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

Suggested change
// as this calculator is not contained within the `FrameStabilityContainer` and won't see the dependency.
// as this component is not contained within the `FrameStabilityContainer` and won't see the dependency.

Copy link
Sponsor Member

@peppy peppy Jan 18, 2023

Choose a reason for hiding this comment

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

It's fine that code is now gone with further refactoring :D.

peppy added a commit to peppy/osu that referenced this pull request Jan 18, 2023
Allows directly referencing rather than going through `DrawableRuleset`.
Helps with testing and implementation of the new song progress display
(ppy#22144).
@peppy
Copy link
Sponsor Member

peppy commented Jan 18, 2023

I've finished my pass on this PR. Will request one more team review as I've changed a lot.

There's probably still work that can be done on this, but I'd like to get this in sooner rather than nitpicking, so I'd recommend anyone re-reviewing this applies changes themselves and goes ahead with the merge, bar anything major being wrong.

peppy
peppy previously approved these changes Jan 18, 2023
@peppy peppy requested review from peppy and a team January 18, 2023 08:10
peppy
peppy previously approved these changes Jan 18, 2023
@peppy peppy requested a review from a team January 18, 2023 08:22
@peppy peppy changed the title Implemented Argon variant of song progress display Add "argon" variant of song progress display Jan 18, 2023
Copy link
Member

@frenzibyte frenzibyte left a comment

Choose a reason for hiding this comment

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

I got interrupted as I was reviewing this, but it looked mostly fine to me (minus one issue I noticed when hiding HUD where the song progress bar doesn't hide at all, which is unrelated to this PR and more focused on SegmentedGraph drawnodes instead). Need a second review to ensure everything is good.

@bdach bdach enabled auto-merge January 18, 2023 22:53
@bdach bdach merged commit 593f5f6 into ppy:master Jan 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

5 participants