1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-13 04:32:57 +08:00
Commit Graph

382 Commits

Author SHA1 Message Date
Bartłomiej Dach
a3b8493751
Remove rounding of slider velocity multiplier on juice streams
Compare: https://github.com/ppy/osu/pull/26616

This came up elsewhere, namely in
https://github.com/ppy/osu/pull/28277#issuecomment-2133505958.

As it turns out, at least one beatmap among those whose scores had
unexpected changes in total score, namely
https://osu.ppy.sh/beatmapsets/971028#fruits/2062131, was using slider
velocity multipliers that were not a multiple of 0.01 (the specific
value used was 0.225x). This meant that due to the rounding applied to
`SliderVelocityMultiplierBindable` via `Precision`, the raw value was
being incorrectly rounded, resulting in incorrect conversion.

The "direct" change that revealed this is most likely
https://github.com/ppy/osu-framework/pull/6249, by the virtue of
shuffling the `BindableNumber` rounding code around and accidentally
changing midpoint rounding semantics in the process. But it was not
at fault here, as rounding was just as wrong before that change
as after in this specific context.
2024-05-28 13:14:44 +02:00
Bartłomiej Dach
fb80d76b4a
Apply further changes to remove remaining weirdness 2024-02-05 13:37:38 +01:00
Chandler Stowell
93bd3ce5ae update DrawableHitCircle.ApplyResult to pass this to its callback 2024-01-25 11:25:41 -05:00
Chandler Stowell
d2775680e6 use stack to pass action state when applying hit results
this removes closure allocations
2024-01-24 13:13:45 -05:00
Bartłomiej Dach
72e502e615
Fix backwards z-ordering of fruits in juice streams and banana showers
Closes https://github.com/ppy/osu/issues/25827.

The logic cannot be easily abstracted out (because
`CompareReverseChildID()` is protected and non-static on
`CompositeDrawable`), so a local copy was applied instead.

No testing as any testing would have been purely visual anyways.
2024-01-02 11:55:59 +01:00
Bartłomiej Dach
2e8b49b93a
Fix catch drawable objects not being clamped to playfield bounds 2023-12-27 10:55:29 +01:00
Bartłomiej Dach
605269f65f
Extract preempt durations to shared constants 2023-12-14 20:41:12 +01:00
Dan Balasescu
6320194e19
Fix catch applying positional clamping too early 2023-12-11 21:52:39 +09:00
Dan Balasescu
394ea73055
Add some comments where truncations were added 2023-12-06 14:50:03 +09:00
Dan Balasescu
3aaba3183b
Match stable precision when generating catch bananas 2023-12-05 15:39:26 +09:00
Dan Balasescu
7d602c792d
Fix legacy tick distance in JuiceStream generation 2023-12-05 15:10:03 +09:00
Dan Balasescu
b90de83f33
Replicate integer calculations for tiny tick conversion 2023-12-05 11:58:00 +09:00
Dean Herbert
039f8e6242
Add note about shared code 2023-11-24 10:25:23 +09:00
Dan Balasescu
7bc2d6e6cd
Merge branch 'master' into fix-combo-handling 2023-11-23 16:22:01 +09:00
Dan Balasescu
7998204cfe
Fix combo/combo colouring issues around spinners 2023-11-23 13:54:05 +09:00
Thomas Müller-Höhne
926636cc03 Generalize Bezier curves to BSplines of Nth degree 2023-11-11 13:32:53 +01: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
3a5490892c
Centralise and repair circle size calculations game-wide 2023-10-18 19:50:42 +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
1a37543d28 Rename SliderVelocity to SliderVelocityMultiplier to distinguish from Velocity 2023-09-06 19:01:08 +09:00
Dean Herbert
510ebe1f23 Fix weird optional usage in HitSampleInfo.With 2023-05-17 14:11:52 +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
Dean Herbert
16c624fb61 Ensure static banana samples are not mutated 2023-05-03 13:02:37 +09:00
OliBomby
90d98cd329 remove constructor argument from Banana 2023-05-02 12:41:39 +02:00
OliBomby
27cfadca16 add sample info to Banana and SpinnerBonusTick 2023-05-01 14:54:06 +02:00
OliBomby
41d4894aa3 add min and max value to SliderVelocity 2023-04-30 19:32:24 +02:00
OliBomby
c44f71a737 remove all regular usage of DifficultyControlPoint 2023-04-26 17:55:38 +02:00
ekrctb
1f8b7b8f03 Remove #nullable disable from CaughtObject 2023-01-15 23:21:38 +09:00
ekrctb
086604cd14 Remove #nullable disable from Catch.Objects.Drawables
Except DrawableCatchHitObject, it complains in base(hitObject) call.
2023-01-15 17:29:35 +09:00
ekrctb
56fb315f32 Remove #nullable disable from Catch.Objects 2023-01-15 17:29:35 +09:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +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
40efa1603b Adjust metrics to make banana lens flares look better 2022-10-28 19:35:50 +09:00
Drison64
86a09ad2cf Rename ClampToPlayField 2022-09-21 17:14:02 +02:00
Drison64
a4fae37013 Fixed tests failing 2022-09-20 19:45:39 +02:00
Drison64
6b1cd1bce3 Clamped JuiceStream to Playfield, but broke few tests 2022-09-20 19:13:40 +02:00
Drison64
4958421303 Moved X clamping from X to EffectiveX 2022-09-19 17:26:04 +02:00
Drison64
6d7d80a4fb Made X position value of CatchHitObject clamp to CatchPlayfield's width 2022-09-18 17:29:08 +02:00
Salman Ahmed
8f80a22ef9 Fix osu! and catch hitobjects no longer scaled to 1 by default 2022-07-19 07:00:13 +03:00
Salman Ahmed
1051009827 Change bindable properties in all HitObjects to be lazily initialised 2022-07-19 05:39:10 +03:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
ekrctb
670922c8e5 Use latest slider velocity for juice stream velocity computation.
This fixes one-frame glitch in editor when slider velocity is changed.
2022-05-08 22:36:33 +09:00
ekrctb
9ffa90602b Automatically set slider velocity from juice stream path 2022-05-08 22:36:33 +09:00
ekrctb
4e0155fa4b Make JuiceStreamPath time based instead of distance based.
And remove the "slope limit" feature.
TODO: for a juice stream with a large slope, the slider velocity of the hit object should be changed.
2022-05-08 22:36:33 +09:00
goodtrailer
4440b9ca11 Change IHasRepeats.NodeSamples to IList from List 2021-10-23 01:59:07 -07:00
smoogipoo
bc37cb6f43 Merge branch 'master' into no-more-difficulty-control-points-info 2021-10-08 18:41:17 +09:00
Dean Herbert
a92d499d7a Convert usages of BeatmapDifficulty to IBeatmapDifficultyInfo 2021-10-01 16:55:50 +09:00
Dean Herbert
a3d9ab1e2e Move approach rate to EffectControlPoint 2021-09-03 16:58:16 +09:00