-
Notifications
You must be signed in to change notification settings - Fork 83
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
Refactor HitResult generation to make ruleset-specific behavior more explicit #231
Refactor HitResult generation to make ruleset-specific behavior more explicit #231
Conversation
I explain the gain in detail in PRs description. Please respond more precisely about what is trying to be addressed instead of "PR is bad". |
@Givikap120 you're going to need to fix this PR. |
Will also await on further refactoring as per https://discord.com/channels/188630481301012481/380598781432823815/1307180578906312724 before merging. |
This PR is not the one requiring refactoring I believe, this PR should be fine as-is. The accuracy calculation PR does though. |
88a136e
to
8b210e8
Compare
@smoogipoo I fixed merge conflicts here |
Before you had function
GenerateHitResults(double accuracy, IBeatmap beatmap, int countMiss, int? countMeh, int? countGood)
, where you passcountMiss
,countMeh
andcountGood
.So by function signature you may assume that it's using those 3 judgements to generate hitresults.
In reality - osu also used
largeTickMisses
andsliderTailMisses
from class itself, mania usedoks
andgreats
from class, when taiko just ignoredcountMeh
because it doesn't exist in taiko. What is quite confusing and unintuitive.This PR removes those params from basic
GenerateHitResults
, so it would be intuitive that all values are taken from attributes of the class.And then this function delegates calculation to ruleset-specific static function that takes correct parameters.
Prerequisite for #232