Replace objectList by calculating reduced note count during processing#38200
Replace objectList by calculating reduced note count during processing#38200tsunyoku wants to merge 2 commits into
objectList by calculating reduced note count during processing#38200Conversation
| currentStrain *= decay; | ||
| currentStrain += calculateAdjustedDifficulty(current) * (1 - decay) * skill_multiplier; | ||
|
|
||
| reducedDuration ??= current.StartTime + reduced_difficulty_duration; |
There was a problem hiding this comment.
This is fine.... if we assert that this method is called in order on all hitobjects.
I don't like this assertion in the first place. Like why are we even doing a method call per object at that point? Why not just leave it up to each skill to iterate the whole beatmap?
Incremental processing? Is there still a guarantee that it always starts from object 0?
There was a problem hiding this comment.
These are all valid points but require a far grander restructure to do anything about (i.e. https://discord.com/channels/188630481301012481/380598781432823815/1521767266348302366).
My main goal here was to remove the shoddy objectList since storing an extra list for this felt especially silly. If you don't care enough about it that you'd rather leave it until further restructuring occurs then I can just close this.
There was a problem hiding this comment.
I'm okay, if there's adequate inline commenting. See what I wrote about this previously. Any further changes need inline.
All of the assertions need to be listed. They can't only be uncovered in review follow-up.
Seems like the most maintainable way to do this.
Using
IBeatmap'sHitObjectsand keeping the old method doesn't really work as we want to improve support for mods where clock rate may vary per object, and usingStartTimeon the DHO itself is really the only way we can guarantee this.