Bartłomiej Dach
b6e3e42445
Merge branch 'master' into bspline-sliders
2023-11-20 12:03:29 +09:00
Bartłomiej Dach
e182acf3e8
Expand comment for clarification
2023-11-20 11:50:28 +09:00
Dean Herbert
307ec172cb
Use simplified formula
2023-11-17 23:48:48 +09:00
Dean Herbert
66f7b9fae1
Adjust slider follow circle animation to not abruptly scale on early ticks
2023-11-17 19:09:24 +09:00
Dean Herbert
fd3508254b
Add note about break calculation method
2023-11-17 18:49:19 +09:00
Dean Herbert
2ab84fdaa3
Use switch statement for type matching
2023-11-17 18:45:16 +09:00
Dean Herbert
a556caae43
Move default value out of switch statement
2023-11-17 18:43:31 +09:00
Dean Herbert
c9c8ed7c77
Remove unused values
2023-11-17 18:41:09 +09:00
Dean Herbert
6fa7b4f552
Merge branch 'master' into hp-drain-v1-2
2023-11-17 18:33:03 +09:00
Dean Herbert
a1673160f1
Refactor OsuAutoGenerator
to allow custom SPM specifications
2023-11-17 16:44:11 +09:00
Dean Herbert
3c513d0b62
Refactor fail reason output to not perform string interpolation unless hooked
2023-11-16 15:29:32 +09:00
Dean Herbert
265ae6fd30
Remove unused using refs
2023-11-16 15:14:32 +09:00
cs
360864fd7b
Hide catmull curve type when possible
2023-11-15 07:45:28 +01:00
cs
520642975b
Fix control point hover text and context menu
2023-11-15 07:45:09 +01:00
cs
ceeaf5b67c
CI fixes and small tweaks
2023-11-15 07:09:33 +01:00
Thomas Müller-Höhne
90ec6895d1
Automatic red control point generation & corner threshold
2023-11-14 16:53:01 +09:00
Dan Balasescu
e3137d575b
Fix osu! and base HP processor break time implementation
2023-11-14 01:11:17 +09:00
cs
fa976a5aa0
Fix code style/quality issues
2023-11-13 08:25:27 +01:00
Dan Balasescu
35d4c483d7
Improve commenting around small tick/large tick health
2023-11-13 14:06:34 +09:00
Dan Balasescu
65b41138a3
Add option to disable combo end
2023-11-13 14:06:24 +09:00
Dan Balasescu
98e6b7744b
Cleanup
2023-11-13 13:46:47 +09:00
Dan Balasescu
7713da499f
Make osu ruleset use the new health processor
2023-11-13 13:12:56 +09:00
Dan Balasescu
929570656d
Disallow legacy health processor from being used for gameplay
2023-11-13 13:12:46 +09:00
Dan Balasescu
5fd55e55c0
Add flag for combo end bonus to legacy processor
2023-11-13 12:59:36 +09:00
Thomas Müller-Höhne
e6b4dfba36
Fix doubled control point at beginning of drawn slider
2023-11-13 12:49:59 +09:00
Thomas Müller-Höhne
c24b3543ab
Fix OnDragStart on macOS
2023-11-13 12:47:12 +09:00
ratinfx
fab6fc9adb
Updated comments, renamed method
2023-11-12 15:09:15 +01:00
ratinfx
4e7c40f1d7
Do Split and Parse before checking HitObjects
2023-11-12 14:58:46 +01:00
cs
54b8244a18
CI Fixup
2023-11-11 15:02:06 +01:00
ratinfx
4e1e19728c
Refactor HitObject selection in Composer
2023-11-11 14:02:42 +01:00
cs
3f85aa79c5
Add free-hand drawing of sliders to the editor
2023-11-11 13:33:25 +01:00
Thomas Müller-Höhne
926636cc03
Generalize Bezier curves to BSplines of Nth degree
2023-11-11 13:32:53 +01:00
Dan Balasescu
793d90e396
Add some notes
2023-11-10 19:09:09 +09:00
Dan Balasescu
12e5766d50
Implement OsuHealthProcessor following osu-stable
2023-11-10 18:41:02 +09:00
Dan Balasescu
fecc6f580b
Add legacy reference health processor
2023-11-10 18:40:21 +09:00
Bartłomiej Dach
c522a703eb
Merge branch 'master' into skin-size-editing
2023-11-10 18:19:27 +09:00
Dean Herbert
1c63f1f89d
Merge pull request #25348 from bdach/less-basic-touchscreen-detection
...
Implement basic touchscreen detection
2023-11-10 18:01:40 +09:00
Dean Herbert
35e11c7c63
Rename diagonal scale variable and update xmldoc
2023-11-10 17:55:02 +09:00
Dan Balasescu
a8cf105beb
Merge pull request #25342 from peppy/slider-combo-matching-2
...
Fix osu! (slider) combo not matching expectations when classic mod is disabled
2023-11-10 15:07:05 +09:00
Dean Herbert
ec3b6e47fb
Change selection handling to adjust Size
instead of Scale
for edge nodes
2023-11-10 14:22:28 +09:00
Dan Balasescu
44c0442f4f
Adjust comment on Slider's judgement
2023-11-10 14:00:34 +09:00
Dean Herbert
edef31f426
Correctly propagate classic behaviour flag to tail
2023-11-09 22:03:22 +09:00
Bartłomiej Dach
5180fa669b
Merge pull request #25343 from peppy/spinner-max-sample
...
Continue to play spinner bonus sounds when MAX display occurs
2023-11-09 13:34:29 +01:00
Dean Herbert
92043f45a4
Merge branch 'master' into slider-combo-matching-2
2023-11-09 18:45:37 +09:00
Bartłomiej Dach
13b599b9b6
Merge branch 'master' into less-basic-touchscreen-detection
2023-11-09 17:36:48 +09:00
Dean Herbert
c00a1d948a
Merge branch 'master' into better-touch-settings
2023-11-07 23:21:59 +09:00
Dean Herbert
7bedf7cf16
Move static method to end of file
2023-11-07 21:08:49 +09:00
Dean Herbert
38c9a98e67
Add failing test coverage
2023-11-07 19:54:21 +09:00
ratinfx
aa87e0a44d
HitObject Selection logic and separation for gamemodes
...
+ moved time_regex into EditorTimestampParser
2023-11-07 01:36:58 +01:00
Susko3
05d9418718
Rename setting to TouchDisableGameplayTaps
for better visibility when searching
2023-11-07 00:13:46 +01:00
Susko3
ea357bafdd
Fix tests by using the correct setting for touch input
2023-11-06 20:53:22 +01:00
Salman Ahmed
75fbbb35ad
Move cursor scale application within OsuCursor
...
Doing so takes down two birds with one stone.
1. `ResumeOverlay` having to manually apply cursor scale to its "resume
cursor".
2. Resume cursor input handling scaling up with the gameplay setting. Now, only the sprite itself gets scaled.
2023-11-06 18:30:55 +03:00
Salman Ahmed
915feeffb0
Revert gameplay cursor scale changes
2023-11-06 17:37:32 +03:00
Dean Herbert
92e4a8666d
Add spinnerbonus-max
support and fallback to spinnerbonus
2023-11-06 18:43:47 +09:00
Dean Herbert
b219a371a9
Move sample playback logic local to avoid edge case with no bonus ticks
...
Can't see a better way of doing this.
2023-11-06 18:29:51 +09:00
Bartłomiej Dach
febd004bda
Merge branch 'master' into less-basic-touchscreen-detection
2023-11-06 07:41:35 +01:00
Salman Ahmed
9cb331641c
Rename container
2023-11-05 06:34:09 +03:00
Salman Ahmed
48a75f6152
Fix resume cursor following gameplay cursor scale setting
2023-11-05 06:28:10 +03:00
Bartłomiej Dach
d3c5988bf1
Merge branch 'master' into slider-combo-matching-2
2023-11-03 09:11:39 +01:00
Bartłomiej Dach
8e9006b5d5
Declare Touch Device incompatible with Autopilot
...
With Autopilot active, Touch Device no longer matters.
2023-11-02 22:57:05 +01:00
Bartłomiej Dach
9f11a04cc7
Generalise notion of 'touch device' mod
2023-11-02 19:14:05 +01:00
Bartłomiej Dach
a0757ce13f
Update xmldoc to match flipped flag semantics
2023-11-02 18:58:14 +01:00
Bartłomiej Dach
86ede717cb
Clean up comment
2023-11-02 18:52:47 +01:00
Dean Herbert
ac6fb386d1
Remove nested ternary
2023-11-02 23:42:52 +09:00
Dean Herbert
f0f595ca40
Continue to play spinner bonus sounds when MAX display occurs
2023-11-02 19:52:49 +09:00
Dean Herbert
818432fab4
Fix non-classic osu! combo not matching expectations
2023-11-02 19:27:55 +09:00
Dean Herbert
bf9f20705f
Simplify classic behaviour flag to only need to be specified on the slider itself
2023-11-02 18:31:29 +09:00
Dean Herbert
a7705284e7
Add better commenting around DrawableSliderHead
logic
2023-11-02 18:31:28 +09:00
Dean Herbert
9af2a5930c
Remove redundant passing of Scale
to nested objects
2023-11-02 17:52:10 +09:00
Dean Herbert
9c1f4b552e
Rename and invert flags for slider classic behaviours
2023-11-02 17:43:21 +09:00
Bartłomiej Dach
64feea80db
Merge pull request #25334 from peppy/fix-bubble-crash-again
...
Fix another potential crash in bubbles mod
2023-11-02 09:32:09 +01:00
Bartłomiej Dach
ad82ada030
Trim redundant comments
2023-11-02 08:18:37 +01:00
Dean Herbert
48bdeaeff1
Fix another potential crash in bubbles mod
...
Storing `DrawableHitObject` for later use is not safe – especially
when accessing `HitObject` – as it's a pooled class. In the case here,
it's important to note that `PrepareForUse` can be called a frame or
more later in execution, which made this unsafe.
Closes https://github.com/ppy/osu/issues/24444 .
2023-11-02 02:43:51 +09:00
Dean Herbert
c2de03aa44
Fix all spinner ticks being alive and causing performance degradation
...
Regressed in https://github.com/ppy/osu/pull/25216 .
The new logic will ensure at least one tick is ready for judgement.
There shouldn't be a case where more than one is needed in a single
frame.
2023-11-01 18:28:07 +09:00
Bartłomiej Dach
e5b51f769c
Fix incorrect assertion placement in spinner rotation tracker
...
Checking the delta after the application of rate is not correct. The
delta is in screen-space *before* the rate from rate-changing mods were
applied; the point of the application of the rate is to compensate for
the fact that the spinner is still judged in "track time" - but the goal
is to keep the spinner's difficulty *independent* of rate, which means
that with DT active the user's spin is "twice as effective" to
compensate for the fact that the spinner is twice as short in real time.
In another formulation, with DT active, the user gets to record replay
frames "half as often" as in normal gameplay.
2023-10-30 21:28:29 +01:00
Dean Herbert
fbba3787d1
Merge pull request #25190 from frenzibyte/match-skin-element-animation-support
...
Match capability of animating legacy skin elements with osu!(stable)
2023-10-30 18:25:06 +09:00
Dean Herbert
a91b704d21
Fix some new nullable inspections
2023-10-30 15:10:10 +09:00
Bartłomiej Dach
99e590c8dd
Fix legacy sprite texts not matching stable with respect to fixed width
...
stable's `pSpriteText` has a `TextConstantSpacing` flag, that is
selectively enabled for some usages. In particular, these are:
- mania combo counter (not yet implemented)
- taiko combo counter (not yet implemented)
- score counter
- accuracy counter
- scoreboard entries (not yet implemented)
Everything else uses non-fixed-width fonts.
Hilariously, `LegacySpinner` _tried_ to account for this by changing
`Font` to have `fixedWidth: false` specified, only to fail to notice
that `LegacySpriteText` changes `Font` in its BDL, making the property
set do precisely nothing. For this reason, attempting to set `Font`
on a `LegacySpriteText` will now throw.
2023-10-27 20:14:39 +02:00
Bartłomiej Dach
c9cb0561f7
Move maxSizePerGlyph
optional ctor param to init-only property
...
I'm doing this as I'm about to add more similar properties to
`LegacySpriteText` and I don't want to create a twenty-argument
constructor monstrosity.
2023-10-27 19:48:10 +02:00
Dean Herbert
24b1d1e955
Fix code quality fail
2023-10-27 18:18:07 +09:00
Dean Herbert
f165653e8d
Merge pull request #25233 from Termincc/FreezeFrame-and-Transform-Compatibility
...
Make FreezeFrame and Transform Incompatible
2023-10-27 16:53:23 +09:00
Dan Balasescu
9a0882af69
Merge pull request #25218 from peppy/better-slider-judgement-handling
...
Fix out-of-order judgements when missing a slider head
2023-10-27 15:50:13 +09:00
Termincc
8b9b085ef5
Address mod incompatibilities
...
Makes FreezeFrame and Transform mods incompatible.
2023-10-26 22:15:10 +10:00
Bartłomiej Dach
9c9000027a
Merge pull request #25221 from peppy/fix-repeat-dim
...
Fix repeat circles on sliders not correctly getting dimmed
2023-10-25 11:43:46 +02:00
Dean Herbert
2f95e7a284
Add note about implementation being shared
2023-10-25 15:44:51 +09:00
Dean Herbert
6eafb66fdf
Fix DrawableSliderTail
potentially forcing miss on head too early
2023-10-25 15:44:42 +09:00
Dean Herbert
74f794a549
Fix repeat circles on sliders not correctly getting dimmed
2023-10-25 14:01:55 +09:00
Dean Herbert
23ea128f30
Merge branch 'master' into velocity-based-ball-animation
2023-10-25 14:01:19 +09:00
Dean Herbert
121fa6f165
Simplify pre-checks in HitObjectApplied
delegate
2023-10-25 13:53:20 +09:00
Dean Herbert
34505b3933
Merge pull request #25185 from bdach/minimum-sample-volume
2023-10-24 22:04:43 +09:00
Dean Herbert
bf313cc732
Merge pull request #25216 from bdach/spinner-tick-lifetime
...
Fix spinner ticks not playing samples correctly sometimes
2023-10-24 19:12:49 +09:00
Dean Herbert
5503407907
Force miss head when a tick or repeat is successfully judged
2023-10-24 19:10:57 +09:00
Dean Herbert
5eefc5323d
Standardise DrawableSliderRepeat
/ DrawableSliderTick
judgement implementations
2023-10-24 19:10:57 +09:00
Dean Herbert
176cb0dd28
Remove unused variable
2023-10-24 19:10:57 +09:00
Dean Herbert
93147a5998
Change slider tail tick to only hold back judgement on ticks/repeats
2023-10-24 19:10:57 +09:00
Dean Herbert
68397f0e81
Remove unused using
2023-10-24 18:01:24 +09:00
Bartłomiej Dach
a0c8158033
Remove unnecessary LifetimeEnd
specification
2023-10-24 10:42:03 +02:00
Bartłomiej Dach
0e5a521695
Merge pull request #25157 from peppy/spinner-anti-cheese-final
...
Fix spinner cheese by accounting for spin directionality
2023-10-24 08:13:32 +02:00
Dean Herbert
ded99c4097
Simplify calculation
2023-10-24 14:32:03 +09:00
Salman Ahmed
ff66b74b0e
Refactor logic to support DHO pooling
2023-10-24 02:24:00 +03:00