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
Bartłomiej Dach
cfd8d05fde
Fix spinner ticks not playing samples correctly sometimes
...
Noticed this during work on https://github.com/ppy/osu/pull/25185 .
In some circumstances, it seemed that spinner bonus ticks (and mostly
them specifically) would not always play with the correct volume.
Hours of debugging later pointed at a trace at
`DrawableAudioWrapper.refreshLayoutFromParent()` not firing sometimes.
Initially I thought it to be some sort of framework bug, but after
preparing a diff and running final checks, I noticed that sometimes
the sample was being played *by a `PoolableSkinnableSample` that wasn't
loaded*. And determining why *that* is the case turned out with this
diff.
As it happens, spinner ticks get assigned a start time proportionally,
i.e. the 1st of 10 ticks is placed at 10% of the duration, the 2nd
at 20%, and so on. The start time generally shouldn't matter,
because the spinner is manually judging the ticks. *However*, the ticks
*still* receive a lifetime start / end in the same way normal objects
do, which means that in some cases they can *not be alive* when they're
hit, which means that the `DrawableAudioWrapper` flow *hasn't had
a chance to run*, and rightly so.
To fix, ensure that all spinner ticks are alive throughout the entirety
of the spinner's duration.
2023-10-23 21:29:55 +02:00
Salman Ahmed
0cf572d029
Use existing property and fix nullability
2023-10-23 11:46:21 +03:00
Dean Herbert
4e057b446a
Rename accumulated rotation variable
2023-10-23 16:46:15 +09:00
Dean Herbert
d0599496bd
Merge pull request #25177 from peppy/spinner-max-display
2023-10-21 11:10:09 +09:00
Salman Ahmed
2a70c331b9
Remove animation support from osu! slider reverse arrow
2023-10-20 23:59:03 +03:00
Salman Ahmed
80ce78e05d
Remove animation support from osu! hit circle overlay
2023-10-20 23:59:03 +03:00
Salman Ahmed
7373a9a784
Remove unnecessary usage of ApplyWithDoubledAlpha
2023-10-20 23:54:29 +03:00
Salman Ahmed
ac8c2a173b
Apply velocity into legacy slider ball animation rate
2023-10-20 22:47:45 +03:00
Bartłomiej Dach
b321d556b6
Enforce minimum gameplay sample volume of 5%
2023-10-20 15:50:13 +02:00
Dean Herbert
3fb74cb5f9
Move helper method to LegacyRulesetExtensions
and stop applying rounding allowance to catch
...
As discussed, it isn't used in stable like this. Was a mistake.
2023-10-20 18:57:14 +09:00
Dean Herbert
2ba6286470
Merge branch 'master' into fix-circle-radius
2023-10-20 18:53:36 +09:00
Dean Herbert
686c45e21b
Merge branch 'master' into legacy-tick-test-coverage
2023-10-20 16:41:32 +09:00
Dean Herbert
ca3a3f600e
Update visuals of spinner implementations to show MAX score differently
2023-10-20 16:11:09 +09:00
Dean Herbert
181a98e8ef
Remove duplicate definition of bonus text in ArgonSpinner
2023-10-20 16:10:54 +09:00
Dean Herbert
3986cec949
Cap bonus score more correctly
2023-10-20 16:10:54 +09:00
Dean Herbert
f16400929d
Update bindable flow to expose every spin, even after max bonus is reached
2023-10-20 15:38:04 +09:00
Bartłomiej Dach
dcfd6a0a8a
Remove DistancedHitObjectComposer
inheritance from osu! composer
2023-10-19 11:46:30 +02:00
Bartłomiej Dach
3ab083b696
Split IPositionSnapProvider
from IDistanceSnapProvider
...
In preparation to remove `DistancedHitObjectComposer`, split off
`IPositionSnapProvider` from `IDistanceSnapProvider`.
`DistancedHitObjectComposer` was not touching `IPositionSnapProvider`'s
only interface member at all, it was just forwarding it for subclasses
to override to their own leisure.
2023-10-19 11:45:24 +02:00
Dean Herbert
3a5490892c
Centralise and repair circle size calculations game-wide
2023-10-18 19:50:42 +09:00
Dean Herbert
6ae82c5e73
Fix circle scale not matching stable due to missing multiplier
...
This multiplier has to exist.
I'm not guaranteeing that the rest is correct here. Should we be doing
proper cross-testing on this? Maybe, but it's going to be hard to get
right. We could likely check as far as "game pixels", but there's still
a chance that the osu-framework could be doing something weird in the
rest of the hierarchy where playfield scale is involved.
Closes https://github.com/ppy/osu/issues/25162 . Tested to fix the linked
replay.
2023-10-18 18:35:14 +09:00
Dean Herbert
54da6f1048
Merge pull request #25160 from bdach/repeat-arrow-hidden-fade
...
Adjust slider repeat transforms to closer match stable
2023-10-18 18:03:48 +09:00
Dean Herbert
92524d4299
Remove incorrect plural from variable
2023-10-18 17:44:01 +09:00
Dan Balasescu
939b55020c
Merge branch 'master' into legacy-tick-test-coverage
2023-10-18 15:21:31 +09:00
Bartłomiej Dach
f3cda58474
Fix legacy slider repeats becoming much too large on hit
...
They had scale transforms applied to them in two places: the actual
legacy pieces themselves (esp. `LegacyHitCirclePiece`), and on the
`DrawableSliderRepeat` level.
This change moves all of the scale transforms to the skinnable pieces.
Argon and triangles have received a copy of the previous logic each,
so behaviour on those skins should not change.
2023-10-17 14:47:44 +02:00
Bartłomiej Dach
30e5f47007
Instantly fade out slider repeats when hidden is active
2023-10-17 14:15:21 +02:00
Dean Herbert
4f0d55e1a9
Clean up code and add xmldoc and inline doc
2023-10-17 20:24:23 +09:00
Dean Herbert
af7180a5b5
Add SpinnerSpinHistory
and tests
2023-10-17 20:10:22 +09:00
Dean Herbert
5341a335a6
Bypass Parent
nullability checks for now
2023-10-17 17:48:45 +09:00
Dean Herbert
0bb95cfa88
Fix incorrect initial rotation transfer value
...
Should have been removed as part of https://github.com/ppy/osu/pull/24360 .
2023-10-16 19:34:55 +09:00
Dean Herbert
10bab61441
Tidy up lastAngle
usage and add assertion of maximum delta
2023-10-16 19:34:22 +09:00
Dean Herbert
159b24acf7
Rename RateAdjustedRotation
to TotalRotation
2023-10-16 18:25:03 +09:00
Dan Balasescu
84be714d6b
Fix large instantaneous delta on first frame
...
Happens when the first update frame comes in before any mouse input.
2023-10-16 18:17:11 +09:00
Bartłomiej Dach
8a4c2624bd
Merge branch 'master' into fix-hr-cs-mania-adjustment
2023-10-13 16:08:54 +02:00
Dean Herbert
0b64852181
Limit sliderscorepoint
to hitcicle dimensions
...
You'd never use anything above this unless crazy.
2023-10-13 15:43:20 +09:00
Dean Herbert
17df2fdf01
Restrict followpoint
size
...
See https://github.com/ppy/osu/issues/24940#issuecomment-1760980461 .
2023-10-13 15:42:49 +09:00
Dean Herbert
a3b21281e6
Add reordering support to match existing diffcalc 100%
2023-10-13 14:25:38 +09:00
Dean Herbert
3849b11644
Fix "Hard Rock" mod affecting CS/AR in osu!mania
...
Closes https://github.com/ppy/osu/issues/25090 .
Not sure if there are other exceptions we should account for here.
2023-10-12 19:48:47 +09:00
Dean Herbert
5ffc25c8e8
Fix potential failure when slider has no ticks
2023-10-12 03:19:43 +09:00
Dean Herbert
63843c79c3
Amend diffcalc to use something closer to the original calculation for now
2023-10-11 21:12:04 +09:00
Dean Herbert
0ca05d986d
Merge pull request #25067 from bdach/approach-circle-cutoff
...
Adjust approach circle maximum size limits for backwards compatibility
2023-10-10 17:05:16 +09:00
Bartłomiej Dach
71c4b138fb
Merge branch 'master' into fix-legacy-score-multipliers-2
2023-10-09 10:53:14 +02:00
Dean Herbert
ad6f04cfb0
Hotfix approach circle cutoff
2023-10-09 10:16:57 +02:00
Bartłomiej Dach
96bb8ed150
Apply feedback regarding maximum osu! element sizings
...
- `default-N` number sprites maximum size increased by 1.25x to a total
of 320x320 to counteract the 0.8x factor applied onto them when
displayed on a hitcircle.
- `sliderb` and parts' maximum size increased to 384x384, to match
`sliderfollowcircle`, as the two are apparently sometimes used
interchangeably by skinners to achieve different visual effects.
2023-10-05 22:33:49 +02:00
Bartłomiej Dach
0ae4a0f11f
Adjust gameplay element maximum size limits for backwards compatibility
...
The new limits were chosen by sampling across over 4000 skins. The
methodology for doing so is described in the following gist:
https://gist.github.com/bdach/6228ba41d128b23d1f89142f404108a3
2023-10-05 20:37:10 +02:00
Dean Herbert
658b6a166f
Fix regression in Tracking
state handling
...
It turns out multiple components depend on `Tracking` eventually
becoming `false` at the end of a slider. With my previous changes, this
was no longer the case (as could be seen by the legacy cursor particles
test failure, and heard by slider slide taking too long to stop).
2023-10-04 16:11:40 +09:00
Dean Herbert
d14d885d19
Add test coverage of very fast slider
2023-10-04 14:58:05 +09:00
Dan Balasescu
48209872bf
Fix spinner requirements being susceptible to FP precision
2023-10-04 13:53:33 +09:00
Dean Herbert
9361b1879c
Add note about early return in DrawableSliderBall.Update
2023-10-04 13:45:26 +09:00
Dean Herbert
8d91991214
Fix difficulty calculation not correct handling slider leniency anymore
2023-10-04 13:45:26 +09:00
Dan Balasescu
854b797ab5
Merge branch 'master' into legacy-tick-not-so-legacy-after-all
2023-10-04 10:52:13 +09:00
Dan Balasescu
a120ea8464
Merge branch 'master' into fix-legacy-score-multipliers-2
2023-10-04 01:19:33 +09:00
Dean Herbert
69ae370e82
Merge branch 'master' into legacy-tick-test-coverage
2023-10-03 19:37:32 +09:00
Dean Herbert
c4992d3479
Fix one case of difficulty calculation no longer accounting for leniency
2023-10-03 19:37:13 +09:00
Dean Herbert
70ec4b060a
Rename weird diffcalc parameter name
2023-10-03 19:20:39 +09:00
Dean Herbert
9e1fec0213
Fix potential out-of-order tail and ticks
2023-10-03 18:52:20 +09:00
Dean Herbert
9a3c21c320
Change comparison of timeOffset
to greater-than (in line with others)
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-10-03 18:12:55 +09:00
Dean Herbert
0086759395
Fix slider tracking state being set to false
after slider end
2023-10-03 18:12:55 +09:00
Dean Herbert
16fcc4eaaa
Fix incorrect anchor/origin causing rotation to look wrong on legacy skin arrows
2023-10-03 12:32:52 +09:00
Dean Herbert
3aa51301e8
Add null checks in disposal flow
2023-10-02 22:28:33 +09:00
Dean Herbert
94e49a34fd
Adjust legacy reverse arrow implementation to match stable more closely
2023-10-02 22:26:57 +09:00
Dean Herbert
f0070eecf1
Add rotation support for very old skins
2023-10-02 20:09:39 +09:00
Dean Herbert
1bee7bf353
Add note about rotation
2023-10-02 19:22:24 +09:00
Dean Herbert
e4ac8362ec
Update other implementations to use non-beat-sync logic
2023-10-02 19:20:11 +09:00
Dean Herbert
8010410487
Stop beat syncing (and close match stable's implementation of arrow animation)
2023-10-02 19:17:35 +09:00
Dean Herbert
ad4e988520
Adjust reverse arrows to bounce more
2023-10-02 18:43:50 +09:00
Dean Herbert
455fc228ad
Add edge piece to argon reverse arrow
2023-10-02 18:43:50 +09:00
Dean Herbert
7dd9951c44
Split out reverse arrow implementations to allow better animation
2023-10-02 18:43:50 +09:00
Dan Balasescu
da2a4681d9
Add method to retrieve legacy score multiplier
2023-10-02 16:52:01 +09:00
Dean Herbert
07207ffc32
Fix hitsounds playing too early on fast sliders
2023-10-02 14:09:52 +09:00
Dean Herbert
94f4268ae5
Fix object dim being applied to approach circles
...
Fixes half of https://github.com/ppy/osu/issues/24956 .
The other half is high effort. The number portion is nested deeply and
with reason - depending on skin setting it changes the visual order.
I'm not sure how to fix that one, but I also think it's weird behaviour
and if people don't complain, it's probably fine to just dim the number
for consistency.
That said, the approach circle is an important one to ensure it matches
1:1, so I've fixed that here.
2023-09-29 18:23:23 +09:00
Dean Herbert
dd6d09189e
Remove usage of LastTick
in osu! ruleset
2023-09-29 16:58:17 +09:00
Dean Herbert
e3695d2be0
Adjust slider judgement logic to allow tracking anywhere after last tick
2023-09-29 16:08:52 +09:00
Dean Herbert
d7119674e8
Update comments to better explain what LastTick
is doing
2023-09-29 14:40:44 +09:00
Dean Herbert
81485c548c
Move LegacyLastTickOffset
specification to generation code and stop passing everywhere
2023-09-29 14:32:29 +09:00
Dean Herbert
c0234ff254
Reduce approach circle's final opacity to match stable
...
Closes #24941 .
2023-09-29 12:44:28 +09:00
Dean Herbert
0a208a5a47
Merge pull request #24932 from smoogipoo/spinner-od-based-max-rpm
...
Cap maximum spinner RPM based on OD
2023-09-27 15:56:27 +09:00
Dean Herbert
9d8c3f0f5c
Merge pull request #24779 from smoogipoo/split-legacy-scoring-attribs
...
Split legacy scoring attribs into its own table
2023-09-26 22:35:38 +09:00
Dan Balasescu
05c9f0f9cc
Fix bonus requirement not considering number of normal ticks
2023-09-26 18:11:27 +09:00
Dan Balasescu
859155dda1
Cap maximum spinner RPM based on OD
2023-09-26 17:20:20 +09:00
Dean Herbert
990c54519b
Merge branch 'master' into limit-gameplay-sprite-dimensions
2023-09-26 16:40:32 +09:00
Dean Herbert
0dcf7a2fa9
Merge branch 'master' into split-legacy-scoring-attribs
2023-09-26 15:52:27 +09:00
Salman Ahmed
734ee0e68b
Simplify code
2023-09-24 02:22:50 +03:00
Fabian van Oeffelt
7c40072c47
Get first Spinner,Slider or HitCircle instead of only HitCircle
...
Fixes bug
2023-09-23 13:18:49 +02:00
Bartłomiej Dach
69ed99dfd5
Merge branch 'master' into mania-edit-disable-sv
2023-09-21 09:13:27 +02:00
Bartłomiej Dach
28da5baea4
Merge branch 'master' into fix-slider-length
2023-09-20 11:10:01 +02:00
Dean Herbert
41a8239e49
Remvoe null default for mods which can't be null
2023-09-20 15:27:50 +09:00
Dean Herbert
8e16b1d507
Simplify some maximum size specs
2023-09-20 12:48:15 +09:00
Bartłomiej Dach
92cafe23fe
Merge pull request #24810 from peppy/remove-slider-head-movement-allowance
...
Remove slider head circle movement (and remove setting from "classic" mod)
2023-09-19 12:25:33 +02:00
Dean Herbert
0360646e9b
Avoid fast fade out if slider head was not hit
2023-09-19 14:38:53 +09:00
Salman Ahmed
922f6f36f2
Add size limitation for hit object numbers
2023-09-19 04:38:10 +03:00
Salman Ahmed
ab5226832a
Add size limitation for slider reverse arrow piece
2023-09-19 04:38:10 +03:00
Salman Ahmed
b823507b2a
Add size limitation for approach circles
2023-09-19 04:38:10 +03:00
Salman Ahmed
f963a921db
Add size limitation for slider follow circle
2023-09-19 04:18:12 +03:00
Salman Ahmed
fc1a39ede3
Add size limitations for slider balls
2023-09-19 04:18:12 +03:00
Salman Ahmed
291a91be66
Change extension from retrieval to post-processing instead
2023-09-19 03:40:30 +03:00
Salman Ahmed
57dc76b345
Revert "Update GetTexture
signature rather than creating new overload"
...
This reverts commit 96f12cfbaa
.
2023-09-19 03:21:19 +03:00
Magnus-Cosmos
bd7dab1d86
Add test for slider path edge case
2023-09-18 12:02:20 -04:00
Bartłomiej Dach
5c6cd879dd
Adjust slider calculations to new method API
...
Code originally read
Velocity = scoringDistance / beatLength
= BASE_SCORING_DISTANCE * SliderMultiplier * GetPrecisionAdjustedSliderVelocityMultiplier() / beatLength
Given (mathematically, floats are not generally as forgiving):
GetPrecisionAdjustedBeatLength() = beatLength / GetPrecisionAdjustedSliderVelocityMultiplier()
it follows that (inverting both sides):
1 / GetPrecisionAdjustedBeatLength() = GetPrecisionAdjustedSliderVelocityMultiplier() / beatLength
and therefore
Velocity = BASE_SCORING_DISTANCE * SliderMultiplier * GetPrecisionAdjustedSliderVelocityMultiplier() / beatLength
= BASE_SCORING_DISTANCE * SliderMultiplier / GetPrecisionAdjustedBeatLength()
and to recover `scoringDistance`
scoringDistance = Velocity * beatLength
2023-09-15 12:30:25 +02:00
Bartłomiej Dach
4275af1343
Merge branch 'master' into fix-slider-tick-misssing
2023-09-15 12:09:54 +02:00
Bartłomiej Dach
86c46a5b3f
Manually reorder objects in expected mapping
...
The test added in 64baa4d01a
was
previously failing despite applying a fix. This was caused by the fact
that in stable, the last `sliderScoreTimingPoint` (i.e. the
`LegacyLastTick` is pulled back by 36ms, but the list of all of them
is not re-sorted afterwards, causing objects to be exported in
non-chronological order to the resultant conversion mapping.
lazer correctly sorts the objects, causing a false positive.
2023-09-15 12:07:59 +02:00
Dan Balasescu
2abef4ade5
Expand comment to justify maximising bonus score
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-09-15 18:35:17 +09:00
Bartłomiej Dach
a6fab28461
Merge branch 'master' into no-legacy-difficulty-control-point
2023-09-15 11:14:28 +02:00
Dan Balasescu
ed295effc5
Maximise bonus score
2023-09-15 15:51:05 +09:00
Dean Herbert
cf9ca60b09
Change slider body to not animate snaking until head circle is (successfully) hit
2023-09-14 17:49:41 +09:00
Dean Herbert
e3e7a81ad9
Remove slider head circle movement (and remove setting from "classic" mod)
2023-09-14 17:49:41 +09:00
Dan Balasescu
753c1c877c
Revert masking SSBO changes
2023-09-13 23:10:13 +09:00
Givikap120
1a70110a4e
Added BeatmapAttributesDisplay support
2023-09-12 16:44:44 +03:00
Dean Herbert
e810abf1e6
Rename variable
2023-09-12 20:51:22 +09:00
Dean Herbert
39d69903ab
Merge branch 'master' into stable-spinner-ticks-2
2023-09-12 20:41:43 +09:00
Dean Herbert
7db4b3e83c
Merge pull request #24661 from frenzibyte/stable-spinner-ticks-1
...
Update osu! spinner ticks calculation method to better match with osu!(stable)
2023-09-12 20:41:28 +09:00
Givikap120
c61212c523
Merge pull request #1 from Givikap120/master
...
add display to calibrate
2023-09-12 13:02:19 +03:00
Dan Balasescu
86330a7cc4
Adjust comment
2023-09-11 18:01:53 +09:00
Dan Balasescu
628517569b
Fix another difficulty-specific value
2023-09-08 21:08:09 +09:00
Bartłomiej Dach
e9b08219e9
Block input to objects lying under already-hit slider heads before slider is fully judged when classic note lock is active
2023-09-08 13:42:18 +02:00
Bartłomiej Dach
168a828f23
Revert "Block input to objects lying under already-hit hitcircles when classic note lock is active"
...
This reverts commit 03c61a573e
.
The goal here was to handle an edge case discovered during work on note
lock, wherein it was determined that on stable hit circles would block
input from reaching objects underneath them. However, the change
mentioned above did that _too_ hard and caused overlaps to also be
blocked even long past a hit circle has been faded out.
Revert the change pending further (and more careful) investigation.
2023-09-08 10:11:21 +02:00
Dan Balasescu
2334be1987
Split legacy scoring attributes into a separate object
2023-09-07 21:10:38 +09:00
Dean Herbert
22ee64cfda
Fix sliders not always being the correct length
...
This is another similar case where stable floating point precision comes
into play due to use of `hitObjectManager.Beatmap.BpmMultiplierAt` (see
1531237b63/osu
!/GameplayElements/HitObjects/Osu/SliderOsu.cs#L680)
Closes #24708 .
2023-09-07 18:20:08 +09:00
Dean Herbert
64baa4d01a
Add test coverage of failing slider tick generation edge case
2023-09-07 18:20:08 +09:00
Dean Herbert
dcbdc114ce
Remove precision limitations of SliderVelocity
2023-09-07 17:41:58 +09:00
Bartłomiej Dach
323a4f4522
Only show preempt time when limits are extended
2023-09-07 08:30:02 +02:00
Bartłomiej Dach
bd633889e7
Remove local preempt time calculation
...
And just use a hitcircle, and read the actual value. Comes with 100%
less chance of forgetting to update either place in the future.
2023-09-07 08:23:50 +02:00
Bartłomiej Dach
9c6f77b26e
Fix too many things being exposed
2023-09-07 08:11:04 +02:00
Dean Herbert
e05d7d5f8d
Inline local control
2023-09-07 14:22:06 +09:00
isakvik
2ab11ab568
adds new diffsetting control that shows millisecond values for approach rate override
2023-09-07 01:41:22 +02:00
isakvik
3db0d0d341
extendable minimum AR value for osu!std diff adjust mod, set to -10
2023-09-06 23:26:34 +02:00
Dean Herbert
1a37543d28
Rename SliderVelocity
to SliderVelocityMultiplier
to distinguish from Velocity
2023-09-06 19:01:08 +09:00
Dean Herbert
d06490220d
Add better xmldoc for Slider.Velocity
2023-09-06 18:58:58 +09:00
Salman Ahmed
912c8b0901
currentSpins
-> completedFullSpins
2023-09-06 00:10:41 +03:00
Bartłomiej Dach
03c61a573e
Block input to objects lying under already-hit hitcircles when classic note lock is active
2023-09-05 22:50:27 +02:00
Dean Herbert
96f12cfbaa
Update GetTexture
signature rather than creating new overload
2023-09-05 18:01:19 +09:00
Dean Herbert
0da37e4e99
Merge pull request #24701 from frenzibyte/remove-flashlight-slider-dim-transform
...
Apply flashlight slider dim immediately to match osu!(stable)
2023-09-04 16:35:30 +09:00
Salman Ahmed
351081eb27
Add limit to osu! hit circle elements
2023-09-03 02:22:53 +03:00
Salman Ahmed
920c6fa48f
Update comment
2023-09-01 23:29:51 +03:00
Salman Ahmed
f74dfa9c6c
Apply flashlight slider dim immediately to match osu!(stable)
2023-09-01 22:55:33 +03:00
Dean Herbert
90121814f9
Merge branch 'master' into stable-notelock
2023-09-01 17:15:48 +09:00
Dean Herbert
c75b14c729
Apply NRT to new LegacyHitPolicy
class (and other implementations)
2023-09-01 16:56:34 +09:00
Salman Ahmed
993cebe785
Fix mod "Classic" interfering with DrawableHitCircle
animation while in hit state
2023-08-30 21:42:47 +03:00
Salman Ahmed
3bcddf3cc8
Add gap of two whole spins before achieving bonus score
2023-08-27 01:54:10 +03:00
Salman Ahmed
d614e745b8
Calculate spinner ticks as "whole spins" without arbitrary factors
2023-08-27 01:27:31 +03:00
Salman Ahmed
e77581f641
wholeSpins
-> currentSpins
2023-08-27 01:27:31 +03:00
Givikap120
290f8db341
fixed stated problems
...
removed functions from `Ruleset.cs` and added a `GetEffectiveDifficulty()` instead
2023-08-26 02:13:14 +03:00
Givikap120
17b9b1649a
Fixed "works only for std" problem
...
1) Now it use AR/OD calculation from Ruleset class
2) Implemented needed functions in each of default rulesets
2023-08-25 00:58:26 +03:00
Bartłomiej Dach
7f215f163f
Use reduced hittable range with autopilot active
2023-08-24 08:52:49 +02:00
Bartłomiej Dach
ed2b1a0754
Contain entirety of legacy notelock badness inside the hit policy
2023-08-24 08:52:49 +02:00
Bartłomiej Dach
a045cb71fc
Add assertions checking action type taken by legacy hit policy
2023-08-24 08:52:49 +02:00
Bartłomiej Dach
b777b34cc0
Merge branch 'master' into stable-notelock
2023-08-24 08:43:59 +02:00
Dean Herbert
bbe4635a50
Remove unused usings
2023-08-22 16:07:48 +09:00
Dean Herbert
4e9e084b2c
Merge branch 'master' into scorev3
2023-08-22 15:52:22 +09:00
Dan Balasescu
e8337c592a
Update framework and apply changes to support masking SSBO
2023-08-22 12:50:13 +09:00
Bartłomiej Dach
3c191ff9ea
Expand allowable rotation range to [-360, 360]
2023-08-19 15:09:59 +02:00
Dean Herbert
63080d049f
Adjust icons slightly
2023-08-17 19:08:18 +09:00
Dean Herbert
0858bef66e
Update SmokeSegment
in line with framework vertex changes
2023-08-17 18:12:04 +09:00
OliBomby
cc4e11a5ac
Ensure populated node samples so new objects have unique node sample lists
2023-08-16 20:48:52 +02:00
Bartłomiej Dach
19f892687a
Add precise rotation control to osu! editor
2023-08-16 11:37:52 +02:00
Bartłomiej Dach
262f25dce8
Make SelectionRotationHandler
a Component
2023-07-30 20:18:33 +02:00
Bartłomiej Dach
821cd08f34
Merge branch 'master' into selection-operations-refactor
2023-07-30 19:29:06 +02:00
Bartłomiej Dach
c21167e2ab
Merge pull request #24360 from peppy/spinner-faster-rotation
...
Change spinner rotation animation to match input 1:1
2023-07-29 00:48:56 +02:00
Dean Herbert
2e9379474d
Change spinner rotation animation to match input 1:1
2023-07-25 19:21:20 +09:00
Dean Herbert
eac6271bd0
Add new property to avoid overlapping usages
2023-07-25 18:14:03 +09:00
Dean Herbert
2f7d38d98b
Merge branch 'master' into fix-editor-blueprint-input-extension
2023-07-25 18:14:02 +09:00
Bartłomiej Dach
aec3ca250c
Migrate SelectionHandler
to use SelectionRotationHandler
2023-07-23 20:56:22 +02:00
Bartłomiej Dach
ba904fd77b
Migrate osu! rotation handling to SelectionRotationHandler
2023-07-23 20:56:22 +02:00
Bartłomiej Dach
4622255cc7
Move out helper methods to static class
2023-07-23 18:24:20 +02:00
Dean Herbert
b58354ac64
Fix playfield getting cut off (again) at tall aspect ratios
2023-07-21 15:20:20 +09:00
Liam DeVoe
6a81230298
rename ObjectOrderedHitPolicy to LegacyHitPolicy
2023-07-19 14:44:28 -04:00
Liam DeVoe
2c97ac7410
convert AliveObjects to list in hit policy instead of globally
2023-07-19 14:28:04 -04:00
Dean Herbert
4a6a5b174a
Fix editor blueprints being selectable for too long when hit markers are enabled
...
Addresses https://github.com/ppy/osu/discussions/24163 .
2023-07-19 14:59:22 +09:00
Liam DeVoe
768d7b5e1c
correct implementation of stable notelock
2023-07-17 23:31:21 -04:00
Zyf
b672b49e02
Scoring : Implement v1 to v3 conversion.
2023-07-15 23:20:49 +02:00
Zyf
ecb633f8fb
Scoring : Remove ComputeTotalScore overide in OsuScoreProcessor
2023-07-15 15:22:59 +02:00
Dean Herbert
dd8774a640
Vertically centre the editor osu! playfield
2023-07-14 13:21:28 +09:00
Bartłomiej Dach
d5912165e9
Merge branch 'master' into results-screen-component-metrics
2023-07-13 19:53:52 +02:00
Dean Herbert
9ad63bae37
Add missing heading for statistics section in results screen
2023-07-13 18:50:52 +09:00
Dean Herbert
947b40149f
Adjust metrics of SimpleStatisticTable
2023-07-13 18:45:32 +09:00
Dean Herbert
4f089eb5a5
Adjust metrics of AccuracyHeatmap
2023-07-13 18:30:57 +09:00
Dean Herbert
87570ed238
Fix incorrect slider stacking on very old beatmaps
...
Closes https://github.com/ppy/osu/issues/24185
The stable code has had a bug in this logic forever. So we'll need to
reimplement the bug.
Basically, sliders have to have `UpdateCalculations` run in order to
have a correct `Position2` and `EndTime`, but this wasn't being called
in the inner loop before use of `EndTime` at
1531237b63/osu
!/GameplayElements/HitObjectManager.cs#L1813.
To fix this, we use `StartTime` in the inner loop to reproduce the bug.
2023-07-12 17:35:03 +09:00
Bartłomiej Dach
7be5e0e978
Implement back-and-forth conversion of ModScoreV2
and LegacyMods
2023-07-09 16:15:21 +02:00
Bartłomiej Dach
e9ecad9839
Add failing test cases covering NaN-timing-point sliders
2023-07-08 23:24:38 +02:00
Dean Herbert
e0fc97bb93
Replace various local implementations of rewinding checks with new property
2023-07-07 15:21:24 +09:00
Dean Herbert
1629024111
ILegacyScoreProcessor
-> ILegacyScoreSimulator
2023-07-04 17:32:54 +09:00
Dan Balasescu
c6ad184d94
Move Ruleset method to ILegacyRuleset interface
2023-06-29 17:24:37 +09:00
Dan Balasescu
09bc8e45de
Refactoring
2023-06-28 16:14:32 +09:00
Dan Balasescu
5f350aa66f
Fix float division
...
Firstly, this is intended to be a float division.
Secondly, dividing integers by 0 results in an exception, but dividing
non-zero floats by 0 results in +/- infinity which will be clamped to
the upper range.
In particular, this occurs when the beatmap has 1 hitobject (0 drain
length).
2023-06-27 17:14:35 +09:00
Dan Balasescu
a9c65d200a
Initial conversion of scores
2023-06-26 22:19:01 +09:00
Dan Balasescu
e1d723a2cc
Merge branch 'master' into diffcalc-total-scorev1
2023-06-26 14:32:14 +09:00
Bartłomiej Dach
e3a89a6273
Fix remaining obvious CI inspections
2023-06-24 16:07:01 +02:00
Dan Balasescu
5fadadc3d0
Merge branch 'master' into diffcalc-total-scorev1
2023-06-24 02:46:15 +09:00
Dean Herbert
df5b389629
Manual fixes to reduce warnings to zero
2023-06-24 01:52:53 +09:00
Dan Balasescu
06565871d6
Add flag to disable computing legacy scoring values
2023-06-24 01:03:18 +09:00
Dean Herbert
0ab0c52ad5
Automated pass
2023-06-24 01:00:03 +09:00
Dan Balasescu
87447f41d0
Fix incorrect calculation of difficulty
2023-06-24 00:58:45 +09:00
Bartłomiej Dach
6d32206a08
Fix slider tails receiving wrong colours
...
Only visually apparent on legacy skins.
2023-06-19 17:47:01 +02:00
Dan Balasescu
bfa449e47a
Adjust attribute data
2023-06-19 21:38:13 +09:00
Dean Herbert
0900cebc0d
Avoid doing expensive colour fetch operation every update
2023-06-19 20:12:17 +09:00
Dean Herbert
aa96fefae2
Merge branch 'master' into snap-colour-mod
2023-06-19 20:01:36 +09:00
Dan Balasescu
0844a21a51
Merge branch 'master' into diffcalc-total-scorev1
2023-06-15 19:33:29 +09:00
Dan Balasescu
b9f485b551
Merge classes + split out
2023-06-13 02:32:54 +09:00
Dan Balasescu
446807e7f6
Add combo score / bonus score attributes
2023-06-12 23:00:29 +09:00
Dan Balasescu
024a64e52c
Merge pull request #23866 from bdach/fix-judgement-processing-order
...
Fix not being able to receive full score for extremely short sliders with repeats
2023-06-12 15:04:08 +09:00
Dean Herbert
bddb91dc0a
Adjust adjustment to 1px based on review feedback
...
Also split out `Size` variable for clarity
2023-06-12 14:24:39 +09:00
Dean Herbert
03a5b701e9
Fix incorrect inline comment
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-06-12 14:20:54 +09:00
Bartłomiej Dach
7e5533e205
Fix not being able to receive full score for extremely short sliders with repeats
...
Closes #23862 .
Score V2 is a scoring algorithm, which aside from the raw numerical
values of each judgement, incorporates a combo component, wherein each
judgement's "combo score" is derived from both the raw numerical value
of the object and the current combo after the given judgement. In
particular, this means that Score V2 is sensitive to the _order_ of
judging objects, as if two objects with the same start time are judged
using different ordering, they can end up having a different "combo
score".
The issue that this change is fixing is an instance of one such
reordering. Upon inspection, it turned out that the simulated autoplay
run, which is used to determine max possible score so that it can be
standardised to 1 million again, was processing a slider repeat before a
slider tail circle, while actual gameplay was processing the same slider
repeat _after_ the slider tail circle.
The cause of that behaviour is unfortunately due to `LegacyLastTick`.
The sliders which cause the issue are extremely short. Stable had a
behaviour, in which to provide leniency, slider tails were artificially
offset back by 36ms. However, if the slider is not long enough to make
this possible, the last tick is placed in the middle of the slider. If
that slider also happens to have exactly 1 repeat, then this means that
the last tick and the repeat have the same time instant.
Because of the time equality, what begins to matter now is the _order_
of processing the elements of the drawable slider in the hierarchy. For
the purposes of legacy skins, tail circles were moved below ticks in
fce3eacd7d
- but in this particular case,
it means that the order of processing the slider elements is now
inadvertently inverted, causing the entire debacle.
While the fact that scoring depends on order of processing of visuals is
suboptimal, there isn't a great way to address this without significant
restructuring. Due to the structure of processing judgements currently
in place, in which each judgement is processed independently from others
by its corresponding drawable hit object, this is probably the best that
can be done for the time being at least.
2023-06-10 12:14:08 +02:00
Dan Balasescu
4b8c4bd503
Fix black jaggies around argon hitcircles
2023-06-10 01:54:13 +09:00
Dean Herbert
95ad18ed2e
Reduce the radius of note-to-note snapping in osu! editor
...
Stable uses `0.15f`, but for whatever reason that feels too large still.
I've ballparked this.
Addresses https://github.com/ppy/osu/discussions/23806 .
2023-06-08 17:44:33 +09:00
John Biddle
d07437f810
Added recommendations from bdach:
...
Fixed null checking in ApplyToDrawableHitObject
Renamed mod to "Synesthesia"
Moved to the "Fun" mod category
2023-06-08 00:52:28 -07:00
Dan Balasescu
d10c63ed2d
Fix difficulty calculation when mods are involved
2023-06-08 16:29:34 +09:00
Salman Ahmed
62cb6a98ca
Remove redundant nullable suppression directives
2023-06-07 08:20:41 +03:00
Dean Herbert
247fa088db
Add IHasNoTimedInputs
interface to scope change further
2023-06-06 22:22:42 +09:00
Dan Balasescu
77c745cc94
"TotalScoreV1" -> "LegacyTotalScore"
2023-06-06 17:25:28 +09:00
Bartłomiej Dach
331e90f720
Merge branch 'master' into tidy-results-grid-usage
2023-06-03 19:45:23 +02:00
Dean Herbert
a5fd833214
Fix "bubbles" mod not adding pool to hierarchy (and constructing too early)
2023-06-02 23:01:03 +09:00
Dan Balasescu
e402c6d2b4
Write max combo attribute from base class
2023-06-02 21:53:25 +09:00
Dan Balasescu
02111e3854
Implement ScoreV1 calculation for OsuRuleset
2023-06-02 17:36:45 +09:00
Dean Herbert
985604fab5
Return StatisticItem
s rather than StatisticRow
s from ruleset
...
There were no usages of more than one column being provided per row, so
it seemed like unnecessarily complexity. I'm currently trying to reduce
complexity so we can improve the layout of the results screen, which
currently has up to three levels of nested `GridContainer`s.
Of note, I can't add backwards compatibility because the method
signature has not changed in `Ruleset` (only the return type). If we do
want to keep compatibility with other rulesets, we could designate a new
name for the updated method.
2023-06-01 14:35:15 +09:00
Dean Herbert
e830b96e61
Add back required override to make AccuracyHeatmap
work
2023-06-01 13:26:47 +09:00
Bartłomiej Dach
aaf50c47a7
Merge pull request #23696 from peppy/fix-autopilot-ripples
...
Fix cursor ripples appearing in a weird place when "autopilot" mod is enabled
2023-05-30 23:29:30 +02:00
John
ed850196d9
Reverted to applying the color change in OnUpdate, removed EnableComboColour flag from DrawableHitObject.cs
2023-05-30 01:43:08 -07:00
Dean Herbert
3e94d4bb5a
Fix cursor ripples appearing in a weird place when "autopilot" mod is enabled
2023-05-30 15:18:23 +09:00
Dean Herbert
1558723420
Merge branch 'master' into scorev2
2023-05-29 20:06:32 +09:00
Bartłomiej Dach
53c91349fe
Merge branch 'master' into slider-control-point-no-distance-snap
2023-05-26 19:52:54 +02:00
Bartłomiej Dach
e35201cb99
Don't snap non-head slider nodes to distance grid during placement either
...
1cd69220ef
only disabled snapping the
aforementioned nodes to distance grid for already-placed sliders.
`SliderPlacementBlueprint` has its own logic for placement, so the fix
needs to be mirrored there too.
2023-05-26 19:51:20 +02:00
Bartłomiej Dach
e8db0739fa
Merge pull request #23577 from peppy/accuracy-heatmap-text-hints
...
Show text hints on the accuracy heat map to better explain direction
2023-05-25 17:00:25 +02:00
Dean Herbert
1cd69220ef
Fix slider path placement snapping non-head nodes to distanced snapping grid
...
As discussed at https://github.com/ppy/osu/discussions/23531 .
2023-05-25 21:41:43 +09:00
Dean Herbert
804671ca74
Split out grid snapping modes into "relative" and "global" types
2023-05-25 21:41:19 +09:00
Dan Balasescu
fee3d43596
Merge branch 'master' into scorev2
2023-05-23 19:07:54 +09:00
Dean Herbert
c8303d55cd
Adjust text and alignment
2023-05-23 16:21:56 +09:00
Bartłomiej Dach
afdddb0195
Merge pull request #23582 from peppy/placement-blueprint-timeline-combo-fixes
...
Fix timeline blueprint display not showing correct combo number / colour during placement
2023-05-20 15:02:55 +02:00
Dan Balasescu
30a296bd09
Rename parameters
2023-05-19 17:27:02 +09:00
Dan Balasescu
d74bf2a096
Refactor for safety
2023-05-19 14:37:26 +09:00
Dan Balasescu
2ae34530f7
Avoid NaN values during ApplyBeatmap processing()
2023-05-19 14:14:34 +09:00
Dan Balasescu
8b56a3f87d
Remove ClassicScoreMultiplier and DefaultScoreProcessor
2023-05-19 12:24:52 +09:00
Dean Herbert
b58ab28765
Make EditorClock
non-nullable in PlacementBlueprint
2023-05-17 21:40:52 +09:00
Dean Herbert
3054348c73
Add text hints to accuracy heat map to better describe travel direction
2023-05-17 15:22:48 +09:00
Dean Herbert
9fe787acd8
Enable NRT on AccuracyHeatmap
2023-05-17 15:03:59 +09:00
Dean Herbert
dc51d5ecf3
Rename GetSampleInfo
to better describe what method does
...
Also add full xmldoc
2023-05-17 14:07:48 +09:00
John
b7dc8d49ba
Removed import for Allocation and other unnecessary [Resolved] tag missed in last commit
2023-05-16 21:14:55 -07:00
John
e2633ae993
Removed unnecessary [Resolved] attribute (thanks bdach)
...
Moved accent color assignment from OnUpdate to ApplyCustomUpdateState. In order to get this to work, a flag needed to be added to DrawableHitObject.cs to disable combo color updates also being applied.
2023-05-16 21:08:56 -07:00
Bartłomiej Dach
a6ddb107cd
Merge branch 'master' into master
2023-05-14 19:45:31 +02:00
alix
d503312788
updates and add changes
2023-05-14 13:37:44 -04:00
John
7a907f7207
Code quality improvements (thanks to ItsShamed): Removed #nullable disable, fixed incorrect LocalisableString, removed incorrect dependency injection for OsuColour, fixed nullable dependency for IBeatmap
...
Removed unnecessary usage of "this." caught by the CI code quality check
2023-05-12 22:13:39 -07:00
John
24f07633f3
Formatting fixes
2023-05-12 19:43:28 -07:00
John
e5884016ab
Initial commit for the snap colour mod. Implements basic functionality.
2023-05-12 19:07:25 -07:00
Dean Herbert
f443cfb93e
Move blueprint validity conditions to allow more correct external usage of EndPlacement
...
Until now, these were haphazardly enforce inline in blueprint
implementations. The only thing stopping complete breakage is that
`EndPlacement` wasn't called (too much) from outside the blueprint,
leaving them responsible for their own placement.
By moving this conditional out of the provided paramters to
`EndPlacement`, it allows more flexible usage of that method externally.
Coming in a future PR.
2023-05-12 16:02:22 +09:00
alix
b3a5e4d305
nest class outside of OsuModRandom
2023-05-12 00:29:00 -04:00
alix
53ab780796
fix indents
2023-05-11 23:50:45 -04:00
alix
e50cab9e81
move class to the bottom of the file
2023-05-11 23:48:31 -04:00
alix
a4954e64ac
fix precision from making mouse input also go 0.5
2023-05-11 23:45:41 -04:00
js1086
3bce7ac589
Copy SliderVelocity to strict tracking sliders
2023-05-11 19:07:22 +01:00
alix
4732c8a06c
fix angle sharpness slider value from not always scaling by 0.5
2023-05-11 13:46:07 -04:00
Dan Balasescu
a7b623f52a
Reimplement classic scoring mode
2023-05-09 20:21:38 +09:00
Dan Balasescu
3c3c812ed6
Initial implementation of ScoreV2
2023-05-09 19:33:33 +09:00
Bartłomiej Dach
808a44ac0c
Resolve code quality inspection
2023-05-06 16:23:00 +02:00
Bartłomiej Dach
a45f0b65a1
Merge pull request #23372 from peppy/fix-slider-end-circle-appear-delay
...
Fix fade in delay for first slider end circle being incorrect when snaking disabled
2023-05-03 19:06:39 +02:00
Bartłomiej Dach
2add8e119f
Merge pull request #23379 from peppy/legacy-skin-reverse-arrow-colour-flip
...
Add support for flipping colour of reverse arrow on legacy default skin when combo colour is too bright
2023-05-03 08:48:32 +02:00
Dean Herbert
6b017ac05f
Merge pull request #23308 from OliBomby/sample-control-points
...
Remove SampleControlPoint and DifficultyControlPoint from HitObject
2023-05-03 14:21:51 +09:00
Dean Herbert
9c4312b407
Add support for flipping colour of reverse arrow on legacy default skin when combo colour is too bright
2023-05-03 12:37:07 +09:00
Dean Herbert
e42b0cc5b1
Merge pull request #23370 from peppy/fix-editor-playfield-padding
...
Add more padding around playfield in editor to avoid overlap with tool areas
2023-05-03 11:44:55 +09:00
Bartłomiej Dach
03459a4f19
Merge pull request #23371 from peppy/argon-slider-ball-fade-faster
...
Increase the rate of slider ball fade on argon skins to match other implementations
2023-05-02 19:03:47 +02:00
Dean Herbert
e44672bdd5
Avoid using Schedule
in transforms (doesn't handle rewind well)
2023-05-02 17:08:49 +09:00
Dean Herbert
7830711c8e
Tidy up various code quality issues in OsuModBubbles
2023-05-02 17:08:37 +09:00
Dean Herbert
fb0e90913d
Ensure lifetime start is also updated when reverting judgements
2023-05-02 17:07:12 +09:00
Dean Herbert
b2b9f2a036
Merge branch 'master' into bubble_mod_implementation_clean
2023-05-02 16:59:55 +09:00
Dean Herbert
a619812cab
Fix nullability and remove extra preempt from SliderEndCircle
calculation
2023-05-02 16:36:43 +09:00
Dean Herbert
1a04be15c7
Fix fade in delay for first slider end circle being incorrect when snaking disabled
2023-05-02 16:27:17 +09:00
Dean Herbert
bd72c67d68
Increase the rate of slider ball fade on argon skins to match other implementations
2023-05-02 15:47:35 +09:00
Dean Herbert
67f83f246b
Add more padding around playfield in editor to avoid overlap with tool areas
...
Closes #23130 .
2023-05-02 15:37:02 +09:00
Dean Herbert
e3c384c6b5
Merge branch 'master' into sample-control-points
2023-05-02 14:38:39 +09:00
OliBomby
27cfadca16
add sample info to Banana and SpinnerBonusTick
2023-05-01 14:54:06 +02:00
Dean Herbert
0a70734331
Adjust ripple size with cursor scale (including CS)
2023-05-01 14:43:49 +09:00
Dean Herbert
5cbfefbcb4
Adjust metrics of default ripple to match stable default better
2023-05-01 13:29:50 +09:00
Dean Herbert
b8ae508639
Fix incorrect starting scale for ripples
2023-05-01 13:09:00 +09:00
OliBomby
41d4894aa3
add min and max value to SliderVelocity
2023-04-30 19:32:24 +02:00
OliBomby
4a0ff046ae
pass new hitobject properties through beatmap converters
2023-04-30 19:20:42 +02:00
OliBomby
1eb2e35dff
fix ticks not being generated by default
2023-04-30 16:03:58 +02:00
Dean Herbert
72b472a756
Change default scaling and add note about legacy cursor-ripple
scale
2023-04-30 14:48:03 +09:00
Dean Herbert
6a62949fcd
Fix positioning and rewinding support for ripples
2023-04-30 14:48:03 +09:00
Dean Herbert
c994adfc22
Add pooling support for ripples
2023-04-30 14:48:03 +09:00
Dean Herbert
a4ae9e409b
Implement ripples (legacy and default)
2023-04-30 14:48:03 +09:00
Dean Herbert
b39a9d816e
Add basic structural requirements for cursor ripples
2023-04-30 14:48:03 +09:00
OliBomby
c44f71a737
remove all regular usage of DifficultyControlPoint
2023-04-26 17:55:38 +02:00
OliBomby
9f8d7bccba
fix usings
2023-04-26 17:34:02 +02:00
OliBomby
d97daee96b
remove all non-test usage of SampleControlPoint
2023-04-26 13:55:39 +02:00
OliBomby
6c70948681
Remove IContext & add IHasGenerateTicks
2023-04-26 13:10:57 +02:00
OliBomby
e4b64bdc3e
clean up code stuff
2023-04-25 19:06:29 +02:00
OliBomby
66eda40cdf
fix implementations of IHasSliderVelocity
2023-04-25 18:22:22 +02:00
OliBomby
065464d90c
Fixed DifficultyPointPiece
2023-04-25 18:12:53 +02:00
OliBomby
97910d6be6
remove unused directives
2023-04-25 13:06:37 +02:00
OliBomby
891b87a5ff
remove ApplyLegacyInfo method
2023-04-25 12:52:21 +02:00
OliBomby
ea1e6e9798
Add LegacyContext
2023-04-25 12:12:46 +02:00
OliBomby
a4c6850ab2
made the SampleControlPoint and DifficultyControlPoint obsolete
2023-04-25 11:34:09 +02:00
Dan Balasescu
ad51f880e0
Remove overrides on DC/NC mods
2023-04-10 17:49:29 +09:00
Dan Balasescu
15f6bc155e
Add progressive score multiplier for HT
2023-04-10 13:35:48 +09:00
Dan Balasescu
c923482976
Add progressive score multiplier for DT
2023-04-10 13:31:48 +09:00
Dean Herbert
45e3e3623b
Fix spinners being selectable for too long after they fade in the editor
...
The actual visual extension is only applied to `HitCircle`s (which does include slider
start / end), and should not be applied to spinners in the first place.
Addresses https://github.com/ppy/osu/discussions/22949 .
2023-03-28 18:49:59 +09:00
Dean Herbert
ad5bdf6511
Merge branch 'master' into fix-ubo-not-bound
2023-03-22 16:46:39 +09:00
Dean Herbert
c056d5a6fb
Reduce distance requirement for lock-in behaviour
2023-03-20 15:36:58 +09:00
Dean Herbert
13a32b5246
Move lock-in variable to const
and document better
2023-03-20 15:36:27 +09:00
Salman Ahmed
678e8ed736
Update UBO usages inline with framework changes
2023-03-16 14:06:35 +03:00
Dean Herbert
7b34607676
Merge branch 'master' into bubble_mod_implementation_clean
2023-03-16 13:45:22 +09:00
Dean Herbert
42359a9754
Fix previous touch action not being released when it's not a direct touch
2023-03-15 16:43:20 +09:00
Dean Herbert
6c4f596a9a
Make osu! touch input aware of the distance travelled of a non-direct touch
2023-03-15 16:43:20 +09:00
Dean Herbert
969c0e9c9d
Merge branch 'master' into veldrid-renderer
2023-03-14 17:35:38 +09:00
Dan Balasescu
069b77dd23
Update language version
2023-02-25 02:15:56 +09:00
Dan Balasescu
dd9748a25c
Adjust DrawNodes to use UBOs
2023-02-25 01:42:55 +09:00
Dean Herbert
a8c692a215
Merge pull request #22635 from peppy/use-overlays-container-more
...
Use `Overlays` container rather than `KeyBindingInputManager` for flashlight
2023-02-22 18:30:21 +09:00
Dean Herbert
ee87a29376
Merge pull request #22543 from Cwazywierdo/hitcircle-late-miss-fade
...
Fix hit circle late-miss fading differences compared to stable
2023-02-21 13:56:57 +09:00
MK56
b74c1c8334
Merge branch 'master' into bubble_mod_implementation_clean
2023-02-19 21:36:59 +01:00
Bartłomiej Dach
8a488ebccc
Actually simplify condition
2023-02-19 16:39:35 +01:00
Adam
58d64cdbd0
Clarify usingHiddenFading logic
2023-02-18 17:33:33 -06:00
Bartłomiej Dach
6b9472c367
Merge branch 'master' into skin-per-ruleset-layouts
2023-02-17 22:58:38 +01:00
Dean Herbert
675e5b81f3
Fix SkinnableLighting
showing up as a user placeable component
2023-02-17 18:24:05 +09:00
Adam
e06502085e
Enable fading when hidden only hides appreach circles
2023-02-16 16:31:42 -06:00
mk56-spn
d5bc8e2941
Code cleanup pass:
...
Make bubble transform logic more sane.
Extract bubble `getPosition()` method.
Address poorly named variables.
2023-02-16 11:12:30 +01:00
Dean Herbert
7afdcb9383
Merge branch 'master' into hide-resume-overlay
2023-02-16 15:42:14 +09:00
mk56-spn
8fc35b159f
Remove dysfunctional slider colouring
2023-02-15 10:04:50 +01:00
mk56-spn
297963b461
Remove BubbleInfo struct and consume DrawableOsuHitObject
s directly
2023-02-15 10:00:46 +01:00
mk56-spn
1d1c794ccf
Invert pointless nested if
statement
2023-02-15 09:37:47 +01:00
mk56-spn
e9a7d90273
make transform duration for bubble a method instead of a variable
2023-02-15 09:33:18 +01:00
mk56-spn
82292d6162
Make colouring for bubble more intuitive and remove unnecessary alpha assignment
2023-02-15 09:30:56 +01:00
Adam
5e774a28d8
Correct timings to match stable exactly + don't fade with hidden
2023-02-15 01:02:54 -06:00
Dean Herbert
da8ab7143b
Merge branch 'master' into maximum-judgement-offset-in-hit-object
2023-02-15 14:48:15 +09:00
mk56-spn
5db624159b
Change bubble rewind removal to be in ApplyToDrawableHitObject
method.
2023-02-14 18:06:43 +01:00
mk56-spn
92c61c7339
move logic for bubble invoking to ApplyToDrawableHitobject()
` method
2023-02-14 16:31:34 +01:00
mk56-spn
2d49b5f9d6
Move bubbles to ruleset overlays container
2023-02-14 14:03:48 +01:00
mk56-spn
d100a4a491
Make lastJudgedHitObject
nullable, and fix typo in name.
2023-02-14 10:12:37 +01:00
Dean Herbert
c540d78fbc
Expose the actual KeyBindingInputManager
...
Turns out that `CreateInputManager` is called more than once, and some
mods (ie. `InputBlockingMod`) rely on consuming the "main" one. So let's
go back to accessing and exposing in `DrawableOsuRuleset` rather than
storing out own reference.
2023-02-14 18:10:26 +09:00
Dean Herbert
5ec5222d8a
Expose and consume OsuInputManager
explicitly
2023-02-14 17:36:07 +09:00
Pasi4K5
e4b84ebd0b
Add UseResumeOverlay
and use it for hiding the ResumeOverlay
2023-02-13 23:51:39 +01:00
mk56-spn
6ff6e06a69
Simplify bubble container structure, modify some comments
2023-02-12 11:37:07 +01:00
mk56-spn
5e0c4aa904
Refactor pooling for bubbles, tweak the animations a tad, add some clarifying comments
2023-02-12 00:59:46 +01:00
Adam
7bad0113cd
Move early fade effect to classic mod setting
2023-02-09 16:20:11 -06:00
Adam
d027d69913
Make hit circle fade out into late miss judgement
2023-02-06 19:22:47 -06:00
mk56-spn
f0d4b9f0ca
Add inline comment for colour border override
2023-02-06 17:00:47 +01:00
Dean Herbert
abcb564a74
Code quality pass of OsuModBubbles
2023-02-06 17:35:43 +09:00
Dean Herbert
a67d5d2a14
Merge branch 'master' into bubble_mod_implementation_clean
2023-02-06 17:24:20 +09:00
Bartłomiej Dach
49443f0b55
Inline temporary variable
2023-02-04 14:36:30 +01:00
Bartłomiej Dach
a1343dacc1
Merge branch 'master' into SnapToReverseSlider
2023-02-04 14:14:37 +01:00
Wleter
60f6484073
fix spaces
2023-02-03 16:13:37 +01:00
Wleter
f7f13cb9d9
fix formatting
2023-02-03 16:13:04 +01:00
Wleter
20e220df56
prioritize closest snap position
2023-02-03 16:05:16 +01:00
Wleter
23e9bdd554
check every snap position in blueprint
2023-02-02 14:22:30 +01:00
Dean Herbert
10df64467a
Merge pull request #22430 from peppy/skin-editor-nrt
...
Apply NRT to all skin editor classes
2023-02-02 13:57:57 +09:00
Bartłomiej Dach
a14481acca
Merge pull request #22440 from peppy/argon-hit-lighting-v2
...
Adjust argon hit lighting further
2023-01-30 19:34:58 +01:00
mk56-spn
3bdf83bf44
Redo the drawable structure of bubbledrawable to run and look better
2023-01-29 00:48:14 +01:00
mk56-spn
66da4c0288
Add colouration to the sliders to better match the vibrancy of the mod
2023-01-28 17:38:24 +01:00
mk56-spn
c3090dea5f
Simplify animations
2023-01-28 00:30:30 +01:00
mk56-spn
7c81f1e75b
Remove unnecessary BDL from bubble drawable
...
Improve animation duration formula
2023-01-27 12:53:19 +01:00
MK56
c50604f701
Merge branch 'master' into bubble_mod_implementation_clean
2023-01-27 11:58:56 +01:00
Dean Herbert
98c9ba5b6f
Merge branch 'master' into skin-editor-nrt
2023-01-27 19:35:43 +09:00
Dean Herbert
74ab036f3e
Refactor SkinnableSound.Samples
to be non-nullable
2023-01-27 19:32:30 +09:00
Dean Herbert
2b55e05b10
Adjust argon hit lighting further
2023-01-27 13:31:21 +09:00
Bartłomiej Dach
c4dce30de5
Merge pull request #22412 from peppy/argon-kiai
...
Add very basic kiai flash to argon hit circles
2023-01-26 19:13:58 +01:00
Dean Herbert
7344d34d5b
Move where
class specs to next line
2023-01-26 17:12:41 +09:00
Dean Herbert
13937cf555
Merge branch 'master' into stream-tool-2
2023-01-26 16:08:20 +09:00
Dean Herbert
de1d473d29
Fix kiai flash being visible and incorrectly sized during hit animation
2023-01-26 15:24:10 +09:00
Dan Balasescu
9ed0b8ccfa
Merge pull request #22375 from peppy/osu-ruleset-touch-support
...
Add empty space tap-streaming support for osu! ruleset on touchscreen devices
2023-01-26 08:12:12 +09:00
Bartłomiej Dach
73f53328cf
Merge branch 'master' into argon-kiai
2023-01-25 22:21:26 +01:00
Bartłomiej Dach
3daa9e6295
Merge branch 'master' into argon-hit-lighting-peppy-take
2023-01-25 21:44:43 +01:00
Dean Herbert
48d68b0f4f
Add very basic kiai flash to argon hit circles
2023-01-25 18:59:26 +09:00
Dean Herbert
9499d3a20a
Add support for disabling "hit lighting" with osu! argon skin
2023-01-25 15:50:49 +09:00
Dean Herbert
1cde90d55d
Add note about CheckScreenSpaceActionPresJudgeable
being naive
2023-01-25 15:03:47 +09:00
Dean Herbert
5bfd4e47a1
Refactor position tracking touch handling (and comments) to read better
2023-01-25 14:59:54 +09:00
Dean Herbert
d8365f4fca
Reverse order of application to match DrawableHitObject
2023-01-25 11:47:15 +09:00
Dean Herbert
3a47be6e00
Fix argon hit circles occasionally going missing during editor seeking
2023-01-24 17:43:14 +09:00
Dean Herbert
a966d6c330
Merge pull request #18402 from ggliv/mod-accuracy-challenge
...
Add accuracy challenge mod
2023-01-24 16:00:55 +09:00
Dean Herbert
3cd810f332
Merge pull request #22265 from Wleter/SliderEnd-Snap
...
Add snapping sliderends with nearby objects
2023-01-24 13:43:43 +09:00
Dean Herbert
72cfe2ba5a
Move private
field up with others
2023-01-24 12:30:11 +09:00
Dean Herbert
949610c8a4
Add commentary as to why ReceivePositionalInputAt
override is required
2023-01-24 11:06:54 +09:00
Pasi4K5
8b47af6503
Remove HidesResumeOverlay
and set ResumeOverlay
to null
in OsuModAutopilot
2023-01-24 00:49:09 +01:00
Susko3
a992682276
Fix OsuTouchInputMapper
not handling all touches when using screen scaling
2023-01-23 21:46:01 +01:00
Bartłomiej Dach
7483967157
Merge branch 'master' into SliderEnd-Snap
2023-01-23 21:33:16 +01:00
Dean Herbert
c4d5957ac3
Add empty space tap-streaming support for osu! ruleset on touchscreen devices
2023-01-23 17:07:27 +09:00
Dean Herbert
73f083a316
Refactor how additional points are provided to avoid confusion
2023-01-23 14:13:46 +09:00
Pasi4K5
75a1a2ec2f
Hide ResumeOverlay
when OsuModAutopilot
is enabled
2023-01-22 03:44:59 +01:00
ekrctb
7e466e1eba
Fix SPM calculation division by zero
2023-01-20 21:00:01 +09:00
ekrctb
11e1b22bf5
Move MaximumJudgementOffset to HitObject
...
We want to access this property for computing lifetime
2023-01-19 21:23:55 +09:00
Wleter
f8d8a627b8
change property name
2023-01-18 22:00:39 +01:00
Wleter
ab78dd0436
add collection of selection points.
2023-01-18 21:34:23 +01:00
Dean Herbert
ecb4727aec
Fix formatting issues
2023-01-18 17:33:14 +09:00
Dean Herbert
3630b41a5b
Remove unused usings
2023-01-18 13:13:20 +09:00
Wleter
00f15d19f9
fix double newlines
2023-01-17 21:11:21 +01:00
Gabe Livengood
dfbbc4002c
address test failure
2023-01-17 10:22:58 -05:00
Dean Herbert
00996c9f47
Remove unnecessary touch interception from OsuInputManager
2023-01-17 19:11:22 +09:00
Dean Herbert
70cb23bbc9
Merge branch 'master' into mod-accuracy-challenge
2023-01-17 16:46:54 +09:00
Dean Herbert
24a626a9cd
Fix incorrect touch handling in autopilot and relax mods
2023-01-17 15:07:05 +09:00
Dean Herbert
3b95691d53
Add note about mouse button disable tracking
2023-01-17 14:54:52 +09:00
Dean Herbert
45b34f5306
Remove pointless xmldoc
2023-01-17 14:53:24 +09:00
Dean Herbert
34120b6131
Use linq Single
instead of First
for guaranteed singular match
2023-01-17 14:52:45 +09:00
Dean Herbert
9b5d6b391b
Remove nullability allowance from BackgroundDependencyLoader
2023-01-17 14:52:15 +09:00
Dean Herbert
c6d33df147
Only track TouchSource
for now
2023-01-17 14:51:46 +09:00
Dean Herbert
b3860c6d52
Only use positional input from most recent touch
2023-01-16 21:21:00 +09:00
Dean Herbert
606e374d94
Don't handle touch down events if "mouse" buttons are disabled
...
Maintains compatibility with existing logic.
2023-01-16 21:21:00 +09:00
Dean Herbert
355bec2058
Handle movement locally as we are blocking events from touch->mouse mapping
2023-01-16 21:21:00 +09:00
Dean Herbert
b265888f18
Add bare minimum touch support to osu! ruleset
2023-01-16 21:21:00 +09:00
ansel
9ce7c51b14
Localise osu! settings
2023-01-15 23:29:58 +03:00
mk56-spn
ca84b885dc
Add more detail to bubbles
2023-01-11 17:51:41 +01:00
MK56
f9b42161e3
Merge branch 'master' into bubble_mod_implementation_clean
2023-01-11 14:56:21 +01:00
Dean Herbert
e9571be4ab
Fix incorrect application layer causing completely discoloured circles
2023-01-11 19:29:17 +09:00
Dean Herbert
0d1046ed83
Add full colour application to kiai sprites
2023-01-11 19:29:17 +09:00
Wleter
98ffcd33c7
Merge branch 'ppy:master' into SliderEnd-Snap
2023-01-10 21:22:13 +01:00
Wleter
e5863fbaf1
add ScreenSpaceEndPoint field
2023-01-10 21:20:09 +01:00
Wleter
38bb7ac0c7
add fields for path's end location
2023-01-10 21:16:34 +01:00
Salman Ahmed
760b2d98df
Tint "argon" slider follow circle with combo colour
2023-01-04 16:19:30 +03:00
Salman Ahmed
d70df08f45
Tint "argon" slider ball with combo colour
2023-01-04 16:19:16 +03:00
Berkan Diler
c7ca4bbba5
Use generic Enum methods
2022-12-26 20:36:39 +01:00
mk56-spn
8a108b143e
Address mod incompatibilities
2022-12-25 23:11:15 +01:00
mk56-spn
bbb22479a8
Add "ModBubbles" for the osu ruleset.
2022-12-25 23:09:52 +01:00
Dean Herbert
5e9fb1063a
Move judgement text creation to base class and tidy things up
2022-12-24 12:22:36 +08:00
Dean Herbert
03603f8b54
Don't show great or higher judgements when using argon "pro" skin
2022-12-24 03:35:44 +08:00
Dean Herbert
727ac00f6d
Combine base class for JudgementPiece
2022-12-24 03:32:13 +08:00
Berkan Diler
08d2fbeb8e
Use new ArgumentNullException.ThrowIfNull throw-helper API
2022-12-22 21:27:59 +01:00
Dean Herbert
192536643c
Fix some more inspections
2022-12-16 20:21:19 +09:00
Dean Herbert
27c497145f
Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0
2022-12-16 18:16:26 +09:00
Dean Herbert
d6cae991da
Update netstandard2.1
references to net6.0
2022-12-16 17:16:13 +09:00
Bartłomiej Dach
7676838cc0
Apply "reflect" vernacular in nested methods
2022-12-07 23:27:02 +01:00
apollo-dw
684b16cef5
Disambiguate object flipping and reflection methods
2022-12-07 21:09:53 +00:00
apollo-dw
1776485b93
Reflect nested objects vertically in the playfield correctly
2022-12-07 20:20:11 +00:00
OliBomby
d458c3a012
Fix variable which didnt get renamed
2022-12-07 10:13:40 +01:00
OliBomby
10b5900710
made PathControlPointVisualiser generic
2022-12-07 10:13:40 +01:00
Pasi4K5
8f3023ffd9
Update ReflectHorizontally()
and ReflectVertically()
to use FlipSliderHorizontally()
and modifySlider()
.
2022-12-07 01:05:15 +01:00
Pasi4K5
91e9c27507
Rename FlipSlider()
to FlipSliderHorizontally
2022-12-07 00:48:25 +01:00
Pasi4K5
30952199b8
Allow random mod to flip sliders
2022-12-07 00:40:18 +01:00
Dean Herbert
5a69656764
Merge pull request #21496 from peppy/fix-zero-length-spinners
...
Fix being able to place zero-length spinners
2022-12-02 19:25:00 +09:00
Dan Balasescu
ee62f3c0d3
Fix test failure
...
Similar to SliderPlacementBlueprint.
2022-12-02 18:32:43 +09:00
Dean Herbert
45ea183cc3
Fix being able to place zero-length spinners
...
Also always snap a spinner's end time using beat snap (matches stable).
2022-12-02 17:57:15 +09:00
Dean Herbert
896f2d8f74
Fix multiple instances of last hitobject time being calculated incorrectly
2022-12-01 18:04:06 +09:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Alden Wu
815cd56f13
Add support for nonsquare smoke textures
2022-11-20 16:50:15 -08:00
Dean Herbert
12606122e3
Fix sliders not correctly taking on full available length after changing curve type
2022-11-17 13:59:07 +09:00
Dario Headley
a8c95c39ad
Exclude sliderticks from the " freeze "
2022-11-14 16:18:46 +01:00
Thomas Müller-Höhne
9ef43ebd83
Fix compilation after framework-side PR updates
2022-11-12 21:24:12 +09:00
Thomas Müller-Höhne
fa8e38d9d6
Target rounded fragment shader
...
Compatibility with osu-framework change https://github.com/ppy/osu-framework/pull/5512
2022-11-12 17:18:23 +09:00
Dan Balasescu
606d42c679
Merge pull request #21184 from peppy/skinnable-things-cleanup
...
Skinnable class naming pass
2022-11-10 12:52:08 +09:00
Dan Balasescu
051f7f4c68
Merge pull request #21173 from peppy/toggle-hit-markers
...
Add the ability to toggle off hit marker displays in the editor
2022-11-10 12:23:53 +09:00
Dean Herbert
e19ba65f91
Remove LookupName
from base ISkinComponentLookup
2022-11-09 17:46:43 +09:00
Dean Herbert
1aa0e40f2f
Add "Component" prefix to lookup naming
2022-11-09 17:46:43 +09:00
Dean Herbert
c908969d9b
Rename ISkinComponent
to ISkinLookup
2022-11-09 17:46:43 +09:00
Dean Herbert
ab458320c4
Fix some lingering inspections
2022-11-09 17:46:24 +09:00
Dean Herbert
82ff142b1b
Apply nullability to osu! skinning classes
2022-11-09 13:37:09 +09:00
Dean Herbert
5e7dc34d05
Move some non-default skin files to correct namespace
2022-11-09 13:31:52 +09:00
Dean Herbert
710c224de4
Remove unused IHasMainCirclePiece
interface
2022-11-09 13:31:50 +09:00
Dean Herbert
ada039151b
Add the ability to toggle off hit marker displays in the editor
2022-11-08 18:07:06 +09:00
Dean Herbert
e02c477008
Merge pull request #21017 from andy840119/remove-nullable-disable-in-the-checks
...
Remove nullable disable in the checks.
2022-11-06 18:39:03 +09:00
andy840119
b0673636ca
Remove nullable disable annotation in the osu ruleset.
2022-11-05 16:49:55 +08:00
Bartłomiej Dach
23134aea61
Update outdated comment
2022-11-04 19:48:19 +01:00
Dean Herbert
36c08b69fe
Fix failing tests
2022-11-04 20:47:49 +09:00
Dean Herbert
20021551bb
Fix editor selection behaviour regressions due to new path visualiser optimisation
2022-11-04 19:36:59 +09:00
Dean Herbert
e89d3840fc
Adjust completion animation
2022-11-03 15:12:30 +09:00
Dean Herbert
0868c00ee8
Fix spinner centre size being updated every frame using transforms
2022-11-03 14:36:16 +09:00
Dean Herbert
62660ec92f
Reorganise drawables and transforms to make more sequential sense
2022-11-03 14:21:22 +09:00
Dean Herbert
304f6f0418
Merge branch 'master' into argon-spinner-sides
2022-11-03 13:21:22 +09:00
Dan Balasescu
e4fb9119b3
Merge pull request #21060 from peppy/rename-target-practice
...
Rename mod "Target" to "Target Practice"
2022-11-01 20:38:15 +09:00
Dan Balasescu
947e6d41c0
Merge pull request #21056 from peppy/fix-argon-explosion-size
...
Fix argon hit circle outer gradient getting smaller each state application
2022-11-01 20:03:22 +09:00
Dean Herbert
cd8dc9b17b
Rename "Target" to "Target Practice"
2022-11-01 19:47:20 +09:00
Dean Herbert
ff60eebe21
Fix large transform retention when adjusting accent colour of hitobject during pause
2022-11-01 19:12:59 +09:00
Dean Herbert
c179f0bb52
Fix argon hit circle outer gradient getting smaller each state application
2022-11-01 18:31:30 +09:00
Dan Balasescu
37407293aa
Adjust target and hold off mod multipliers
2022-11-01 17:57:20 +09:00
Dean Herbert
8c9250285f
Revert incorrect removal default value (causing a new warning)
2022-10-29 18:09:27 +09:00
Dean Herbert
19e0b9085c
Remove redundant parameters
2022-10-29 00:24:33 +09:00
Dan Balasescu
74f3b9b18d
Merge pull request #20965 from peppy/reduce-slider-blueprint-overhead
...
Only draw path visualiser when hovered or single slider is selected
2022-10-28 16:01:30 +09:00
Dean Herbert
300ffbb500
Don't bother checking for null editorBeatmap
2022-10-28 14:35:55 +09:00
Dean Herbert
10c658e440
Ensure updateVisualDefinition
is called once on load
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-10-28 14:34:24 +09:00
Bartłomiej Dach
d657005ffa
Merge branch 'master' into avoid-unnecessary-path-updates
2022-10-27 20:07:46 +02:00
Dean Herbert
7faf5cd1f6
Fix one more null edge case
2022-10-28 01:20:17 +09:00
Dean Herbert
e582d9d5a8
Remove unused using statements
2022-10-28 01:17:09 +09:00
Dean Herbert
361153f598
Fix nullref in tests due to missing EditorBeatmap
dependency
2022-10-27 19:05:50 +09:00
Dean Herbert
39e0362db1
Reduce size of spinner blueprint to better represent gameplay size
2022-10-27 16:15:22 +09:00
Dean Herbert
0c7672e124
Avoid unnecessarily refreshing SliderBodyPiece
's path
2022-10-27 16:02:04 +09:00
Dean Herbert
2f172b66cf
Block hover if a multi-selection is made to avoid overlapping path visualisers
2022-10-27 14:52:46 +09:00
Dean Herbert
097d310d74
Only draw path visualiser when hovered or single slider is selected
2022-10-27 14:40:14 +09:00
Dan Balasescu
2d829c3beb
Merge pull request #20945 from peppy/fix-misplaced-slider-head
...
Fix slider heads getting misplaced after flipping in editor
2022-10-27 12:51:27 +09:00
Bartłomiej Dach
4db01fc970
Merge branch 'master' into fix-time-snapping-when-nearby-objects
2022-10-26 23:31:17 +02:00
Bartłomiej Dach
8b8d0c2293
Fix typo in comment
2022-10-26 23:30:14 +02:00
Dean Herbert
674ae9e742
Refactor DrawableSliderHead
to never update the drawable position
...
Slider heads are guaranteed to always be drawn at (0,0). This fixes
weird behaviour in the editor, but also simplifies things in the
process. Win-win.
Closes #20644 .
2022-10-26 15:26:22 +09:00
Dean Herbert
d03161ec01
Apply distance snap time component even when nearby object snap kicks in
2022-10-26 14:39:39 +09:00
Dean Herbert
7d59bc6e2f
Merge branch 'grid-momentary-shortcuts' into read-current-distance-snap
2022-10-26 13:28:04 +09:00
Dean Herbert
54ae16badc
Move distance snap toggle button implementation to DistancedHitObjectComposer
2022-10-26 13:27:23 +09:00
Bartłomiej Dach
48057412f5
Merge branch 'master' into grid-momentary-shortcuts
2022-10-25 22:17:08 +02:00
Dean Herbert
521fbd2ea3
Merge pull request #20345 from mk56-spn/Freeze_frame_implementation
...
Add "Freeze Frame" mod
2022-10-26 01:28:23 +09:00
D.Headley
f4aae9138b
Remove Incompatibility with HD
2022-10-25 08:48:45 +02:00
Dean Herbert
2f0283e4d4
Simplify logic with new multi-grid snap support
2022-10-25 14:22:30 +09:00
Dean Herbert
2b850694fa
Merge branch 'allow-distance-grid-snap' into grid-momentary-shortcuts
2022-10-25 14:10:45 +09:00
Dean Herbert
02a3f8c17f
Allow both distance snap and grid snap to be applied at the same time
2022-10-25 14:09:22 +09:00
Dean Herbert
279ef556e3
Fix typon in comment
2022-10-25 13:27:26 +09:00
Dean Herbert
588fc750cd
Change approach circles to all appear at the same time, but don't adjust AR
2022-10-25 13:26:32 +09:00
Dean Herbert
995216cced
Merge pull request #20819 from Joppe27/taiko-kiai-flashing
...
Implement taiko hitobject kiai flashing
2022-10-24 15:31:13 +09:00
Bartłomiej Dach
c0709a59f5
Merge branch 'master' into argon-spinner-sides
2022-10-23 18:44:04 +02:00
Dean Herbert
645a84b1d6
Display current distance snap and add button to update to use it
2022-10-21 22:58:36 +09:00
Dean Herbert
bcd65f3c3c
Merge pull request #20827 from goodtrailer/smoke-uncapped-v3
...
Remove smoke point maximum
2022-10-21 19:58:49 +09:00
Dean Herbert
ca91f9f716
Don't allow two momentary toggles at the same time to avoid edge cases
2022-10-21 17:16:55 +09:00
Dean Herbert
ef990c55ca
Handle distance/grid toggles based on key type, rathern than individual left/right
2022-10-21 16:11:19 +09:00
Alden Wu
23b7b9013e
Change smoke quadbatch growth factor to 2 from 1.5
2022-10-20 23:37:05 -07:00
Dean Herbert
7dbd6e2469
Merge branch 'master' into taiko-kiai-flashing
2022-10-21 12:48:35 +09:00
Dan Balasescu
e577a87618
Merge pull request #20825 from peppy/fix-argon-editor-combo-colour-change
...
Fix some argon circle layers not getting correct colour updates in editor
2022-10-20 12:56:34 +09:00
Salman Ahmed
7d31eaea54
Move ball tinting logic to overwrite SliderBall
colour
2022-10-20 03:55:53 +03:00
Salman Ahmed
eb386d4bd5
Enable slider ball tint in default legacy skin
2022-10-20 03:29:25 +03:00
Salman Ahmed
ba37daa456
Bring back removed newline
2022-10-20 01:18:10 +03:00
Salman Ahmed
1852714d2d
Fix existing alpha transform cleared on accent colour change
...
Clearing it causes its start value to be lost.
2022-10-20 01:16:27 +03:00
Dean Herbert
966dd786ae
Don't consume keys when handling momentary snap toggles
2022-10-20 00:00:24 +09:00
Dean Herbert
830b92d3ae
Add momentary shortcuts to toggle grid/distance snap
...
Matching osu!stable. I use these quite a lot while mapping and I'm sure
others do as well.
Hold `Shift` = invert grid snap
Hold `Alt` = invert distance snap
2022-10-19 20:06:41 +09:00
Dean Herbert
aca0d04834
Forcefully remove transforms before reapplying to avoid old accent colour getting rewound
2022-10-19 15:52:25 +09:00
Dean Herbert
9356a40a39
Remove redundant flash layer colour logic
...
In a previous iteration, the flash layer was white on the initial hit,
but this seems to have been removed for the final implementation.
2022-10-19 15:13:22 +09:00
Alden Wu
50ab9bff8b
Rename for consistency
2022-10-18 23:05:09 -07:00
Alden Wu
a9b8ba94fa
Add necessary newlines
2022-10-18 22:59:58 -07:00
Alden Wu
343c560b1b
Remove smoke point maximum/cap
2022-10-18 22:54:17 -07:00
Dean Herbert
16c86b0744
Merge pull request #20815 from frenzibyte/remove-hitcircle-fade-easing
...
Remove fade easing from legacy hit circles to match stable
2022-10-19 12:08:45 +09:00
Dean Herbert
299131c985
Merge pull request #20816 from frenzibyte/adjust-slider-fade-parameters
...
Adjust slider fade out transition to match stable
2022-10-19 12:04:24 +09:00
Joppe27
59213fc00b
Update LegacyMainCirclePiece to use renamed version of KiaiFlashingDrawable
2022-10-18 23:53:12 +02:00
Joppe27
a76a039722
Rename KiaiFlashingDrawable and move to osu.Game
2022-10-18 23:40:43 +02:00
Salman Ahmed
13e2323791
Adjust fade out duration to match stable
2022-10-18 23:48:51 +03:00
Salman Ahmed
3b3f3dc159
Fix new-style spinners fading in later than usual
2022-10-18 23:48:40 +03:00
Salman Ahmed
03edfce822
Remove fade easing from sliders
2022-10-18 23:43:42 +03:00
Salman Ahmed
d46bc7f72a
Adjust fade out time to match stable
2022-10-18 23:43:31 +03:00
Salman Ahmed
2245456224
Remove fade easing from legacy hit circles on hit
2022-10-18 22:22:53 +03:00
D.Headley
764bc1948f
remove commented out Incompatible mod
2022-10-18 14:59:43 +02:00
D.Headley
acf3498f83
Code Quality
2022-10-18 13:49:10 +02:00
Dario Headley
e1a8bfa135
Fixed approachCircle preempt
2022-10-18 13:40:13 +02:00
Dean Herbert
6a7f6c76ff
Fix osu! editor padding being applied to toolboxes
...
The result of https://github.com/ppy/osu/pull/20739 and https://github.com/ppy/osu/pull/20738 having unintended side effects when applied together.
2022-10-18 14:32:00 +09:00
Dan Balasescu
09500882c2
Merge pull request #20767 from frenzibyte/no-scope-no-smoke
...
Hide cursor smoke in "No scope" mod
2022-10-17 19:06:08 +09:00
Salman Ahmed
2adbf4cc1a
Add arc-shaped progress bars to "argon" spinner
2022-10-17 08:58:47 +03:00
Bartłomiej Dach
148da4d423
Merge branch 'master' into argon-judgement-in-front
2022-10-15 22:42:41 +02:00
Salman Ahmed
7e9229a117
Merge branch 'master' into no-scope-no-smoke
2022-10-15 16:42:34 +03:00
Dean Herbert
b72c117333
Merge pull request #20756 from goodtrailer/smoke-rotation-fix
...
Fix smoke shaking when gameplay is paused
2022-10-15 19:14:04 +09:00
Alden Wu
46bcabea6c
Separate smoke rotation seed and index
2022-10-14 12:42:04 -07:00
Salman Ahmed
ba72f13f54
Merge branch 'master' into hide-mouse-on-keyboard-input
2022-10-14 22:26:30 +03:00
Salman Ahmed
b1b97505ac
Fix smoke displayed in "No scope" mod
2022-10-14 22:16:14 +03:00
Alden Wu
029f896db8
Use StatelessRNG
for smoke rotation
2022-10-13 16:18:47 -07:00
Alden Wu
310588ad94
Renew smoke rng every draw
2022-10-13 13:01:05 -07:00
Dean Herbert
dd372c4d19
Move "argon" skin judgement text in front of hitobjects
2022-10-13 13:52:02 +09:00
Salman Ahmed
09cc89cfa0
Update existing usages of Cursor
to handle null value
2022-10-13 00:17:08 +03:00
D.Headley
f67f6cc99c
Fix switch case
2022-10-12 19:45:08 +02:00
D.Headley
83aedb1930
Make mod use new Combo, remove pointless test
2022-10-12 12:42:26 +02:00
Dean Herbert
8bf4ca4b53
Add legacy skin fallback when beatmap skin is providing resources
2022-10-12 17:47:20 +09:00
Salman Ahmed
84fdd2e107
Improve flashlight display on break periods
2022-10-11 17:16:57 +03:00
Dan Balasescu
083a13f041
Merge pull request #20680 from peppy/fix-slider-ball-editor-rewind
...
Fix slider ball facing incorrect direction during rewinding in editor
2022-10-11 17:47:17 +09:00
Dean Herbert
f060e6a780
Implement hold "sliding" samples in osu!mania
2022-10-11 16:31:37 +09:00
Dean Herbert
5a5f3af27d
Rename property and add xmldoc
2022-10-10 15:42:08 +09:00
Dean Herbert
33620b7bd6
Fix slider ball facing incorrect direction during rewinding in editor
...
Closes https://github.com/ppy/osu/issues/20648 .
2022-10-10 15:24:18 +09:00
Salman Ahmed
2d4f390372
Remove non-smoke key bindings on "Relax" mod instead
2022-10-09 17:14:16 +03:00
Salman Ahmed
c89a55043e
Fix smoke being blocked with "Relax" mod enabled
2022-10-09 15:28:12 +03:00
OliBomby
b22e201289
Fixed stream convert float precision edge case
2022-10-08 23:43:23 +02:00
MK56
8fe89d5de2
Merge branch 'ppy:master' into Freeze_frame_implementation
2022-10-07 22:23:51 +02:00
Dean Herbert
e0c66dbdbc
Merge pull request #20566 from smoogipoo/adjust-flashlight
...
Adjust flashlight to more closely match classic scaling
2022-10-07 15:23:42 +09:00
Dan Balasescu
4e6047f23d
Merge pull request #20571 from peppy/argon-mania
...
Add "argon" key area for osu!mania
2022-10-07 15:19:18 +09:00
Dan Balasescu
bce20e0a59
Merge branch 'master' into adjust-flashlight
2022-10-07 14:45:30 +09:00
Dean Herbert
4980e53c9c
Merge pull request #20376 from goodtrailer/smoke
...
Add cursor "smoke" trails
2022-10-07 03:41:07 +09:00
Alden Wu
9d54467145
Make smoke skinnable lifetime more robust
2022-10-05 19:13:06 -07:00
Alden Wu
49e023f861
Rename OsuSkinComponents.SmokeTrail
to CursorSmoke
2022-10-05 19:11:38 -07:00
Dean Herbert
590af4cb7c
Merge branch 'master' into argon-mania
2022-10-05 19:37:59 +09:00
Dan Balasescu
b6db36dcca
Merge pull request #20580 from peppy/approach-circle-fade-out
...
Hide approach circles immediate on successful hit
2022-10-05 19:17:57 +09:00
Dean Herbert
365a78d358
Merge branch 'master' into smoke
2022-10-05 18:58:18 +09:00
Dean Herbert
8f0ef99e10
Privatise some fields
2022-10-05 18:54:14 +09:00
Dean Herbert
bd82dfc333
Remove custom radius implementation
2022-10-05 18:53:07 +09:00
Dean Herbert
91d877e893
Set LifetimeEnd
once rather than computing on every access
2022-10-05 18:52:01 +09:00
Dean Herbert
71edd314b1
Simplify SmokeContainer
lifetime logic
2022-10-05 18:51:02 +09:00
Dean Herbert
6628ab5190
Refactor to avoid DI / event flow
...
There's always one active smoke segment and it's the direct child of
`SmokeContainer`. This can be simplified as such.
2022-10-05 18:37:14 +09:00
Dean Herbert
1e5ff2679b
Rename classes to better emphasise that Smoke
is a single trail segment
2022-10-05 18:29:16 +09:00
Dean Herbert
04abb2ce8f
Update default cursor smoke implementation to use a texture
2022-10-05 18:26:17 +09:00
Dean Herbert
52002d91dd
Only apply dim at top level objects
2022-10-05 17:48:56 +09:00
Dean Herbert
56d424003d
Fix sliders not dimming correctly due to modified miss window
2022-10-05 14:25:04 +09:00
Dean Herbert
44b99444a7
Hide approach circles immediate on successful hit
2022-10-05 13:42:04 +09:00
Dean Herbert
c2956c6e1e
Add osu! hit object dim
...
Stable would dim objects when they can't be hit (ie. the "miss" window
is not active yet). This was never implemented in lazer, and causes
quite large visual differences.
No one has mentioned this yet, but it will definitely be one of those
missing pieces which makes lazer feel different to stable.
2022-10-04 17:28:17 +09:00
Alden Wu
33f33a6845
Remove things that should've been removed before push
2022-10-04 00:53:03 -07:00
Dean Herbert
395ab58892
Attempt to fix code style infractions
2022-10-04 16:17:38 +09:00
Alden Wu
b0a948df45
Move LegacySmoke
animation implementation to Smoke
2022-10-04 00:17:00 -07:00
Dean Herbert
326a3e6583
Add TODO in osu! argon transformer regarding missing components
2022-10-04 14:56:46 +09:00
Alden Wu
eaab0deef3
Fix InspectCode issues
2022-10-03 19:20:51 -07:00
Alden Wu
ccef189b81
Add barebones test for smoke
2022-10-03 18:19:05 -07:00
Alden Wu
343bdaa98e
Remove unnecessary IsActive
variable
2022-10-03 16:07:39 -07:00
Alden Wu
c1da3bc9cf
Remove skinnable parents at the same time as their smoke children
2022-10-03 16:03:37 -07:00
Alden Wu
929eb8559e
Fix LegacySmoke
alpha calculations
2022-10-03 16:02:33 -07:00
Dean Herbert
0bac5ef465
Merge branch 'master' into smoke
2022-10-03 21:29:42 +09:00
Dan Balasescu
8598eb29f8
Adjust flashlight to closely match classic
2022-10-03 18:38:05 +09:00
Dan Balasescu
1890a66b28
Merge pull request #20509 from o-dasher/cleanup-setting-sources
...
Removes unnecessary setting sources specifications
2022-09-28 17:55:42 +09:00
Dan Balasescu
cbed268ac9
Merge pull request #20510 from sw1tchbl4d3r/high_bpm_judgements
...
Clamp `LifetimeStart` of `HitObject`s to their judgement windows
2022-09-28 17:49:35 +09:00
sw1tchbl4d3
0cffbb7562
Clamp LifetimeStart
of HitObject
's to their judgement windows
2022-09-27 16:54:24 +02:00
o-dasher
f3e25eacad
Removes unnecessary setting sources specifications
2022-09-27 09:25:58 -04:00
abstrakt
6e1edc4d8d
Use the StackedEndPosition
to determine the jump distance in the FlashlightEvaluator
.
...
Signed-off-by: abstrakt <abstrakt.osu@gmail.com>
2022-09-26 14:06:35 +02:00
Dean Herbert
a7449380cd
Fix osu! slider ticks appearing too late
2022-09-26 14:11:59 +09:00
o-dasher
537796c3a1
Cleanup mod bindings
2022-09-25 15:49:22 -04:00
Dean Herbert
965d0603ce
Fix slider tick colour not being applied properly
2022-09-23 21:11:25 +09:00
Dean Herbert
a94b4e402e
Merge branch 'master' into argon-spinner
2022-09-23 14:22:53 +09:00
Salman Ahmed
49af80e17b
Remove 1.3x scale and adjust metrics with it
2022-09-22 20:39:42 +03:00
Salman Ahmed
e9c3478f69
Add very basic "argon" spinner
2022-09-22 20:39:42 +03:00
Dean Herbert
3811ea113d
Adjust argon animations a bit
2022-09-23 00:54:24 +09:00
Dan Balasescu
9f92925ecd
Merge branch 'master' into argon-cursor
2022-09-22 21:46:37 +09:00
Dan Balasescu
44ae9a5048
Merge pull request #20403 from peppy/argon-follow-point
...
Add very basic follow point implementation for argon skin
2022-09-22 21:45:56 +09:00
Dean Herbert
e95758cfcd
Add basic "argon" cursor
2022-09-22 21:21:30 +09:00
Dean Herbert
8875f7ee43
Add very basic follow point implementation for argon skin
...
This is just something to look better than the glowing mess which
triangles fallback was providing. This element hasn't been designed yet,
so I'm just filling in with something amicable for the time being.
2022-09-22 20:24:29 +09:00
Dan Balasescu
5dbe73ad0e
Merge pull request #20398 from peppy/fix-missing-notelock-shake
...
Fix "note lock" shake not always animating
2022-09-22 20:07:38 +09:00
Dan Balasescu
a612fe70f9
Merge pull request #20401 from peppy/fix-argon-sprite-lookup
...
Fix "argon" skin not supporting user loaded sprites in gameplay
2022-09-22 19:40:31 +09:00
Dan Balasescu
68e274b92d
Merge pull request #20400 from peppy/fix-argon-reverse-arrow-colour
...
Fix argon reverse arrow becoming white after switching skins
2022-09-22 19:01:19 +09:00
Dean Herbert
74aefdc5bd
Move basic transformer behaviour to base abstract
class
2022-09-22 18:53:43 +09:00
Dean Herbert
f8e9a960ba
Fix argon skin not forwarding resource lookups to user backing
2022-09-22 18:53:43 +09:00
Dean Herbert
ea7c5458fe
Fix sprite dropdown not showing resources from non-legacy skins during gameplay
2022-09-22 18:53:43 +09:00
Dean Herbert
68015ef10c
Fix argon reverse arrow becoming white after switching skins
2022-09-22 18:12:28 +09:00
Dean Herbert
0458305a23
Add argon judgement bubbles
2022-09-22 17:50:21 +09:00
Dean Herbert
c354e828af
Merge pull request #20385 from B3nn1/slider-controlpoint-snapping
...
Add snapping for slider control points in the editor
2022-09-22 15:06:47 +09:00
Dean Herbert
749053481a
Update osu! hitobject implementation to avoid triggering ClearInternal
2022-09-22 15:04:20 +09:00
Dean Herbert
b844d76311
Move Shake
logic local to hitcircle/slider
2022-09-22 15:04:20 +09:00
Dan Balasescu
70bab81282
Merge pull request #20377 from peppy/argon-skin
...
Add new default "argon" skin
2022-09-22 14:50:43 +09:00
Dean Herbert
2bdc6417e9
Mark DrawableOsuHitObject
abstract
for clarity
2022-09-22 14:44:03 +09:00
Dean Herbert
9bbb53af40
Merge pull request #20370 from Pasi4K5/random-mod-customisation
...
Add mod settings `AngleSharpness` and `AngleVariety` to the random mod
2022-09-22 13:52:41 +09:00
B3nn1
112bbe2296
Always use Parent.ToScreenSpace() in PathControlPointVisualiser
2022-09-21 18:56:22 +02:00
B3nn1
5d54354588
Add missing ToScreenSpace() call
2022-09-21 18:53:25 +02:00
Dean Herbert
4492a26b59
Merge branch 'master' into argon-skin
2022-09-21 13:00:16 +09:00
Dan Balasescu
1e9b60f07f
Merge pull request #16524 from stanriders/move-td-reduction
...
Fix touch device difficulty reduction not affecting star rating
2022-09-21 12:51:14 +09:00
B3nn1
368229f324
Remove unnecessary brackets
2022-09-21 01:25:01 +02:00
B3nn1
fe9e8635fc
Fix snapping of already existing slider control points in the editor
2022-09-21 01:04:39 +02:00
Pasi4K5
b1ecac514a
Correct comments
2022-09-20 23:13:38 +02:00
Pasi4K5
b7c1e8cc5a
Remove setting AngleVariety
2022-09-20 23:11:38 +02:00
Alden Wu
092e6cfa1d
Lock smoke bounds to playfield
2022-09-20 12:03:07 -07:00
Alden Wu
ddbd69dc67
Replace LifetimeAfterSmokeEnd with abstract LifetimeEnd
2022-09-20 09:44:01 -07:00
Dan Balasescu
3ec16063bd
And another invalidate
2022-09-20 21:01:18 +09:00
Dan Balasescu
102c140967
Remove another invalidate
2022-09-20 20:59:58 +09:00
Dan Balasescu
c28ed477e1
Expose less stuff, clean up implementation
2022-09-20 20:54:49 +09:00
Dan Balasescu
ff6e4e3a96
Privatise setters
2022-09-20 20:42:12 +09:00
Dan Balasescu
9f23210e7e
Use British-English
2022-09-20 20:40:20 +09:00
Dan Balasescu
5d3c6efcc5
Dispose quad batch
2022-09-20 20:40:20 +09:00
Dan Balasescu
f7962c993d
Reduce the number of points
2022-09-20 20:40:20 +09:00
Dan Balasescu
5d73de9021
Perform matrix mults on the GPU
2022-09-20 20:40:20 +09:00
Alden Wu
90a05f4bed
Cap smoke on point count + omit invisible vertices
2022-09-20 01:40:20 -07:00
B3nn1
b0a3c9152a
Enable snapping for slider control points in the editor
2022-09-19 21:33:38 +02:00
Alden Wu
c3b8e1d718
Fix test and spawn smoke immediately
2022-09-19 10:16:05 -07:00
Alden Wu
74056201e7
Return smoke key to key overlay
2022-09-19 09:15:59 -07:00
Alden Wu
0316e3e706
Merge branch 'master' of https://github.com/ppy/osu into smoke
2022-09-19 09:07:17 -07:00
Dean Herbert
c8206b747b
Fix border / slider body metrics
2022-09-19 23:16:46 +09:00
Dean Herbert
4eae5f8733
Add back outer fill for hitcircles (but not slider head circles)
2022-09-19 23:16:46 +09:00
Dean Herbert
edc624c4be
Tweak slider ball fade to be less present after slider ends
2022-09-19 23:16:46 +09:00
Dean Herbert
4f1530c2db
Add slider follow circle
2022-09-19 23:16:46 +09:00
Dean Herbert
3c0983b0db
Add slider reverse arrow
2022-09-19 23:16:46 +09:00
Dean Herbert
d4e2f70f87
Add slider score point
2022-09-19 23:16:46 +09:00
Dean Herbert
ef6ea49b18
Add slider ball
2022-09-19 23:16:46 +09:00
Dean Herbert
cd84503e62
Add slider body
2022-09-19 23:16:46 +09:00
Dean Herbert
403cc59208
Further animation tweaks and better documentation
2022-09-19 23:16:46 +09:00
Dean Herbert
02fbb04ba8
Add basic argon judgement
2022-09-19 23:16:46 +09:00
Dean Herbert
4a86fe1ca9
Tweak main circle animations
2022-09-19 23:16:46 +09:00
Dean Herbert
b766493776
Add basic argon skin transformer for osu! ruleset
2022-09-19 23:16:46 +09:00
Alden Wu
8204090e47
Scale smoke radius based on texture width
2022-09-19 00:07:22 -07:00
Alden Wu
3eb28881e4
Temp default smoke scale/rotation anims
2022-09-18 22:14:54 -07:00
Alden Wu
8474335aea
Remove hacky LifetimeEnd workaround
2022-09-18 22:08:45 -07:00
Alden Wu
a0e31018a1
Copy stable smoke's fade/alpha values, blending, scale, and rotation
2022-09-18 22:06:07 -07:00
Alden Wu
6852577dad
Remove smoke from key overlay
2022-09-18 19:08:01 -07:00
Alden Wu
0138663bdc
Fix InspectCode errors
2022-09-18 18:32:33 -07:00
Alden Wu
06178104c8
Show smoke in replays
2022-09-18 17:55:06 -07:00
Pasi4K5
9eb0a21d75
Correct comments
2022-09-19 00:45:23 +02:00
D.Headley
6d3e42a248
Give enums descriptions, change acronym and remove icon
2022-09-18 23:56:26 +02:00
Pasi4K5
4263933c9e
Add settings AngleSharpness
and Angle variety
2022-09-18 23:43:14 +02:00