1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 20:37:26 +08:00
Commit Graph

2061 Commits

Author SHA1 Message Date
Dean Herbert
d39a46f861
Merge pull request #30508 from bdach/taiko-strong-bug
Fix drum rolls losing width on strong state toggle in editor
2024-11-11 12:16:51 +09:00
Bartłomiej Dach
5668c62446
Fix drum roll editor blueprint size & input handling 2024-11-05 13:12:01 +01:00
Bartłomiej Dach
387fbc2214
Fix drum rolls losing width on strong state toggle in editor
Fixes https://github.com/ppy/osu/issues/30480.
2024-11-05 11:10:49 +01:00
Bartłomiej Dach
5f1b696387
Fix strong context menu operation not being written properly 2024-11-05 10:59:34 +01:00
Dean Herbert
795477372f
Merge pull request #30456 from smoogipoo/revert-taiko-convert-diffcalc-change
Bring back convert nerf to fix overweighted taiko difficulty
2024-11-04 20:00:58 +09:00
Jay Lawton
4eee1f429b fix spelling error 2024-11-03 00:47:53 +10:00
Dan Balasescu
3e7fcc3c24
Fix NaN values when stamina difficulty is 0 2024-11-01 22:52:51 +09:00
Dan Balasescu
9766d51559
Store attribute to the database 2024-11-01 16:02:02 +09:00
Jay Lawton
ff05bbd63f Add mono streak index calculation to strain values 2024-10-31 15:25:25 +10:00
Jay Lawton
abe2ee90e0 Change naming of onlyMono to SingleColourStamina 2024-10-31 12:12:14 +10:00
Jay Lawton
21b458d268 change convert specific omissions 2024-10-31 12:08:12 +10:00
Jay Lawton
85aa2ea8af Change Convert Bonuses to Performance 2024-10-31 10:15:29 +10:00
Nathen
101a4028fa LTCA save me 2024-10-30 18:57:47 -04:00
Dan Balasescu
e8540a3e7b
Bring back convert nerf to fix overweighted taiko difficulty 2024-10-31 02:15:00 +09:00
Dean Herbert
68e8819f3b
Fix taiko playfield looking weird with new editor toolbox displays 2024-10-25 17:17:19 +09:00
Bartłomiej Dach
1af464d5ae
Bump difficulty calculator versions
In order for the new star difficulty to be shown to users on the next
release.

catch's difficulty calculator version is not bumped because the only
catch change pending deploy is https://github.com/ppy/osu/pull/28353 and
that affects performance points only.
2024-10-07 15:38:41 +02:00
Bartłomiej Dach
84d6467e48
Merge branch 'master' into taikostatacc 2024-10-07 14:15:29 +02:00
Bartłomiej Dach
7816c41b94
Only transfer difficulty slider values on commit
Closes https://github.com/ppy/osu/issues/30112.
2024-10-04 14:08:46 +02:00
Bartłomiej Dach
99eb26b7d5
Redo the layout of sections based on discord feedback
See
https://discord.com/channels/188630481301012481/188630652340404224/1291358770064130140
and everything after.
2024-10-03 13:53:21 +02:00
Bartłomiej Dach
ddfa877b12
Fix code quality 2024-10-03 13:08:04 +02:00
Bartłomiej Dach
b15608343b
Replace setup screen controls with new "form" controls 2024-10-03 11:49:03 +02:00
Dean Herbert
590f27e0a0
Merge branch 'master' into hotkeys-in-context-menus 2024-10-01 15:50:19 +09:00
Dean Herbert
9a39b80a4d
Merge pull request #29970 from bdach/volume-aware-sample-equality-pitfall
Fix argon volume-aware hitsounds not correctly playing immediately after object placement
2024-09-27 16:38:35 +09: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
OliBomby
e3b4483872 Refactor PlacementBlueprint to not be hitobject specific 2024-09-24 20:31:00 +02:00
Bartłomiej Dach
e8a394f894
Fix argon volume-aware hitsounds not correctly playing immediately after object placement
Closes https://github.com/ppy/osu/issues/29832.

The underlying reason for the incorrect sample playback was an equality
comparer failure.

Samples are contained in several pools which are managed by the
playfield. In particular, the pools are keyed by `ISampleInfo`
instances. This means that for correct operation, `ISampleInfo` has to
implement `IEquatable<ISampleInfo>` and also provide an appropriately
correct `GetHashCode()` implementation. Different audible samples must
not compare equal to each other when represented by `ISampleInfo`.

As it turns out, `VolumeAwareHitSampleInfo` failed on this, due to not
overriding equality members. Therefore, a `new
HitSampleInfo(HitSampleInfo.HIT_NORMAL, HitSampleInfo.BANK_NORMAL,
volume: 70)` was allowed to compare equal to a
`VolumeAwareHitSampleInfo` wrapping it, *even though they correspond to
completely different sounds and go through entirely different lookup
path sequences*.

Therefore, to fix, provide more proper equality implementations for
`VolumeAwareHitSampleInfo`.

When testing note that this issue *only occurs immediately after
placing an object*. Saving and re-entering editor makes this issue go
away. I haven't looked too long into why, but the general gist of it is
ordering; it appears that a `normal-hitnormal` pool exists at point
of query of a new object placement, but does not seem to exist when
entering editor afresh. That said I'm not sure that ordering aspect of
this bug matters much if at all, since the two `IHitSampleInfo`s should
never be allowed to alias with each other at all wrt equality.
2024-09-23 13:38:26 +02:00
Givikap120
2995df7903 removed unnecessary includes 2024-09-22 15:04:21 +03:00
Givikap120
1b77b3912b initial commit 2024-09-22 15:01:58 +03:00
Dan Balasescu
c7a2e79b6e
Merge branch 'master' into pp_refactoring_merge_multipliers 2024-09-12 16:22:55 +09:00
Bartłomiej Dach
130802e480
Add hotkey hints to editor menus 2024-09-04 12:16:54 +02:00
Dean Herbert
36b4013fa6
Rename GameplaySkinComponentLookup -> SkinComponentLookup 2024-08-22 18:46:03 +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
Givikap120
e6fc4f6766 merged multipliers 2024-08-05 16:33:42 +03:00
Bartłomiej Dach
157cc884f4
Fix swells not being correctly treated in editor gameplay test
Closes https://github.com/ppy/osu/issues/28989.

Because swell ticks are judged manually by their parenting objects,
swell ticks were not given a start time (with the thinking that there
isn't really one *to* give). This tripped up the "judge past objects"
logic in `EditorPlayer`, since it would enumerate all objects
(regardless of nesting) that are prior to current time and mark them as
judged. With all swell ticks having the default start time of 0 they
would get judged more often than not, leading to behaviour weirdness.

To resolve, give swell ticks a *relatively* sane start time equal to
the start time of the swell itself.
2024-07-22 11:27:56 +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
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
StanR
df64d7f374 Refactor out taiko Peaks skill 2024-06-25 23:06:42 +05:00
Nathen
2fb22f1feb Move the return value for deviation below the local functions 2024-06-23 19:17:19 -04:00
Dan Balasescu
030853ed5a
Merge pull request #28472 from bdach/taiko-mod-relax
Implement relax mod for taiko
2024-06-17 13:49:17 +09:00
Bartłomiej Dach
d7997cc93c
Implement taiko relax mod 2024-06-13 15:06:40 +02:00
Bartłomiej Dach
5fcea01c13
Merge branch 'master' into ruleset-specific-combo-counter 2024-06-04 15:44:11 +02:00
Bartłomiej Dach
f13ca28d5e
Fix performance overhead from ternary state bindable callbacks when selection is changing
Closes https://github.com/ppy/osu/issues/28369.

The reporter of the issue was incorrect; it's not the beat snap grid
that is causing the problem, it's something far stupider than that.

When the current selection changes,
`EditorSelectionHandler.UpdateTernaryStates()` is supposed to update the
state of ternary bindables to reflect the reality of the current
selection. This in turn will fire bindable change callbacks for said
ternary toggles, which heavily use `EditorBeatmap.PerformOnSelection()`.

The thing about that method is that it will attempt to check whether any
changes were actually made to avoid producing empty undo states, *but*
to do this, it must *serialise out the entire beatmap to a stream* and
then *binary equality check that* to determine whether any changes were
actually made:

	7b14c77e43/osu.Game/Screens/Edit/EditorChangeHandler.cs (L65-L69)

As goes without saying, this is very expensive and unnecessary, which
leads to stuff like keeping a selection box active while a taiko beatmap
is playing under it dog slow. So to attempt to mitigate that, add
precondition checks to every single ternary callback of this sort to
avoid this serialisation overhead.

And yes, those precondition checks use linq, and that is *still* faster
than not having them.
2024-06-04 10:32:12 +02:00
Nathen
f8f18b6cbd Fix naming convention 2024-05-29 09:40:59 -04:00
Nathen
1714567342 Save deviation calculations to variables 2024-05-29 09:40:39 -04:00
Dean Herbert
0d6adf160b
Share scale factor with hit target 2024-05-27 14:20:28 +09:00
Joppe27
76f13b21da Correct scale of taiko-glow element 2024-05-25 23:28:51 +02:00
Dan Balasescu
6304a5ed41
Merge pull request #27341 from Hiviexd/taiko-constant-speed-mod
Add osu!taiko `Constant Speed` mod
2024-05-23 21:01:53 +09:00
Dean Herbert
d0b1ebff5a
Revert "Temporary rollback of framework / SDL3"
This reverts commit d7d569cf4e.
2024-05-22 16:29:39 +08:00