1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-17 11:53:21 +08:00
Commit Graph

43356 Commits

Author SHA1 Message Date
Dean Herbert
212be6b9a7
Merge branch 'master' into grids-1 2024-06-05 15:20:04 +09:00
Bartłomiej Dach
ecfcf7a2c0
Add xmldoc mention about performance overhead of PerformOnSelection() 2024-06-04 10:36:30 +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
Bartłomiej Dach
4fcb902341
Merge branch 'master' into grids-1 2024-06-03 12:33:51 +02:00
Dean Herbert
96514132c1
Fix occasional test failures on new menu content tests
Scheduled data transfer could still overwrite test data.
2024-06-03 12:24:56 +09:00
Dean Herbert
091104764e
Fix AssemblyRulesetStore not marking rulesets as available 2024-06-02 17:33:06 +09:00
Dan Balasescu
e3205fce47
Fix unable to drag-scroll on collections right-click menu 2024-06-01 14:29:23 +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
Bartłomiej Dach
69990c35cb
Add commentary on presence of IsPresent override 2024-05-31 08:47:19 +02:00
Dean Herbert
c6a7082034
Fix incorrect prefix check 2024-05-31 15:38:26 +09:00
Aurelian
9111da81d2 Updated comments 2024-05-31 08:20:19 +02:00
Bartłomiej Dach
1a26a5dbda
Fix mismatching localisation key prefix
The `Strings` suffix is not supposed to be in here, judging by other
localisation classes.
2024-05-31 08:09:25 +02:00
Bartłomiej Dach
cb72630ce1
Fix compile failures 2024-05-31 08:09:06 +02:00
Dean Herbert
5dfeaa3c4a
Move dialog strings to more common class name 2024-05-31 11:46:32 +09:00
Dean Herbert
e52f524ea2
Use common header text 2024-05-31 11:44:53 +09:00
Dean Herbert
474ff5b99d
Use question mark for more grammatical correctness
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2024-05-31 10:46:30 +09:00
Dean Herbert
53b7c29488
Add test coverage of menu banner link opening 2024-05-31 03:15:26 +09:00
Dean Herbert
ed64bfff8d
Bypass external link dialog for links on the trusted osu! domain 2024-05-31 02:44:51 +09:00
Dean Herbert
87a331fdde
Improve text on external link warning dialog 2024-05-31 02:44:45 +09:00
Dan Balasescu
3c2599c50f
Merge pull request #27977 from DavidBeh/magnetised-judgements
Make judgements follow hitcircles and enable them in magnetised, repel and depth
2024-05-30 19:21:20 +09:00
Dan Balasescu
981b69de2f
Merge pull request #28357 from peppy/dont-fail-acks
Avoid `ChatAckRequest` failures flooding console in `OsuGameTestScene`s
2024-05-30 18:15:25 +09:00
Dean Herbert
f3bc944ac8
Remove using statement 2024-05-30 17:45:32 +09:00
Bartłomiej Dach
50bd0897f6
Fix main menu button backgrounds not covering their entire width sometimes
I thought I had fixed this already once but it still looks broken.
Basically when hovering over main menu buttons every now and then it
will look like their backgrounds are not covering their entire width
when they expand.

The removed X position set looks wrong to me when inspecting the draw
visualiser with the element because the element looks to be off centre
horizontally, and removing it fixes that.
2024-05-30 10:38:22 +02:00
Dean Herbert
36d7775032
Fix typo in IAPIProvider xmldoc 2024-05-30 17:38:05 +09:00
Dean Herbert
2f2bc8e52e
Avoid ChatAckRequest failures flooding console in OsuGameTestScenes 2024-05-30 17:37:55 +09:00
Dean Herbert
fdb47f8dfa
Fix incorrect handling of nested objects when inside parent object's duration 2024-05-29 23:30:47 +09:00
Dean Herbert
126837fadd
Apply results rather than fake a replay frame 2024-05-29 23:28:37 +09:00
Dean Herbert
3b5b7b2f88
Fix the majority of cases where gameplay stil doesn't end due to judgement count mismatch 2024-05-29 22:57:17 +09:00
Dean Herbert
d2c86b0813
Avoid passing beatmap in from editor when it's already present 2024-05-29 21:32:55 +09:00
Bartłomiej Dach
ab01fa6d45
Add xmldoc to APIAccess.APIVersion 2024-05-29 14:10:07 +02:00
Bartłomiej Dach
cc13655617
Derive API response version from game version
(Or local date, in the case of non-deployed builds).

Came up when I was looking at https://github.com/ppy/osu-web/pull/11240
and found that we were still hardcoding this.

Thankfully, this *should not* cause issues, since there don't seem to be
any (documented or undocumented) API response version checks for
versions newer than 20220705 in osu-web master.

For clarity and possible debugging needs, the API response version is
also logged.
2024-05-29 14:10:01 +02:00
Dean Herbert
16e2fa2c6a
Merge branch 'master' into fix/editor-test-exit 2024-05-29 21:08:36 +09: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
7b7e439d03
Merge branch 'master' into scale-tool 2024-05-29 10:15:48 +02:00
Bartłomiej Dach
9477e3b67d
Change editor scale hotkey to Ctrl-E
Forgot that Ctrl-T was taken by the game-global toolbar already, so it
wasn't working.
2024-05-29 10:14:47 +02:00
Bartłomiej Dach
4c881b5633
Use better name if we're renaming 2024-05-29 09:40:29 +02:00
Aurelian
542809a748 Reduced subpoints limit to be a more practical value 2024-05-29 09:39:46 +02:00
Dan Balasescu
655b0f5343
Merge branch 'master' into negative-frame-handling 2024-05-29 13:14:59 +09:00
OliBomby
d143a697d2 refactor CanScaleFromPlayfieldOrigin and GetClampedScale to derived class 2024-05-28 17:12:16 +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
36453f6215 Change scale hotkey to Ctrl+T 2024-05-28 15:56:59 +02:00
Dean Herbert
c2e7cdfdcc
Update framework 2024-05-28 21:29:29 +09:00
Dean Herbert
8c4931eeec
Merge branch 'master' into footer-v2-transitions 2024-05-28 18:49:39 +09:00
Dean Herbert
4408039b3e
Merge branch 'master' into footer-v2-back-button 2024-05-28 15:50:34 +09:00
Dan Balasescu
e2b4e25ffa
Merge pull request #28277 from bdach/total-score-without-mods-once-more
Compute total score without mods during standardised score conversion
2024-05-28 07:49:27 +09:00
Aurelian
6c4def1c09 Added check for infinite subpoints for PerfectCurve 2024-05-27 20:32:18 +02:00
Bartłomiej Dach
daee363743
Merge branch 'master' into total-score-without-mods-once-more 2024-05-27 15:16:58 +02:00
Bartłomiej Dach
405c72c0d6
Fix mod display not being aligned with mapper text 2024-05-27 13:36:44 +02:00
Dean Herbert
aad0982e26
Adjust size of play button / progress to match BeatmapCardThumbnail usage 2024-05-27 20:33:24 +09:00
Dean Herbert
75d961e6f2
Pass the same thing in twice for better maybe 2024-05-27 20:30:01 +09:00
Dean Herbert
d976224912
Standardise padding on both sides of difficulty icon 2024-05-27 19:59:25 +09:00
Bartłomiej Dach
1e2cac3e92
Remove unused using directive 2024-05-27 11:44:55 +02:00
Dean Herbert
740a3377fa
Merge branch 'master' into LeaderBoardScore_clean 2024-05-27 17:18:41 +09:00
Dean Herbert
b6471f0b9c
Allow previewing audio of playlist items 2024-05-27 17:09:37 +09:00
Bartłomiej Dach
bdfce4b9da
Fix xmldoc reference 2024-05-27 08:26:00 +02:00
Dean Herbert
11c3d11db9
Fix cinema mod not hiding playfield skin layer 2024-05-27 14:52:28 +09:00
Joseph Madamba
8e14c24ee3 Follow slanted flow logic precedent in test
See `ModSelectOverlay` components.
2024-05-26 00:24:03 -07: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
Salman Ahmed
2c18c10ac8 Move to SelectV2 namespace 2024-05-25 17:20:10 +03:00
Salman Ahmed
d395c85418 Adjust right content width based on scoring mode 2024-05-25 17:16:41 +03:00
Salman Ahmed
5955378004 Replace "X mods" text with a pill indicator 2024-05-25 16:11:24 +03:00
Andrei Zavatski
1e90e5e38e Use sb element path as a name 2024-05-25 13:24:25 +03:00
Salman Ahmed
35af518fdb Remove expanded/contracted states and limit to 5 mods
Also adjusts right content width to contain those 5 mods. Not sure how to handle the extra space in the score though...to be dealt with later.
2024-05-25 12:52:48 +03:00
OliBomby
497701950d fix nitpick 2024-05-24 18:11:28 +02:00
Dean Herbert
2134ff7a1b
Merge pull request #28071 from Fabiano1337/lazer-speedkeys
Make ctrl-up/down change speed modifier of mods
2024-05-24 23:20:04 +09:00
Bartłomiej Dach
9f19ab092d
Merge branch 'master' into grids-1 2024-05-24 14:39:55 +02:00
Aurelian
b2c4e0e951 Reworked linear line check, and optimized scaled flat slider test 2024-05-24 14:05:56 +02:00
Bartłomiej Dach
c800bb5339
Merge branch 'master' into lazer-speedkeys 2024-05-24 13:19:26 +02:00
Bartłomiej Dach
cab8cf7410
Move mod speed hotkey handler to user mod select overlay
The very base class is the wrong place for it because
`FreeModSelectOverlay` inherits from it, and that one has different
assumptions and rules than "user" selection. In particular, in non-user
selection, more than one rate adjust mod may be active, which breaks the
mod speed hotkey's basic assumptions.
2024-05-24 13:14:06 +02:00
Bartłomiej Dach
b1b207960a
Actually use return value 2024-05-24 13:09:44 +02:00
Bartłomiej Dach
8cac87e496
Fix speed controls in mod select overlay not handling repeat 2024-05-24 13:09:07 +02:00
Bartłomiej Dach
345fb60679
Fix toast strings 2024-05-24 13:08:17 +02:00
Bartłomiej Dach
63406b6feb
Rewrite implementation 2024-05-24 13:03:42 +02:00
Bartłomiej Dach
7255cc3344
Fix tests dying on a nullref 2024-05-24 11:25:29 +02:00
Bartłomiej Dach
807d982a72
Move workaround to subscreen 2024-05-24 10:35:33 +02:00
Bartłomiej Dach
a80dbba9d0
Update to not use obsoleted method 2024-05-24 10:35:31 +02:00
Bartłomiej Dach
4089071299
Merge branch 'master' into fix-editor-didnt-save 2024-05-24 10:16:46 +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
Bartłomiej Dach
8a2dd4d816
Merge branch 'master' into scaling 2024-05-23 15:10:40 +02:00
Bartłomiej Dach
128029e2af
Fix aspect ratio lock applying when shift pressed on a non-corner anchor
It doesn't make sense and it wasn't doing the right thing.
2024-05-23 15:08:43 +02:00
Bartłomiej Dach
ac5c031a3a
Simplify original state management in skin selection scale handler 2024-05-23 15:01:28 +02:00
Bartłomiej Dach
9e86a08405
Simplify scale origin computation 2024-05-23 14:07:43 +02:00
Bartłomiej Dach
070668c96f
Use ShiftPressed instead of explicitly checking both physical keys
Not only is this simpler, but it also is more correct (for explanation
why, try holding both shift keys while dragging, and just releasing one
of them - the previous code would briefly turn aspect ratio off).
2024-05-23 13:57:34 +02:00
Bartłomiej Dach
bfa23ec7a4
Fix main menu button animation not playing on initial show 2024-05-23 11:46:48 +02:00
Dean Herbert
357e55ae1f
Make gradient layer a bit more dynamic 2024-05-23 17:39:59 +08:00
Dean Herbert
a3639e0ce3
Remove unused field 2024-05-23 17:19:11 +08:00
Dean Herbert
88a2f74326
Adjust animation 2024-05-23 16:00:23 +08:00
Dean Herbert
f85a1339d9
Unload daily challenge background less aggressively 2024-05-23 14:23:02 +08:00
Dean Herbert
6c37560842
Merge branch 'master' into daily-challenge-mvp 2024-05-23 10:57:05 +08:00
Dean Herbert
ae27fc6944
Merge pull request #28200 from Hecatia-Lapislazuli/max-cs-scaling
Enforce difficulty setting limits during decode
2024-05-23 09:30:15 +08:00
Dean Herbert
fd9f8bd3e0
Update framework 2024-05-23 01:21:12 +08:00
Dean Herbert
73cb363eba
Make some more methods static 2024-05-22 23:26:23 +08:00
Bartłomiej Dach
f7ca18b52e
Menial cleanups 2024-05-22 15:52:57 +02:00
Dean Herbert
66ceda1d67
Update focus specifications in line with framework changes 2024-05-22 21:32:49 +08:00
Dean Herbert
8d02ac5e21
Update framework 2024-05-22 21:20:34 +08:00
Fabian van Oeffelt
0df634574f Improve readability 2024-05-22 13:59:33 +02:00
Fabian van Oeffelt
57da4229ff Add speed value to Toast 2024-05-22 13:58:59 +02:00
Aurelian
b25987ffe7 Changed allowed mania keys, and reverted 0af32c5 2024-05-22 11:37:55 +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
3a608aa815
Merge pull request #28194 from bdach/daily-challenge-models
Add client/server models & operations for "daily challenge" feature
2024-05-22 15:48:23 +08:00
Dean Herbert
f979200712
Use null conditional rather than implicit not-null 2024-05-22 12:06:51 +08:00
Dean Herbert
1fdebe94ac
Merge branch 'master' into lazer-speedkeys 2024-05-22 12:05:04 +08:00
Dean Herbert
02a388cba6
Fix enum not being at end (and adjust naming) 2024-05-22 12:03:48 +08:00
Dean Herbert
99d99cede0
Basic cleanup
Before I gave up on attempting to fix the method.
2024-05-22 11:59:34 +08:00
Fabian van Oeffelt
3403789c6f Toast now only shows when speed is actually changed 2024-05-21 16:11:20 +02:00
Fabian van Oeffelt
148afd1201 Change Speedchange behaviour to keep changing while holding key, Add Toast to nofity user what just happend 2024-05-21 14:47:34 +02:00
Bartłomiej Dach
45fcbea182
Compute total score without mods during standardised score conversion
This is going to be used by server-side flows. Note that the server-side
overload of `UpdateFromLegacy()` was not calling
`LegacyScoreDecoder.PopulateTotalScoreWithoutMods()`.

Computing the score without mods inline reduces reflection overheads
from constructing mod instances, which feels pretty important for
server-side flows.

There is one weird kink in the treatment of stable scores with score V2
active - they get the *legacy* multipliers unapplied for them because
that made the most sense. For all intents and purposes this matters
mostly for client-side replays with score V2. I'm not sure whether
scores with SV2 ever make it to submission in stable.

There may be minute differences in converted score due to rounding
shenanigans but I don't think it's worth doing a reverify for this.
2024-05-21 13:11:08 +02:00
Aurelian
1127a69359 Moved DIfficulty Clamping to occur after the file has been parsed
This is to handle potential issues with the ruleset being parsed after circle size has been parsed.
2024-05-21 10:15:53 +02:00
Dean Herbert
20a539bc4b
Merge pull request #28262 from bdach/fix-present-confusion-on-empty-hash
Do not attempt to match score by equality of empty hash when presenting it
2024-05-21 14:44:10 +08:00
Dean Herbert
d7d569cf4e
Temporary rollback of framework / SDL3 2024-05-21 14:36:16 +08:00
Dean Herbert
e740b8bcc3
Fix single frame glitching in skin editor
https://github.com/ppy/osu/pull/28257#discussion_r1606999574
2024-05-21 14:36:11 +08:00
Dean Herbert
3b86da443b
Merge pull request #28257 from bdach/fix-skin-editor-spaz
Fix closest anchor selection spazzing out in multiple scenarios
2024-05-21 14:35:29 +08:00
Aurelian
db8b72eb37 Clamped Difficulty Ranges to [0,10] 2024-05-20 16:23:16 +02:00
Bartłomiej Dach
ed498f6eed
Do not attempt to match score by equality of hash if it's empty
Closes https://github.com/ppy/osu/issues/28216.

The affected user's database contained six sentakki scores with an empty
hash. When an online score is being imported, an online model (which
does not have a hash) will be transmogrified into a `ScoreInfo` with
an empty hash, which would end up accidentally matching those scores
and basically breaking everything at that point.

To fix, avoid attempting to match anything on empty hash. This does not
break online score matching because for those cases the actual online ID
of the score will be used.
2024-05-20 15:05:41 +02:00
Bartłomiej Dach
3da3b91be5
Improve closest origin selection to include effects of rotation/flip
Closes https://github.com/ppy/osu/issues/28237.

Solution as proposed here:
https://github.com/ppy/osu/pull/28089#issuecomment-2095372157

For flips and rotations by 90 degrees this does what you would expect it
to. For arbitrary rotations it *sort of kind of* attempts to do this but
the results are a bit wonky - probably still better than what was there
before, though?
2024-05-20 10:23:12 +02:00
Bartłomiej Dach
c03f68413a
Fix skin editor closest origin selection spazzing out on scaled sprites
Closes https://github.com/ppy/osu/issues/28215.

`drawable.Position` is a location in the parent's coordinate space, and
`drawable.OriginPosition` is in the drawable's local space and
additionally does not take scale into account.
2024-05-20 10:23:07 +02:00
Susko3
04acc58b74 Don't show warning on android
Unsure about iOS.
2024-05-19 14:12:21 +02:00
Susko3
e4858a975d Show mouse and joystick settings on mobile 2024-05-19 14:07:40 +02:00
Bartłomiej Dach
be642c8c42
Fix total score without mods migration failing on custom ruleset scores when custom ruleset cannot be loaded
Closes https://github.com/ppy/osu/issues/28209.

Yes this means that such scores will have a zero total score without
mods in DB and thus might up getting their total recalculated to zero
when we try a mod multiplier rebalance (unless we skip scores with zero
completely I suppose). I also don't really care about that right now.
2024-05-19 09:43:33 +02:00
Dean Herbert
9fcd3b562a
Merge pull request #28201 from frenzibyte/fix-settings-padding
Fix checkboxes looking misaligned when placed next to a slider bar
2024-05-19 10:36:54 +08:00
Fabian van Oeffelt
3fdbd735ce change to single Function,
Nightcore now switches into Daycore, keep Adjustpitch after change
2024-05-18 18:40:51 +02:00
Fabian van Oeffelt
80064c4b98 Speedchange now also works in Modselect 2024-05-18 18:38:23 +02:00
Fabian van Oeffelt
a12a20e8b5 Change Inputkeys to Ctrl+Up/Ctrl+Down 2024-05-18 18:37:44 +02:00
Dean Herbert
37fdfbfaa0
Merge branch 'master' into footer-v2-back-button 2024-05-18 22:15:32 +08:00
Dean Herbert
7b847ad815
Merge pull request #28182 from frenzibyte/footer-v2-renamings
Rename and move new footer classes to appropriate places
2024-05-18 22:14:45 +08:00
Salman Ahmed
a912e56ca9 Fix checkboxes applying extra padding 2024-05-18 11:06:29 +03:00
Aurelian
0af32c5d4b Added a minimum value for the scale calculated by the CS value. 2024-05-18 07:45:01 +02:00
Salman Ahmed
0a391d5c4e Remove duplicate back button class 2024-05-18 08:39:45 +03:00
Bartłomiej Dach
a4142937e7
Update resources 2024-05-17 12:53:25 +02:00
Bartłomiej Dach
c9b7aaf442
Fix formatting 2024-05-17 11:50:23 +02:00
Bartłomiej Dach
a4f8ed2a0e
Add button to access daily challenge playlist from main menu 2024-05-17 11:15:52 +02:00
Bartłomiej Dach
61a415fed2
Add client/server models & operations for "daily challenge" feature 2024-05-17 10:58:08 +02:00
Bartłomiej Dach
e604a99053
Merge branch 'master' into fix-mismatching-localisation-xmldoc 2024-05-17 08:47:14 +02:00
Dan Balasescu
2f9d74286d
Bump once more 2024-05-17 11:15:17 +09:00
Bartłomiej Dach
f2f03f08cb
Fix xmldoc mismatches in localisation files
This is enforced by the localisation analyser after
https://github.com/ppy/osu-localisation-analyser/pull/62, but it appears
the analyser was never actually bumped game-side after that change and
I'm not super sure why, as there does not appear to be a reason to _not_
do that. So this commit does it.
2024-05-16 17:39:27 +02:00
Bartłomiej Dach
5dd64a7c86
Fix duplicated localisation key in DeleteConfiormationContentStrings
Noticed via `osu-resources` build warnings.

There are also a few other warnings about
https://github.com/ppy/osu/pull/27472. Seems something in crowdin
innards may still be exporting those strings even though they have been
fixed already. Not sure how to address that.

Probably need these to be detected via static analysis at this point
since it's happened again. Might look into the feasibility of making
that happen.
2024-05-16 14:49:56 +02:00
Salman Ahmed
8b285f5b1e Add dummy SongSelectV2 screen to house new footer buttons (and new components going forward) 2024-05-16 07:48:58 +03:00
Salman Ahmed
2b5818a4d7 Fix DI crash in beatmap options popover 2024-05-16 07:48:58 +03:00
Salman Ahmed
03220598b8 Move screen footer to OsuGame 2024-05-16 07:48:58 +03:00
Salman Ahmed
921be3ca01 Add back receptor, logo tracking, and own colour provider to screen footer 2024-05-16 07:48:58 +03:00
Salman Ahmed
d0e8632fbf Refactor ScreenFooter to prepare for global usage and add transitions 2024-05-16 07:48:10 +03:00
Salman Ahmed
a2794922d5 Add TopLevelContent layer for applying external transforms on footer buttons 2024-05-16 07:48:10 +03:00
Salman Ahmed
820cfbcb00 Remove unused using directives 2024-05-16 07:47:57 +03:00
Salman Ahmed
310b4d90cc Move SHEAR constant to OsuGame and revert back to 0.2x (i.e. master)
Discussed in [discord](https://discord.com/channels/188630481301012481/188630652340404224/1240490608934653984).
2024-05-16 07:28:02 +03:00
Salman Ahmed
9265290acf Change shear factor everywhere to 0.15x 2024-05-16 05:33:01 +03:00
Salman Ahmed
7fce4cc494 Make ScreenFooterButtonMods share shear factor with base class 2024-05-16 05:30:28 +03:00
Salman Ahmed
9446f45acf Fix shear factor of ScreenFooterButtons not matching anything else
When shear factors differ between components that are close to each other (`BackButtonV2` and `ScreenFooterButton` in this case), they look completely ugly.
2024-05-16 05:30:28 +03:00
Salman Ahmed
7e8d5a5b0a Add new footer back button 2024-05-16 05:30:28 +03:00
Salman Ahmed
266f080362 Allow customising content of ShearedButtons 2024-05-16 05:02:56 +03:00
Salman Ahmed
e3afd89dc8 Allow specifying height of ShearedButtons
Also includes a test case in `TestSceneShearedButton`s to ensure the buttons' shear factors don't change on different heights (I've encountered issues with that previously).
2024-05-16 05:02:56 +03:00
Salman Ahmed
21f5d891bb Rename and move footer classes to appropriate places 2024-05-16 04:41:16 +03:00
OliBomby
c4ac6d20a0 fix code quality 2024-05-15 23:40:51 +02:00
OliBomby
8df5f22b4e Merge remote-tracking branch 'upstream/master' into scaling 2024-05-15 23:05:19 +02:00
Dean Herbert
a3960bf715
Add inline comment explaining LifetimeEnd set for future visitors 2024-05-15 14:17:28 +08:00
Bartłomiej Dach
7c1640e124
Merge pull request #28170 from peppy/fix-catch-dho-performance
Set a rudimentary lifetime end to improve seek performance in scrolling rulesets
2024-05-14 19:27:40 +02:00
Dean Herbert
cff865b556
Continue loading even when osu! logo is being dragged at loading screen
Closes https://github.com/ppy/osu/issues/28130.
2024-05-14 23:54:07 +08:00
Dean Herbert
c31b503f2a
Merge pull request #28171 from bdach/present-score-different-hashes
Use hash rather than online ID as primary lookup key when presenting score
2024-05-14 23:39:54 +08:00
Bartłomiej Dach
ee9144c3bd
Apply NRT to results statistics displays 2024-05-14 15:21:12 +02:00
Bartłomiej Dach
414f023817
Apply NRT to RankText 2024-05-14 15:21:05 +02:00
Bartłomiej Dach
b937b94bd2
Apply NRT to RankBadge 2024-05-14 15:20:56 +02:00
Bartłomiej Dach
ced1c79490
Apply NRT to AccuracyCircle 2024-05-14 15:20:47 +02:00
Bartłomiej Dach
e7721b073c
Apply NRT to ContractedPanelTopContent 2024-05-14 15:20:36 +02:00
Bartłomiej Dach
8e16b57d09
Apply NRT to SimpleStatisticTable 2024-05-14 15:20:26 +02:00
Bartłomiej Dach
237ae8b46a
Apply NRT to SimpleStatisticsItem 2024-05-14 15:20:17 +02:00
Bartłomiej Dach
2f2257f6ce
Apply NRT to PerformanceBreakdownChart 2024-05-14 15:20:07 +02:00
Bartłomiej Dach
77a7f475ee
Apply NRT to ScorePanel 2024-05-14 15:19:58 +02:00
Bartłomiej Dach
10a8e84046
Apply NRT to StatisticsPanel 2024-05-14 15:19:46 +02:00
Bartłomiej Dach
cb49147d1e
Apply NRT to ScorePanelList 2024-05-14 15:19:43 +02:00
Bartłomiej Dach
03a279a48d
Use hash rather than online ID as primary lookup key when presenting score
Something I ran into when investigating
https://github.com/ppy/osu/issues/28169.

If there are two scores with the same online ID available in the
database - for instance, one being recorded locally, and one recorded by
spectator server, of one single play - the lookup code would use online
ID first to find the score and pick any first one that matched. This
could lead to the wrong replay being refetched and presented / exported.

(In the case of the aforementioned issue, I was confused as to whether
after restarting spectator server midway through a play and importing
the replay saved by spectator server after the restart, I was seeing a
complete replay with no dropped frames, even though there was nothing in
the code that prevented the frame drop. It turns out that I was getting
presented the locally recorded replay instead all along.)

Instead, jiggle the fallback preference to use hash first.
2024-05-14 11:16:50 +02:00
Dean Herbert
cfb2c8272b
Set a rudimentary lifetime end to improve seek performance in scrolling rulesets 2024-05-14 05:02:08 +08:00
Bartłomiej Dach
87f2a23263
Merge pull request #28144 from peppy/hide-country-flags
Add setting to allow hiding all country flags
2024-05-13 10:10:38 +02:00
Joseph Madamba
9b84d8ac2f Apply missed changes from old leaderboard score
See:
- d11e56b8bb
- 7d74d84e6c
- 07f9f5c6d8
2024-05-12 22:39:22 -07:00
Joseph Madamba
736e15ab26 Improve fluidity states 2024-05-12 22:21:50 -07:00
Dean Herbert
5a362be190
Merge branch 'master' into glow 2024-05-12 12:58:57 +08:00
Dean Herbert
147ebb6bc7
Merge pull request #28142 from frenzibyte/footer-v2-button-animation
Improve animation of new song select footer buttons
2024-05-12 11:07:30 +08:00
Salman Ahmed
fa6ccc854d Revert behavioural changes on options button 2024-05-12 05:24:45 +03:00
Thomas Mok
5e8f6df799
Add glow to footerV2 buttons 2024-05-12 01:55:18 +01:00
Salman Ahmed
4cf6ab40f6 Use MustDisposeResource annotation to appease ReSharper inspections 2024-05-11 22:33:18 +03:00
Dean Herbert
69d699a218
Merge branch 'master' into footer-v2-button-animation 2024-05-11 21:41:50 +08:00
Dean Herbert
6cfe1356cd
Merge pull request #28141 from frenzibyte/footer-v2-mods-display
Add mod display and unranked indicator to new song select footer
2024-05-11 21:41:25 +08:00
Dean Herbert
a988bbd3cb
Tidy up UnrankedBadge implementation 2024-05-11 20:58:51 +08:00
Dean Herbert
ac7598cb68
Move localisation to existing file to avoid silly new class 2024-05-11 20:25:47 +08:00
Salman Ahmed
da096376af Fix DI error in mod tooltip 2024-05-11 09:31:36 +03:00
Salman Ahmed
f64cf5c037 Fix button extending beyond unranked indicator width 2024-05-11 09:29:09 +03:00
Joseph Madamba
e8967ff3c5 Lower username font size a bit 2024-05-10 22:14:41 -07:00
Joseph Madamba
8a474f7d22 Fix broken avatar masking when hiding 2024-05-10 22:14:41 -07:00
Joseph Madamba
d0c8b55a0a Fix fluidity desync by not autosizing right (total score) content 2024-05-10 22:14:41 -07:00
Dean Herbert
ea35ad4689
Fix nullability inspection 2024-05-10 23:26:43 +08: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
Dean Herbert
e887f93eca
Always show placeholder on unknown / missing country 2024-05-10 22:45:59 +08:00
Dean Herbert
b026309e36
Add setting to allow hiding all country flags
There have been enough requests for this at this point to implement it.
2024-05-10 20:32:21 +08:00
Dean Herbert
ca608a8443
Update resources 2024-05-10 18:36:44 +08:00
Salman Ahmed
09c52f03d8 Fix "options" button behaving weirdly when clicking on it while open 2024-05-10 08:25:16 +03:00
Salman Ahmed
b6d6a8940b Improve animation of new song select footer buttons 2024-05-10 08:24:39 +03:00
Salman Ahmed
0392f7b04c Add tooltip to unranked indicator 2024-05-10 07:37:08 +03:00
Salman Ahmed
f5ab9a7ff8 Make unranked indicator orange to match mod select overlay 2024-05-10 07:12:28 +03:00
Salman Ahmed
e5b2023155 Remove unappealing fade transition between mod display and count text
Fading out the mod display looks quite ugly, since alpha is applied per mod sprite, introducing bad visual on the intersection between mods.
2024-05-10 07:05:36 +03:00
Salman Ahmed
6ddf8f8498 Few cleanups 2024-05-10 06:55:02 +03:00
Salman Ahmed
c1ea9d2c9f Adjust unranked badge height 2024-05-10 06:48:18 +03:00
Salman Ahmed
bff34a1c04 Add localisation and tooltip for mods count text 2024-05-10 06:48:18 +03:00
Salman Ahmed
49692e168e Fix ModDisplay expanding on load with "always contracted/expanded" modes
This is especially visible when reloading `SongSelectFooterV2` while multiple mods are already selected. The mods will appear expanded then contract.
2024-05-10 06:48:18 +03:00
Salman Ahmed
6b91b4abf4 Add simple implementation for extended mods display in new footer design 2024-05-10 02:20:48 +03:00
Dean Herbert
c4d6318c0d
Update framework 2024-05-09 22:12:09 +08:00
Dan Balasescu
13692d8e7a
Merge branch 'masking-changes' into framework-bump 2024-05-09 21:11:54 +09:00
Dan Balasescu
3b8b56cbcb
Apply required changes after framework masking updates 2024-05-09 20:18:53 +09:00
Dean Herbert
58636d4bfb
Merge branch 'master' into Make-deletion-confirmation-less-confusing 2024-05-09 14:40:11 +08:00
Dean Herbert
88b20b357a
Increase padding around text in dialogs 2024-05-09 14:38:10 +08:00
Bartłomiej Dach
c9414da5d4
Merge branch 'master' into pre-mod-multiplier-score 2024-05-08 13:39:44 +02:00
Bartłomiej Dach
5a9a786199
Merge branch 'master' into user-id-in-replays 2024-05-08 10:43:25 +02:00
Ekischleki
e4bfa6f46b
Merge branch 'master' into Make-deletion-confirmation-less-confusing 2024-05-07 18:45:02 +02:00
Erik Wolfschläger
ab2677d913 Changed default delete confirmation content strings for better translatability 2024-05-07 17:15:49 +02:00
Dean Herbert
069841b2b3
Merge pull request #28128 from peppy/update-bundled-beatmaps
Update bundled beatmaps
2024-05-07 22:48:48 +08:00
Dean Herbert
0ddd3cbdc5
Randomise which menu content is shown on arriving at the menu 2024-05-07 17:02:25 +08:00
Dean Herbert
1d6915478f
Add message letting users know that beatmaps are donwloading in the background 2024-05-07 14:26:49 +08:00
Dean Herbert
91c684151a
Update bundled beatmaps 2024-05-07 14:18:50 +08:00
Susko3
f824bd1441 Fix userTriggered not being passed to private helper 2024-05-06 21:52:03 +02:00
Erik Wolfschläger
12522d9ae5 Fix formatting issues 2024-05-06 18:29:46 +02:00
Erik Wolfschläger
32444e0e30 Make deletion confirmation content less confusing 2024-05-06 18:11:40 +02:00
Erik Wolfschläger
a694f46253 Add new localisable strings 2024-05-06 18:10:58 +02:00
Bartłomiej Dach
9c6968c13a
Use score.User.OnlineID instead of score.UserID
You'd hope that they'd be the same thing, but
post-https://github.com/ppy/osu-server-spectator/pull/230 it turns out
that cannot be guaranteed, so just attempt to use `User` in the encoder
consistently everywhere...
2024-05-06 16:29:03 +02:00
Bartłomiej Dach
d7a0fdce07
Merge pull request #28089 from peppy/use-closest-origin
Automatically choose origin (along with anchor) to make skin editor placement easier for users
2024-05-06 14:57:34 +02:00
Bartłomiej Dach
abfb2c00bc
Look up users by ID if available when importing scores 2024-05-06 13:24:34 +02:00
Dean Herbert
29eef26a69
Merge pull request #28118 from bdach/scaling-mode-does-not-affect-skin-editor
Fix sizing of gameplay preview in skin editor not updating on scaling mode change
2024-05-06 18:46:48 +08:00
Bartłomiej Dach
554ead0d9d
Decode user ID from score if available 2024-05-06 12:28:13 +02:00
Bartłomiej Dach
4d9ccdc3b2
Encode user ID to replays 2024-05-06 12:28:13 +02:00
Bartłomiej Dach
353a07f7a5
Fix code quality inspection 2024-05-06 12:23:11 +02:00
Bartłomiej Dach
f066026503
Fix sizing of gameplay preview in skin editor not updating on scaling mode change
Closes https://github.com/ppy/osu/issues/28115.
2024-05-06 11:55:51 +02:00
Bartłomiej Dach
cf87e9cd40
Do not show integration settings on mobile
Closes https://github.com/ppy/osu/issues/28097.

The settings weren't actually doing anything at all there anyway.
2024-05-06 11:24:42 +02:00
Bartłomiej Dach
761d713593
Merge pull request #28086 from 424ever/ctrl-keeps-menu-open
Activate stateful menu items with right-click without closing the menu
2024-05-06 09:30:22 +02:00
Bartłomiej Dach
71776a583c
Merge branch 'master' into preset-td-autoplay 2024-05-06 09:02:08 +02:00
Bartłomiej Dach
4c7e6b125c
Add clarification comment 2024-05-06 08:49:30 +02:00
Bartłomiej Dach
cf22fc143f
Merge pull request #27539 from frenzibyte/storyboard-loops-v2
Refactor storyboard commands structure and add framework-based transform loop support
2024-05-06 08:39:07 +02:00
Dean Herbert
12cd3bbe1c
Fix incorrect scale handling due to selection point changes 2024-05-06 11:34:37 +08:00
Dean Herbert
6f0fc6f78f
Merge pull request #28111 from Joehuu/fix-broken-scrolling-unicode
Fix now playing overlay text scroll breaking when toggling metadata language setting
2024-05-06 11:15:51 +08:00
Joseph Madamba
359238395f Fix now playing overlay text scroll breaking when toggling metadata language setting 2024-05-05 15:43:46 -07:00
Joseph Madamba
1665c5e0e1 Use existing AutomaticallyDownloadMissingBeatmaps localisation on solo spectator screen 2024-05-05 14:41:48 -07:00
Dean Herbert
9e7712740b
Refactor for legibility 2024-05-05 23:33:37 +08:00
Jonas Brandstötter
b1696db9c8
Reorder imports with dotnet format 2024-05-04 16:32:18 +02:00
Jonas Brandstötter
c62952ea3a
Invoke the registered Action when a stateful item is right clicked 2024-05-04 16:27:06 +02:00
Jonas Brandstötter
21917218ce
No longer keep menu open when CTRL is held 2024-05-04 16:27:06 +02:00
cdwcgt
1f92f1d19b
remove blank line
nt
2024-05-04 20:41:36 +08:00
cdwcgt
fe30ca3d39
fix linq logic 2024-05-04 20:18:31 +08:00
cdwcgt
f9be9ed479
remove incompatible system mods before enable preset 2024-05-04 19:58:32 +08:00
Dean Herbert
002efca422
Merge pull request #28082 from bdach/do-not-lookup-usernames-for-offline-scores
Do not lookup usernames for scores without an online ID
2024-05-04 15:08:33 +08:00
Dean Herbert
2cb367fdce
Disable "origin" menu when in "Closest" placement mode 2024-05-04 13:29:05 +08:00
Dean Herbert
e7ca02ffde
Fix position changing when origin updates during a drag 2024-05-04 13:28:33 +08:00
Dean Herbert
0b61e2cd42
Use closest origin along with closest anchor 2024-05-04 13:09:51 +08:00
Jonas Brandstötter
e0e7e123bf
Keep menus open when clicking a stateful item with CTRL held 2024-05-03 17:26:10 +02:00
Dean Herbert
5cdaafdb1e
Merge pull request #28083 from bdach/beatmap-attribute-text-breakage
Fix `BeatmapAttributeText` breaking due to enum serialisation woes
2024-05-03 21:18:26 +08:00
Dean Herbert
6cec4f0c8f
Merge pull request #28067 from bdach/refresh-local-cache-more-often
Update local metadata lookup cache more often
2024-05-03 20:44:13 +08:00
Bartłomiej Dach
a23d25e0a1
Fix BeatmapAttributeText breaking due to enum serialisation woes 2024-05-03 14:27:34 +02:00
Dean Herbert
ecb9173e51
Merge pull request #28017 from Joehuu/scrollable-text
Scroll now playing overlay text when overflowing
2024-05-03 20:05:58 +08:00
Bartłomiej Dach
afb491dff0
Do not perform username lookups for scores without an online ID 2024-05-03 13:59:36 +02:00
Bartłomiej Dach
7d31af6f16
Fix room status not updating when password is changed while inside the room 2024-05-03 11:37:09 +02:00
Bartłomiej Dach
221b4cd599
Remove unused cache 2024-05-03 11:37:09 +02:00
Dean Herbert
7141177966
Better signify private rooms by showing a different status pill design 2024-05-03 17:17:35 +08:00
Dean Herbert
42e49067e5
Move Room.Status updates to a common location 2024-05-03 17:10:59 +08:00
Bartłomiej Dach
3840e92576
Merge pull request #28075 from peppy/fix-chat-ui-scale
Fix chat overlay being far too large
2024-05-03 09:04:07 +02:00
Bartłomiej Dach
cf27366f99
Merge branch 'master' into fix-double-load-playlist-backgrounds 2024-05-03 08:15:56 +02:00
Bartłomiej Dach
d1a50ff85b
Remove redundant conditional access 2024-05-03 08:11:00 +02:00
Bartłomiej Dach
53b9159a01
Merge pull request #28078 from peppy/default-beatmap-background-be-gone
Stop using visually noisy `bg4` for default backgrounds
2024-05-03 08:06:22 +02:00
Dean Herbert
c935d3bf6c
Reduce font size in channel listing too 2024-05-03 14:00:28 +08:00
Joseph Madamba
2d4f2245ee Remove total score border gradient 2024-05-02 23:00:04 -07:00
Joseph Madamba
c21b7c7df9 Use IsLoaded instead of Schedule 2024-05-02 22:46:42 -07:00
Dean Herbert
c1e9b6d4ca
Fix beatmap backgrounds loading default briefly before final display
Due to the way `ModelBackedDrawable` works, the default starts to get
loaded even though a final `Beatmap` has been set. This avoids loading
the default fallback unless a beatmap has been set (and has no
background itself).
2024-05-03 13:42:56 +08:00
Dean Herbert
058bd5ced6
Stop using visually noisy bg4 for default backgrounds
This has always really annoyed me.
2024-05-03 13:38:27 +08:00
Dean Herbert
3249ecee27
Fix chat overlay being far too large 2024-05-03 12:31:19 +08:00
Dean Herbert
aa4d16bdb8
Fix beatmap listing cards being far too large 2024-05-03 12:13:52 +08:00
Joseph Madamba
c15a685071 Remove unused usings 2024-05-02 17:07:49 -07:00
Joseph Madamba
381ddb0676 Fix weird formatting 2024-05-02 17:06:11 -07:00
Joseph Madamba
269077f854 Only support centre anchors 2024-05-02 17:06:11 -07:00
Joseph Madamba
2f075e3247 Apply half margin of tolerance on both sides before text scrolls 2024-05-02 17:06:11 -07:00
Fabian van Oeffelt
4b5ea6bd0b Fix Code Inspection 2024-05-02 19:41:00 +02:00
Fabian van Oeffelt
588badf292 Fix Formatting 2024-05-02 19:22:39 +02:00
Fabian van Oeffelt
fa0b6311b0
Merge branch 'master' into osu-lazer-speedkeys 2024-05-02 19:17:15 +02:00
Fabian van Oeffelt
7527ddbc68 Comment, make code more readable, functions are now private 2024-05-02 19:05:43 +02:00
Fabian van Oeffelt
5c21a0330a F1 also does not work with minus in song select, same behaviour 2024-05-02 19:05:07 +02:00
Fabian van Oeffelt
f534c4aada Initial implementation 2024-05-02 18:42:35 +02:00
Dean Herbert
2d0240437a
Merge pull request #28066 from bdach/distance-snap-grid-spacing-change-hides-it
Fix changing distance spacing multiplier hiding the distance snap grid when it's already shown
2024-05-02 22:35:02 +08:00
Bartłomiej Dach
802666e621
Update local metadata lookup cache more often
As proposed in
https://github.com/ppy/osu/issues/27332#issuecomment-1962308306.
2024-05-02 16:18:29 +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
Dean Herbert
f9ef689492
Don't hide playfield layer with HUD 2024-05-02 15:36:40 +08:00
Bartłomiej Dach
555305bf7f
Merge pull request #28058 from frenzibyte/export-score-rank
Preserve score rank on lazer scores during encode/decode
2024-05-02 08:44:10 +02:00
Salman Ahmed
b1aff91bba
Use throw helper methods
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2024-05-02 00:31:48 +03:00
Salman Ahmed
6d6f165884 Make video sprites flippable and vector-scalable to fix type constraint errors
Stable supports these on videos already from a quick read on code (since videos are generally a subclass of sprites).
2024-05-02 00:01:50 +03:00
Salman Ahmed
4ffeb5b469 Resolve post-merge-conflict issues 2024-05-01 23:57:58 +03:00
Salman Ahmed
895c09d4d1 Merge branch 'master' into storyboard-loops-v2 2024-05-01 23:46:38 +03:00
Salman Ahmed
0106f1fe3e Preserve score rank on encode/decode 2024-05-01 23:31:23 +03:00
Salman Ahmed
30fd40efd1 Avoid disable/restore pairs 2024-05-01 21:18:56 +03:00
Salman Ahmed
e8a6381395 Update naming of enum fields in ObjType 2024-05-01 17:24:53 +03:00
Salman Ahmed
16bae4f004 Update naming of enum fields in StartMode 2024-05-01 17:22:42 +03:00
Salman Ahmed
97fc2a5473 Disable inconsistent naming in some fields of ScoreRank 2024-05-01 17:22:10 +03:00
Salman Ahmed
2fd8950b21 Disable inconsistent naming in some fields of LegacyManiaSkinConfigurationLookup 2024-05-01 17:22:10 +03:00
Salman Ahmed
02be275554 Disable naming inspections in country/language enums 2024-05-01 17:20:20 +03: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
Bartłomiej Dach
72b59c01f7
Merge branch 'master' into preserve-storyboard 2024-05-01 15:21:45 +02:00
Bartłomiej Dach
f0eef32913
Fix code quality inspection 2024-05-01 15:21:39 +02:00
Dean Herbert
b8209b92f6
Add delay before delayed resume starts
It was previously a bit sudden after dismissing the pause screen. Now
there's a short delay before the actual countdown begins.
2024-05-01 20:30:48 +08:00
Dean Herbert
87e814e201
Fix incorrect xmldoc and adjust colour provider to match Player 2024-05-01 20:30:36 +08:00
Dean Herbert
67c0d7590a
Decrease alpha of delayed resume overlay as count approaches zero
Allows better visibility of playfield underneath it.
2024-05-01 20:29:28 +08:00
Dean Herbert
44091b1f35
Fix some lines still getting forgotten about 2024-05-01 17:33:03 +08:00
Dan Balasescu
61350ebf6e
Merge pull request #28031 from peppy/reduce-volume
Reduce startup volume
2024-05-01 04:44:00 +09:00
Dean Herbert
ff108416d8
Fix incorrect background being loaded due to async race
If the API login (and thus user set) completed between `load` and
`LoadComplete`, the re-fetch on user change would not yet be hooked up,
causing an incorrect default background to be used instead.

Of note, moving this out of async load doesn't really affect load
performance as the bulk of the load operation is already scheduled and
`LoadComponentAsync`ed anyway
2024-05-01 00:05:14 +08:00
Bartłomiej Dach
82d1ebbd20
Merge branch 'master' into fix-zip-encoding 2024-04-30 16:30:15 +02:00
Dean Herbert
6a7e2dc258
Fix formatting 2024-04-30 21:47:03 +08:00
Dean Herbert
a3213fc36d
Change .olz to use UTF-8 encoding 2024-04-30 21:40:04 +08:00
Bartłomiej Dach
5e2e2a8d39
Merge pull request #28019 from peppy/realm-file-perm-check
Check realm file can be written to before attempting further initialisation
2024-04-30 13:46:43 +02:00
Dean Herbert
ba9f4e4baf
Don't skip lines in beatmap decoding
Was added in cc76c58f5f without any
specific reasoning. Likely not required (and will fix some storyboard
elements inside `.osu` files from not being correctly saved).
2024-04-30 16:42:15 +08:00
Dean Herbert
0bfad74907
Move realm error handling to avoid triggering in test scenarios 2024-04-30 14:09:29 +08:00
Dean Herbert
a8416f3572
Move exists check inside retry operation
Might help?
2024-04-30 12:39:18 +08:00
Dean Herbert
c8f7f2215b
Force encoding to Shift-JIS for archive filenames
After way too much time investigating this, the encoding situation is
not great right now.

- Stable sets the "default code page" to be used for encoding filenames
to Shift-JIS (932):
c29ebd7fc5/osu!/GameBase.cs#L3099
- Lazer does nothing (therefore using UTF-8).

When importing to lazer, stable files are assumed to be UTF-8. This
means that the linked beatmaps don't work correctly. Forcing lazer to
decompress *and* compress using Shift-JIS will fix this.

Here's a rough idea of how things look for japanese character filenames
in current `master`:

| | stable | lazer |
|--------|--------|--------|
| export encoding | shift-jis | utf8 |
| utf8 [bit flag](https://superuser.com/a/1507988) set |  |  |
| import stable export osz |   |  |
| import lazer export osz |  |  |
| windows unzip |  |  |
| macos unzip |  |  |

and after this change

| | stable | lazer |
|--------|--------|--------|
| export encoding | shift-jis | shift-jis |
| utf8 [bit flag](https://superuser.com/a/1507988) set |  |  |
| import stable export osz |   |  |
| import lazer export osz |  |  |
| windows unzip |  |  |
| macos unzip |  |  |

A future endeavour to improve compatibility would be to look at setting
the utf8 flag in lazer, switching the default to utf8, and ensuring the
stable supports this flag (I don't believe it does right now).
2024-04-30 01:27:47 +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
Dean Herbert
85c085e587
Reduce startup volume
Constant complaints about startup volume mean we should reduce it
further and let users adjust as they see fit.
2024-04-29 23:28:19 +08:00
Bartłomiej Dach
f78abf801c
Autosave edited skin on change 2024-04-29 14:38:53 +02:00
Bartłomiej Dach
45c2327509
Apply adjustments after framework-side FriendlyGameName changes 2024-04-29 13:00:22 +02:00
Dean Herbert
a3d239c11a
Remove unused method 2024-04-29 18:48:07 +08:00
Dean Herbert
1c1ee22aa7
Add retry attempts to hopefully fix windows tests runs 2024-04-29 14:17:48 +08:00
Joseph Madamba
32df6991ad Remove dark border and update cover gradient 2024-04-28 23:12:55 -07:00
Joseph Madamba
4c4621eb58 Fix compile errors 2024-04-28 23:12:48 -07:00
Dean Herbert
a4bc5a8fc9
Use helper method for backup retry attempts 2024-04-29 10:35:37 +08:00
Dean Herbert
b262497083
Check realm file can be written to before attempting further initialisation
Rather than creating a "corrupt" realm file in such cases, the game will
now refuse to start. This behaviour is usually what we want. In most
cases a second click on the game will start it successfully (the
previous instance's file handles are still doing stuff, or windows
defender is being silly).

Closes https://github.com/ppy/osu/issues/28018.
2024-04-28 19:07:39 +08:00
Dean Herbert
c900c0c01c
Merge branch 'master' into LeaderBoardScore_clean 2024-04-28 13:51:29 +08:00
Joseph Madamba
d4951a093f Scroll now playing overlay text when overflowing 2024-04-27 20:18:49 -07:00
Joseph Madamba
48c608e016 Make player width a const 2024-04-27 20:06:09 -07:00
Taevas
694e3900db
Add missing space in setup wizard 2024-04-27 23:43:27 +02:00
Dean Herbert
fb2d28f7e0
Fix audio being paused in a spectator session when all players finish playing 2024-04-26 15:30:26 +08:00
Dean Herbert
21d6556865
Remove managed clocks from SpectatorSyncManager on gameplay completion / abort 2024-04-26 15:29:59 +08:00
Dean Herbert
e0e790fa94
Fix a couple of xmldoc typos 2024-04-26 15:28:52 +08:00
Dan Balasescu
459f97891d
Merge pull request #27994 from bdach/timing-distribution-graph-only-basic
Do not show non-basic results in timing distribution graph
2024-04-26 01:36:16 +09:00
Dan Balasescu
52addc775e
Merge pull request #27965 from bdach/generic-math
Apply generic math-related changes
2024-04-26 01:33:54 +09:00
Dean Herbert
5ccc745235
Merge pull request #27997 from bdach/refetch-when-entering-editor
Fully refetch working beatmap when entering editor
2024-04-25 22:20:33 +08:00
Dean Herbert
387fcb8781
Add a brief inline comment to make sure we don't undo the fix 2024-04-25 21:31:36 +08:00
Dean Herbert
6a8a6fa79d
Merge pull request #27996 from bdach/delete-dirty-difficulty-droken
Fix deleting modified difficulty via editor leaving user in broken state
2024-04-25 21:20:09 +08:00
Bartłomiej Dach
c1107d2797
Fully refetch working beatmap when entering editor
Closes https://github.com/ppy/osu/issues/21794.

I'm not actually super sure as to what the exact mode of failure is
here, but it's 99% to do with working beatmap cache invalidation. Likely
this can be even considered as another case of
https://github.com/ppy/osu/issues/21357, but because this is a one-liner
"fix," I'm PRing it anyways.

The issue is confusing to understand when working with the swap scenario
given in the issue, but it's a little easier to understand when
performing the following:

1. Have a beatmap set with 2 difficulties. Let's call them "A" and "B".
2. From song select, without ever exiting to main menu, edit "A". Change
   the difficulty name to "AA". Save and exit back to song select; do
   not exit out to main menu.
3. From song select, edit "B". Change the difficulty name to "BB". Save
   and exit back to song select.
4. The difficulty names will be "A" and "BB".

Basically what I *think* is causing this, is the fact that even though
editor invalidates the working beatmap by refetching it afresh on exit,
song select is blissfully unaware of this, and continues working with
its own `BeatmapInfo` instances which have backlinks to
`BeatmapSetInfo`.

When editing the first of the two difficulties and then the second,
the editing of the first one only invalidates the first one rather than
the entire set, and the second difficulty continues to have a stale
reference to the first one via the beatmap set, and as such ends up
overwriting the changes from the first save when passed into the editor
and modified again.
2024-04-25 14:31:13 +02:00
Bartłomiej Dach
19d006d818
Fix deleting modified difficulty via editor leaving user in broken state
Closes https://github.com/ppy/osu/issues/22783.

If the difficulty being edited has unsaved changes, the editor exit flow
would prompt for save *after* the deletion method has run. This is
undesirable from a UX standpoint, and also leaves the user in a broken
state.

Thus, just fake an update of the last saved hash of the beatmap to fool
the editor into thinking that it's not dirty, so that the exit flow will
not show a save dialog.
2024-04-25 12:55:34 +02:00
Bartłomiej Dach
b250a924b1
Do not show non-basic results in timing distribution graph
Closes https://github.com/ppy/osu/issues/24274.

Bit of an ad-hoc resolution but maybe fine? This basically proposes to
bypass the problem described in the issue by just not showing tick hits
at all on the distribution graph.
2024-04-25 11:20:07 +02:00
Bartłomiej Dach
da953b34a7
Apply nullability annotations to ResultsScreen & inheritors 2024-04-25 10:58:28 +02:00
Joseph Madamba
4f7c9f2970 Remove unused using 2024-04-24 01:00:03 -07:00
Joseph Madamba
f97c519451 Add chevron to distinguish all menus with submenus 2024-04-24 00:19:10 -07:00
Dean Herbert
16fdd4e08d
Add ability to show beatmap source using skin editor's beatmap attribute text
As per https://github.com/ppy/osu/discussions/27955.
2024-04-24 09:01:31 +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
a35bf77131
Merge pull request #27974 from peppy/editor-menu-chev
Add a chevron to distinguish editor menus with submenus
2024-04-23 18:12:08 +02:00
Bartłomiej Dach
c454dd2496
Merge pull request #27967 from peppy/storyboard-video-transforms-and-sizing
Fix storyboard videos not accepting transforms
2024-04-23 18:09:09 +02:00
Dean Herbert
999c8fdc38
Merge pull request #27969 from bdach/enter-to-confirm-keybinding-conflict
Allow confirming keybinding overwrite on conflict via "select" binding
2024-04-23 23:38:50 +08:00
Dean Herbert
221af74f95
Merge branch 'master' into generic-math 2024-04-23 22:21:31 +08:00
Dean Herbert
d0edf72a0c
Update framework 2024-04-23 22:04:28 +08:00
Dean Herbert
602b16f533
Fix fade-in no longer working on videos 2024-04-23 22:03:32 +08:00
Dean Herbert
a7327a2998
Merge pull request #27972 from bdach/fix-mod-column-stupidity-rfc
Fix mod select overlay columns not displaying properly sometimes
2024-04-23 21:59:29 +08:00
Dean Herbert
436203a8c1
Add a chevron to distinguish editor menus with submenus 2024-04-23 21:37:01 +08:00
Dean Herbert
804b1b0d88
Fix settings colour scheme wrong when viewing gameplay from skin editor button
Closes https://github.com/ppy/osu/issues/27949.
2024-04-23 20:54:48 +08:00
Bartłomiej Dach
f7626aba18
Fix mod select overlay columns not displaying properly sometimes
Closes https://github.com/ppy/osu/issues/26504.

As far as I can tell the issue is basically another manifestation of
https://github.com/ppy/osu-framework/issues/5129, i.e. presence
overrides causing dropped invalidations and thus completely bogus
hierarchy state. The fix is to raise the appropriate invalidation
manually.
2024-04-23 13:36:12 +02:00
Bartłomiej Dach
1e0db1ab9f
Allow confirming keybinding overwrite on conflict via "select" binding 2024-04-23 12:44:16 +02:00
Dean Herbert
17ca29c2c6
Actually apply transforms to the video 2024-04-23 17:37:37 +08:00
Dean Herbert
7eeac0f3b9
Fix incorrect xmldoc
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2024-04-23 17:34:52 +08:00
Bartłomiej Dach
12acdeebf1
Merge pull request #27866 from Joehuu/fix-online-score-export
Fix replay export not working correctly from online leaderboards
2024-04-23 09:08:04 +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
Joseph Madamba
49154c0e23 Fix code quality 2024-04-22 11:23:38 -07:00
Joseph Madamba
35eddf35c5 Return Task.CompletedTask instead of null 2024-04-22 11:22:39 -07:00
Joseph Madamba
a59bf6d373 Improve xmldoc wording 2024-04-22 11:17:27 -07:00
Joseph Madamba
2eda56ff08 Revert beatmap query change 2024-04-22 11:15:50 -07:00
Dean Herbert
9e7182acf0
Remove unused DI beatmap paramater 2024-04-22 18:45:02 +08:00
Dean Herbert
c43c383abf
Allow storboard videos to take on no-relative size when specified by a mapper 2024-04-22 18:44:47 +08:00
Dean Herbert
4ae9f81c73
Apply transforms to storyboard videos
This requires that they are a `StoryboardSprite` for simplicity. Luckily
this works just fine.
2024-04-22 18:43:15 +08: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
Bartłomiej Dach
09b0f3005e
Apply generic math-related changes 2024-04-22 10:15:56 +02:00
Arthur Araujo
49563f4e5b Use bitwise to check hitsound formats 2024-04-22 04:44:38 -03:00
Dan Balasescu
89a4a6878f
Merge pull request #27922 from peppy/quick-exit-from-results
Add ability to quick exit from results screen
2024-04-22 16:01:13 +09:00
Andrei Zavatski
1d3fd65d86 Adjust execution order 2024-04-22 07:02:49 +03:00
Andrei Zavatski
722fa228ce Don't consider editor table content for input 2024-04-21 17:40:35 +03:00
Dean Herbert
b9b341affd
Merge pull request #27930 from peppy/update-framework
Update framework
2024-04-20 05:26:53 +08:00
Dean Herbert
4cffc39dff
Don't require hold for quick exit at results screen 2024-04-20 04:53:31 +08:00
Bartłomiej Dach
3d64ffc93e
Merge pull request #27935 from smoogipoo/serialised-drawable-sane-defaults
Give SerialisedDrawableInfo sane defaults
2024-04-19 17:00:49 +02:00
Bartłomiej Dach
1344ca4e19
Merge pull request #27780 from mafarrica/27105-fix-mod-search-box-focus-changes
Fix mod search box not tracking external changes to focus state
2024-04-19 17:00:06 +02:00
Dan Balasescu
bac70da1a1
Give SerialisedDrawableInfo sane defaults 2024-04-19 22:03:19 +09:00
Dean Herbert
6e08fd7f27
Merge pull request #27931 from smoogipoo/remove-unused-lookup-members
Remove unused members from GameplaySkinComponentLookup
2024-04-19 20:51:09 +08:00
Dan Balasescu
ddc1b90ee1
Remove unused method 2024-04-19 20:36:24 +09: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
Bartłomiej Dach
509862490e
Revert unnecessary changes 2024-04-19 11:11:18 +02:00
Bartłomiej Dach
2dcbb823ef
Use textbox focus state directly rather than trying to track it independently 2024-04-19 11:08:34 +02:00
Dan Balasescu
362a7b2c77
Remove unused members from GameplaySkinComponentLookup 2024-04-19 18:03:13 +09:00
Dean Herbert
a41ae99dd7
Update framework 2024-04-19 15:14:52 +08:00
Dean Herbert
fe30c9ec2a
Merge branch 'master' into add-sound-to-tab-selection-change-2 2024-04-19 12:40:22 +08:00
Dean Herbert
c39eb5c5aa
Merge branch 'master' into upgrade-to-SDL3 2024-04-18 22:23:55 +08:00
Dean Herbert
46e2cfdba5
Update framework 2024-04-18 18:33:30 +08:00
Joseph Madamba
d08b1e5ae7 Add xmldoc to GetScore() and Export() and remove xmldoc from private getDatabasedScoreInfo() 2024-04-17 21:52:36 -07:00
Dean Herbert
f92833b588
Add ability to quick exit from results screen 2024-04-18 12:02:49 +08: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
Salman Ahmed
a7e043bdbe Fix beatmap rulest selector playing sound for initial ruleset selection 2024-04-17 11:20:17 +03:00
Salman Ahmed
24e8b88320 Add inline comment to the custom implementation of multiple-selection tab items 2024-04-17 11:20:17 +03:00
Salman Ahmed
9e69268676 Change editor screen selection logic to use SelectItem for sound feedback 2024-04-17 11:20:17 +03:00
Salman Ahmed
42892acc1a Fix multiple selection filter tab items no longer playing sounds
These tab items are not managed by a `TabControl`, activation events are manually served by the class itself toggling `Active` when clicked.
2024-04-17 11:20:17 +03:00
Salman Ahmed
50a21fb727 Change ToolbarRulesetSelector to use SelectItem to trigger new sound feedback path 2024-04-17 11:20:17 +03:00
Salman Ahmed
2a3ae6bce1 Update all TabItem implementations to play select sample on OnActivatedByUser 2024-04-17 11:20:17 +03:00
Bartłomiej Dach
e11e9fe14f
Add TotalScoreWithoutMods to SoloScoreInfo
End goal being storing it server-side.
2024-04-17 09:15:51 +02:00
Bartłomiej Dach
18bb81e7a7
Populate total score without mods when performing standardised score migration 2024-04-17 09:11:47 +02:00
Bartłomiej Dach
2f1a4cdaa4
Export and import TotalScoreWithoutMods to replays (or recalculate if it missing) 2024-04-17 09:08:15 +02:00
Bartłomiej Dach
e0178802b8
Populate TotalScoreWithoutMods on scores set locally 2024-04-17 08:52:47 +02:00
Bartłomiej Dach
6b0d577f0b
Add backmigration of TotalScoreWithoutMods for existing scores 2024-04-17 08:52:27 +02:00
Bartłomiej Dach
a386068ed3
Add ScoreInfo.TotalScoreWithoutMods 2024-04-17 08:51:53 +02:00
Bartłomiej Dach
6c943681b0
Fix preview tracks playing after their owning overlay has hidden
RFC. Closes https://github.com/ppy/osu/issues/27883.

The idea here is that `PopOut()` is called _when the hide is requested_,
so once an overlay trigger would hide, the overlay would
`StopAnyPlaying()`, but because of async load things, the actual track
would start playing after that but before the overlay has fully hidden.
(That last part is significant because after the overlay has fully
hidden, schedules save the day.)

Due to the loose coupling between `PreviewTrackManager` and
`IPreviewTrackOwner` there's really no easy way to handle this locally
to the usages of the preview tracks. Heck, `PreviewTrackManager` doesn't
really know which preview track owner is to be considered _present_ at
any time, it just kinda works on vibes based on DI until the owner tells
all of its preview tracks to stop.

This solution causes the preview tracks to stop a little bit later but
maybe that's fine? Just trying to not overthink the issue is all.

No tests because this is going to suck to test automatically while it is
pretty easy to test manually (got it in a few tries on master).

The issue also mentions that the track can sometimes resume playing
after the overlay is pulled up again, but I don't see that as a problem
necessarily, and even if it was, it's not going to be that easy to
address due to the aforementioned loose coupling - to fix that, play
buttons would have to know who is the current preview track owner and
cancel schedules upon determining that their preview track owner has
gone away.
2024-04-16 16:19:26 +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
Bartłomiej Dach
d2a67d2d54
Merge pull request #27881 from smoogipoo/fix-mod-refilter
Don't re-filter unless mods may change the filter
2024-04-16 11:21:35 +02:00
Arthur Araujo
9ef27104ce Add checks for audio formats 2024-04-16 06:15:21 -03:00
Joseph Madamba
514e316b49 Make getDatabasedScoreInfo() private and move to GetScore() and Export() 2024-04-15 20:48:51 -07:00
Joseph Madamba
67cfcddc77 Use another beatmap query to not depend on databased score info 2024-04-15 20:18:24 -07:00
Dean Herbert
a651cb8d50
Stop background processing from running when inside a high performance session 2024-04-16 10:04:38 +08:00
Dean Herbert
d89edd2b4f
Expose high performance session state 2024-04-16 10:04:38 +08:00
Dan Balasescu
343b3ba0e6
Don't re-filter unless mods may change the filter 2024-04-15 21:07:36 +09:00
Bartłomiej Dach
7c4c8ee75c
Fix stable scores showing with faded out pp display due to classic mod presence 2024-04-15 11:53:05 +02:00
Joseph Madamba
ed8b596325 Fix replay export not working correctly from online leaderboards 2024-04-14 16:22:58 -07:00
Joseph Madamba
f282152f99 Enable NRT to ScoreManager 2024-04-14 15:53:29 -07:00
Ondřej Vajďák
ed6680a61d Fixed type inconsistency and rounding 2024-04-14 15:10:05 +02:00
Ondřej Vajďák
9833dd955f Fix toolbar volume bar masking 2024-04-14 01:30:59 +02:00
Loreos7
5a8b8908dd fix missing underscore 2024-04-13 14:53:51 +03:00
Dean Herbert
c0dce94f15
Fix newly placed items in skin editor not getting correct anchor placement 2024-04-12 17:08:49 +08:00
Dean Herbert
3ec93745a4
Fix test failures due to sentry oversight 2024-04-12 01:10:42 +08:00
Dan Balasescu
8b2017be45
Update Sentry to fix iOS build 2024-04-12 01:02:40 +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
Dean Herbert
6cb5bffdfc
Update resources 2024-04-10 13:03:37 +08:00
Dan Balasescu
fefcd17db9
Fix gameplay PP counter not matching results screen 2024-04-08 22:34:11 +09:00
Bartłomiej Dach
d6b1e68ee7
Merge branch 'master' into update-hit-error-icons 2024-04-05 09:36:18 +02:00
Dan Balasescu
7b92c725b1
Revert "Merge pull request #27454 from EVAST9919/sb-lifetime-improvements"
This reverts commit 0881e7c8c1, reversing
changes made to 29a37e3585.
2024-04-05 14:45:49 +09:00
Dean Herbert
10d1308a0a
Update resources 2024-04-04 15:05:59 +08:00
Dan Balasescu
cd474de61f
Update osu.Framework package 2024-04-04 15:55:05 +09:00
Dean Herbert
9521c1e3e4
Update hit error metre to use new icons
- [ ] Depends on https://github.com/ppy/osu-resources/pull/317.
2024-04-04 14:31:40 +08:00
Dean Herbert
2e1d63a1c2
Merge pull request #27783 from 64ArthurAraujo/add-invalid-beatmap-hash-custom-message
Add custom message in the case of a `invalid beatmap_hash`
2024-04-04 10:47:22 +08:00
Arthur Araujo
9e92ebaa43
Make message more general
Co-authored-by: Walavouchey <36758269+Walavouchey@users.noreply.github.com>
2024-04-03 19:15:22 -03:00
Arthur Araujo
8e00368f7c Add custom message in the case of a invalid beatmap_hash 2024-04-03 11:30:14 -03:00
Bartłomiej Dach
9d54f1a092
Fix some maps requiring multiple intro skips that weren't there on stable
Closes https://github.com/ppy/osu/issues/25633.

The reason why that particular beatmap did not have a double skip
on stable is here:

    e53980dd76/osu!/GameModes/Play/Player.cs#L1761-L1770

The particular place of interest is the `leadInTime < 10000` check.
If `leadInTime < 10000`, then `leadIn == leadInTime`, and it turns out
that `AudioEngine.Time` will always be more than or equal to `leadIn`,
because it's also the gameplay start time:

    e53980dd76/osu!/GameModes/Play/Player.cs#L2765

This essentially means that if the `leadInTime` is less than 10000,
that particular check is just dead. So a double skip can only occur
if the gameplay starts at time -10000 or earlier due to the storyboard.
2024-04-03 16:12:20 +02:00
Mafalda Fernandes
16276dfcd6 Fix #27105: Mod search box doesnt track external focus changes
In the Mod selection area, the search bar's focus could be changed by pressing TAB.
However, when clicking outside of the search bar, the focus would be killed but two TABs were required to get the focus back on the search bar.
This happened because the action of clicking in an empty area would trigger the search bar to change its appearence, but not its internal state.
In my solution, I made the OnClick function aware of the search bar's state, so it would not only change its appearance, but also its state.
Now, after clicking in an empty area, there is only needed one TAB to select the search box again, as expected.
2024-04-03 14:06:11 +01:00
Bartłomiej Dach
6d6412afdf
Merge branch 'master' into fix-skineditor-external-event-bind 2024-04-03 11:42:15 +02:00
Bartłomiej Dach
05fe8968d8
Only interact with clipboard via bound copy 2024-04-03 11:39:12 +02:00
Dan Balasescu
ce68f6adb7
Fix SkinEditor binding event to external bindable 2024-04-03 17:46:26 +09:00
Dan Balasescu
b5adcf2e0e
Fix SpectatorClient holding references to Player 2024-04-03 17:32:02 +09:00
Bartłomiej Dach
cb82fb0487
Merge branch 'master' into mania-key-count-mod-query 2024-04-03 09:29:32 +02:00
Dean Herbert
94cbe1838f
Replace usages of is null with == null 2024-04-03 01:50:39 +08:00
Dean Herbert
aa7b357063
Merge pull request #27768 from 64ArthurAraujo/editor-fix-sliders-same-start-time-merge
Fix merging sliders with the same `StartTime` causing a Unhandled Exception
2024-04-03 01:45:55 +08:00
Arthur Araujo
2a2a372595 Check if blueprint is in SelectionBlueprints before changing its depth 2024-04-02 07:45:27 -03:00
Dean Herbert
51e9348d27
Merge pull request #26702 from honguyenminh/fix-rotate-editor-button-disabled
Fix rotate tool button in editor disabled when selecting 1 circle
2024-04-02 14:31:43 +08:00
Dan Balasescu
4806ea54f1
Only optimise Catmull segments in osu ruleset 2024-04-01 17:22:50 +09:00
Dan Balasescu
d12a2e7df7
Replace schedule with SequenceEqual() 2024-04-01 17:02:02 +09:00
Dean Herbert
95b50576bd
Merge pull request #27698 from bdach/banish-rulesets-that-do-stupid-crap-to-the-BLAGOLE
Attempt to disable custom rulesets that can be linked to an unhandled crash
2024-04-01 15:47:47 +08:00
Andrei Zavatski
11b1135804 Adjust blurred icons position due to size handling differences 2024-03-31 01:55:34 +03:00
Andrei Zavatski
58a68e94af Simplify glowing icons in break overlay 2024-03-31 01:44:54 +03:00
Andrei Zavatski
54472e6452 Decouple GlowingDrawable from GlowingSpriteText 2024-03-31 01:44:54 +03:00
Nguyên Minh Hồ
6f782266b5 Fix inspection 2024-03-30 17:28:57 +07:00
Nguyên Minh Hồ
5d497ba4a8 Simplify TooltipText for EditorRadioButton 2024-03-30 16:04:22 +07:00
Nguyên Minh Hồ
9950395e5f Merge branch 'fix-rotate-editor-button-disabled' of https://github.com/honguyenminh/osu into fix-rotate-editor-button-disabled 2024-03-30 13:57:44 +07:00
Nguyên Minh Hồ
113dbcd10f
Merge branch 'master' into fix-rotate-editor-button-disabled 2024-03-30 13:56:31 +07:00
Dan Balasescu
48f8d9c916
Merge pull request #27756 from bdach/pp-on-results-provisional
Apply partial fade on pp display on results screen when score will not give pp
2024-03-29 19:57:59 +09:00
Bartłomiej Dach
5371141d3b
Merge pull request #27755 from peppy/fix-import-weirdness
Avoid reporting an import as successful when all beatmaps failed to import
2024-03-29 11:25:41 +01:00
Bartłomiej Dach
e06df34a1c
Apply partial fade on pp display on results screen when score will not give pp 2024-03-29 11:16:31 +01:00
Bartłomiej Dach
2d3b273974
Remove redundant string interpolation 2024-03-29 10:37:49 +01:00
Dean Herbert
233b9eb172
Avoid reporting an import as successful when all beatmaps failed to import 2024-03-29 17:11:55 +08:00
Dean Herbert
d9cf5b5440
Fix bindable not being correctly re-bound across local user changes 2024-03-29 15:50:10 +08:00
Dean Herbert
fef8afb833
Fix double binding causing game crash after API enters failing state
See https://sentry.ppy.sh/organizations/ppy/issues/33406/?alert_rule_id=4&alert_timestamp=1711655107332&alert_type=email&environment=production&project=2&referrer=alert_email
2024-03-29 12:19:14 +08:00
Dan Balasescu
6e746a0fa0
Fix carousel reoder on initial enter 2024-03-28 23:56:46 +09:00
Dan Balasescu
9fd6449fd8
Add mods to FilterCriteria, pass to ruleset method 2024-03-28 23:03:26 +09:00
Dan Balasescu
10edb54614
Add ability to query key count with mods 2024-03-28 22:51:12 +09:00
Dan Balasescu
5febd40bd9
Add HP and AR to LegacyBeatmapConversionDifficultyInfo 2024-03-28 22:30:39 +09:00
Susko3
53900d5472 Fix tests failing locally due to not using invariant culture 2024-03-27 18:56:26 +01:00
Dan Balasescu
600098d845
Fix bulbs on Catmull sliders 2024-03-27 04:05:04 +09:00
Bartłomiej Dach
6ef54321c4
Merge pull request #26707 from peppy/beat-sync-container-early-adjust
Adjust `BeatSyncContainer`'s early animate offset based on source's rate
2024-03-26 18:43:25 +01:00
Bartłomiej Dach
0b29a762b8
Add precautionary guard to avoid potential div-by-zero
Probably wouldn't happen outside of tests, but I'd rather not find out
next release.
2024-03-26 17:36:40 +01:00
Dean Herbert
a5f15a119e
Apply rate adjust fix in all cases rather than specifically for Clock.Rate == 1 2024-03-26 22:51:54 +08:00
Dean Herbert
eae8e243c6
Merge branch 'master' into beat-sync-container-early-adjust 2024-03-26 21:31:33 +08:00
Bartłomiej Dach
bc1ffb0b6e
Merge branch 'master' into shared-menu-content 2024-03-26 13:47:44 +01:00
Dean Herbert
e77d4c8cfa
Remove unnecessary Math.Max 2024-03-26 20:28:03 +08:00
Dean Herbert
fd649edaba
Also don't rotate images during a drag operation 2024-03-26 20:21:48 +08:00
Dean Herbert
9474156df4
Improve equality implementations 2024-03-26 20:21:12 +08:00
Bartłomiej Dach
56dc6bb192
Merge branch 'master' into feat/support-filtering-for-multiple-types 2024-03-26 12:39:51 +01:00
Bartłomiej Dach
e52d51cd0a
Update OptionalSet implementation to intersect across multiple filters rather than union 2024-03-26 12:32:03 +01:00
Bartłomiej Dach
b74f8dba41
Merge branch 'master' into verify-abnormal-difficulty-settings 2024-03-26 11:13:16 +01:00
Bartłomiej Dach
1866b4b6b1
Refactor abstract check to reduce duplication 2024-03-26 11:13:03 +01:00
Bartłomiej Dach
73926592b9
Bump legacy score version to recalculate all scores 2024-03-25 19:27:38 +01:00
Bartłomiej Dach
4979305b2d
Ensure TryDisableCustomRulesetsCausing() never actually crashes itself 2024-03-25 11:34:29 +01:00
Bartłomiej Dach
fb08d6816b
Only attempt to disable rulesets when decidedly crashing out 2024-03-25 11:33:15 +01:00
Dean Herbert
bb9fa52fda
Fix displayIndex not being correctly set to -1 after last expiry date 2024-03-25 14:53:05 +08:00
Dean Herbert
057f86dd14
Add handling of expiration 2024-03-25 14:31:05 +08:00
Dean Herbert
f0614928b1
Read from new location 2024-03-25 13:19:12 +08:00
Dean Herbert
e9f15534ed
Improve test coverage 2024-03-25 12:33:32 +08:00
Dean Herbert
3847aae57d
Don't rotate when hovering 2024-03-25 12:14:40 +08:00
Dean Herbert
d0b164b44f
Add automatic rotation support 2024-03-25 11:41:50 +08:00
Dean Herbert
a4c619ea97
Add basic support for loading multiple images 2024-03-24 15:14:56 +08:00
Dean Herbert
ec4a9a5fdd
Make work again for simple case 2024-03-24 14:55:45 +08:00
Dean Herbert
ef2a16dd8f
Various renaming and class updates to allow multiple menu banners 2024-03-24 14:55:43 +08:00
Arthur Araujo
8a05fecad5 Fix formatting issue 2024-03-23 23:28:55 -03:00
Arthur Araujo
6fbe1a5b8d Add video resolution check 2024-03-23 19:22:47 -03:00
Bartłomiej Dach
c7c0330265
Attempt to disable rulesets that can be linked to an unhandled crash 2024-03-22 19:05:58 +01:00
Bartłomiej Dach
a1880e89c2
Use title as tiebreaker when sorting beatmap carousel by artist
Closes https://github.com/ppy/osu/issues/27548.

Reference: e53980dd76/osu!/GameplayElements/Beatmaps/BeatmapTreeManager.cs#L341-L347
2024-03-22 08:41:10 +01:00
Arthur Araujo
a4822fd615 Make CheckAbnormalDifficultySettings abstract 2024-03-22 01:37:06 -03:00
Salman Ahmed
1efa08a1b8
Merge branch 'master' into convert-path-string-new 2024-03-22 05:15:04 +03:00
Bartłomiej Dach
990a07af0e
Rewrite handling of legacy replay frame quirks to match stable closer 2024-03-21 21:11:29 +01:00
Bartłomiej Dach
c47463ee0e
Merge branch 'master' into negative-frame-handling 2024-03-21 16:45:35 +01:00
Dean Herbert
970e45ff24
Merge pull request #26937 from frenzibyte/fix-osu-logo-blocking-load
Stop blocking player load when hovering over osu! logo
2024-03-21 21:52:25 +08:00
Bartłomiej Dach
3e764ae4f0
Merge pull request #27639 from 64ArthurAraujo/verify-unused-audio-at-end
Add verify checks to unused audio at the end
2024-03-21 12:19:53 +01:00
Bartłomiej Dach
983385bafc
Merge pull request #27677 from smoogipoo/fix-catch-banana-fail
Fix catch banana shower judgement causing fail when at 0 HP
2024-03-21 11:23:51 +01:00
Dean Herbert
c081cc7d77
Merge pull request #27681 from smoogipoo/add-deployed-build-attribute
Warn about not using an official "deployed" build
2024-03-21 14:13:40 +08:00
Dean Herbert
b99b0337cf
Adjust text slightly 2024-03-21 13:06:25 +08:00
Dean Herbert
0589924dc6
Merge pull request #27079 from smoogipoo/tcm-resume
Add delayed resume for taiko/catch/mania
2024-03-21 12:48:53 +08:00
Dean Herbert
55d66d4615
Add sounds to countdown 2024-03-21 11:45:48 +08:00
Dean Herbert
a07d5115bf
Update resources 2024-03-21 11:42:22 +08:00
Arthur Araujo
b132734f9c Fix codefactor issues 2024-03-20 18:54:38 -03:00
Arthur Araujo
c605e463a4 Add mania keycount check 2024-03-20 15:52:16 -03:00
Dan Balasescu
ac7fca10d6
Warn about not using an official "deployed" build 2024-03-21 00:47:45 +09:00
Arthur Araujo
4904c49c38 Add abnormal difficulty settings checks 2024-03-20 09:31:58 -03:00
Dan Balasescu
c78e203df5
Fix infinite health processor loop when no top-level objects
This is unlikely to occur in actual gameplay, but occurs in the
follow-up test.
2024-03-20 17:30:37 +09:00
Bartłomiej Dach
1f343b7545
Add extended logging when discarding online metadata lookup results
Related to: https://github.com/ppy/osu/issues/27674

Relevant log output for that particular case:

	[network] 2024-03-20 07:25:30 [verbose]: Performing request osu.Game.Online.API.Requests.GetBeatmapRequest
	[network] 2024-03-20 07:25:30 [verbose]: Request to https://dev.ppy.sh/api/v2/beatmaps/lookup successfully completed!
	[network] 2024-03-20 07:25:30 [verbose]: GetBeatmapRequest finished with response size of 3,170 bytes
	[database] 2024-03-20 07:25:30 [verbose]: [4fe02] [APIBeatmapMetadataSource] Online retrieval mapped Tsukiyama Sae - Hana Saku Iro wa Koi no Gotoshi (Log Off Now) [Destiny] to 744883 / 1613507.
	[database] 2024-03-20 07:25:30 [verbose]: Discarding metadata lookup result due to mismatching online ID (expected: 1570982 actual: 1613507)
	[network] 2024-03-20 07:25:30 [verbose]: Performing request osu.Game.Online.API.Requests.GetBeatmapRequest
	[network] 2024-03-20 07:25:30 [verbose]: Request to https://dev.ppy.sh/api/v2/beatmaps/lookup successfully completed!
	[network] 2024-03-20 07:25:30 [verbose]: GetBeatmapRequest finished with response size of 2,924 bytes
	[database] 2024-03-20 07:25:30 [verbose]: [4fe02] [APIBeatmapMetadataSource] Online retrieval mapped Tsukiyama Sae - Hana Saku Iro wa Koi no Gotoshi (Log Off Now) [Easy] to 744883 / 1570982.
	[database] 2024-03-20 07:25:30 [verbose]: Discarding metadata lookup result due to mismatching online ID (expected: 1613507 actual: 1570982)

Note that the online IDs are swapped.
2024-03-20 08:28:11 +01:00
Bartłomiej Dach
8ee391530f
Merge pull request #27675 from peppy/remove-breadcrumb-control
Remove unused `ScreenBreadcrumbControl`
2024-03-20 08:02:36 +01:00
Dean Herbert
1f70019009
Merge pull request #27630 from EVAST9919/editor-performance
Improve editor performance for maps with many control points
2024-03-20 13:20:21 +08:00
Dean Herbert
fd509c82f5
Adjust code structure slightly 2024-03-20 12:52:54 +08:00
Dean Herbert
d83a53fc94
Remove unused ScreenBreadcrumbControl
See https://github.com/ppy/osu-framework/pull/6218#discussion_r1529932798.
2024-03-20 12:10:05 +08:00
Bartłomiej Dach
e4418547fe
Document GetLastObjectTime() exception on empty beatmap 2024-03-19 19:19:07 +01:00
Bartłomiej Dach
2b83e6bc4c
Fix check crash on empty beatmap 2024-03-19 19:17:22 +01:00
Bartłomiej Dach
af3f7dcbbf
Retouch update criteria method 2024-03-19 18:33:35 +01:00
Bartłomiej Dach
320373e3e0
Rename method to match convention better 2024-03-19 18:28:13 +01:00
Bartłomiej Dach
feaf59e15f
Use HashSet instead of SortedSet
No need for it to be sorted.
2024-03-19 18:26:58 +01:00
Dean Herbert
0de5ca8d2d
Update incorrect xmldoc 2024-03-20 01:26:39 +08:00
Dean Herbert
35df381717
Merge branch 'master' into tcm-resume 2024-03-20 01:25:40 +08:00
Bartłomiej Dach
0180b25546
Merge pull request #27064 from smoogipoo/heatmap-misses
Display misses in the hit accuracy heatmap
2024-03-19 16:20:25 +01:00
Dan Balasescu
f6069d8d93
Compare against MaxCombo instead 2024-03-19 17:46:18 +09:00
Dan Balasescu
6e33509417
Remove added property, use local decoding instead 2024-03-19 17:44:37 +09:00
Dan Balasescu
af713a7869
Fix incorrectly encoded score IsPerfect value 2024-03-19 17:20:59 +09:00
Salman Ahmed
bbdcb38f5d
Merge branch 'master' into convert-path-string-new 2024-03-19 02:51:24 +03:00
Salman Ahmed
a8ce6a0bba Use Slice method instead of index range operators for readability 2024-03-19 02:43:36 +03:00
Arthur Araujo
5241c999c1 Add different warning to maps with storyboard/video 2024-03-18 16:08:41 -03:00
Arthur Araujo
f6d7f18f25 Remove unused localisation file 2024-03-18 15:59:19 -03:00
Andrei Zavatski
7ca45c75b3 Don't iterate backwards on children without a reason 2024-03-18 20:46:38 +03:00
Andrei Zavatski
0edc249637 Make Timeline non-nullable 2024-03-18 20:38:19 +03:00
Andrei Zavatski
57399e9899 Merge branch 'master' into editor-performance 2024-03-18 20:34:48 +03:00
Arthur Araujo
c23212f4ef Use GetLastObjectTime to calculate mapped length 2024-03-18 14:02:33 -03:00
Arthur Araujo
915a9682b5 Fix issue type and display percentage left 2024-03-18 13:51:36 -03:00
Arthur Araujo
a3f3dcf853 Inline percentage calculation 2024-03-18 13:27:43 -03:00
Vlad Frangu
77119b2cdb
chore: correct doc string 2024-03-18 16:44:42 +02:00
Bartłomiej Dach
c9bbeeb49a
Merge branch 'master' into heatmap-misses 2024-03-18 14:43:24 +01:00