ekrctb
181f1da3d3
Maintain catch hit explosion by lifetime entries
...
- Fix hit explosion not showing when a replay is rewound to a time after a hit object is caught
2021-06-04 19:46:50 +09:00
Dan Balasescu
15b43beef1
Merge pull request #11857 from Syriiin/diffcalc/refactor/catch-clockrate-effects
...
Refactor catch Movement skill to not require explicit clockrate usage
2021-06-03 17:29:27 +09:00
Samuel Cattini-Schultz
f51413ead9
Refactor to pass clockrate in constructor rather than deriving from mods
2021-06-03 16:09:42 +10:00
Samuel Cattini-Schultz
7cdef5cb0a
Merge branch 'master' into diffcalc/refactor/catch-clockrate-effects
2021-06-03 15:51:03 +10:00
Samuel Cattini-Schultz
94701b77cb
Add TODO for variable clockrate support in catch difficulty calculator
2021-06-03 15:44:28 +10:00
Dean Herbert
14570b6fb1
Merge branch 'master' into autoplay-pause-support
2021-06-01 14:19:21 +09:00
Salman Ahmed
4e186b0cf5
ContentVisible
-> HiddenByRulesetImplementation
2021-05-31 09:24:26 +03:00
Salman Ahmed
60b781701f
Rewrite catch combo counter hide logic
2021-05-30 14:22:11 +03:00
Salman Ahmed
fb81e5133f
Merge branch 'master' into catch-hide-combo-workaround
2021-05-30 14:16:46 +03:00
Dean Herbert
50d71faf56
Restructure lookup code to avoid repeating the base call
2021-05-30 17:55:10 +09:00
Salman Ahmed
fbc316ea1d
Fix legacy skin transformers potentially ignoring source implementations
2021-05-29 21:23:22 +03:00
Susko3
2439de1c3d
fix capitalzation of osu!catch HitResults
2021-05-28 18:40:58 +02:00
Dean Herbert
a3c78674a1
Add new interface for autoplay mods
2021-05-25 18:09:24 +09:00
Salman Ahmed
a4d52a7f52
Use switch—case instead
2021-05-19 23:37:22 +03:00
Salman Ahmed
c98d036b48
Merge branch 'master' into catch-hide-combo-workaround
2021-05-18 17:47:20 +03:00
Salman Ahmed
ff419af512
Hide the combo counter content rather than full death
2021-05-18 09:10:15 +03:00
Salman Ahmed
df248ea41b
Improve code readability
2021-05-17 11:41:53 +03:00
Salman Ahmed
102842bcf1
Expire legacy combo counters on catch ruleset
2021-05-15 16:55:15 +03:00
PercyDan54
166974506e
Duplicate implementions
2021-05-15 11:55:50 +08:00
PercyDan54
67dfeeb1b7
Cleanup code in ModHidden
2021-05-14 21:29:13 +08:00
Dean Herbert
004798d61d
Update Legacy components to not require skin in ctor
2021-05-11 18:39:14 +09:00
ekrctb
207f7f1e56
Rename FramedAutoGenerator<T> -> AutoGenerator<T>
2021-05-07 00:31:12 +09:00
ekrctb
cf39178099
Use FramedAutoGenerator in Taiko, Catch, Mania
...
OsuAutoGenerator is not included in this change because it uses SortedList-like thing
2021-05-06 22:57:07 +09:00
Dean Herbert
0ccdfeea57
Fix code quality issues
2021-04-24 14:35:49 +09:00
Dean Herbert
d4ffd2ef4b
Merge branch 'master' into reversed-fruits
2021-04-23 15:08:18 +09:00
Dean Herbert
bc0e1d8c37
Remove dead newline
2021-04-23 15:06:39 +09:00
smoogipoo
d4d78f7434
Merge branch 'master' into legacy-scores-classic-mod
2021-04-22 18:44:20 +09:00
Dean Herbert
dc2bc462b8
Expose internal catcher width calculation methods
2021-04-22 17:27:23 +09:00
Dean Herbert
84a7138223
Update tests to better support stack regeneration cases
2021-04-22 17:13:19 +09:00
Dean Herbert
3e1002fbf3
Improve osu!catch caught fruit placement algorithm
2021-04-22 17:06:28 +09:00
Salman Ahmed
e3398d8f1f
Implement "classic" mod for all other legacy rulesets
...
Currently empty, automatically handled in game to not be selectable (see `Mod.HasImplementation`)
2021-04-21 09:14:33 +03:00
Dean Herbert
ddf1b560f3
Remove catcher fade during hyperdash
...
Closes https://github.com/ppy/osu/issues/12472 .
2021-04-20 18:18:51 +09:00
Fabian
eec77b0527
replace icon
2021-04-17 23:55:39 +02:00
Fabian
5d274dbce8
replace IApplicableToPlayer with IApplicableToDrawableRuleset
2021-04-17 16:38:28 +02:00
Fabian
cf3aaff7bd
Add floating fruits mod
2021-04-17 16:01:23 +02:00
ekrctb
a965e8a75d
Remove AutoGenerator workaround of now-fixed issue
2021-04-16 14:13:41 +09:00
ekrctb
91c7d8d26c
Introduce StartFrame
and EndFrame
to simplify the replay interpolation code
2021-04-16 14:13:41 +09:00
ekrctb
84bc81a6de
Make FramedReplayInputHandler.CurrentTime non-null
2021-04-16 14:13:41 +09:00
ekrctb
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
Samuel Cattini-Schultz
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
Samuel Cattini-Schultz
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
Dan Balasescu
b24c695146
Merge branch 'master' into hide-caught-fruit-in-hidden
2021-03-30 15:42:00 +09:00
Dean Herbert
89bea2868a
Move bool one level down
2021-03-30 14:33:55 +09:00
Dean Herbert
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
Salman Ahmed
43c1e1d217
Update existing usages
...
Resolve post-conflict issues
2021-03-13 06:09:07 +03:00
Dan Balasescu
5b6018295d
Merge branch 'master' into diffcalc/skill-mods
2021-03-04 13:06:26 +09:00
smoogipoo
dff1d80f39
Update HasFlag usages to HasFlagFast
2021-02-25 15:38:56 +09:00
Samuel Cattini-Schultz
323e4ac26b
Refactor catch Movement skill to not require explicit clockrate usage
...
In catch, rate adjustment mods do not only affect the timings of hitobjects, but also the speed of the player's catcher.
This catcher speed change has an impact on difficulty which is currently accounted for by using the clockrate directly in calculations.
Semantically this is a bad idea because clockrate adjustments are supposed to be fully accounted for in DifficultyHitObjects, but passing clockrate here for the purpose of being used as catcher speed doesn't make much sense, especially since it is copied in every DifficultyHitObject despite being the same value.
It makes more sense to account for this catch specific impact by handling rate adjustment mods in a catch specific way, or more specifically in a Movement skill specific way.
2021-02-21 18:24:30 +11:00
Samuel Cattini-Schultz
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
Dean Herbert
aaa0362b12
Merge branch 'master' into autoplay-rate-independence
2021-02-11 17:39:45 +09:00