1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-19 03:42:55 +08:00
Commit Graph

5451 Commits

Author SHA1 Message Date
Dean Herbert
36b4013fa6
Rename GameplaySkinComponentLookup -> SkinComponentLookup 2024-08-22 18:46:03 +09:00
OliBomby
eefd7cf083 add back protection against perfect curve segments with > 3 points 2024-08-21 12:03:15 +02:00
Bartłomiej Dach
588a36cba3
Remove unused variable 2024-08-19 14:58:12 +02:00
Bartłomiej Dach
42675be6cf
Merge branch 'master' into additions 2024-08-19 11:13:43 +02:00
Bartłomiej Dach
32821be046
Make "double ternary button" specific to samples
We can generalise *when* there is the need to generalise. So far the
generalisation only looked like *obfuscation*.
2024-08-19 11:13:29 +02:00
OliBomby
a2e26ba9ff Fix perfect curve anchors losing type between reloads 2024-08-16 14:24:55 +02:00
OliBomby
e5fab9cfbe Remove select action to end placement 2024-08-16 11:55:07 +02:00
OliBomby
2abcdd0064 Redesign sample bank toggles 2024-08-13 22:05:01 +02:00
Dean Herbert
2221c4891f
Remove legacy non-pooled pathway to DrawableJudgement 2024-08-13 21:03:00 +09:00
Dean Herbert
bb0c9e2497
Add log output when judgements aren't being pooled 2024-08-13 20:57:23 +09:00
Dean Herbert
d74ac57092
Never call prepareDrawables from unsafe context
I can't mentally figure out *what* is causing the issue here, but in the
case where `prepareDrawables` is called from
`JudgementBody.OnSkinChanged` (only happens in a non-pooled scenario),
things go very wrong.

I think a smell test is enough for anyone to agree that the flow was
very bad. Removing this call doesn't seem to cause any issues.

`runAnimation` should always be called in `PrepareForUse` (both pooled
and non-pooled scenarios) so things should still always be in a correct
state.

Closes #29398.
2024-08-13 20:57:20 +09:00
Dean Herbert
d072c6a743
Fix hit object coordinates being truncated to int values
Closes https://github.com/ppy/osu/issues/29340.
2024-08-09 16:34:39 +09:00
Dean Herbert
b5a19707d0
Merge branch 'master' into additions 2024-08-08 03:31:11 +09:00
Dean Herbert
0557b9ab79
Allow placement deletion with middle mouse
This is in addition to Shift + Right-click.

I thik middle mouse feels more natural and is a good permanent solution
to this issue.

Note that this also *allows triggering the context menu from placement
mode*. Until now it's done nothing. This may be annoying to users with
muscle memory but I want to make the change and harvest feedback. I
think showing the context menu is more correct behaviour (although
arguably it should return to placement mode on dismiss?).
2024-08-05 14:25:09 +09:00
Bartłomiej Dach
6813f5ee0a
Fix incorrect DifficultyBindable logic 2024-07-30 08:39:20 +02:00
Shreyas Kadambi
dec6b190f2 Add optional 'suffix' to timestamp 2024-07-28 11:31:36 -04:00
Bartłomiej Dach
088e8ad0a2
Respect pre-empt time when auto-generating breaks
Closes https://github.com/ppy/osu/issues/28703.
2024-07-23 13:30:13 +02:00
Dean Herbert
d707e29ff7
Merge branch 'master' into beatmap-info-purge 2024-07-23 12:09:32 +09:00
Bartłomiej Dach
57fa502786
Fix editor UI dimming when hovering over expanded part of toolboxes
Closes https://github.com/ppy/osu/issues/28969.
2024-07-22 11:57:46 +02:00
Dan Balasescu
a7e110f669
Don't rely on single-use properties 2024-07-18 19:07:02 +09:00
Dan Balasescu
bd4f3e28d9
Fix judgement animation getting cut early 2024-07-16 17:32:59 +09:00
Dean Herbert
6cdcd6136d
Fix editor toolboxes being incorrectly chopped 2024-07-15 21:02:54 +09:00
OliBomby
df7a42a00e fix placement samples 2024-07-14 22:33:23 +02:00
OliBomby
5e86a01e5e allow hotkeys in sample point piece 2024-07-14 20:59:46 +02:00
OliBomby
952540024e addition bank toggles in compose 2024-07-14 20:43:16 +02:00
Dean Herbert
fe421edd8f
Fix editor UI transparency being incorrectly opaque when hovering slider control points
As mentioned at
https://github.com/ppy/osu/pull/28787#issuecomment-2221150025.
2024-07-11 16:41:21 +09: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
aadcc5384d
Adjust editor transparent tweens to be less "flashy"
Touched on in https://github.com/ppy/osu/discussions/28581.

After a bit more usage of the editor I do agree with this and think that
making the fades a bit more gentle helps a lot.
2024-07-09 16:16:19 +09:00
Salman Ahmed
b33e54d064 Enforce IBeatmap.Breaks to be sorted chronologically 2024-07-08 16:06:38 +03:00
Bartłomiej Dach
6907d3d3b5
Merge branch 'master' into nodesample-inherit 2024-07-05 08:12:47 +02:00
Bartłomiej Dach
c524c23db6
Merge branch 'master' into inherit-addition 2024-07-04 15:24:59 +02:00
Bartłomiej Dach
ea9dd841c0
Merge pull request #28728 from OliBomby/inherit-volume
Always inherit the volume from the previous hit object on placement
2024-07-04 15:24:34 +02:00
Bartłomiej Dach
652d2e9633
Adjust code style 2024-07-04 15:19:36 +02:00
Bartłomiej Dach
8b4155fc0a
Merge branch 'inherit-addition' into nodesample-inherit 2024-07-04 15:13:20 +02:00
Bartłomiej Dach
faedf268ec
Merge branch 'inherit-volume' into inherit-addition 2024-07-04 14:52:05 +02:00
Bartłomiej Dach
72492a79cd
Reduce duplication in new logic 2024-07-04 14:45:46 +02:00
Dean Herbert
3f138489a1
Merge pull request #28509 from bdach/slider-anchor-type-switching
Add ability to cycle slider control point types via keyboard
2024-07-04 16:11:37 +09:00
Dean Herbert
73d71d3d77
Merge pull request #28705 from bdach/editor-test-play
Reimplement missing gameplay test hotkeys from stable
2024-07-04 13:44:25 +09:00
Salman Ahmed
899c8d39fe
Merge branch 'master' into verify-title-markers 2024-07-04 07:07:59 +03:00
OliBomby
e754668daa Always inherit the volume from the previous hit object 2024-07-04 01:09:06 +02:00
OliBomby
8f3a30b0b9 inherit addition bank from last hitobject 2024-07-04 00:56:53 +02:00
OliBomby
8dd04b6e9a update nodesamples on placement 2024-07-04 00:39:12 +02:00
Bartłomiej Dach
00a0058fc7
Fix typo 2024-07-03 16:13:47 +02:00
Bartłomiej Dach
bcb479d4f7
Use one less regex 2024-07-03 16:13:30 +02:00
Bartłomiej Dach
5696e85b68
Adjust conditionals
The fact that checking the unicode title was gated behind a
`hasRomanisedTitle` guard was breaking my brain.
2024-07-03 15:52:05 +02:00
Bartłomiej Dach
32b3d3d7df
Compile regexes for speed 2024-07-03 15:49:21 +02:00
Bartłomiej Dach
901fec65ef
Address code quality issues 2024-07-03 15:49:17 +02:00
Dean Herbert
88375694a3
Merge branch 'master' into slider-anchor-type-switching 2024-07-03 22:36:57 +09:00
Bartłomiej Dach
0ab13e4486
Use alternative method of releasing user-pressed keys when activating autoplay 2024-07-03 14:37:07 +02:00
Bartłomiej Dach
e73faaefd2
Merge branch 'master' into editor-test-play 2024-07-03 13:54:47 +02:00
Dean Herbert
5f56ed6872
Merge branch 'master' into navigate-to-timestamp 2024-07-03 20:42:32 +09:00
Bartłomiej Dach
84c7d34b77
Fix user-pressed keys remaining pressed whtn autoplay is turned on 2024-07-03 10:32:08 +02:00
Bartłomiej Dach
294aa09c41
Clear pressed keys and last replay frame when detaching replay from ruleset input manager 2024-07-03 10:19:59 +02:00
Bartłomiej Dach
29c3ff0677
Enable NRT in RulesetInputManager 2024-07-03 09:33:48 +02:00
Arthur Araujo
7143ff523f Make MarkerChecks and MarkerCheck class private 2024-07-02 21:09:49 -03:00
Arthur Araujo
7cdad20119 Fix explicit array type specification in MarkerChecks 2024-07-02 20:55:52 -03:00
Arthur Araujo
7cb3d7445c Add verify checks for title markers 2024-07-02 17:20:00 -03:00
Dean Herbert
5350945340
Update HasFlag usages 2024-07-03 00:19:04 +09:00
Dan Balasescu
04da1209f7
Revert "Change breaks list to IReadOnlyList"
This reverts commit 2c3b411bb5.
2024-07-02 12:16:11 +09:00
Dean Herbert
2c3b411bb5
Change breaks list to IReadOnlyList 2024-07-02 11:59:24 +09:00
Dean Herbert
005af280f2
Isolate bindable breaks list to EditorBeatmap 2024-07-02 11:31:55 +09:00
Dan Balasescu
f942595829
Fix ManiaModInvert permanently messing up the beatmap 2024-07-01 15:02:00 +09:00
Dan Balasescu
3b3f914cd2
Merge branch 'master' into pp_counter_fix 2024-06-28 12:40:56 +09:00
Dean Herbert
fd6b77ea92
Fix distance snap control being removed 2024-06-27 23:59:38 +09:00
Dan Balasescu
0379abd714
Prevent multiple invocations of failure procedure 2024-06-26 13:57:18 +09:00
PercyDan54
2de0852551
Fix transient rank value applied to bindable 2024-06-25 18:06:50 +08:00
Dean Herbert
c58bb62408
Merge branch 'master' into hit-animations 2024-06-23 04:32:47 +09:00
sometimes
89d3f67eb3
fix accuracyProcess typo 2024-06-20 22:06:00 -04: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
Dean Herbert
14104e57d4
Merge branch 'master' into timeline-drag-selection-crash 2024-06-20 15:16:10 +09:00
Dean Herbert
0eb533f2fd
Merge pull request #28444 from bdach/scrolling-ruleset-editor-reloads
Reload scrolling hitobject composer on control point changes
2024-06-20 15:15:26 +09:00
Bartłomiej Dach
4022a8b06c
Implement automatic break period generation 2024-06-19 10:22:06 +02:00
Bartłomiej Dach
6a6ccbc09f
Make list of breaks bindable 2024-06-19 07:44:03 +02:00
Bartłomiej Dach
5551bae7ce
Merge branch 'master' into navigate-to-timestamp 2024-06-18 18:32:33 +02:00
Bartłomiej Dach
f764ec24cd
Correct xmldoc 2024-06-18 18:32:24 +02:00
Bartłomiej Dach
7ee29667db
Parse plain numbers as millisecond count when parsing timestamp 2024-06-18 16:48:04 +02:00
Givikap120
1ddfc8f011 Updated the tests according to new logic
and fixed one minor CI code quality thing
2024-06-18 15:48:21 +03:00
Givikap120
ec2b8f3bc3 Changed timed difficulty attributes to be "per-HitObject" instead of "per-DifficultyHitObject" 2024-06-18 15:41:41 +03:00
Bartłomiej Dach
44b9a06639
Allow more lenient parsing of incoming timestamps 2024-06-18 13:13:50 +02:00
Bartłomiej Dach
2421751419
Fix code quality inspections 2024-06-18 08:33:02 +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
7cfe8d8df2
Reduce editor opacity of several editor components when hovering over composer
Addresses https://github.com/ppy/osu/discussions/24384.
2024-06-17 12:14:28 +02:00
Dan Balasescu
41446a08b6
Annotate ControlPoint and Mod for AOT trimming support 2024-06-17 16:19:33 +09:00
Bartłomiej Dach
bdeea37a44
Commit active placement when starting drag selection via timeline
This was reported in https://github.com/ppy/osu/pull/28474, albeit the
code changes proposed there did not fix the issue at all.

See 8b6385f7d0 for demonstration of the
crash scenario. Basically what is happening there is:

- The starting premise is that there is a spinner placement active.
- At this time, a drag selection is started via the timeline.
- Once the drag selection finds at least one suitable object to select,
  it mutates `SelectedItems`.
- When selection changes for any reason, the `HitObjectComposer`
  decides to switch to the "select" tool, regardless of why
  the selection changed.
- Changing the active tool causes the current placement - if any -
  to be committed, which mutates the beatmap.
- Back at the drag box selection code, this causes a "collection
  modified when enumerating" exception.

The proposed fix here is to eagerly commit active placement - if any -
when drag selection is initiated via the timeline, which avoids this
issue. This also appears to vaguely match stable behaviour and is sort
of consistent with the logic of committing any outstanding changes upon
switching to the selection tool.
2024-06-14 09:32:40 +02:00
Dan Balasescu
91f2cf8cc3
Use more descriptive HitObject names for debugger displays 2024-06-13 15:18:39 +09:00
Bartłomiej Dach
dd50d6fa6e
Move CountdownOffset out of BeatmapInfo 2024-06-12 14:15:00 +02:00
Bartłomiej Dach
d373f752d6
Move Countdown out of BeatmapInfo 2024-06-12 14:15:00 +02:00
Bartłomiej Dach
7f2a6f6f5a
Move TimelineZoom out of BeatmapInfo 2024-06-12 14:15:00 +02:00
Bartłomiej Dach
6685c5ab74
Move GridSize out of BeatmapInfo 2024-06-12 14:15:00 +02:00
Bartłomiej Dach
3634307d7c
Move DistanceSpacing out of BeatmapInfo 2024-06-12 14:14:58 +02:00
Bartłomiej Dach
c216283bf4
Move SamplesMatchPlaybackRate out of BeatmapInfo 2024-06-12 13:32:23 +02:00
Bartłomiej Dach
f64a0624a5
Move EpilepsyWarning out of BeatmapInfo 2024-06-12 13:28:41 +02:00
Bartłomiej Dach
1ab86ebd24
Move WidescreenStoryboard out of BeatmapInfo 2024-06-12 13:23:53 +02:00
Bartłomiej Dach
a6b7600bf2
Move LetterboxInBreaks out of BeatmapInfo 2024-06-12 13:18:44 +02:00
Bartłomiej Dach
011c2e3651
Move SpecialStyle out of BeatmapInfo 2024-06-12 13:12:30 +02:00
Bartłomiej Dach
0a4560a03e
Move StackLeniency out of BeatmapInfo 2024-06-12 13:04:33 +02:00
Bartłomiej Dach
4339e2dc4a
Move AudioLeadIn out of BeatmapInfo 2024-06-12 13:04:28 +02:00
Bartłomiej Dach
922837dd3a
Reload scrolling composer on control point changes 2024-06-11 12:01:35 +02:00
Bartłomiej Dach
10af642342
Split mania difficulty section implementation off completely from base
- "Circle size" / key count needs completely different handling.
- Approach rate does not exist in mania.
2024-06-11 11:30:20 +02:00
Salman Ahmed
6f729be573 Merge branch 'master' into LeaderBoardScore_clean 2024-06-07 22:42:49 +03:00
Bartłomiej Dach
86b13074a0
Merge branch 'master' into edit-nodesample 2024-06-06 13:42:25 +02:00
Dean Herbert
091104764e
Fix AssemblyRulesetStore not marking rulesets as available 2024-06-02 17:33:06 +09:00
Dean Herbert
4162d0babe
Merge pull request #28297 from Hecatia-Lapislazuli/near-straight-slider-crash-fix
Fix for nearly straight sliders causing a crash
2024-05-31 20:00:47 +09:00
Aurelian
9111da81d2 Updated comments 2024-05-31 08:20:19 +02:00
Bartłomiej Dach
a6c776dac8
Use hopefully safer implementation of anchoring judgements to objects 2024-05-29 11:11:43 +02:00
Aurelian
542809a748 Reduced subpoints limit to be a more practical value 2024-05-29 09:39:46 +02:00
Aurelian
6c4def1c09 Added check for infinite subpoints for PerfectCurve 2024-05-27 20:32:18 +02:00
Dean Herbert
740a3377fa
Merge branch 'master' into LeaderBoardScore_clean 2024-05-27 17:18:41 +09:00
Dean Herbert
11c3d11db9
Fix cinema mod not hiding playfield skin layer 2024-05-27 14:52:28 +09:00
Salman Ahmed
5955378004 Replace "X mods" text with a pill indicator 2024-05-25 16:11:24 +03:00
Aurelian
b2c4e0e951 Reworked linear line check, and optimized scaled flat slider test 2024-05-24 14:05:56 +02:00
Aurelian
fff52be59a Addressed code quality issues 2024-05-24 09:30:24 +02:00
Aurelian
d948e0fc5c Nearly straight sliders are treated as linear 2024-05-24 08:26:17 +02: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
Dean Herbert
a3960bf715
Add inline comment explaining LifetimeEnd set for future visitors 2024-05-15 14:17:28 +08:00
Dean Herbert
cfb2c8272b
Set a rudimentary lifetime end to improve seek performance in scrolling rulesets 2024-05-14 05:02:08 +08:00
apollo-dw
9b60abe486
Merge branch 'ppy:master' into no-combo-scaling 2024-05-11 13:24:16 +01:00
Dean Herbert
a780abb0b4
Merge pull request #27912 from bdach/pre-mod-multiplier-score
Store total score without mod multipliers to local database and to replays, and send it on score submission
2024-05-10 22:46:34 +08:00
Dan Balasescu
3b8b56cbcb
Apply required changes after framework masking updates 2024-05-09 20:18:53 +09:00
Bartłomiej Dach
c9414da5d4
Merge branch 'master' into pre-mod-multiplier-score 2024-05-08 13:39:44 +02:00
Bartłomiej Dach
14658824e7
Adjust distance snap grid momentary toggle logic to not hide it on spacing adjust 2024-05-02 14:11:44 +02:00
Bartłomiej Dach
fe9e6168fe
Merge pull request #28050 from peppy/delay-resume-visibility
Tweak resume overlay to allow better visibility of hit objects underneath
2024-05-01 15:49:31 +02:00
Dean Herbert
87e814e201
Fix incorrect xmldoc and adjust colour provider to match Player 2024-05-01 20:30:36 +08:00
Dean Herbert
fd3f4a9e7b
Preserve storyboard events when saving a beatmap in the editor
Until we have full encoding support for storyboards, this stop-gap
measure ensures that storyboards don't just disappear from existence.
2024-04-30 00:01:56 +08:00
Bartłomiej Dach
cbbf2dd158
Fix DifficultyBindable bound desync between maxValue and CurrentNumber.MaxValue 2024-04-23 18:58:40 +02:00
Bartłomiej Dach
787e60f706
Fix LegacyDrainingHealthProcessor drain rate computation diverging to infinity 2024-04-23 18:57:14 +02:00
Bartłomiej Dach
1f010c4bfd
Merge pull request #27808 from smoogipoo/fix-incorrect-pp-counter
Fix gameplay PP counter not matching results screen
2024-04-23 08:43:49 +02:00
Bartłomiej Dach
70a5288a68
Do not attempt to pass files that don't look like audio to BASS 2024-04-22 10:45:09 +02:00
Bartłomiej Dach
78f97d0ec7
Merge branch 'master' into verify-check-incorrect-audio-formats 2024-04-22 10:34:14 +02:00
Bartłomiej Dach
ceeb9b0819
Use explicit reference equality check 2024-04-22 10:27:30 +02:00
Bartłomiej Dach
1bcf835d22
Remove redundant array type specification 2024-04-22 10:25:46 +02:00
Arthur Araujo
49563f4e5b Use bitwise to check hitsound formats 2024-04-22 04:44:38 -03:00
Arthur Araujo
92b85beff6 Remove ChannelType from messages 2024-04-19 08:01:23 -03:00
Arthur Araujo
68e86b5105 Remove unsued import and add a blankline before yield break; 2024-04-19 07:39:31 -03:00
Arthur Araujo
eac9dededf
Use periods instead of semicolons
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2024-04-19 07:20:59 -03:00
Arthur Araujo
ac03856ebd Fix test methods names 2024-04-17 08:22:05 -03:00
Arthur Araujo
8d94f8d995 Remove BassFlags.Prescan and free the decodeStream 2024-04-17 08:14:19 -03:00
Bartłomiej Dach
e0178802b8
Populate TotalScoreWithoutMods on scores set locally 2024-04-17 08:52:47 +02:00
Arthur Araujo
c32d99250f Deal with corrupt audio files
This removes the corrupt file check from CheckTooShortAudioFiles and makes the audio formats checks deal with it instead to avoid redundant messages.
2024-04-16 06:53:55 -03:00
Arthur Araujo
9ef27104ce Add checks for audio formats 2024-04-16 06:15:21 -03:00
Dan Balasescu
343b3ba0e6
Don't re-filter unless mods may change the filter 2024-04-15 21:07:36 +09:00
Dan Balasescu
e9b319f4c6
Ensure all remaining objects are added in the last iteration 2024-04-12 00:11:54 +09:00
Dan Balasescu
19cc847be6
Implement a less failure-prone method 2024-04-11 23:40:40 +09:00
Dan Balasescu
f5555b9fa4
Also add potentially missed intermediate parents 2024-04-11 16:53:08 +09:00
Bartłomiej Dach
518addf323
Merge branch 'master' into fix-catmull-bulbs 2024-04-10 11:25:02 +02:00
Dan Balasescu
fefcd17db9
Fix gameplay PP counter not matching results screen 2024-04-08 22:34:11 +09:00
Bartłomiej Dach
cb82fb0487
Merge branch 'master' into mania-key-count-mod-query 2024-04-03 09:29:32 +02:00