OliBomby
4568af8fda
Combine drag and clicky interactions
2024-09-28 17:26:39 +02:00
OliBomby
3e4cd0aeac
Add tooltip to rounded button
2024-09-28 17:04:20 +02:00
OliBomby
1c6e42671a
return grid placement tool to right toolbox
2024-09-28 17:04:11 +02:00
OliBomby
b1e381a391
Update tooltip for drag
2024-09-28 15:59:07 +02:00
OliBomby
4e2bc0d1bd
place grid with drag instead
2024-09-28 15:56:37 +02:00
Dean Herbert
c46d787f1e
Merge pull request #29949 from minetoblend/feature/scale-around-center
...
Support scaling around center when scaling with select box
2024-09-28 21:37:39 +09:00
Finadoggie
9b1ae2fe26
fix the code such that it actually works when testing it
2024-09-27 14:21:15 -07:00
Finadoggie
7a849c7e20
Fix formatting
2024-09-27 14:11:12 -07:00
Fina
132931f605
Create variable to check if using slideracc
2024-09-27 14:04:48 -07:00
Bartłomiej Dach
89f47c4654
Fix random mod needlessly trying to fix nested object positions on its own
2024-09-27 10:28:32 +02:00
Bartłomiej Dach
1c23fd31d7
Ensure Slider.updateNestedPositions()
actually updates the position of all nesteds
2024-09-27 10:27:54 +02:00
Bartłomiej Dach
fa90b43233
Merge branch 'master' into selection-center
2024-09-27 09:30:36 +02:00
Fina
44c94254c5
Merge branch 'ppy:master' into estimation-removal
2024-09-26 17:54:21 -07:00
OliBomby
b179e086c6
Merge remote-tracking branch 'upstream/master' into grids-4
2024-09-26 14:59:52 +02:00
tsunyoku
f4055d923f
increase aim skill multiplier
2024-09-25 18:14:15 +01:00
StanR
fe8b9536ff
Bring back some old nerfs as balancing factor
2024-09-25 18:58:24 +05:00
Dan Balasescu
3111d6a74d
Merge pull request #29986 from OliBomby/refactor-placement-tool
...
Refactor placement blueprints to not be limited to hit objects
2024-09-25 17:59:43 +09:00
Dan Balasescu
5b8ae90ec1
Merge pull request #29962 from Givikap120/use_max_combo
...
Make all difficulty calculators use `GetMaxCombo` function
2024-09-25 17:51:49 +09:00
OliBomby
e3b4483872
Refactor PlacementBlueprint to not be hitobject specific
2024-09-24 20:31:00 +02:00
StanR
872628b8b8
Some extra tweaking
2024-09-24 18:24:00 +05:00
StanR
75dc822540
Adjust some multipliers
2024-09-24 17:57:31 +05:00
tsunyoku
5eb23d3a71
balancing attempts
2024-09-24 12:24:54 +01:00
tsunyoku
ce5c666c34
bump global multiplier
2024-09-24 11:28:15 +01:00
tsunyoku
98d9b5eec8
correct distanceBonus
code comment
2024-09-24 11:23:34 +01:00
James Wilson
ac9c1508b1
update incorrect code comment
...
Co-authored-by: StanR <castl@inbox.ru>
2024-09-24 11:22:46 +01:00
Bartłomiej Dach
86432078dd
Remove usage of switch expression syntax
...
It's not universally accepted here and a `when` crept in that can be
bypassed entirely using rather clean baseline language constructs, so
why bother at this point.
2024-09-24 11:53:02 +02:00
tsunyoku
4da78a8c00
make speed bonuses additive, scale distanceBonus
2024-09-24 10:06:07 +01:00
OliBomby
0f0f490598
Don't snap to global grid while placing grid
2024-09-23 17:24:09 +02:00
OliBomby
fe10621771
Clarify criteria of grid spacing subdivision
2024-09-23 16:39:09 +02:00
OliBomby
0a5a463380
Convert 'grid from points' button to placement tool
2024-09-23 16:36:45 +02:00
OliBomby
1a81e12192
Refactor PlacementBlueprint to not be hitobject specific
2024-09-23 16:33:36 +02:00
StanR
08bded82fd
Remove GetHashCode
2024-09-23 16:30:02 +05:00
StanR
6ed151ccf5
Merge branch 'master' into rhythm-fixes
2024-09-23 14:25:32 +05:00
StanR
e04b88a9b0
Replace speed buff with aim buff
2024-09-23 13:49:25 +05:00
Givikap120
1b77b3912b
initial commit
2024-09-22 15:01:58 +03:00
Marvin Schürz
3180468db1
Prevent the distance snap grid from being activated by alt key while dragging select box handle
2024-09-21 14:22:17 +02:00
Marvin Schürz
8bca8d6072
Restore previous scale behavior when using scale popover
2024-09-20 17:38:49 +02:00
Marvin Schürz
8ceea9a5f7
Use scale origin when scaling sliders
2024-09-20 17:19:38 +02:00
OliBomby
8e11cda41a
use minimum enclosing circle selection centre in scale
2024-09-20 01:07:54 +02:00
OliBomby
ee00624751
use minimum enclosing circle selection centre in rotation
2024-09-20 01:07:47 +02:00
OliBomby
d2f97f5908
take into account rotation period for each grid type
2024-09-19 20:18:24 +02:00
OliBomby
e3aeaf6d85
Merge remote-tracking branch 'upstream/master' into grids-4
2024-09-19 20:06:47 +02:00
StanR
e986a7dfe1
Fix repetition nerf not updating the counts
2024-09-19 19:15:54 +05:00
StanR
202364be5e
Use List
instead of Dictionary
for island counting, minor adjustments
2024-09-19 17:52:55 +05:00
Bartłomiej Dach
89509ea49e
Fix DrawableOsuHitObject
not properly cleaning up dim application callbacks
...
Should fix https://github.com/ppy/osu/issues/28629 .
First of all, to support the claim that this does fix the issue -
reproduction is rather difficult, but I believe I found a way to
maximise the chances of it reproducing by performing the following
steps:
1. Apply the following diff:
diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs
index eacd2b3e75..4c00da031a 100644
--- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs
+++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs
@@ -6,6 +6,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Threading;
using JetBrains.Annotations;
using osu.Framework.Allocation;
using osu.Framework.Bindables;
@@ -95,6 +96,8 @@ public DrawableSlider([CanBeNull] Slider s = null)
[BackgroundDependencyLoader]
private void load()
{
+ Thread.Sleep(100);
+
tailContainer = new Container<DrawableSliderTail> { RelativeSizeAxes = Axes.Both };
AddRangeInternal(new Drawable[]
2. Download https://osu.ppy.sh/beatmapsets/1470790#osu/3023028 and open
it in the editor.
3. Select all objects using Ctrl-A. Yes, it'll take a while, especially
so with the patch above.
4. Rotate the selection by any amount using the right toolbox.
5. Press undo. The game should crash. If it doesn't spam redo and undo
until it does.
Now to explain what the fix is.
In the issue thread I spent a considerable time hemming and hawing about
which of the dimmable pieces was null, which was a complete miss and a
failure at reading. Let's see the stack trace again:
2024-06-27 02:15:20 [error]: at osu.Game.Rulesets.Osu.Objects.Drawables.DrawableOsuHitObject.<UpdateInitialTransforms>g__applyDim|15_0(Drawable piece) in /home/runner/work/osu-auth-client/osu-auth-client/osu/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableOsuHitObject.cs:line 101
Line 101, you say? What could be null here?
bd8addfb5f/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableOsuHitObject.cs (L101)
Okay, what's `InitialLifetimeOffset`, then?
bd8addfb5f/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableOsuHitObject.cs (L108)
Yes, that's right. It's `HitObject` that is null here.
Now why does *that* happen? First, let's note that all stacks where this
died went through `UpdateState()`, which means that the problematic
`applyDim()` calls had to be `ApplyCustomUpdateState` event callbacks.
Meaning that the pieces where `HitObject` was null were DHOs themselves.
Recall that parent DHOs and child DHOs are pooled separately. Therefore,
there is no guarantee that any parent and child DHOs will remain
associated with each other for the entire duration of a gameplay
session; it is quite the contrary, and nobody should rely on that.
Unfortunately for us, adding a `applyDimToDrawableHitObject` callback to
a child object's `ApplyCustomUpdateState` *implicitly creates* such an
association, because it ends up allocating a closure that captures
`this` (meaning the parent in this context).
Therefore, this now creates a situation where a child DHO can attempt to
read state from a former parent DHO which can be in an indeterminate
state, and in fact, when this crashes, the former parent DHO is most
likely not even in use - hence the null `HitObject`.
Thus, the fix is to clear the association by unsubscribing from the
event when nested objects are cleared.
My hypothesis why the reproduction scenario is like it is, is that both
the sleep and the increased pressure on the pool (by way of selecting
all objects and therefore forcing the DHOs to be materialised beyond
pool capacity) increases the likelihood of getting a crosslink.
When pool pressure is low, it is much more likely that a parent DHO
*will* get the same child DHO again on re-application, even though
that is not guaranteed.
Just as an additional detail, note that the sentry issue for this lists
the "first seen" version as 2024.312.0, which is the release that
included https://github.com/ppy/osu/pull/27401 which would be directly
responsible for this mess.
2024-09-19 14:30:02 +02:00
StanR
732a114b95
Slight refactoring
2024-09-19 15:53:18 +05:00
Dean Herbert
188a430418
Merge branch 'master' into grids-3
2024-09-19 18:21:05 +09:00
StanR
0bad5e4684
Move slider-related ratio multiplier out of the delta switch block, add nerf for ratios with delta difference fractions that are too big, adjust consts
2024-09-19 04:38:01 +05:00
Bartłomiej Dach
67a7f608f1
Fix slider end drag marker being in incorrect position for stacked sliders
...
Closes https://github.com/ppy/osu/issues/29884 .
2024-09-17 08:23:46 +02:00
StanR
c9ce7d29e6
Adjust multipliers
2024-09-16 01:04:46 +05:00
StanR
bee18b03e7
Reduce history max overall instead of using clock rate
2024-09-16 00:49:36 +05:00
StanR
145731bdef
More balancing
2024-09-15 02:48:41 +05:00
StanR
863a74f980
Balancing
2024-09-15 02:08:37 +05:00
StanR
738d4bcb80
Reduce ratio if we're starting island counting after a slider
2024-09-15 01:49:52 +05:00
StanR
db626f168a
Refactor
2024-09-15 01:12:41 +05:00
StanR
5e8174faa8
Reduce ratio for island size 1
2024-09-14 22:03:01 +05:00
StanR
d544498e8d
Merge branch 'master' into rhythm-fixes
2024-09-12 15:29:20 +05:00
Dan Balasescu
d54c6aefbe
Merge branch 'master' into pp_refactoring_osustrainskill
2024-09-12 17:28:24 +09:00
Dean Herbert
a8365202d9
Merge pull request #29841 from bdach/replay-analysis-mod-woes
...
Fix several issues in interactions between playfield-altering mods and the replay analysis feature
2024-09-12 13:52:09 +09:00
StanR
3398497d4b
Remove kickslider changes
2024-09-12 01:04:07 +05:00
Dan Balasescu
d935ed949c
Merge branch 'master' into pp_refactoring_speed_eval_change
2024-09-11 23:45:10 +09:00
Bartłomiej Dach
f38ae5f239
Fix replay analysis overlay being affected by visibility impairing mods
...
Closes https://github.com/ppy/osu/issues/29748 .
2024-09-11 15:55:02 +02:00
Bartłomiej Dach
4a39873e2a
Fix replay analysis overlay not rotating with Barrel Roll enabled
...
Closes https://github.com/ppy/osu/issues/29839 .
2024-09-11 15:54:30 +02:00
Dean Herbert
41d32ab2ca
Fix display length not resetting to default because default was wrong
...
Closes https://github.com/ppy/osu/issues/29757 .
2024-09-07 13:54:12 +09:00
Sheppsu
e94e08fec3
fix marker depth when rewinding
2024-09-05 20:14:36 -04:00
Bartłomiej Dach
b9ddac4201
Fix test failures
2024-09-05 09:45:37 +02:00
Dean Herbert
167e3a3377
Make loading asynchronous
2024-09-05 16:25:08 +09:00
Dean Herbert
a1cf67be62
Add setting to adjust replay analysis display length
2024-09-05 15:53:53 +09:00
Dean Herbert
0f01a855af
Add note about cursor hiding being potentially flaky
2024-09-05 15:30:42 +09:00
Dean Herbert
47a9b345eb
Rename config variables and setting strings
2024-09-05 15:15:15 +09:00
Dean Herbert
7390d89c75
Switch to using CircularProgress
for more consistent sizing
...
Also show both mouse buttons at once on frame markers.
2024-09-05 15:12:53 +09:00
Dean Herbert
4f719b9fec
One more rename pass
2024-09-05 14:28:20 +09:00
Dean Herbert
2d198e57e1
Second visual design pass
2024-09-05 14:17:53 +09:00
Dean Herbert
08ebc83a89
Fix path getting misaligned with negative position values
2024-09-05 12:14:24 +09:00
Dean Herbert
21146c3501
Add back shadow cast
2024-09-05 12:08:49 +09:00
Dean Herbert
a6ed719454
Visual design pass
2024-09-05 12:08:49 +09:00
Dean Herbert
a4a37c5ba6
Simplify lifetime entries and stuff
2024-09-05 12:08:49 +09:00
Dean Herbert
7f9a98a7aa
More renames
2024-09-05 12:08:48 +09:00
Dean Herbert
dcb463acaf
Split out classes and avoid weird configuration stuff
2024-09-05 12:08:48 +09:00
Dean Herbert
6c07b873af
Isolate configuration container from analysis overlay
2024-09-04 19:37:36 +09:00
Bartłomiej Dach
130802e480
Add hotkey hints to editor menus
2024-09-04 12:16:54 +02:00
Dean Herbert
9b81deb3ac
Fix settings not working if ReplayPlayer
is not available
2024-09-04 19:09:23 +09:00
Dean Herbert
cc3d220f6f
Allow settings to be added to replay HUD from ruleset
2024-09-04 19:00:23 +09:00
Dean Herbert
992a0da957
Rename classes slightly
2024-09-04 19:00:22 +09:00
Dean Herbert
a417fec234
Move analysis container implementation completely local to osu! ruleset
2024-09-04 19:00:22 +09:00
Sheppsu
c89597b060
fix config mistake
2024-09-04 03:37:52 -04:00
Sheppsu
a549cdd5b9
persist analysis settings
2024-09-03 04:49:50 -04:00
Sheppsu
56db29d0f5
make test go indefinitely
2024-09-03 01:38:54 -04:00
Sheppsu
a2b15fcdee
rework code logic to make more sense
...
analysis container creates settings and the settings items are created more nicely
also removed use of localized strings because that can be done separately
2024-09-03 00:59:42 -04:00
Sheppsu
1ed94e598a
Merge branch 'master' into replay-analysis-settings
2024-09-01 19:32:25 -04:00
Andrei Zavatski
501ea68a21
Merge branch 'master' into fast-circle
2024-08-31 17:31:30 +03:00
Andrei Zavatski
f5a2b5ea03
Use FastCircle in demanding places in the editor
2024-08-30 17:45:26 +03:00
Dan Balasescu
4e8fb0dcab
Merge branch 'master' into scroll-speed-std
2024-08-30 00:41:05 +09:00
StanR
7fda8bc95b
Reduce repetition nerf for non-consecutive islands
2024-08-27 23:48:15 +05:00
StanR
ed45c947fc
Adjust max history by clockrate to make rhythm calculation more consistent between rates
2024-08-27 15:50:08 +05:00
Bartłomiej Dach
7c0550d251
Merge pull request #29500 from frenzibyte/fix-pausing-for-the-millionth-time
...
Fix oversight in osu! pause input handling
2024-08-27 10:04:47 +02:00
Dean Herbert
1b26e1c126
Merge branch 'master' into free-sliders
2024-08-27 13:32:24 +09:00
Dean Herbert
50a8348bf9
Apply NRT to remaining classes in slider blueprint namespace
2024-08-27 13:18:55 +09:00
Dean Herbert
4fc96ebfde
Tidy some thing up
2024-08-27 13:13:22 +09:00
StanR
ce8286d299
Scale difficulty with doubletapness, make kicksliders not reduce the difficulty of the next object, adjust balancing
2024-08-24 04:37:58 +05:00
Dean Herbert
48cfd77ee8
Component
-> Lookup
2024-08-23 14:48:50 +09:00
OliBomby
2de5ecceb8
Merge remote-tracking branch 'upstream/master' into scroll-speed-std
2024-08-22 20:17:14 +02:00
OliBomby
998b5fdc12
Add property EditorShowScrollSpeed to Ruleset
2024-08-22 19:53:34 +02:00
StanR
f1adc6f98c
Don't cap max island size, make repetition nerf more lenient on high bpm, adjust balancing
2024-08-22 15:59:13 +05:00
Dean Herbert
1435fe24ae
Remove requirement of base
calls to ensure user skin container layouts are retrieved
2024-08-22 19:14:30 +09:00
Dean Herbert
b57b8168a6
Rename Target
lookup to Component
2024-08-22 19:00:28 +09:00
Dean Herbert
9a21174582
Move GlobalSkinnableContainers
to global scope
2024-08-22 18:46:07 +09:00
Dean Herbert
36b4013fa6
Rename GameplaySkinComponentLookup
-> SkinComponentLookup
2024-08-22 18:46:03 +09:00
Dean Herbert
f37cab0c6e
Rename SkinComponentsContainerLookup
to GlobalSkinnableContainerLookup
2024-08-22 18:39:36 +09:00
OliBomby
094b184191
snap the slider duration in normal drag
2024-08-21 12:28:56 +02:00
Dan Balasescu
f4b8fc6165
Merge pull request #29536 from frenzibyte/fix-legacy-key-counter-position
...
Fix legacy key counter position not matching stable
2024-08-21 01:05:46 +09:00
Salman Ahmed
20658ef4ee
Fix legacy key counter position not matching stable
2024-08-21 00:10:16 +09:00
Dean Herbert
ebff2ebf01
Merge pull request #29528 from smoogipoo/invert-snapping-binds
...
Make grid/distance snap binds T/Y respectively
2024-08-20 19:23:42 +09:00
Dan Balasescu
180c4a0248
Fix tests by removing assumption
2024-08-20 14:20:52 +09:00
Dan Balasescu
86c3c115f6
Make grid/distance snap binds T/Y respectively
2024-08-20 12:15:33 +09:00
TheOmyNomy
67de43213c
Apply current cursor expansion scale to trail parts
2024-08-19 23:21:06 +10:00
Salman Ahmed
2a49167aa0
Remove flac whatever
2024-08-19 15:44:17 +09:00
Salman Ahmed
86d0079dcd
Rewrite the fix to look less hacky and direct to the point
2024-08-19 15:43:59 +09:00
Dean Herbert
0c6bee4033
Merge branch 'master' into free-sliders
2024-08-19 14:27:54 +09:00
Salman Ahmed
62dec1cd78
Fix oversight in input blocking from osu! gameplay resume
2024-08-19 14:14:40 +09:00
Dean Herbert
7248c04ba4
Merge branch 'master' into polygon-tool
2024-08-19 13:54:02 +09:00
Dean Herbert
95d06333c1
Fix typo in editor field
2024-08-19 13:49:59 +09:00
Dean Herbert
f34132fd6b
Merge branch 'master' into polygon-tool
2024-08-19 13:00:02 +09:00
Dan Balasescu
3b94d1f8eb
Merge pull request #29433 from OliBomby/grid-anchors
...
Fix grid snap slider placement double-click not making new segment if anchor not hovered
2024-08-16 17:42:15 +09:00
OliBomby
00e210147a
Fix inputs being eaten by PathControlPointVisualizer when no control points are selected
2024-08-15 23:11:07 +02:00
OliBomby
f717938a28
Fix grid snap slider placement double-click does not make new segment if anchor not hovered
2024-08-15 22:49:05 +02:00
Dean Herbert
5710f0f302
Merge pull request #26254 from frenzibyte/mania-combo-counter
...
Add argon/classic osu!mania combo counter
2024-08-15 17:56:28 +09:00
Salman Ahmed
49c71f7863
Fix beatmap skin always overriding ruleset HUD components
2024-08-15 16:47:10 +09:00
Dean Herbert
e465049050
Merge branch 'master' into mania-combo-counter
2024-08-14 15:12:00 +09:00
OliBomby
ae47671d17
clarify angle ranges in HandleFlip
2024-08-13 14:21:42 +02:00
Bartłomiej Dach
06c2952fe8
Merge branch 'master' into grids-3
2024-08-12 13:55:35 +02:00
Dean Herbert
d2eb6ccb8c
Standardise skin transformer code structure
2024-08-12 14:27:21 +09:00
StanR
3acd00b9b7
Tweak some values
2024-08-10 22:30:24 +05:00
Dean Herbert
8fdd94090b
Show object inspector values during placement
2024-08-09 18:02:37 +09:00
Dean Herbert
80c814008f
Update in line with new changes
2024-08-09 14:55:01 +09:00
Dean Herbert
60d383448f
Avoid making non-ruleset transformers in Ruleset.CreateSkinTransformer
...
This didn't make any sense, so let's do it a better way.
2024-08-08 16:29:54 +09:00
Dean Herbert
3c572abaa7
Merge branch 'master' into ruleset-specific-combo-counter
2024-08-08 03:21:52 +09:00
Dean Herbert
b1488fd5b7
Merge pull request #29027 from normalid-awa/feature/skin/legacy-input-overlay
...
Add legacy key counter support
2024-08-07 17:48:30 +09:00
Givikap120
a28913af7a
multiplied numbers in multipliers
2024-08-06 14:47:05 +03:00
Dean Herbert
725dc4de9b
Use transformers for per-skin key counter implementation
2024-08-06 18:17:21 +09:00
Givikap120
ace1a57242
Update SpeedEvaluator.cs
2024-08-05 16:53:06 +03:00
Givikap120
ac57cdd1b3
speed eval refactoring
2024-08-05 16:50:06 +03:00
Givikap120
8431e62c47
fixed CI
2024-08-05 16:14:32 +03:00
Givikap120
251d009394
moved conversion formulas to respective classes
2024-08-05 16:08:30 +03:00
Givikap120
0a9b11d3a7
removed default difficulty multiplier
2024-08-05 15:57:02 +03:00
Dan Balasescu
117d6bf8d1
Merge branch 'master' into stacking-updates
2024-08-05 14:39:29 +09:00
Dan Balasescu
20b890570e
Replace try-finally with return
...
Try-finally has a small overhead that's unnecessary in this case given
how small the code block is.
2024-08-05 13:28:42 +09:00
Dean Herbert
419d5a76ce
Merge branch 'master' into fix-pause-in-osu-again
2024-08-05 12:00:21 +09:00
Caiyi Shyu
4b5c163d93
remove unnecessary LayoutValue
2024-08-02 17:45:05 +08:00
Caiyi Shyu
06af8cb952
interpolate parts in local space to avoid broken trails
2024-08-02 16:23:37 +08:00