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

Introduce interfaces for difficulty & performance attributes #30707

Closed
wants to merge 4 commits into from

Conversation

minisbett
Copy link
Contributor

This allows 3rd-parties using Lazer's code base to contract the attributes to ensure they always match.

This was suggested by smoogi to assist with the development of osu-native.

@minisbett minisbett marked this pull request as draft November 17, 2024 00:41
@minisbett
Copy link
Contributor Author

I realized I forgot something, will get back to this tomorrow.

@minisbett minisbett marked this pull request as ready for review November 17, 2024 13:18
@minisbett
Copy link
Contributor Author

minisbett commented Nov 17, 2024

We could change the difficulty calculator to accept the interface instead, so the structs I'm implementing in osu-native can be directly passed into the calculator. Thoughts?

Edit: Actually this does not work. Due to the nature of what I need in osu-native (and what smoogi said), I decided to not include the mods property in the interface. But since the difficulty calculator needs it it will not be satisfied.

The main issue I'm having in osu-native is that I cannot deal with a Mod[] property. If there'd be any way around it, the attributes could as well be made structs in Lazer directly.

@minisbett
Copy link
Contributor Author

Closed in favor of #30727

@minisbett minisbett closed this Nov 17, 2024
@minisbett minisbett deleted the pp-contracts branch November 21, 2024 01:01
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