6d0dc62502
Make sure latest catcher position is used for catching logic
...
A replay frame processed in CatchInputManager is applied to catcher in `CatcherArea`.
The catcher position is then used for the catching logic for each hit object under `HitObjectContainer`.
Thus, if `HitObjectContainer` came before `CatcherArea`, the replay input is delayed one frame.
That was one reason why the catch autoplay misses hit objects (especially when fast-forwarded).
2021-04-09 16:04:45 +09:00
85d2b1232a
Refactor to abstract out strain logic into StrainSkill class
...
While it is the case for the existing official Skills, Skill implementations shouldn't be required to conform to a strain based approach.
There are other valid approaches to calculating skill difficulty that can be supported by abstracting the strain logic into its own StrainSkill class.
2021-04-03 20:52:39 +11: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
b24c695146
Merge branch 'master' into hide-caught-fruit-in-hidden
2021-03-30 15:42:00 +09:00
89bea2868a
Move bool one level down
2021-03-30 14:33:55 +09:00
013ddc734c
Fix osu!catch fruit showing on plate when hidden mod is enabled
...
Closes https://github.com/ppy/osu/issues/12065 .
2021-03-25 17:04:37 +09:00
43c1e1d217
Update existing usages
...
Resolve post-conflict issues
2021-03-13 06:09:07 +03:00
5b6018295d
Merge branch 'master' into diffcalc/skill-mods
2021-03-04 13:06:26 +09:00
dff1d80f39
Update HasFlag usages to HasFlagFast
2021-02-25 15:38:56 +09:00
66643a97b0
Add a list of mods to Skill class
...
Although this isn't necessary for existing official rulesets and calculators, custom calculators can have use cases for accessing mods in difficulty calculation.
For example, accounting for the effects of visual mods.
2021-02-20 20:37:44 +11:00
aaa0362b12
Merge branch 'master' into autoplay-rate-independence
2021-02-11 17:39:45 +09:00
be9b07a4cf
Merge branch 'master' into difficulty-adjustment-extension
2021-02-10 20:42:08 +09:00
68c20a2a37
Allow autoplay score generation to access mod list
2021-02-07 18:35:34 +01:00
9ef130cdcc
Fix codefactor style issues
2021-02-04 13:28:35 -08:00
d168de0ae3
Formatting
2021-01-29 03:03:23 +01:00
da4c207a73
Fix the ctb auto mod speedup in some occasions
2021-01-29 02:53:26 +01:00
1b166d809e
Adjust package titles
2021-01-18 11:08:03 +09:00
ec00aaef90
Add nuget deploys for all rulesets
2021-01-18 10:53:31 +09:00
303cc62ee7
Transfer flags indicating if settings were changed
2021-01-06 22:46:46 +01:00
1793385e96
Pass a score to the replay recorder to allow reading more general scoring data
2020-12-14 16:52:14 +09:00
b81dbfc192
Move shared implementation to a named function
2020-12-14 13:56:46 +09:00
5b5e883904
Remove EffectiveXBindable (setting Value was not handled)
...
And use orthogonal `OriginalXBindable` and `XOffsetBindable`.
2020-12-14 13:39:07 +09:00
0ad256a762
Fix comment
2020-12-14 13:18:32 +09:00
d96399ea42
Revert "Remove X setter from CatchHitObject"
...
This reverts commit 7cbbd74d
2020-12-14 13:18:14 +09:00
7cbbd74df2
Remove X setter from CatchHitObject
2020-12-14 11:38:07 +09:00
f621d977fc
Add some more doc comment
2020-12-14 11:32:34 +09:00
36529bdd1b
Use OriginalX for CatchHitObject.X instead of EffectiveX
...
And explicitly implement IHasXPosition interface to prevent use of the X property.
It should be preferred for beatmap conversion purpose.
2020-12-14 11:26:05 +09:00
089f3bebf5
Add doc comments to catch hit object X properties
2020-12-14 11:15:49 +09:00
cd2db59900
XBindable -> EffectiveXBindable in catch DHO
2020-12-14 11:05:26 +09:00
96f3e0dad8
Replace CatchHitObject.X usage to EffectiveX and OriginalX
2020-12-14 11:03:14 +09:00
c1f3f1c231
Obsolete X
getter
2020-12-14 11:03:10 +09:00
8da502da44
Separate asymmetric CatchHitObject.X to EffectiveX and OriginalX
2020-12-14 11:03:03 +09:00
c0d20d8ce4
Add some spacing to interface class
2020-12-11 16:43:00 +09:00
2634c6b8d9
Combine DisplayRadius and Scale to DisplaySize
2020-12-10 20:43:01 +09:00
e097b6e61c
Add ScalingContainer back
...
Don't want to set DHO.Scale or DHO.Rotation because because DHO may be transformed by mods.
DHO.Size is also assigned for drawable visualizer
2020-12-10 19:42:01 +09:00
ac91f0e270
Add extended limits to difficulty adjustment mod
2020-12-10 00:37:19 +09:00
a8e2f35b62
Remove unneeded check of caught object removal
...
The logic was public but now it is private
so the condition is ensured by the caller
2020-12-09 10:50:35 +09:00
775c4bad97
Remove unneeded lifetime assignment
2020-12-09 10:47:04 +09:00
da2f3d4473
Move classes to separate files
2020-12-09 10:40:42 +09:00
b52e279702
Reword exception message
2020-12-09 10:38:11 +09:00
86445e7c23
Remove unnecessary copy
2020-12-09 10:36:54 +09:00
c8b0934573
Rename caughtFruitContainer -> caughtObjectContainer
2020-12-09 10:35:36 +09:00
ccca7e0b25
more specific type droppedObjectContainer
2020-12-09 10:35:01 +09:00
df9de7a8dd
Remove null check that is not required anymore
2020-12-09 10:28:42 +09:00
b80204642e
Revert rename error
2020-12-09 10:25:35 +09:00
1212ffd24f
Rename to CopyStateFrom, and add comment
2020-12-08 23:35:24 +09:00
5ca98b0033
Add doc comments a bit
2020-12-08 23:11:22 +09:00
1f36bbecd1
Fix dropped objects not removed on revert result
2020-12-08 23:07:30 +09:00
749d5380ca
Pool caught objects and dropped objects
2020-12-08 22:38:10 +09:00
a32dac00dd
Introduce IHasCatchObjectState implemented by DHO and CaughtObject
2020-12-08 21:29:26 +09:00