1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-30 20:32:55 +08:00
Commit Graph

6206 Commits

Author SHA1 Message Date
Rian (Reza Mouna Hendrian)
46144960e5
Remove unnecessary strain sorting in difficult slider count (#31724) 2025-01-29 19:06:05 +00:00
Dean Herbert
aeca37c230
Merge branch 'master' into pp-dev 2025-01-21 13:19:01 +09:00
Dean Herbert
cf032e5e7f
Merge pull request #31547 from bdach/editor/precise-move
Add precise movement tool to osu! editor
2025-01-20 19:29:22 +09:00
StanR
22e839d62b
Replace indexed skill access with skills.OfType<...>().Single() (#30034)
* Replace indexed skill access with `skills.First(s is ...)`

* Fix comment

* Further refactoring to remove casts

---------

Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2025-01-20 09:39:35 +00:00
Dean Herbert
dcdb8d13a9
Always select text when an editor slider-textbox is focused 2025-01-20 16:17:39 +09:00
Berkan Diler
b6ce72b6d9 Remove redundant ToArray() calls in Osu/ManiaHitObjectComposer 2025-01-19 23:27:44 +01:00
James Wilson
e320f17faf
Remove redundant angle check (#31566) 2025-01-19 18:47:39 +03:00
Natelytle
5b4ba9225d
Move error function from osu.Game.Utils to osu.Game.Rulesets.Difficulty.Utils (#31520)
* Move error function implementation to osu.Game.Rulesets.Difficulty.Utils

* Rename ErrorFunction.cs to DifficultyCalculationUtils_ErrorFunction.cs
2025-01-17 19:37:34 +00:00
Bartłomiej Dach
ebca2e4b4f
Implement precise movement tool
As mentioned in one of the points in
https://github.com/ppy/osu/discussions/31263.
2025-01-17 14:28:57 +01:00
molneya
974fa76987
fix spinners not increasing cumulative strain time (#31525)
Co-authored-by: StanR <hi@stanr.info>
2025-01-16 09:08:47 +00:00
Dan Balasescu
471180d947
Merge pull request #31519 from EVAST9919/trail-rotate
Add support for `CursorTrailRotate` skin command
2025-01-16 14:56:53 +09:00
Dan Balasescu
920648c267
Minor refactorings and xmldoc additions 2025-01-16 14:00:27 +09:00
Andrei Zavatski
2eb63e6fe0 Simplify rotation sync with no clocks involved 2025-01-15 20:38:51 +03:00
Dean Herbert
ef7982fbfa
Merge pull request #31446 from EVAST9919/new-combo-editor
Fix performance degradation while trying to place object with a new combo in the editor.
2025-01-15 12:56:06 +09:00
Andrei Zavatski
7a6355d7cf Sync cursor trail rotation with the cursor 2025-01-14 23:12:23 +03:00
Andrei Zavatski
208824e9f4 Add ability for cursor trail to spin 2025-01-14 22:16:32 +03:00
James Wilson
6cf15e3e5a
Remove problematic total deviation scaling, rebalance aim (#31515)
* Remove problematic total deviation scaling, rebalance aim

* Fix tests
2025-01-14 18:27:25 +00:00
StanR
c53188cf45
Use total deviation to scale accuracy on aim, general aim buff (#31498)
* Make aim accuracy scaling harsher

* Use deviation-based scaling

* Bring the balancing multiplier down

* Adjust multipliers, fix incorrect deviation when using slider accuracy

* Adjust multipliers

* Update osu.Game.Rulesets.Osu/Difficulty/OsuPerformanceAttributes.cs

Co-authored-by: James Wilson <tsunyoku@gmail.com>

* Change high speed deviation threshold to 22-27 instead of 20-24

* Update tests

---------

Co-authored-by: James Wilson <tsunyoku@gmail.com>
2025-01-14 13:18:02 +00:00
Bartłomiej Dach
933f5db208
Merge branch 'master' into new-combo-editor 2025-01-10 14:13:14 +01:00
Bartłomiej Dach
0d9a3428ae
Merge conditionals 2025-01-10 14:13:03 +01:00
Bartłomiej Dach
48196949e0
Add combo colour override control to editor
Closes https://github.com/ppy/osu/issues/25608.

Logic mostly matching stable. All operations are done on `ComboOffset`
which still makes overridden combo colours weirdly relatively dependent
on each other rather than them be an "absolute" choice, but alas...

As per stable, two consecutive new combos can use the same colour only
if they are separated by a break:

    52f3f75ed7/osu!/GameModes/Edit/Modes/EditorModeCompose.cs#L4564-L4571

This control is only available once the user has changed the combo
colours from defaults; additionally, only a single new combo object
must be selected for the colour selector to show up.
2025-01-10 13:40:56 +01:00
Givikap120
b21c6457b1
Punish speed PP for scores with high deviation (#30907) 2025-01-09 13:27:54 +00:00
Bartłomiej Dach
5c8ae6f851
Simplify editor "ternary button" structure
As I look into re-implementing the ability to choose combo colour for an
object (also known as "colourhax") from the editor UI, I stumble upon
these wretched ternary items again and sigh a deep sigh of annoyance.

The structure is overly rigid. `TernaryItem` does nothing that
`DrawableTernaryItem` couldn't, except make it more annoying to add
specific sub-variants of `DrawableTernaryItem` that could do more
things.

Yes you could sprinkle more levels of virtuals to
`CreateDrawableButton()` or something, but after all, as Saint Exupéry
says, "perfection is finally attained not when there is no longer
anything to add, but when there is no longer anything to take away."
So I'm leaning for taking one step towards perfection.
2025-01-09 13:41:22 +01:00
StanR
db58ec8645
Apply a bunch of balancing changes to aim (#31456)
* Apply a bunch of balancing changes to aim

* Update tests

---------

Co-authored-by: James Wilson <tsunyoku@gmail.com>
2025-01-09 09:57:48 +00:00
StanR
392bb5718c
Simplify angle bonus formula (#31449)
* Simplify angle bonus formula

* Simplify further

* Simplify acute too

* Tests
2025-01-08 10:03:22 +00:00
Bartłomiej Dach
d2918894a0
Merge pull request #31390 from peppy/slider-end-suppress-fix
Fix slider end circles not remaining for long enough when hit animations disabled
2025-01-07 14:49:25 +01:00
Bartłomiej Dach
bda1c3f6e8
Merge pull request #31388 from peppy/fix-reverse-arrow-animation
Remove use of `Loop` (and transforms) for slider repeat arrow animations
2025-01-07 14:43:09 +01:00
StanR
3b58d5e435
Clamp OD in performance calculation to fix negative OD gaining pp (#31447)
Co-authored-by: James Wilson <tsunyoku@gmail.com>
2025-01-07 12:49:55 +00:00
Andrei Zavatski
8f4eafea4e Fix combo properties multiple reassignments 2025-01-07 14:00:31 +03:00
Dean Herbert
8d913e8971
Fix multiple animation inconsistencies pointed out in review 2025-01-07 16:54:11 +09:00
Dean Herbert
1648f2efa3
Ensure slider is not selectable when body is not visible 2025-01-07 16:38:22 +09:00
Andrei Zavatski
e8dc09f5bc Reduce HitSampleInfo constants allocations 2025-01-07 00:36:58 +03:00
StanR
76ac11ff59
Fix angle bonuses calculating repetition incorrectly, apply distance scaling to wide bonus (#31320)
* Fix angle bonuses calculating repetition incorrectly, apply distance scaling to wide bonus

* Buff speed to compensate for streams losing pp

* Adjust speed multiplier

* Adjust wide scaling

* Fix tests
2025-01-06 15:08:14 +00:00
Dean Herbert
e7b80167cd
Fix slider end circles not remaining for long enough when hit animations disabled 2025-01-02 18:54:28 +09:00
Dean Herbert
2d4a3aa4f9
Merge pull request #31354 from bdach/show-hit-markers-for-repeats
Fix slider repeats not properly respecting "show hit markers" setting
2025-01-02 18:45:55 +09:00
Dean Herbert
794765ba85
Remove use of Loop (and transforms) for slider repeat arrow animations
Less transforms in gameplay is always better.

This fixes repeat arrows animating completely incorrectly in the editor
(and probably gameplay when rewinding).
2025-01-02 18:36:58 +09:00
Dan Balasescu
9da27b5fe5
Merge pull request #31305 from bdach/round-coordinates-on-legacy-export
Round object coordinates to nearest integers on legacy export rather than truncating
2025-01-01 21:05:18 +09:00
Dean Herbert
73083e1337
Merge pull request #31350 from bdach/fix-slider-drag-marker-blocking-context-menu
Fix slider end drag marker blocking open of control point piece context menus
2024-12-30 22:27:30 +09:00
Bartłomiej Dach
06879eee39
Fix slider repeats not properly respecting "show hit markers" setting
Closes https://github.com/ppy/osu/issues/31286.

Curious on thoughts about how the instant arrow fade looks on
non-classic skins. On argon it's probably fine, but it does look a
little off on triangles...
2024-12-30 13:52:50 +01:00
Dan Balasescu
11a4e3beb4
Merge pull request #31287 from stanriders/change-relax-leniency
Change `OsuModRelax` hit leniency to be the same as in stable
2024-12-30 21:42:48 +09:00
Bartłomiej Dach
4d326ec31f
Fix slider end drag marker blocking open of control point piece context menus
Closes https://github.com/ppy/osu/issues/31323.
2024-12-30 11:07:25 +01:00
Bartłomiej Dach
182f998f9b
Fix quick-deleting unselected slider path control point also deleting all selected control points
Closes https://github.com/ppy/osu/issues/31308.

Logic matches corresponding quick-delete logic in
130802e480/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs (L307-L316).
2024-12-30 09:44:04 +01:00
James Wilson
988ed374ae
Add basic difficulty & performance calculation for Autopilot mod on osu! ruleset (#21211)
* Set speed distance to 0

* Reduce speed & flashlight, remove aim

* Remove speed AR bonus

* cleanup autopilot mod check in `SpeedEvaluator`

* further decrease speed rating for extra hand availability

* Pass all mods to the speed evaluator, zero out distance bonus instead of distance

---------

Co-authored-by: tsunyoku <mbruhyo@gmail.com>
Co-authored-by: StanR <hi@stanr.info>
2024-12-29 19:29:57 +00:00
Bartłomiej Dach
0d16ed028b
Add setters to hitobject coordinate interfaces 2024-12-27 11:01:47 +01:00
StanR
94d56d3584 Change OsuModRelax hit leniency to be the same as in stable 2024-12-26 18:13:09 +05:00
James Wilson
3ddeaf8460
Use lastAngle when nerfing repeated angles on acute bonus (#31245)
* Use `lastAngle` when nerfing repeated angles on acute bonus

* Bump acute multiplier

* Correct outdated wiggle bonus comment

* Update test

---------

Co-authored-by: StanR <hi@stanr.info>
2024-12-24 12:43:44 +03:00
Dean Herbert
b8d6bba039
Fix legacy hitcircle fallback logic being broken with recent fix
I was a bit too eager to replace all calls with the new `provider`
in
dae380b7fa,
while it doesn't actually make sense.

To handle the case that was trying to be fixed, using the `provider` to
check whether the *prefix* version of the circle sprite is available is
enough alone.

Closes https://github.com/ppy/osu/issues/31200
2024-12-24 16:05:44 +09:00
StanR
6808a5a77c
Change slider drop penalty to use actual number of difficult sliders, fix slider drop penalty being too lenient (#31055)
* Change slider drop penalty to use actual number of difficult sliders, fix slider nerf being too lenient

* Move cubing to performance calculation

* Add separate list for slider strains

* Rename difficulty atttribute

* Rename attribute in perfcalc

* Check if AimDifficultSliderCount is more than 0, code quality fixes

* Add `AimDifficultSliderCount` to the list of databased attributes

* Code quality

---------

Co-authored-by: James Wilson <tsunyoku@gmail.com>
2024-12-21 23:45:29 +00:00
StanR
f722f94f26
Simplify osu! high-bpm acute angle jumps bonus (#30902)
* Simplify osu! high-bpm acute angle jumps bonus

* Add aim wiggle bonus

* Add hitwindow-based aim velocity decrease

* Revert "Add hitwindow-based aim velocity decrease"

This reverts commit bcebe9662c.

* Move wiggle multiplier to a const, slightly decrease acute bonus multiplier

* Make sure the previous object in the wiggle bonus is also part of the wiggle

* Scale the wiggle bonus multiplayer down

* Increase the acute angle jump bonus multiplier

* Make wiggle bonus only apply on >150 bpm streams, make repetitive angle penalty

* Reduce wiggle bonus multiplier to not break velocity>difficulty relation

* Adjust wiggle falloff function to fix stability issues

* Adjust wiggle consts

* Update tests
2024-12-20 23:32:51 +00:00
Dean Herbert
c68dc11412
Fix being able to click through slider tail drag handles
Closes https://github.com/ppy/osu/issues/31176.
2024-12-19 00:01:36 +09:00