1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-16 03:47:26 +08:00
Commit Graph

5860 Commits

Author SHA1 Message Date
Salman Ahmed
4f6c7fe7c3 Schedule resume operation by one frame to ensure the triggered key down event does not cause a gameplay press 2024-07-19 18:48:35 +03:00
Dan Balasescu
a7e110f669
Don't rely on single-use properties 2024-07-18 19:07:02 +09:00
Dean Herbert
c1414f332e
Merge branch 'master' into free-sliders 2024-07-18 18:13:43 +09:00
OliBomby
7dc006f9ba fix horizontal flip rotation 2024-07-16 13:19:01 +02:00
OliBomby
2bbaa8e43c make flips grid-type aware 2024-07-14 18:12:55 +02:00
OliBomby
a80e333786 add playfield origin as third origin option 2024-07-14 17:27:04 +02:00
OliBomby
9e5d099b1b rename playfield centre origin to grid centre 2024-07-14 17:13:22 +02:00
OliBomby
7a319a6d74 dont rotate scale when in selection origin mode 2024-07-14 17:03:17 +02:00
OliBomby
58eb7f6fe1 fix rotated scale bounds again 2024-07-14 16:58:05 +02:00
OliBomby
ae38002777 Revert "fix incorrect rotated bound checking"
This reverts commit 4165ded813.
2024-07-14 15:46:40 +02:00
Bartłomiej Dach
37a296ba4c
Limit per-frame movement hitobject processing to stacking updates 2024-07-11 13:36:14 +02:00
Bartłomiej Dach
38796aa7e7
Merge branch 'master' into stacking-updates 2024-07-11 13:23:11 +02:00
Bartłomiej Dach
c8a64c5950
Remove setup screen controls that do nothing useful
Before I go with a hammer to redesign these, I want to remove stuff that
does nothing first.

Hard-breaks API to allow rulesets to specify an enumerable of custom
sections rather than two specific weird ones.

For specific rulesets:

- osu!:
  - Stack leniency slider merged into difficulty section.
- osu!taiko:
  - Approach rate and circle size sliders removed.
  - Colours section removed.
- osu!catch:
  - No functional changes.
- osu!mania:
  - Special style toggle merged into difficulty section.
  - Colours section removed.
2024-07-10 14:53:16 +02:00
Bartłomiej Dach
9cc0e0137b
Snap to stack in osu! composer when dragging to any of the items on it
Previously it would be required to drag to the starting position of the
stack which feels weird.
2024-07-09 13:58:58 +02:00
Bartłomiej Dach
ec9040798f
Run stacking when performing movement in osu! composer
Closes https://github.com/ppy/osu/issues/28635.
2024-07-09 13:52:36 +02:00
OliBomby
89f106d14f Merge remote-tracking branch 'upstream/master' into free-sliders 2024-07-03 20:40:25 +02:00
OliBomby
5697c82bb8 add a small bias towards longer distances to prevent jittery behaviour on path self-intersections 2024-07-03 20:33:00 +02:00
OliBomby
3926af1053 Use draggable handle for length adjust 2024-07-03 20:17:39 +02:00
OliBomby
dfe6c70996 prevent flipping objects far offscreen 2024-07-03 19:08:31 +02:00
OliBomby
4165ded813 fix incorrect rotated bound checking 2024-07-03 19:03:15 +02:00
Dean Herbert
e151454c4e
Add missing check for curve menu items not yet being created 2024-07-04 01:00:51 +09:00
Dean Herbert
f7339e3e8b
Remove outdated(?) todo 2024-07-04 00:26:00 +09:00
Dean Herbert
6abb728cd5
Change menu items to be in same order as hotkeys 2024-07-04 00:22:46 +09:00
Dean Herbert
42aff953d9
Ensure menu items update when curve type changes 2024-07-04 00:19:20 +09:00
OliBomby
0797d942ae fix warning 2024-07-03 16:41:57 +02:00
OliBomby
979a5e9f3e simplify code 2024-07-03 16:41:41 +02:00
OliBomby
d0715c5f12 scale along rotated axis 2024-07-03 16:23:19 +02:00
Dean Herbert
88375694a3
Merge branch 'master' into slider-anchor-type-switching 2024-07-03 22:36:57 +09:00
OliBomby
5f8512896e use grid origin in scale tool 2024-07-03 12:40:22 +02:00
OliBomby
b15028a918 fixes 2024-07-03 12:36:12 +02:00
OliBomby
c285744509 Merge remote-tracking branch 'upstream/master' into grids-3 2024-07-03 12:25:57 +02:00
Bartłomiej Dach
17ce9cd162
Merge branch 'master' into grids-2 2024-07-03 10:57:05 +02:00
Dean Herbert
7203cb7d6f
Merge branch 'master' into better-slider-selection-box-size 2024-07-03 16:30:10 +09:00
Dean Herbert
5350945340
Update HasFlag usages 2024-07-03 00:19:04 +09:00
Salman Ahmed
dce1b4ec6c Merge branch 'master' into ruleset-specific-combo-counter 2024-07-01 08:31:40 +03:00
Dean Herbert
55b80f70f6
Change "playfield" skin layer to respect shifting playfield border in osu! ruleset 2024-06-28 18:12:20 +09:00
Dean Herbert
fd6b77ea92
Fix distance snap control being removed 2024-06-27 23:59:38 +09:00
Dean Herbert
b293eb7930
Remove redundant array spec 2024-06-27 22:19:06 +09:00
Bartłomiej Dach
1b741dada3
Show distance in pixels to previous/next object in osu! hitobject inspector 2024-06-27 14:46:57 +02:00
Dan Balasescu
779d2e8172
Support increased visibility for first object with traceable mod 2024-06-27 16:00:22 +09:00
Bartłomiej Dach
b339d6a00c
Fix editor performance regression with hitmarkers active 2024-06-26 16:26:32 +02:00
Dean Herbert
dc817b62cc
Fix editor performance dropping over time when hit markers are enabled
There's probably a better solution but let's hotfix this for now.
2024-06-26 01:06:37 +09:00
Bartłomiej Dach
2fda45cad4
Fix crashes when opening scale/rotation popovers during selection box operations 2024-06-25 15:20:59 +02:00
Bartłomiej Dach
2cb18820ea
Fix incorrect slider judgement positions when classic mod is active
Regressed in https://github.com/ppy/osu/pull/27977.

Bit ad-hoc but don't see how to fix without just reverting the change.
2024-06-25 10:07:58 +02:00
Dean Herbert
df43a1c6cc
Add note about every-frame-transforms 2024-06-23 03:31:40 +08:00
Olivier Schipper
4c6741e8aa
Fix exception type
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2024-06-20 17:27:38 +02:00
Bartłomiej Dach
225b309ba3
Reimplement stable polygon tool
Addresses https://github.com/ppy/osu/discussions/19970.

While yes, https://github.com/ppy/osu/pull/26303 is also a thing,
in discussing with users I don't think that grids are going to be able
to deprecate this feature.

Logic transcribed verbatim from stable.
2024-06-20 16:29:46 +02:00
Bartłomiej Dach
ad2cd0ba8f
Adjust behaviour of hit animations toggle to match user expectations 2024-06-20 13:42:32 +02:00
Dean Herbert
57774ae767
Merge branch 'master' into slider-anchor-type-switching 2024-06-20 19:01:22 +09:00
OliBomby
956bdbca50 fix tests 2024-06-20 00:17:16 +02:00
OliBomby
b24bfa2908 click to choose length instead of drag 2024-06-20 00:02:43 +02:00
OliBomby
d7fee53d67 Merge remote-tracking branch 'upstream/master' into free-sliders 2024-06-19 23:15:41 +02:00
OliBomby
efc8e1431a activate length change with context menu 2024-06-19 23:15:35 +02:00
OliBomby
f2bd6fac47 fix codefactor 2024-06-19 21:10:30 +02:00
OliBomby
ce4567f87b adjust rotation bounds based on grid type 2024-06-19 20:46:55 +02:00
Bartłomiej Dach
5fe21f16b9
Fix test failures 2024-06-18 10:41:26 +02:00
Bartłomiej Dach
87888ff0bb
Extend slider selection box bounds to contain all control points inside
Previously, the selection box was only guaranteed to contain the actual
body of the slider itself, the control point nodes were allowed to exit
it. This lead to a lot of weird interactions with the selection box
controls (rotation/drag handles, also the buttons under/over it) as the
slider anchors could overlap with them.

To bypass this issue entirely just ensure that the selection box's size
does include the control point nodes at all times.
2024-06-18 10:28:36 +02:00
Bartłomiej Dach
a3326086f7
Adjust hotkeys to address feedback 2024-06-18 08:25:05 +02:00
Bartłomiej Dach
310265c43f
Add slider placement binding description in tooltip 2024-06-18 08:16:25 +02:00
Dean Herbert
316125d47a
Merge pull request #23443 from OliBomby/edit-nodesample
Make NodeSamples editable
2024-06-18 11:12:02 +09:00
Bartłomiej Dach
683d5310b1
Implement direct choice of slider control point path type via Alt-number 2024-06-17 18:33:36 +02:00
Bartłomiej Dach
a631d245da
Fix test failure 2024-06-17 18:14:33 +02:00
Bartłomiej Dach
88bdc12022
Add ability to cycle through available types when selecting single control point on a slider 2024-06-17 15:56:48 +02:00
Bartłomiej Dach
16ea8f67b0
Add ability to start a new segment during placement via S key 2024-06-17 15:56:48 +02:00
Bartłomiej Dach
b5f0e58524
Add ability to better control slider control point type during placement via Tab 2024-06-17 15:56:48 +02:00
Bartłomiej Dach
1b00d0181a
Fix playfield border size not updating in editor on circle size change 2024-06-17 09:36:01 +02:00
Bartłomiej Dach
97003b3679
Account for osu! circle radius when drawing playfield border
Addresses https://github.com/ppy/osu/discussions/13167.
2024-06-17 09:08:43 +02:00
Bartłomiej Dach
25b2dfa601
Fix stack leniency not applying immediately after change 2024-06-10 14:34:22 +02:00
Bartłomiej Dach
86b13074a0
Merge branch 'master' into edit-nodesample 2024-06-06 13:42:25 +02:00
OliBomby
fe738a0951 Fix missing container inject 2024-06-05 18:12:02 +02:00
OliBomby
d8994786f6 Merge remote-tracking branch 'upstream/master' into grids-2 2024-06-05 17:18:48 +02:00
OliBomby
82919998da dont light up tail piece when hovering anchor 2024-06-04 18:26:32 +02:00
Bartłomiej Dach
5fcea01c13
Merge branch 'master' into ruleset-specific-combo-counter 2024-06-04 15:44:11 +02:00
OliBomby
34c4ee7de8 add CanBeNull attribute to LastRepeat 2024-06-03 13:38:42 +02:00
OliBomby
484e04acfb Merge branch 'free-sliders' of https://github.com/OliBomby/osu into free-sliders 2024-06-03 13:24:01 +02:00
Olivier Schipper
77b47ad2b4
simplify nullability annotation
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2024-06-03 13:23:39 +02:00
OliBomby
bb38cb4137 simplify tracking changes in shift key status 2024-06-03 13:18:36 +02:00
Bartłomiej Dach
4fcb902341
Merge branch 'master' into grids-1 2024-06-03 12:33:51 +02:00
OliBomby
ca41c84ba2 trim excess control points on drag end 2024-06-01 21:15:54 +02:00
OliBomby
7254096c90 fix isDragging being always true 2024-06-01 20:28:39 +02:00
Dean Herbert
b46222db19
Merge pull request #28359 from smoogipoo/autopilot-resume-overlay
Use delayed resume overlay for autopilot
2024-05-30 19:52:58 +09:00
Dan Balasescu
f6a59bee9a
Use delayed resume overlay for autopilot 2024-05-30 19:17:18 +09:00
Bartłomiej Dach
8916f08f86
Only take initial judgement position from object instead of following
Looks less bad with mods like depth active.

Co-authored-by: Dean Herbert <pe@ppy.sh>
2024-05-30 09:03:02 +02:00
Bartłomiej Dach
a6c776dac8
Use hopefully safer implementation of anchoring judgements to objects 2024-05-29 11:11:43 +02:00
Bartłomiej Dach
22a2adb5e6
Revert unrelated changes 2024-05-29 10:57:30 +02:00
Bartłomiej Dach
9fb7cc5900
Merge branch 'master' into magnetised-judgements 2024-05-29 10:56:53 +02:00
Bartłomiej Dach
84513343d6
Remove unused fields 2024-05-29 10:18:22 +02:00
Bartłomiej Dach
7b7e439d03
Merge branch 'master' into scale-tool 2024-05-29 10:15:48 +02:00
Bartłomiej Dach
9bd4b0d613
Rename method 2024-05-29 10:04:51 +02:00
Bartłomiej Dach
ba40737356
Simplify logic 2024-05-29 10:01:04 +02:00
Bartłomiej Dach
96a8bdf920
Use more generic tooltip copy 2024-05-29 09:59:19 +02:00
Bartłomiej Dach
bd5060965f
Simplify toolbox button enable logic 2024-05-29 09:49:16 +02:00
Bartłomiej Dach
4a8273b6ed
Rename another method 2024-05-29 09:43:09 +02:00
Bartłomiej Dach
4c881b5633
Use better name if we're renaming 2024-05-29 09:40:29 +02:00
Aurelian
b74f66e335 SliderBall's rotation updates based on CurvePositionAt 2024-05-28 19:38:33 +02:00
OliBomby
203e9284eb End circle only gets brighter once shift is held 2024-05-28 19:01:53 +02:00
OliBomby
2261d65b01 Merge remote-tracking branch 'upstream/master' into free-sliders 2024-05-28 18:42:34 +02:00
OliBomby
9a18ba2699 disable playfield centre origin when scaling slider and simplify logic 2024-05-28 18:27:01 +02:00
OliBomby
9548585b15 fix axis checkboxes being disabled in playfield origin scale 2024-05-28 17:24:31 +02:00
OliBomby
d143a697d2 refactor CanScaleFromPlayfieldOrigin and GetClampedScale to derived class 2024-05-28 17:12:16 +02:00
OliBomby
7cdc755c16 Bind axis checkbox disabled state to CanScaleX/Y 2024-05-28 16:57:24 +02:00
OliBomby
8eb23f8a60 remove redundant CanScaleFromSelectionOrigin 2024-05-28 16:19:57 +02:00
OliBomby
a89ba33b47 rename CanScaleSelectionOrigin/PlayfieldOrigin to make clear its not the origin being scaled 2024-05-28 16:14:16 +02:00
OliBomby
d4489545f2 add axis toggles 2024-05-25 21:44:08 +02:00
OliBomby
37530eebcc Enable scale buttons at the correct times 2024-05-25 20:35:06 +02:00
OliBomby
4eeebdf60c calculate max scale bounds for scale slider 2024-05-25 20:17:27 +02:00
OliBomby
88314dc584 select all input text on popup for an easy typing experience 2024-05-25 18:41:31 +02:00
OliBomby
6aa92bcc45 Add simple scale tool 2024-05-25 18:31:19 +02:00
Bartłomiej Dach
9f19ab092d
Merge branch 'master' into grids-1 2024-05-24 14:39:55 +02:00
Bartłomiej Dach
2be50c1a2a
Merge branch 'master' into undo_sliderpoint_curvetype_change 2024-05-24 10:45:31 +02:00
Dean Herbert
c7a89c35af
Merge pull request #28285 from tsunyoku/rank-traceable
Set `Ranked` to `true` for `OsuModTraceable`
2024-05-24 11:39:30 +08:00
Dan Balasescu
863f7151e0
Merge pull request #28288 from Hecatia-Lapislazuli/selection-mathing-slider-size
Fix path blueprint becoming desynced from slider path size
2024-05-24 00:19:34 +09:00
Dan Balasescu
b1c7afd75b
Move to ctor 2024-05-23 23:45:04 +09:00
Bartłomiej Dach
d8ba95f877
Remove leftover log
whooops.
2024-05-23 15:13:42 +02:00
Bartłomiej Dach
8a2dd4d816
Merge branch 'master' into scaling 2024-05-23 15:10:40 +02:00
Bartłomiej Dach
3e34b2d37e
Bring back clamping in osu! scale handler
Being able to flip doesn't really feel all that good and `master` was
already clamping, so let's just bring that back for now. Flipping can be
reconsidered in a follow-up if it actually can be made to behave well.
2024-05-23 15:01:29 +02:00
Bartłomiej Dach
f7bcccacb0
Simplify original state management in osu! scale handler 2024-05-23 15:01:29 +02:00
Aurelian
f17f70dca7 Changed Size to be handled by AutoSizeAxes 2024-05-23 14:36:49 +02:00
Aurelian
c3a2a1361d SliderBody's Size getter updates size to the body/path's Size 2024-05-22 18:42:23 +02:00
tsunyoku
97fe59cb24 set Ranked to true for OsuModTraceable 2024-05-22 10:38:47 +01:00
Dean Herbert
d0b1ebff5a
Revert "Temporary rollback of framework / SDL3"
This reverts commit d7d569cf4e.
2024-05-22 16:29:39 +08:00
Dean Herbert
d7d569cf4e
Temporary rollback of framework / SDL3 2024-05-21 14:36:16 +08:00
Dan Balasescu
976c6c4f25
Merge pull request #28235 from tsunyoku/optimise-rhythm-evaluator-loop-logic
Reduce `Previous` calls in `RhythmEvaluator` by optimising loop logic
2024-05-20 20:31:46 +09:00
James Wilson
f31928875b Reduce Previous calls in RhythmEvaluator by optimising loop logic 2024-05-19 16:26:51 +01:00
James Wilson
609268786f remove unneeded extra Previous calls from RhythmEvaluator 2024-05-19 13:29:49 +01:00
Andrei Zavatski
614cbdf0a4 Reduce container nesting in PathControlPointPiece 2024-05-18 22:51:58 +03:00
OliBomby
8df5f22b4e Merge remote-tracking branch 'upstream/master' into scaling 2024-05-15 23:05:19 +02:00
Dan Balasescu
ff0c0d54c9
Fix taps on judged circles changing cursor position 2024-05-14 01:23:55 +09:00
Dan Balasescu
3b8b56cbcb
Apply required changes after framework masking updates 2024-05-09 20:18:53 +09:00
Andrei Zavatski
e319a3e885 Don't perform masking updates in PathControlPointVisualiser 2024-05-04 22:07:08 +03:00
Andrei Zavatski
cf313cd67f Use single path to display slider control point connections 2024-05-04 21:53:48 +03:00
Bartłomiej Dach
94275f148e
Fix adding slider control points via context menu not undoing correctly
Closes https://github.com/ppy/osu/issues/27985.
2024-04-25 09:01:47 +02:00
DavidBeh
8c2a4eb78a Fix formatting 2024-04-24 12:40:23 +02:00
DavidBeh
16190a4ed7 Made judgements follow DrawableOsuHitObjects. Enabled judgements for depth mod 2024-04-24 00:23:45 +02:00
DavidBeh
7dac5afd90 Enabled judgements for repel (but not in depth). Updated comments in repel, mag, depth 2024-04-23 23:57:27 +02:00
DavidBeh
f863ea30e1 Made judgements always on and disabled follow paths again 2024-04-23 23:31:23 +02:00
DavidBeh
3a914b9337 Fixed judgements with MG mod without causing side effects 2024-04-23 23:24:51 +02:00
DavidBeh
331f1f31b0 Attempt to position DrawableOsuJudgement based on its DrawableOsuHitObject instead of DrawableOsuHitObject.HitObject 2024-04-23 19:19:11 +02:00
DavidBeh
beee76d64a enabled and fixed judgements for the magnetised mod 2024-04-22 20:25:43 +02:00
Dean Herbert
fb1d20bd39
Comment in some clarification 2024-04-22 15:07:11 +08:00
Dan Balasescu
0170c04baf
Fix cursormiddle not using the same source as cursor 2024-04-22 15:01:28 +09:00
Dan Balasescu
40c48f903b
Add failing test 2024-04-22 15:01:28 +09:00
Dan Balasescu
362a7b2c77
Remove unused members from GameplaySkinComponentLookup 2024-04-19 18:03:13 +09:00
Bartłomiej Dach
e5e345712e
Fix resume overlay not appearing after pausing inside window but outside of actual playfield area
Related to https://github.com/ppy/osu/discussions/27871 (although does
not actually fix the issue with the pause button, _if_ it is to be
considered an issue - the problem there is that the gameplay cursor
gets hidden, so the other condition in the modified check takes over).

Regressed in
bce3bd55e5.
Reasoning for breakage is silent change in `this` when moving the
`Contains()` check (`DrawableRuleset` will encompass screen bounds,
while `OsuResumeOverlay` is only as big as the actual playfield).
2024-04-16 13:45:09 +02:00
Bartłomiej Dach
f9873968a5
Apply NRT in OsuResumeOverlay 2024-04-16 13:39:06 +02:00
Dan Balasescu
0e218ee271
Merge pull request #27148 from Givikap120/traceable_pp
Add Traceable performance calculation support
2024-04-16 04:54:57 +09:00
Givikap120
4a21ff9726 removed duplication 2024-04-13 13:59:09 +03:00
Givikap120
feb9b5bdb8 Make traceable pp match HD 2024-04-13 13:42:57 +03:00
Bartłomiej Dach
518addf323
Merge branch 'master' into fix-catmull-bulbs 2024-04-10 11:25:02 +02:00
Dean Herbert
94cbe1838f
Replace usages of is null with == null 2024-04-03 01:50:39 +08:00