Commit Graph

16 Commits

Author SHA1 Message Date
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
6d2a2ba7d6 Rename Position -> Index 2022-06-09 18:49:11 +09:00
66a6467403 Pass object position to the object 2022-05-26 19:26:14 +01:00
bf35ded871 Correct operation
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-05-24 17:06:11 +01:00
1ef711de41 Return null for out of range objects 2022-05-24 16:40:24 +01:00
30b9e0e7ab Use object list size for object position 2022-05-24 16:30:25 +01:00
d054e404da Set object list to read-only 2022-05-23 13:10:42 +01:00
26985ca8af Store hitobject history in the hitobject 2022-05-22 16:26:22 +01:00
5b2dcea8a8 Refactor to encapsulate strain logic into Skill class
As strains are an implementation detail of the current Skill calculations, it makes sense that strain related logic should be encapsulated within the Skill class.
2021-04-03 20:47:43 +11:00
ecb66ad2e2 Fix up xmldoc 2021-03-29 15:33:54 +09:00
068f00d8a0 Add EndTime to DifficultyHitObject for future convenience 2021-03-27 18:38:43 +11:00
010db8968f Adjust wording of xmldoc 2021-03-27 18:38:23 +11:00
442347df8e Fix clockrate adjusted difficulty calculations bug in strain decay
When starting a new section, the starting strain value was calculated using the unadjusted timing value, meaning decay curves were essentially being stretched or squashed according to the clockrate.

This caused incorrect strain peaks for any section where the peak occurs at the start of the section (none of the objects in the section added enough strain after decay to exceed the starting strain).

This bug caused star ratings with clockrates above 1 to be lower than they should and below 1 to be higher than they should.
2021-02-20 20:23:49 +11:00
7ed461aa8c XMLDoc DifficultyHitObject 2019-02-19 14:30:59 +09:00
93b7b51d0a timeRate -> clockRate 2019-02-19 14:29:23 +09:00
a8faa942a6 Implement new difficulty calculator structure 2019-02-18 14:49:43 +09:00